bones

An easy-to-use game engine for making real games.

OTHER License

Downloads
129K
Stars
205
Committers
12

Bot releases are hidden (Show)

bones - quinn_runtime_bevy v0.1.0

Published by zicklag over 1 year ago

Documentation

  • document source repository in cargo manifest.
    The repository key under bones_ecs previously pointed to https://github.com/fishfolk/jumpy.

    This updates this to point to the bones repo, and also adds the repository key to the other
    crates in the repository.

New Features

  • migrate crates from the jumpy repository

Chore (BREAKING)

  • update bevy_tasks dependency to 0.9.1

Chore

  • generate changelogs for all crates.

Commit Statistics

  • 4 commits contributed to the release over the course of 26 calendar days.
  • 4 commits were understood as conventional.
  • 3 unique issues were worked on: #37, #67, #8

Commit Details

  • #37
    • document source repository in cargo manifest. (a693894)
  • #67
    • generate changelogs for all crates. (a68cb79)
  • #8
    • update bevy_tasks dependency to 0.9.1 (98ae10e)
  • Uncategorized
    • migrate crates from the jumpy repository (3724c69)
bones - bones_matchmaker_proto v0.1.0

Published by zicklag over 1 year ago

Chore

  • add missing crate descriptions.
  • remove unused dependency on ulid crate.

Chore

  • generate changelogs for all crates.

Documentation

  • document source repository in cargo manifest.
    The repository key under bones_ecs previously pointed to https://github.com/fishfolk/jumpy.

    This updates this to point to the bones repo, and also adds the repository key to the other
    crates in the repository.

New Features

  • migrate crates from the jumpy repository

Commit Statistics

  • 5 commits contributed to the release over the course of 26 calendar days.
  • 5 commits were understood as conventional.
  • 4 unique issues were worked on: #14, #37, #65, #67

Commit Details

  • #14
    • remove unused dependency on ulid crate. (7444eb5)
  • #37
    • document source repository in cargo manifest. (a693894)
  • #65
    • add missing crate descriptions. (2725246)
  • #67
    • generate changelogs for all crates. (a68cb79)
  • Uncategorized
    • migrate crates from the jumpy repository (3724c69)
bones - bones_asset v0.1.0

Published by zicklag over 1 year ago

Chore

  • add missing crate descriptions.

Chore

  • generate changelogs for all crates.

Documentation

  • document source repository in cargo manifest.
    The repository key under bones_ecs previously pointed to https://github.com/fishfolk/jumpy.

    This updates this to point to the bones repo, and also adds the repository key to the other
    crates in the repository.

New Features

  • add optional bones_has_load_progress integration.

New Features (BREAKING)

  • add asset integration with bevy.
    This is a big overall change that adds ways to integrate Bones with bevy assets.

  • have TypeUlid trait require an associated constant instead of a function.
    This makes it possible to access the type's Ulid at compile time,
    possibly in const functions.

  • draft bones_lib architecture.
    Renames bones to bones_lib ( mostly because bones was already taken )
    and adds the bones_asset, bones_bevy_renderer, bones_input, and
    bones_render crates.

    This sets up the overall structure for the bones library,
    though changes to some aspects of the design are likely to change.

Refactor (BREAKING)

  • prepare for release.
    • Remove bones_has_load_progress: for now we don't use it, and if we
      want something similar we will work it into bones_bevy_asset.
    • Remove bones_camera_shake: it was moved into bones_lib::camera.
    • Add version numbers for all local dependencies.

Commit Statistics

  • 9 commits contributed to the release over the course of 16 calendar days.
  • 8 commits were understood as conventional.
  • 8 unique issues were worked on: #26, #28, #29, #37, #38, #63, #65, #67

Commit Details

  • #26
    • draft bones_lib architecture. (d7b5711)
  • #28
    • have TypeUlid trait require an associated constant instead of a function. (59f5e67)
  • #29
    • add asset integration with bevy. (89b44d7)
  • #37
    • document source repository in cargo manifest. (a693894)
  • #38
    • add optional bones_has_load_progress integration. (604aa8a)
  • #63
  • #65
    • add missing crate descriptions. (2725246)
  • #67
    • generate changelogs for all crates. (a68cb79)
  • Uncategorized
    • Release type_ulid_macros v0.1.0, type_ulid v0.1.0, bones_bevy_utils v0.1.0, bones_ecs v0.1.0, bones_asset v0.1.0, bones_input v0.1.0, bones_render v0.1.0, bones_lib v0.1.0 (ca37c81)
