Skip to content

Packages

Granularity is per package, not per repository. pub resolves a subdirectory of a git repository, so a package in a monorepo is already consumable on its own. Splitting one repository per package buys nothing and costs a co-ordinated release every time two of them change together.

Package What it is Needs
orblit_core Archetype entity-component store in C++, over a C ABI, with a transform hierarchy. Component data reaches Dart as views, not copies. Dart
orblit_codegen Turns annotated component classes into registration and a manifest other front ends read without compiling this package. Dart
orblit_filament Filament rendering, composited by Flutter: meshes and models, sprites, splats, textures and environments. On Apple platforms it renders into IOSurface-backed pixel buffers the texture registry adopts without a readback. Flutter, and a platform it draws on
orblit_ui The interface a game draws: a tree of elements with a utility class list or CSS on each, built into real Flutter widgets. Flutter
orblit_light Lights described the way an artist states them, in watts, metres and degrees, converted to the photometric units a renderer works in. Dart
orblit_mesh Building and editing geometry: parametric shapes, and the operations that turn one into something that was not a shape any more. Dart
orblit_rig Armatures, poses and bone constraints. The skeleton layer a control rig is generated on top of. Dart
orblit_camera Cameras as shots rather than as objects. A camera describes what it wants to frame; the engine works out where to be and blends between them. Dart
orblit_agent Steering behaviours that say where to go, and behaviour trees that say what to want. Dart
orblit_collide Shapes, raycasts and overlap tests, in three dimensions and in two. Dart
orblit_effect Change stated as a function of time, so move, turn, grow and fade, sequenced and composed. Dart
orblit_sequence Cutscenes as a function of time. Tracks of clips over a playhead; sampling gives the whole world’s worth of values. Dart
orblit_sprite Two dimensions: atlases and an atlas packer, sprite animation, parallax layers and tile maps. It draws nothing itself; orblit_filament draws sprites. Dart
orblit_scene A scene as a document: entities with stable ids, components, migrations from every older format, and diffs that apply and invert. Dart
orblit_stage A scene document staged for the renderer, turning entities into objects, lights, splat clouds and sprite layers, with a diff moving only what it touched. Flutter
orblit_asset What an asset is called and where its bytes are: project-relative ids, content hashes, sources, and a store that files bytes by their hash. Its directory-backed classes throw in a browser. Dart
orblit_input Gamepads as state a frame can ask about, plus the events between two frames. Linux only so far, through evdev; elsewhere it reports no pads. Dart
orblit_noise Value and gradient noise, tiling and deterministic: the same field every run, on every machine. Dart
orblit_weather What the air is doing, and what is above it. Conditions, transitions, cloud, the day’s cycle, and the exposure any of it needs. Dart
orblit_native Compiling and loading C++ scripts. A script is handed a table of what it may call, and answers start, step and stop. Dart
orblit_examples One technique at a time: a scene that shows it, the controls that change it, and the lines that do it. Flutter

“Needs Dart” means it runs anywhere Dart does, including a headless CI runner, which is why most of the engine is tested on Linux.

Repository What it is
orblit-editor The editor application. Depends on the engine by path, so the two must be sibling checkouts.
orblit-examples The gallery and viewport applications, and a headless simulation example.
orblit-net Multiplayer: replicated component columns, ownership, acknowledged deltas, interpolation.
orblit-script TypeScript scripting on QuickJS, as a peer of Dart over the same core.
pubspec.yaml
dependencies:
orblit_sprite:
git:
url: https://github.com/ChxisB/orblit.git
path: packages/orblit_sprite

The path is what selects a package within the repository.