Releases: fishfolk/bones
quinn_runtime_bevy v0.1.0
Documentation
-
document source repository in cargo manifest.
Therepository
key underbones_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
bones_render v0.1.0
Chore
- add missing crate descriptions.
Chore
- generate changelogs for all crates.
Documentation
-
document source repository in cargo manifest.
Therepository
key underbones_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.
TheKey
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
Transform
s.
Adds helpers for creating transforms from either a translation, a rotation, or a scale. -
implement atlas sprite rendering.
Adds thebones_render
types for atlas sprites,
and renders them inbones_bevy_renderer
.This also adds an asset loader for
.atlas.yaml
/.atlas.json
files
which can be used when you need to load aHandle<Atlas>
in aBonesBevyAsset
struct.
New Features (BREAKING)
-
make
Key::new()
const and addkey!
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.
Renamesbones
tobones_lib
( mostly becausebones
was already taken )
and adds thebones_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 anOption<Tile>
fromget()
.
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 intobones_bevy_asset
. - Remove
bones_camera_shake
: it was moved intobones_lib::camera
. - Add version numbers for all local dependencies.
- Remove
Commit Statistics
- 18 commits contributed to the release over the course of 16 calendar days.
- 17 commits were understood as conventional.
- 12 unique issues were worked on: #26, #29, #31, #34, #35, #37, #43, #44, #54, #63, #65, #67
Commit Details
view details
- #26
- draft bones_lib architecture. (
d7b5711
)
- draft bones_lib architecture. (
- #29
- add asset integration with bevy. (
89b44d7
)
- add asset integration with bevy. (
- #31
- implement atlas sprite rendering. (
d43b6ec
)
- implement atlas sprite rendering. (
- #34
- add helper methods for creating
Transform
s. (f11fc28
)
- add helper methods for creating
- #35
- implement tilemap rendering. (
0a7fec6
)
- implement tilemap rendering. (
- #37
- document source repository in cargo manifest. (
a693894
)
- document source repository in cargo manifest. (
- #43
- add resource for controlling the clear color. (
34c5ecc
)
- add resource for controlling the clear color. (
- #44
- add utility
Key
datatype. (6d813cc
)
- add utility
- #54
- implement
Default
for sprite components. (e76de9d
)
- implement
- #63
- prepare for release. (
ae0a761
)
- prepare for release. (
- #65
- add missing crate descriptions. (
2725246
)
- add missing crate descriptions. (
- #67
- generate changelogs for all crates. (
a68cb79
)
- generate changelogs for all crates. (
- 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 anOption<Tile>
fromget()
. (6419a8c
) - make
Key::new()
const and addkey!
macro for const construction. (2c7d5f4
)
- 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 (
bones_matchmaker_proto v0.1.0
Chore
- add missing crate descriptions.
- remove unused dependency on
ulid
crate.
Chore
- generate changelogs for all crates.
Documentation
-
document source repository in cargo manifest.
Therepository
key underbones_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
bones_matchmaker v0.1.0
Chore
- add missing crate descriptions.
- update dependencies
Chore
- generate changelogs for all crates.
Documentation
-
document source repository in cargo manifest.
Therepository
key underbones_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
Other
- add github workflows for ci, docs, matchmaker, and PR linter
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 intobones_bevy_asset
. - Remove
bones_camera_shake
: it was moved intobones_lib::camera
. - Add version numbers for all local dependencies.
- Remove
Commit Statistics
- 7 commits contributed to the release over the course of 26 calendar days.
- 7 commits were understood as conventional.
- 5 unique issues were worked on: #37, #63, #65, #67, #7
Commit Details
bones_input v0.1.0
Chore
- add missing crate descriptions.
Chore
- generate changelogs for all crates.
Documentation
-
document source repository in cargo manifest.
Therepository
key underbones_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.
Renamesbones
tobones_lib
( mostly becausebones
was already taken )
and adds thebones_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 intobones_bevy_asset
. - Remove
bones_camera_shake
: it was moved intobones_lib::camera
. - Add version numbers for all local dependencies.
- Remove
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
view details
- #26
- draft bones_lib architecture. (
d7b5711
)
- draft bones_lib architecture. (
- #37
- document source repository in cargo manifest. (
a693894
)
- document source repository in cargo manifest. (
- #48
- add
Window
input containing window size. (a85d282
)
- add
- #63
- prepare for release. (
ae0a761
)
- prepare for release. (
- #65
- add missing crate descriptions. (
2725246
)
- add missing crate descriptions. (
- #67
- generate changelogs for all crates. (
a68cb79
)
- generate changelogs for all crates. (
- 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
)
- 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 (
bones_ecs v0.1.0
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.
Therepository
key underbones_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 theCoreStage
label. - add
default()
function.
Makes a free-standingdefault()
function equivalent toDefault::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.
TheCommands
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()
orSystemResult<()>
. -
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 oldjoin!
macro. -
remove join! macro and improve iteration API.
We will add a more ergonomic replacement for thejoin!
macro later,
but for now we make it easier to use the raw bitset iteration APIs,
which previously required a frustrating use ofRc
.Removing the
Rc
broke thejoin!
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 yieldingOption
s 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
withSystemStages
.
This replaces theDispatcher
with a similarSystemStages
utility
suitable for running multiple systems in a row.SystemStages
improves onDispatcher
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 toRes
andResMut
.
This makes theDefault
bound onIntoSystem
easier to find
by failing directly in the generic argument
instead of failing at theIntoSystem
implementation. -
use
TypeUlid
s instead ofTypeUuid
s.
Creates a new type_ulid crate and uses it'sTypeUlid
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 intobones_bevy_asset
. - Remove
bones_camera_shake
: it was moved intobones_lib::camera
. - Add version numbers for all local dependencies.
- Remove
Commit Statistics
- 26 commits contributed to the release over the course of 26 calendar days.
- 25 commits were understood as conventional.
- 19 unique issues were worked on: #13, #17, #19, #20, #21, #23, #24, #28, #30, #32, #36, #37, #42, #5, #57, #59, #6, #63, #67
Commit Details
view details
- #13
- use
TypeUlid
s instead ofTypeUuid
s. (d74cec6
)
- use
- #17
- add
contains()
helper method to component store. (1487dea
)
- add
- #19
- add
Default
bound toRes
andResMut
. (60b850a
)
- add
- #20
- require systems to impl
Sync
. (85212ab
)
- require systems to impl
- #21
- fix doc links/errors for
ulid
module. (5f0ea64
)
- fix doc links/errors for
- #23
- replace
Dispatcher
withSystemStages
. (0c259d4
)
- replace
- #24
- add
default()
function. (3a3c653
)
- add
- #28
- have
TypeUlid
trait require an associated constant instead of a function. (59f5e67
)
- have
- #30
- remove join! macro and improve iteration API. (
b80cf48
)
- remove join! macro and improve iteration API. (
- #32
- fix unsound component iterators. (
5fc8009
)
- fix unsound component iterators. (
- #36
- add improved iteration API. (
c29c96d
)
- add improved iteration API. (
- #37
- document source repository in cargo manifest. (
a693894
)
- document source repository in cargo manifest. (
- #42
- use a trait for SystemStages. (
dcd252a
)
- use a trait for SystemStages. (
- **[#5](https://git...
bones_bevy_utils v0.1.0
Chore
- add missing crate descriptions.
Chore
- generate changelogs for all crates.
Documentation
-
document source repository in cargo manifest.
Therepository
key underbones_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 intobones_bevy_asset
. - Remove
bones_camera_shake
: it was moved intobones_lib::camera
. - Add version numbers for all local dependencies.
- Remove
-
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 theBevyAssets
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
view details
- #29
- add asset integration with bevy. (
89b44d7
)
- add asset integration with bevy. (
- #37
- document source repository in cargo manifest. (
a693894
)
- document source repository in cargo manifest. (
- #41
- make world in
BevyWorld
resource optional. (ef12c3f
)
- make world in
- #63
- prepare for release. (
ae0a761
)
- prepare for release. (
- #65
- add missing crate descriptions. (
2725246
)
- add missing crate descriptions. (
- #67
- generate changelogs for all crates. (
a68cb79
)
- generate changelogs for all crates. (
- 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
)
- 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 (
bones_bevy_asset_macros v0.2.0
Chore
- add missing crate descriptions.
Chore
- generate changelogs for all crates.
Documentation
-
document source repository in cargo manifest.
Therepository
key underbones_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 extra derive support & type implementations.
- The derive macro for
BonesBevyAssetLoad
can now be used on enums.
- The derive macro for
- Added more implementations of
BonesBevyAssetLoad
for primitive types.
New Features (BREAKING)
- add asset integration with bevy.
This is a big overall change that adds ways to integrate Bones with bevy assets.
Commit Statistics
- 6 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, #33, #37, #39, #65, #67
Commit Details
view details
- #29
- add asset integration with bevy. (89b44d7)
- #33
- add derive macro for
BonesBevyAssetLoad
. (3206a4d)
- add derive macro for
- #37
- document source repository in cargo manifest. (a693894)
- #39
- add extra derive support & type implementations. (7fd1c59)
- #65
- add missing crate descriptions. (2725246)
- #67
- generate changelogs for all crates. (a68cb79)
bones_bevy_asset v0.1.0
Chore
- add missing crate descriptions.
Chore
- generate changelogs for all crates.
Documentation
-
document source repository in cargo manifest.
Therepository
key underbones_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
BonesBevyAssetLoad
for more types.
Added implementations forOption
,HashMap
,
andbevy_utils::HashMap
when the values implement
BonesBevyAssetLoad
. - add extra derive support & type implementations.
- The derive macro for
BonesBevyAssetLoad
can now be used on enums.
- The derive macro for
- Added more implementations of
BonesBevyAssetLoad
for primitive types.
Style
- use
if let
statement instead ofOption::map()
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 intobones_bevy_asset
. - Remove
bones_camera_shake
: it was moved intobones_lib::camera
. - Add version numbers for all local dependencies.
- Remove
-
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 theBevyAssets
system param panicking if it
doesn't find the world when it needs it.
Commit Statistics
- 11 commits contributed to the release over the course of 14 calendar days.
- 10 commits were understood as conventional.
- 9 unique issues were worked on: #29, #33, #37, #39, #41, #52, #63, #65, #67
Commit Details
view details
- #29
- add asset integration with bevy. (89b44d7)
- #33
- add derive macro for
BonesBevyAssetLoad
. (3206a4d)
- add derive macro for
- #37
- document source repository in cargo manifest. (a693894)
- #39
- add extra derive support & type implementations. (7fd1c59)
- #41
- make world in
BevyWorld
resource optional. (ef12c3f)
- make world in
- #52
- use
if let
statement instead ofOption::map()
(de43e3c)
- use
- #63
- prepare for release. (ae0a761)
- #65
- add missing crate descriptions. (2725246)
- #67
- generate changelogs for all crates. (a68cb79)
- Uncategorized
bones_asset v0.1.0
Chore
- add missing crate descriptions.
Chore
- generate changelogs for all crates.
Documentation
-
document source repository in cargo manifest.
Therepository
key underbones_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.
Renamesbones
tobones_lib
( mostly becausebones
was already taken )
and adds thebones_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 intobones_bevy_asset
. - Remove
bones_camera_shake
: it was moved intobones_lib::camera
. - Add version numbers for all local dependencies.
- Remove
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
view details
- #26
- draft bones_lib architecture. (
d7b5711
)
- draft bones_lib architecture. (
- #28
- have
TypeUlid
trait require an associated constant instead of a function. (59f5e67
)
- have
- #29
- add asset integration with bevy. (
89b44d7
)
- add asset integration with bevy. (
- #37
- document source repository in cargo manifest. (
a693894
)
- document source repository in cargo manifest. (
- #38
- add optional bones_has_load_progress integration. (
604aa8a
)
- add optional bones_has_load_progress integration. (
- #63
- prepare for release. (
ae0a761
)
- prepare for release. (
- #65
- add missing crate descriptions. (
2725246
)
- add missing crate descriptions. (
- #67
- generate changelogs for all crates. (
a68cb79
)
- generate changelogs for all crates. (
- 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
)
- 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 (