KosunoEvaluate Kosuno
← Kosuno

Capabilities

Systems for the game
you are building.

Extend a shared foundation of scenes, prefabs, rendering, physics, scripting and UI. The interactive diagrams below illustrate concepts; they do not run the Kosuno engine.

Package composition

Pick what your game needs. Compile away the rest.

A project's packages.toml decides which capabilities exist. The editor, the player, the content CLI and the build tool all resolve it through one crate, so they always agree. Leave out voxels and you have a mesh game: none of the voxel code is compiled in.

Illustrative package selection

Packages/packages.toml

Compiled into this build

    Skeletal animation alongside property animation.

    glTF skins and clips feed GPU skinning and controller-driven playback. Blend spaces, root motion, bone attachments, two-bone/look-at/foot IK, morph targets and animation distance LOD extend the character pipeline.

    The property-animation illustration below demonstrates reusable controllers and layers. It is one example of the broader animation system.

    Property animation

    Animate any property. Wire it as a state machine.

    Clips key any component field: transforms, UI, materials, even Machina graph parameters. A dope sheet edits the keys, and reusable controllers wire clips into states and transitions as a node graph, with crossfades, typed parameters and layers. Try it: fire the triggers and watch the state machine run.

    examples/cards/ember_card.rvctrl Illustrative controller · Card
    ⚡drawon end⚡playon end · fade 0.3⚡reset▶ deckdeck.rvanim ⟳drawdraw.rvanimhandhand.rvanim ⟳playplay.rvanimAny state
    Triggers
    state deck · clip deck.rvanim

    Controllers

    Reusable .rvctrl assets

    Every Animator that references a controller shares its states, rules and layers. Saving the controller hot-reloads every Animator using it.

    Layers

    Override and additive

    Layers blend over the base with property masks, so a hover wobble can play on top of whatever state the card is in.

    Scripting

    Drive it from Rhai

    animator_trigger("draw") queues a trigger; parameters feed conditional transitions; completion callbacks tell scripts when a clip ends.

    Optional packages

    Specialized tools.
    Shared extension contracts.

    Each plugin comes in two halves: a runtime crate the player links, and an editor crate that registers documents, inspectors and hot reload through the editor's open registries. The editor core never names their formats.

    story · kosuno_story · .story

    Visual novels in plain text

    Scenes, lines, choices, conditions and @ stage commands. Mistakes become diagnostics on their line and the rest still runs. Every playback stop takes a snapshot, so rollback and save slots come from the same mechanism.@run hands control to a minigame prefab. Try it: the highlighted line is the one being played.

    examples/story/demo.story $trust = 0
    zoom 1.0×

    vector · kosuno_vector · .svg · .rvv

    GPU vector graphics

    A Rust and WGSL port of the Rive Renderer's coverage pipeline. Curves stay sharp at any scale without a texture atlas. .rvv adds bone rigs, keyframes and a state machine scripts can drive. Scroll to morph the path.

    cooked 3 nodes

    machina · kosuno_machina · .rvg

    Procedural geometry graphs

    Machina is a node-graph mesh system in the style of Houdini SOPs, linked as a pinned Rust library with no FFI. Changing a parameter recooks only the nodes downstream of it. Bake outputs to ordinary Kosuno assets when the player needs no runtime generation.

    Optional voxel package

    Destructible volumes.
    A shared scene.

    Sparse brick volumes, voxel ray marching, streaming and destruction integrate with mesh scenes and the physics shape registry. Voxel tooling and rendering are supplied by the package.

    Mixed rendering

    Mesh and voxel paths share surface lighting and interact through shadow systems. Device limits are checked for the selected backend.

    Destruction and physics

    Carve volumes, detach unsupported pieces and simulate fragments. Edited voxel state is not yet covered by execution checkpoints.

    Terrain authoring

    Import heightmaps through the editor's voxel terrain package. The former built-in procedural city and tree generators have been removed.