bones - bones_bevy_utils v0.1.0

Published by zicklag over 1 year ago

Chore

  • add missing crate descriptions.

Chore

  • generate changelogs for all crates.

Documentation

  • document source repository in cargo manifest.
    The repository key under bones_ecs previously pointed to https://github.com/fishfolk/jumpy.

    This updates this to point to the bones repo, and also adds the repository key to the other
    crates in the repository.

New Features (BREAKING)

  • add asset integration with bevy.
    This is a big overall change that adds ways to integrate Bones with bevy assets.

Refactor (BREAKING)

  • prepare for release.

    • Remove bones_has_load_progress: for now we don't use it, and if we
      want something similar we will work it into bones_bevy_asset.
    • Remove bones_camera_shake: it was moved into bones_lib::camera.
    • Add version numbers for all local dependencies.
  • make world in BevyWorld resource optional.
    Since the bevy world can't be cloned, we previously had it in
    an Arc, but that didn't play nicely with world snapshots.

    Now the bevy world inside the BevyWorld resource is an
    option, with the BevyAssets system param panicking if it
    doesn't find the world when it needs it.

Commit Statistics

  • 7 commits contributed to the release over the course of 14 calendar days.
  • 6 commits were understood as conventional.
  • 6 unique issues were worked on: #29, #37, #41, #63, #65, #67

Commit Details

  • #29
    • add asset integration with bevy. (89b44d7)
  • #37
    • document source repository in cargo manifest. (a693894)
  • #41
    • make world in BevyWorld resource optional. (ef12c3f)
  • #63
  • #65
    • add missing crate descriptions. (2725246)
  • #67
    • generate changelogs for all crates. (a68cb79)
  • Uncategorized
    • Release type_ulid_macros v0.1.0, type_ulid v0.1.0, bones_bevy_utils v0.1.0, bones_ecs v0.1.0, bones_asset v0.1.0, bones_input v0.1.0, bones_render v0.1.0, bones_lib v0.1.0 (ca37c81)
bones - bones_ecs v0.1.0

Published by zicklag over 1 year ago

Chore

  • update bevy_derive dependency version
    Updates to 0.9.1 just to keep up with the latest Bevy version.

Chore

  • generate changelogs for all crates.

Documentation

  • update docs and add tutorial.

  • document source repository in cargo manifest.
    The repository key under bones_ecs previously pointed to https://github.com/fishfolk/jumpy.

    This updates this to point to the bones repo, and also adds the repository key to the other
    crates in the repository.

  • fix doc links/errors for ulid module.

New Features

  • add utility function for running already initialized systems.
  • add utility functions for adding stages to SystemStages.
  • add debug implementation for System.
    Also simplifies the debug implementation for the CoreStage label.
  • add default() function.
    Makes a free-standing default() function equivalent to Default::default()
    and puts it in the ECS prelude.
  • add contains() helper method to component store.
  • migrate crates from the jumpy repository

Bug Fixes

  • fix soundness issues revealed in code-review
    • Fixes safety documentation for some public, unsafe functions.

Other

  • add github workflows for ci, docs, matchmaker, and PR linter

New Features (BREAKING)

  • implement Commands system parameter.
    The Commands parameter can be used to schedule systems that
    should run at the end of the current stage.

  • add return value parameter to systems.
    This allows systems to return values,
    which is most useful in the context of the world's
    run_system() function which can now extract the return value.

    The systems in SystemStages are still required to
    return () or SystemResult<()>.

  • use a trait for SystemStages.
    This allows you to create custom stage implementations.

    The plan is to use this functionality in Jumpy to create a special,
    looping stage to use for the player state machine.

  • add improved iteration API.
    Added a more convenient replacement for the old join! macro.

  • remove join! macro and improve iteration API.
    We will add a more ergonomic replacement for the join! macro later,
    but for now we make it easier to use the raw bitset iteration APIs,
    which previously required a frustrating use of Rc.

    Removing the Rc broke the join! macro, but I think there is a better way to
    create a join API, so it isn't worth fixing yet.

    This also improves the ergonomics of the bitset iterators by having them
    yield their items directly instead of yielding Options that must be filtered out.

  • have TypeUlid trait require an associated constant instead of a function.
    This makes it possible to access the type's Ulid at compile time,
    possibly in const functions.

  • replace Dispatcher with SystemStages.
    This replaces the Dispatcher with a similar SystemStages utility
    suitable for running multiple systems in a row.

    SystemStages improves on Dispatcher by making it easier to add
    systems to specific stages, similar to Bevy stages.

  • require systems to impl Sync.
    This makes things easier when integrating with Bevy right now.
    If this becomes too restrictive in the future we can re-visit.

  • add Default bound to Res and ResMut.
    This makes the Default bound on IntoSystem easier to find
    by failing directly in the generic argument
    instead of failing at the IntoSystem implementation.

  • use TypeUlids instead of TypeUuids.
    Creates a new type_ulid crate and uses it's TypeUlid trait instead of
    TypeUuid in bones_ecs.

