lumen
Lux in motu — light in motion. A cross-platform, cross-media
conversion engine, written in Rust (edition 2024, rmcp 3.3): one
operation core that bridges media formats — 2D art and sprite formats,
3D models, and game-engine packages — converting between them
deterministically from code-first records, so the same input record
yields the same output on any platform. Aseprite sprites and Bevy
were its first endpoints, not its purpose; the center is the factory
(one identity record, emitted as 2D or 3D) and the named, verified
converter chain between formats — one operation core behind three
surfaces —
- MCP tools for interactive media work: sprite operations, inspection, palettes, text, style presets, dream-animation automation, QA gates, and export backends (PNG sheets, WASM-4, TIC-80, VoidSprite file interop). All paths are project-root bounded.
- An A2A agent surface (v0.3.x JSON-RPC) for dispatched, long-running art jobs, with the trial-then-approval art-director loop as a protocol state. See A2A_DESIGN.md.
- A deterministic policy layer (APPA-style, adapted from
archestra-ai/OpenAPPA): every tool call is checked against
lumen-policy.tomlbefore it executes, decisions are replayable, and denials name the rule they violated. See POLICY_DESIGN.md.
Companion strategy — pair, don't duplicate — is in COMPANIONS.md. How lumen was built, in what order, and under what governance (including the evidence rule its first failed build produced) is in HISTORY.md.
Verified state (2026-10-01, primo)
- Build and clippy clean; 303 tests passed / 0 failed / 8 ignored (suite split between validation and adversarial cases).
- Live interop gate against real Aseprite 1.3.18.6-dev and Bevy 0.18
BRP (
scripts/interop_check.sh): 5 passed / 3 failed — the failures are documented premise mismatches between lumen's assumptions and the real tools' behavior; see HISTORY.md.
Layout
src/— operation core:sprite_ops,inspect,palette,text,style,dream,qa,export,pipeline,policy,bevy,doc,vrm, and thea2a/surface (mod,task,http,registry).tests/— validation and adversarial suites, incl.interop.rs(live-tool gates, ignored by default).lumen-policy.toml— the shipped policy;lumen policy checkandlumen policy replayare its gates.
License
This project is licensed under the Apache License, Version 2.0.