cyb/evy.md

evy

a unified-memory, multi-engine, neural-first game engine. forks 16 bevy crates selectively (in forks/); adopts ~20 bevy crates intact from crates.io; replaces 8 with cyber-native primitives (prysm, radio, bbg, honeycrisp).

evy is the engine; cyb is one game built on it. evy is not a general-purpose bevy replacement — it is a substrate inversion for unified-memory hardware (Apple Silicon primary; Android, Strix Halo, X Elite portable).

what evy buys from bevy

~100K LOC of rendering machinery — PBR, post-process, anti-alias, animation, gizmos, render graph — that would take a multi-engineer year to reproduce. evy adopts ~20 bevy crates intact, forks 16, replaces 8, and adds ~24 new crates of its own. [patch.crates-io] in Cargo.toml ensures transitive deps on forked crates resolve to our versions.

what evy provides that bevy doesn't

  • memory is unified; all engines (CPU, AMX, GPU, ANE) see the same pages via unimem IOSurface
  • four compute engines, not one — the render graph generalizes to a multi-engine dispatch DAG
  • ECS storage IS bbg's ShardStore — components live in 13 namespaces (10 BBG_poly + A + N + ephemeral)
  • presentation is one formal protocol (prysm) across 2D and 3D
  • content is content-addressed particles reached over radio
  • rendering is hybrid raster + neural inference, with glia models on ANE driving neural materials
  • trust-critical state is verifiable via zheng proofs at tick boundaries
  • mobile (Android) supported out of the box with capability-aware degradation

structure

evy/
├── forks/                 16 bevy crates we modify (forked from v0.18.1)
├── crates/                9 evy-specific crates landed (~24 planned)
├── specs/                 architecture spec (evy.md is canonical)
├── roadmap/               open proposals
├── .claude/plans/         agent state
├── Cargo.toml             workspace + [patch.crates-io] redirecting forked crates
├── CLAUDE.md              agent instructions
└── README.md              this file

intact bevy crates come from crates.io as versioned deps (~20 crates: bevy_app, bevy_winit, bevy_window, bevy_input, bevy_math, bevy_reflect, bevy_camera, bevy_light, bevy_color, bevy_text, ...). they are not stored in tree — cargo doc and the registry cache at ~/.cargo/registry/src/ cover any source-reading need. replaced crates (bevy_ui, bevy_scene, bevy_asset, bevy_audio, bevy_gltf, bevy_ui_widgets, bevy_feathers, bevy_ui_render) do not appear in our dep graph at all.

specification

evy/specs/evy is the foundation document. 20 sections covering:

  • three axioms (unified memory, plural engines, one presentation protocol)
  • 13 invariants
  • four hardware tiers (first-class macOS M-series; portable Android, Strix Halo, X Elite, console APU, discrete PC)
  • multi-engine dispatch DAG with commit-policy unification of BBG signals + render
  • 13-namespace storage schema via bbg ShardStore
  • prysm as UI engine; mir as prysm's 3D mode
  • radio:// as content + replication backbone
  • neural materials, φ*-driven render budget, generative cache

status

9 crates landed (~4.5K LOC, 143 tests). 11 of 17 §19 attack-order steps complete or substantially started. End-to-end smoke test in evy_engine_core exercises every subsystem.

crate LOC tests what
evy_platform_caps ~280 6 runtime probe (engines, NPU, thermal class) + FallbackPolicy
evy_ecs_storage ~600 25 bbg::ShardStore adapter; typed components over 13 namespaces
evy_engine_tasks ~280 7 AmxTaskPool + AneTaskPool (Apple Silicon; stub elsewhere)
evy_engine_dispatch ~520 18 DispatchNode trait + scheduler + commit-policy machinery
evy_prysm_core ~1,500 47 Π protocol + Φ sizing + K containers + fold + motion + emotion
evy_radio ~330 6 channel bridge to iroh daemon (stub; real iroh in session 11.2)
evy_diagnostic ~370 11 wall + PMU measurement, Diagnostic accumulator
evy_dialect ~300 14 dialects + registry
evy_engine_core ~340 9 assembly: Engine::builder() wires everything

run the hello example:

cargo run -p evy_engine_core --example hello

step 3 (aruminium device-sharing) was reverted after analysis showed wgpu+aruminium coexistence taxes 9–13 ms/frame on Apple Silicon. corrected architecture: aruminium is THE renderer (raster + compute) on Apple Silicon; wgpu is the portable fallback for non-Apple targets. raster support proposal at ~/cyber/honeycrisp/aruminium/.claude/plans/raster-support.md — implementing now.

license

cyber license: don't trust. don't fear. don't beg.

Folder

Homonyms

cyb/evy/specs/evy
evy a unified-memory, multi-engine, neural-first game engine. selectively forks 16 bevy crates (in `evy/forks/`); adopts ~20 bevy crates intact from crates.io; replaces 8 with cyber-native primitives. `[patch.crates-io]` redirects transitive deps on forked crates to our versions. powers cyb and any…

Graph