Bug Fixes (BREAKING)

  • fix unsound component iterators.
    The component iterators were casting pointers to byte slices,
    but they should have been returning raw pointers instead.

    This also simplified the mutable iterator implementation.

    This fixed strange behavior in a non-minimal test repository,
    where mutating the transform component of one entity somehow
    applied to the transform of another entity at the same time.

Refactor (BREAKING)

  • prepare for release.
    • Remove bones_has_load_progress: for now we don't use it, and if we
      want something similar we will work it into bones_bevy_asset.
    • Remove bones_camera_shake: it was moved into bones_lib::camera.
    • Add version numbers for all local dependencies.

Commit Statistics

Commit Details

  • #13
    • use TypeUlids instead of TypeUuids. (d74cec6)
  • #17
    • add contains() helper method to component store. (1487dea)
  • #19
    • add Default bound to Res and ResMut. (60b850a)
  • #20
    • require systems to impl Sync. (85212ab)
  • #21
    • fix doc links/errors for ulid module. (5f0ea64)
  • #23
    • replace Dispatcher with SystemStages. (0c259d4)
  • #24
    • add default() function. (3a3c653)
  • #28
    • have TypeUlid trait require an associated constant instead of a function. (59f5e67)
  • #30
    • remove join! macro and improve iteration API. (b80cf48)
  • #32
    • fix unsound component iterators. (5fc8009)
  • #36
    • add improved iteration API. (c29c96d)
  • #37
    • document source repository in cargo manifest. (a693894)
  • #42
    • use a trait for SystemStages. (dcd252a)
  • #5
    • fix soundness issues revealed in code-review (efe8744)
  • #57
    • implement Commands system parameter. (81ca654)
  • #59
    • update docs and add tutorial. (1891e2d)
  • #6
    • update bevy_derive dependency version (0b424b9)
  • #63
  • #67
    • generate changelogs for all crates. (a68cb79)
  • Uncategorized
    • Release type_ulid_macros v0.1.0, type_ulid v0.1.0, bones_bevy_utils v0.1.0, bones_ecs v0.1.0, bones_asset v0.1.0, bones_input v0.1.0, bones_render v0.1.0, bones_lib v0.1.0 (ca37c81)
    • add utility function for running already initialized systems. (2f5ff59)
    • add utility functions for adding stages to SystemStages. (a11fd1b)
    • add debug implementation for System. (7a99206)
    • add return value parameter to systems. (0a43a5a)
    • add github workflows for ci, docs, matchmaker, and PR linter (a516a68)
    • migrate crates from the jumpy repository (3724c69)
bones - bones_input v0.1.0

Published by zicklag over 1 year ago

Chore

  • add missing crate descriptions.

Chore

  • generate changelogs for all crates.

Documentation

  • document source repository in cargo manifest.
    The repository key under bones_ecs previously pointed to https://github.com/fishfolk/jumpy.

    This updates this to point to the bones repo, and also adds the repository key to the other
    crates in the repository.

New Features

  • add Window input containing window size.

New Features (BREAKING)

  • draft bones_lib architecture.
    Renames bones to bones_lib ( mostly because bones was already taken )
    and adds the bones_asset, bones_bevy_renderer, bones_input, and
    bones_render crates.

    This sets up the overall structure for the bones library,
    though changes to some aspects of the design are likely to change.

Refactor (BREAKING)

  • prepare for release.
    • Remove bones_has_load_progress: for now we don't use it, and if we
      want something similar we will work it into bones_bevy_asset.
    • Remove bones_camera_shake: it was moved into bones_lib::camera.
    • Add version numbers for all local dependencies.

Commit Statistics

  • 7 commits contributed to the release over the course of 16 calendar days.
  • 6 commits were understood as conventional.
  • 6 unique issues were worked on: #26, #37, #48, #63, #65, #67

