A 2D affine transform, which can represent translation, rotation, scaling and shear.
A 3D affine transform, which can represent translation, rotation, scaling and shear.
Component that may be added to entities with an
AtlasSprite
to animate them.
Component that may be added to an
AtlasSprite
to control which animation, out of a set of
animations, is playing.
A thread-safe reference-counting pointer. ‘Arc’ stands for ‘Atomically
Reference Counted’.
Helper type for storing asset extensions.
An identifier for an asset.
The progress that has been made loading the game assets.
Contains that path to an asset, and the pack_dir that it was loaded from.
An asset pack contains assets that are loaded by the game.
A requirement specifier for an asset pack, made up of the asset pack’s
LabeledId
and it’s
VersionReq
.
Specifies an asset pack, and it’s exact version.
Struct responsible for loading assets into it’s contained
AssetStore
, using an
AssetIo
implementation.
The inner state of the asset server.
Stores assets for later retrieval.
Atlas image component.
Metadata to define collider an atlas’s tile.
An animated sprite component.
A mutable memory location with dynamically checked borrow rules
This type behaves mostly like
core::cell::RefCell
.
The main difference is that this type uses atomic operations for borrowing.
Thus allowing to use it in multi-threaded environment.
A handle to a resource from a
Resources
collection.
Holds the handles and the volume to be played for a piece of Audio.
A resource that can be used to control game audios.
The audio file asset loader.
The audio manager resource which can be used to play sounds.
The audio source asset type, contains no data, but
Handle<AudioSource>
is still useful
because it uniquely represents a sound/music that may be played outside of bones.
A 2-dimensional bool
vector mask.
A 3-dimensional bool
vector mask.
A 3-dimensional SIMD vector mask.
A 4-dimensional bool
vector mask.
A 4-dimensional SIMD vector mask.
BitSet formatter.
The type of bitsets used to track entities in component storages.
Mostly used to create caches.
Metadata describing a border image.
A 9-patch style bordered frame.
The border images to use for a
ButtonThemeMeta
when the button is in different states.
Metadata describing a themed button.
Makes an entity behave like a camera.
Component for an entity with camera shake.
Queue that can be used to send camera trauma events.
Error thrown when a resource cell cannot be inserted because it already exists.
A unique content ID.
Resource for controlling the clear color.
A resource containing the
Commands
command queue.
YAML format for the core asset pack’s pack.yaml
file.
Resource that is automatically added to the world while a system stage is being run
that specifies the unique ID of the stage that being run.
A 2D affine transform, which can represent translation, rotation, scaling and shear.
A 3D affine transform, which can represent translation, rotation, scaling and shear.
A 2x2 column major matrix.
A 3x3 column major matrix.
A 4x4 column major matrix.
A quaternion representing an orientation.
A 2-dimensional vector.
A 3-dimensional vector.
A 4-dimensional vector.
Default plugins for bones framework games.
Default plugins for bones framework sessions.
Resource tracking which players have been disconnected.
May not be in world if no disconnects.
An iterator that removes the items from a SmallVec
and yields them by value.
Dummy
AssetIo
implementation used for debugging or as a placeholder.
A Duration
type to represent a span of time, typically used for system
timeouts.
Resource containing the
egui::Context
that can be used to render UI.
Shared resource that, if inserted, allows you to modify the raw
egui input based on the state of the last game frame.
Resource for configuring egui rendering.
Resource that maps image handles to their associated egui textures.
Holds a list of alive entities.
An entity index.
Iterator over entities using the provided bitset.
Helper for accessing the inner data of a schema ref at runtime.
Helper for accessing the inner data of a schema ref at runtime.
Schema data for an enum.
Resource for exiting bones games.
A wrapper type that implements [
IntoIterator<Item = FieldIdx>
] for an inner string to make
it easier to use with
SchemaRefAccess::field_path()
and other field path methods.
AssetIo
implementation that loads from the filesystem.
A font asset.
Font metadata for buttons, headings, etc, describing the font, size, and color of text to be
rendered.
The
Game
encompasses a complete bones game’s logic, independent of the renderer and IO
implementations.
A gamepad axis event.
A gamepad button event.
A gamepad connection event.
Resource containing the gamepad input events detected this frame.
Struct that represents intensity of a rumble
Resource that provides an interface for triggering rumble on connected gamepads
A typed handle to an asset.
A 2-dimensional vector.
A 3-dimensional vector.
A 4-dimensional vector.
A 2-dimensional vector.
A 3-dimensional vector.
A 4-dimensional vector.
The system input parameter.
An error returned when an asset pack does not support the game version.
An iterator that consumes a SmallVec
and yields its items by value.
A keyboard input event.
Resource containing the keyboard input events detected on the current frame.
A
Ulid
with a human-readable ascii prefix.
A value which is initialized on the first access.
An asset that has been loaded.
Struct containing all the game’s loaded assets, including the default assets and
asset-packs/mods.
Borrow the localization field from the root asset.
Asset containing all loaded localizations, and functions for formatting localized messages.
Settings to enable writing tracing output to files.
Path to save log files.
LogPath::find_app_data_dir
may be used to
to automatically find OS appropriate app data path from app namespace strings, e.g. (“org”, “fishfolk”, “jumpy”)
Plugin to enable tracing. Configures global tracing subscriber.
Resource used to access the lua scripting engine.
A lua plugin asset.
The systems that have been registered by a lua plugin.
Resource containing the lua plugins that have been installed in this session.
A Lua script asset.
Struct for accessing and initializing lua singletons.
A margin specification.
A 2x2 column major matrix.
A 3x3 column major matrix.
A 3x3 column major matrix.
A 4x4 column major matrix.
Context provided while loading a metadata asset.
A mouse button input event.
Resource containing the mouse input events made this frame.
Mouse scroll-wheel input event.
Used as state in
EguiCtx
such that a menu in bones
or game implementation may open the net debug window.
Asset handle that may be replicated over network and converted back into
Handle
or
UntypedHandle
.
YAML format for asset packs’ pack.yaml
file.
A component for rendering a 2D line path, made up of a list of straight line segments.
A quaternion representing an orientation.
Wrapper for a borrowed
AtomicCell
that will released lock on drop.
Wrapper for mutably borrowed
AtomicCell
that will released lock on drop.
SystemParam
for getting read access to a resource and initialzing it if it doesn’t already
exist.
SystemParam
for getting mutable access to a resource and initializing it if it doesn’t
already exist.
A collection of resources.
Get the root asset of the core asset pack and cast it to type T
.
Internal resource used to cache the field of the root asset containing the localization resource
for the
Localization
parameter.
A owning, type-erased
Box
-like container for types with a [
Schema
].
Schema information describing the memory layout of a type.
A struct that implements
DeserializeSeed
and can be used to deserialize values matching a
given [
Schema
].
Error returned when a field is not found in a schema.
Untyped schema-aware “HashMap”.
A custom asset loader implementation for a metadata asset.
Error type when attempting to cast between types with mis-matched schemas.
A schema reference, containing the ID of the pack that defined the schema, and the name of the
schema in the pack.
An untyped reference that knows the [Schema
] of the pointee and that can be cast to a matching
type.
An untyped mutable reference that knows the [Schema
] of the pointee and that can be cast to a matching
type.
A schema registry that alloates
SchemaId
s for
SchemaData
s and returns a registered
[
&'static Schema
][Schema].
A struct that implements
Serialize
and wraps around a
SchemaRef
to serialize the value
using it’s schema.
A type-erased
Vec
-like collection that for items with the same [
Schema
].
Scripting plugin for the bones framework.
A bones game. This includes all of the game worlds, and systems.
Resource that allows you to configure the current session.
Container for multiple game sessions.
Resource providing a noise source for
CameraShake
entities to use.
A collection of systems that will be run in order.
A Vec
-like container that can store a small number of elements inline.
A 2D sprite component
A piece of audio loaded into memory all at once.
Struct containing a static system.
A Stopwatch is a struct that track elapsed time when started.
Persitent storage resource.
Helper for accessing the inner data of a schema ref at runtime.
Helper for accessing the inner data of a schema ref at runtime.
Schema data for a struct.
A tilemap tile component.
A tilemap layer component.
A clock that tracks how much it has advanced (and how much real time has elapsed) since
its previous update and since its creation.
Tracks elapsed time. Enters the finished state once duration
is reached.
The main transform component.
A 2-dimensional vector.
A 3-dimensional vector.
A 4-dimensional vector.
A 2-dimensional vector.
A 3-dimensional vector.
A 4-dimensional vector.
A Ulid is a unique 128-bit lexicographically sortable identifier
A wrapper struct that marks it unsafe to both create and access the inner value.
Iterates over components using a provided bitset. Each time the bitset has a 1 in index i, the
iterator will fetch data from the storage at index i and return it.
Iterates over components using a provided bitset. Each time the bitset has a 1 in index i, the
iterator will fetch data from the storage at index i.
Iterate over component store returning Option<SchemaRef<'a>>
,
filtered by bitset of iterator, but not bitset of own ComponentStore. Returns None on
bitset entries that do not have this Component.
Iterate mutably over component store returning Option<SchemaRef<'a>>
,
filtered by bitset of iterator, but not bitset of own ComponentStore. Returns None on
bitset entries that do not have this Component.
Holds components of a given type indexed by Entity
.
Mutable iterator over pointers in an untyped component store.
Mutable iterator over pointers in an untyped component store.
An untyped handle to an asset.
Storage for un-typed resources.
A handle representing a string in the global string cache.
A 2-dimensional vector.
A 3-dimensional vector.
A 3-dimensional vector.
A 4-dimensional vector.
A custom viewport specification for a
Camera
.
Asset IO implementation that loads assets from a URL.
Information about the window the game is running in.
A frozen reference to the ECS
World
.
Internally used sytem for killing finished audios (generally sounds) which were emitted as separate entities.
Used in the bones audio session.
Internally used sytem for processing audio events in the bones audio session.
System for automatically animating sprites with the
AnimatedSprite
component.
Helper function to return type data for a custom asset loader.
Create a bi-directional channel with a given request and response type.
Creates a bitset big enough to contain the index of each entity.
Mostly used to create caches.
Creates a 2x2 matrix from two column vectors.
Creates a 3x3 matrix from three column vectors.
Creates a 4x4 matrix from four column vectors.
Creates a quaternion from x
, y
, z
and w
values.
Creates a 2-dimensional vector.
Creates a 3-dimensional vector.
Creates a 4-dimensional vector.
Shortens a type name to remove all module paths.
Creates a 2-dimensional vector.
Creates a 3-dimensional vector.
Creates a 4-dimensional vector.
Creates a 2-dimensional vector.
Creates a 3-dimensional vector.
Creates a 4-dimensional vector.
Hints to the compiler that the branch condition is likely to be true.
Returns the value passed to it.
Install the lua scripting plugin.
Creates a 2x2 matrix from two column vectors.
Creates a 3x3 matrix from three column vectors.
Creates a 3x3 matrix from three column vectors.
Creates a 4x4 matrix from four column vectors.
Helper function to return type data for a metadata asset.
Creates a quaternion from x
, y
, z
and w
values.
Setup the global tracing subscriber, add hook for tracing panics, and optionally enable logging to file system.
Helper to call
setup_logging
conciseably with reasonable defaults for logging to console and file system.
Utility function that spawns the camera in a default position.
Sprite session plugin.
Creates a 2-dimensional vector.
Creates a 3-dimensional vector.
Creates a 4-dimensional vector.
The Bones Framework UI plugin.
Hints to the compiler that the branch condition is unlikely to be true.
Returns the value passed to it.
Create a new Ustr from the given &str.
Creates a 2-dimensional vector.
Creates a 3-dimensional vector.
Creates a 4-dimensional vector.
Creates a 2-dimensional vector.
Creates a 3-dimensional vector.
Creates a 3-dimensional vector.
Creates a 4-dimensional vector.