Commit Details

  • #26
    • draft bones_lib architecture. (d7b5711)
  • #37
    • document source repository in cargo manifest. (a693894)
  • #48
    • add Window input containing window size. (a85d282)
  • #63
  • #65
    • add missing crate descriptions. (2725246)
  • #67
    • generate changelogs for all crates. (a68cb79)
  • Uncategorized
    • Release type_ulid_macros v0.1.0, type_ulid v0.1.0, bones_bevy_utils v0.1.0, bones_ecs v0.1.0, bones_asset v0.1.0, bones_input v0.1.0, bones_render v0.1.0, bones_lib v0.1.0 (ca37c81)
bones - bones_render v0.1.0

Published by zicklag over 1 year ago

Chore

  • add missing crate descriptions.

Chore

  • generate changelogs for all crates.

Documentation

  • document source repository in cargo manifest.
    The repository key under bones_ecs previously pointed to https://github.com/fishfolk/jumpy.

    This updates this to point to the bones repo, and also adds the repository key to the other
    crates in the repository.

New Features

  • implement Default for sprite components.

  • add modules to the prelude.

  • add audio module.

  • add a helper method for creating an AtlasSprite.

  • add utility Key datatype.
    The Key datatype is a small, stack-allocated identifier,
    similar to a string, but avoiding the heap allocation.

    This type might better be moved to a utility crate,
    but since one doesn't exist yet for bones alone we
    put it in bones_render for now.

  • add resource for controlling the clear color.

  • implement tilemap rendering.

  • add helper methods for creating Transforms.
    Adds helpers for creating transforms from either a translation, a rotation, or a scale.

  • implement atlas sprite rendering.
    Adds the bones_render types for atlas sprites,
    and renders them in bones_bevy_renderer.

    This also adds an asset loader for .atlas.yaml/.atlas.json files
    which can be used when you need to load a Handle<Atlas>
    in a BonesBevyAsset struct.

New Features (BREAKING)

  • make Key::new() const and add key! macro for const construction.

  • add asset integration with bevy.
    This is a big overall change that adds ways to integrate Bones with bevy assets.

  • draft bones_lib architecture.
    Renames bones to bones_lib ( mostly because bones was already taken )
    and adds the bones_asset, bones_bevy_renderer, bones_input, and
    bones_render crates.

    This sets up the overall structure for the bones library,
    though changes to some aspects of the design are likely to change.

Bug Fixes (BREAKING)

  • fix panics in TileLayer by returning an Option<Tile> from get().

Refactor (BREAKING)

  • prepare for release.
    • Remove bones_has_load_progress: for now we don't use it, and if we
      want something similar we will work it into bones_bevy_asset.
    • Remove bones_camera_shake: it was moved into bones_lib::camera.
    • Add version numbers for all local dependencies.

Commit Statistics

Commit Details

  • #26
    • draft bones_lib architecture. (d7b5711)
  • #29
    • add asset integration with bevy. (89b44d7)
  • #31
    • implement atlas sprite rendering. (d43b6ec)
  • #34
    • add helper methods for creating Transforms. (f11fc28)
  • #35
    • implement tilemap rendering. (0a7fec6)
  • #37
    • document source repository in cargo manifest. (a693894)
  • #43
    • add resource for controlling the clear color. (34c5ecc)
  • #44
    • add utility Key datatype. (6d813cc)
  • #54
    • implement Default for sprite components. (e76de9d)
  • #63
  • #65
    • add missing crate descriptions. (2725246)
  • #67
    • generate changelogs for all crates. (a68cb79)
  • Uncategorized
    • Release type_ulid_macros v0.1.0, type_ulid v0.1.0, bones_bevy_utils v0.1.0, bones_ecs v0.1.0, bones_asset v0.1.0, bones_input v0.1.0, bones_render v0.1.0, bones_lib v0.1.0 (ca37c81)
    • add modules to the prelude. (a16443a)
    • add audio module. (c61b845)
    • add a helper method for creating an AtlasSprite. (2a52b68)
    • fix panics in TileLayer by returning an Option<Tile> from get(). (6419a8c)
    • make Key::new() const and add key! macro for const construction. (2c7d5f4)
bones - type_ulid_macros v0.1.0

Published by zicklag over 1 year ago

Chore

  • add missing crate descriptions.

Chore

  • generate changelogs for all crates.

Documentation

  • document source repository in cargo manifest.
    The repository key under bones_ecs previously pointed to https://github.com/fishfolk/jumpy.

    This updates this to point to the bones repo, and also adds the repository key to the other
    crates in the repository.

New Features (BREAKING)

  • have TypeUlid trait require an associated constant instead of a function.
    This makes it possible to access the type's Ulid at compile time,
    possibly in const functions.
  • use TypeUlids instead of TypeUuids.
    Creates a new type_ulid crate and uses it's TypeUlid trait instead of
    TypeUuid in bones_ecs.

Commit Statistics

  • 5 commits contributed to the release over the course of 20 calendar days.
  • 5 commits were understood as conventional.
  • 5 unique issues were worked on: #13, #28, #37, #65, #67

Commit Details

  • #13
    • use TypeUlids instead of TypeUuids. (d74cec6)
  • #28
    • have TypeUlid trait require an associated constant instead of a function. (59f5e67)
  • #37
    • document source repository in cargo manifest. (a693894)
  • #65
    • add missing crate descriptions. (2725246)
  • #67
    • generate changelogs for all crates. (a68cb79)
bones - v0.1.0

Published by zicklag over 1 year ago

Documentation

  • add missing Rust API documentation.

New Features

  • add camera shake.
    Adds systems and components for easily adding camera shake.

    Ported from the Bevy implementation in bones_camera_shake.

  • add animation module.

  • add bones_camera_shake crate
    Adds the camera shake functionality from Bomby.

    For the time being it uses bevy_ecs and not bones_ecs.

  • migrate crates from the jumpy repository

Bug Fixes

  • fix sprite animation bug.
    Fixes the behavior when an atlas sprite's current index is less
    than the starting index of an animated sprite.

    Previously it would play the animation from wherever the current
    index happened to be, but it was supposed to skip to the animation
    start frame.

Refactor

  • temporarily vendor 1D perlin noise.
    We're waiting on the noise crate to publish a release supporting
    1D perlin noise, so in the meantime we vendor the perlin_1d function
    and use it directly.

New Features (BREAKING)

  • make bones_bevy_utils an optional dependency.
    This reduces dependencies if you want to use bones_lib without Bevy.

  • add asset integration with bevy.
    This is a big overall change that adds ways to integrate Bones with bevy assets.

  • draft bones_lib architecture.
    Renames bones to bones_lib ( mostly because bones was already taken )
    and adds the bones_asset, bones_bevy_renderer, bones_input, and
    bones_render crates.

    This sets up the overall structure for the bones library,
    though changes to some aspects of the design are likely to change.

Commit Statistics

  • 10 commits contributed to the release over the course of 26 calendar days.
  • 10 commits were understood as conventional.
  • 8 unique issues were worked on: #26, #29, #4, #53, #55, #56, #58, #61

Commit Details

bones - type_ulid v0.1.0

Published by zicklag over 1 year ago

Chore

  • add missing crate descriptions.

Chore

  • generate changelogs for all crates.

Documentation

  • document source repository in cargo manifest.
    The repository key under bones_ecs previously pointed to https://github.com/fishfolk/jumpy.

    This updates this to point to the bones repo, and also adds the repository key to the other
    crates in the repository.

New Features

  • add TypeUlidDynamic trait.
    TypeUlidDynamic is useful for creating trait objects such as Box<dyn TypeUlidDynamic>
    which isn't possible with the TypeUlid trait directly.

New Features (BREAKING)

  • have TypeUlid trait require an associated constant instead of a function.
    This makes it possible to access the type's Ulid at compile time,
    possibly in const functions.
  • use TypeUlids instead of TypeUuids.
    Creates a new type_ulid crate and uses it's TypeUlid trait instead of
    TypeUuid in bones_ecs.

Commit Statistics

  • 7 commits contributed to the release over the course of 20 calendar days.
  • 6 commits were understood as conventional.
  • 6 unique issues were worked on: #13, #27, #28, #37, #65, #67

Commit Details

  • #13
    • use TypeUlids instead of TypeUuids. (d74cec6)
  • #27
    • add TypeUlidDynamic trait. (6de0878)
  • #28
    • have TypeUlid trait require an associated constant instead of a function. (59f5e67)
  • #37
    • document source repository in cargo manifest. (a693894)
  • #65
    • add missing crate descriptions. (2725246)
  • #67
    • generate changelogs for all crates. (a68cb79)
  • Uncategorized
    • Release type_ulid_macros v0.1.0, type_ulid v0.1.0, bones_bevy_utils v0.1.0, bones_ecs v0.1.0, bones_asset v0.1.0, bones_input v0.1.0, bones_render v0.1.0, bones_lib v0.1.0 (ca37c81)