chroma
cyb's UI is a 3×3 grid: eight fixed overlay elements ("chroma") arranged
around a central renderer slot ("spacetime"). Each chroma owns a fixed
screen position, a single semantic role, and a strictly typed
cyberlink interface. Chromas never share state directly — every
interaction crosses a typed cyberlink. The architecture is closed: the
nine slots are the entire public surface of cyb.
layout
┌──────────┬──────────┬──────────┐
│ space │ ad │ ava │
│ where │ answer │ who │
├──────────┼──────────┼──────────┤
│ sense │ │ sigma │
│ notify │spacetime │ resource │
├──────────┼──────────┼──────────┤
│ brain │ com │ time │
│ map │ command │ when │
└──────────┴──────────┴──────────┘
axes:
- vertical: identity (top) ↔ action (bottom)
- horizontal: location/perception (left) ↔ value/identity (right)
- center: spacetime, the only pluggable slot
the nine
| slot |
position |
role |
| space |
top-left |
location, "where" — current world, breadcrumb |
| ad |
top-center |
advisor — app responses, hints, ambient dialogue without disrupting spacetime |
| ava |
top-right |
avatar — "who" am I, identity, profile |
| sense |
mid-left |
notifications, sensors, ambient signals |
| spacetime |
center |
pluggable renderer (mir / sugarloaf / wry…) |
| sigma |
mid-right |
resource — wallet, tokens, economic state |
| brain |
bottom-left |
map — knowledge graph navigation, file browse |
| com |
bottom-ctr |
commander — universal command input; keyboard nav is context-sensitive across all chromas |
| time |
bottom-rt |
when — history, log, future planning |
spacetime renderers
Spacetime hosts exactly one renderer at a time. The current renderer
defines the active "world". Switching renderers = world transition.
| renderer |
crate |
what it shows |
| mir |
mir |
3D knowledge graph (wgpu) |
| sugarloaf |
sugarloaf |
terminal canvas (wgpu) |
| wry |
wry |
web content (Portal world) |
| bevy-ui |
bevy_ui |
native UI panels |
| symphony |
(future) |
audio scene |
Spacetime owns its own camera (order 0). The eight chromas all live on a
single overlay camera (order 100, no clear). Chromas are agnostic to
which renderer is active — they only see the renderer's identity via the
space chroma.
cyberlink interface
Chromas communicate only via cyberlinks — the same primitive the
cybergraph uses on-chain. Direct resource reads across chromas are
forbidden.
cyberlink shape
A cyberlink is a 5-tuple across three layers:
ℓ = (from, to, token, amount, valence)
| field |
type |
layer |
meaning |
from |
Particle |
structural |
source — the particle of the sending chroma |
to |
Particle |
structural |
destination — the particle of the target chroma |
token |
Particle |
economic |
what moves — the intent type as a particle |
amount |
u64 |
economic |
weight of this link (1 for most UI messages) |
valence |
i8 {-1,0,+1} |
epistemic |
Bayesian judgment: confirm / neutral / refute |
Each chroma has a particle identity. Intents are also particles — not an
enum. Adding a new intent means minting a new particle, not changing
code.
signal shape
When a single user action must emit multiple cyberlinks atomically, they
are bundled into a signal:
s = (neuron, links, Δφ*, proof, height)
| field |
type |
meaning |
neuron |
NeuronId |
signing chroma (or the user's neuron) |
links |
Vec |
one or more cyberlinks in this atomic step |
Δφ* |
sparse vec |
proven focus shift across all links |
proof |
Option |
zheng proof (omitted for local-only signals) |
height |
u64 |
block height (0 until finalized on-chain) |
Local chroma-to-chroma signals carry proof = None; they become
provable on-chain when the neuron signs and broadcasts.
example cyberlinks
| from particle |
to particle |
token particle |
meaning |
| com |
spacetime |
submit |
user submitted text |
| com |
spacetime |
switch-renderer |
replace active renderer |
| spacetime |
spacetime |
output |
renderer self-feeds output |
| ad |
com |
hint |
suggestion / placeholder update |
| * |
sense |
notify |
any chroma posts a notification |
| ava |
sigma |
identity |
request identity for resource lookup |
| sigma |
ava |
resource |
reply with current resource state |
| spacetime |
space |
locate |
tell space which world is active |
| brain |
brain |
map |
graph navigation self-feed |
| * |
time |
record |
append event to history |
A switch-renderer + notify pair (e.g. switching to terminal world) is one
Signal with two cyberlinks — proved and applied atomically.
invariants
- A chroma reads its own state and writes cyberlinks. Nothing else.
- Every chroma must function with zero other chromas present (modulo
cyberlinks it has subscribed to).
- Cyberlink delivery is one-way. Replies are separate cyberlinks.
- Chromas may not block on a cyberlink reply. All flows are async.
- The eight slot positions are fixed. New "features" compose existing
chromas via new token particles, not new slots.
example flows
ls typed in com
- user types
ls\n in com
- com emits cyberlink
(com, spacetime, submit, 1, +1) carrying the text
- spacetime sees current renderer is mir — emits
(spacetime, spacetime, switch-renderer, 1, 0) + (spacetime, spacetime, output, 1, 0) as one signal
- spacetime now sugarloaf, replays the submit into nushell
- nushell output streams via
(spacetime, spacetime, output, 1, 0) self-links
- sugarloaf redraws
graph typed in com
- user types
graph\n
- com emits
(com, spacetime, switch-renderer, 1, +1)
- mir takes over; no other chroma touched
incoming notification
- external event arrives at sense
- sense emits
(sense, sense, notify, 1, 0) self-link to render its slot
- nothing else fires
asking the advisor
- as user types in com, com emits
(com, ad, submit, 1, 0) partial text
- ad emits
(ad, com, hint, 1, 0) with suggestion
- com renders hint in placeholder slot
implementation map
crate layout — chroma and spacetime live in prysm (the visual
crate); shell depends on prysm and on cybergraph for the
Cyberlink / Signal / Particle types:
prysm/
├── chroma/
│ ├── mod.rs # ChromaId, particle identities, signal bus
│ ├── ad.rs # answer (top-center)
│ ├── ava.rs # avatar (top-right)
│ ├── brain.rs # map (bottom-left)
│ ├── com.rs # commander (bottom-center)
│ ├── sense.rs # notifications (mid-left)
│ ├── sigma.rs # resource (mid-right)
│ ├── space.rs # location (top-left)
│ └── time.rs # history (bottom-right)
├── spacetime/
│ ├── mod.rs # renderer slot, swap logic
│ ├── mir.rs # 3D graph backend
│ ├── sugarloaf.rs # terminal backend
│ ├── wry.rs # web view backend
│ └── ui.rs # bevy-native UI backend
└── molecules.rs # intra-chroma composition primitives
shell/ # thin Bevy app — wires prysm + platform I/O
dependency graph:
shell → prysm → cybergraph (Cyberlink, Signal, Particle)
→ bevy
cybergraph is the authoritative source for the Cyberlink / Signal
5-tuple. prysm owns the visual layer — chromas, spacetime renderers,
molecules. shell is the thin Bevy app that boots everything and wires
platform I/O.
Each chroma is a Bevy Plugin with:
- its own components & systems
- writes
Signal onto the bus (one or more cyberlinks, atomically)
- reads
Signals where any link targets to == Self
- no
ResMut borrow of any other chroma's state
A single Messages<Signal> resource is the bus.
molecules
Within a chroma, molecules (prysm/molecules.rs) are reusable
composition primitives. Molecules can produce render targets that
spacetime consumes — e.g. a terminal molecule produces a sugarloaf
canvas. Molecules are private to their owning chroma; cross-chroma
composition happens at the cyberlink layer only.
what this replaces
| old |
new |
shell/chrome.rs (ad + com) |
prysm/chroma/ad.rs + prysm/chroma/com.rs |
worlds/ enum + state |
prysm/spacetime/ with renderer swap |
PendingShellCmd resource |
(com, spacetime, submit, …) cyberlink in Signal |
direct NextState<WorldState> |
(com, spacetime, switch-renderer, …) cyberlink |
| chrome accessing terminal state |
impossible — different chromas, different crates |
why
- bugs like "commander writes into terminal twice" become structurally
impossible: there is no path for one chroma's keyboard events to
reach another's input handler.
- adding a new feature is always: emit a new cyberlink, or subscribe
to an existing one. never: thread a shared resource through five files.
- the architecture is closed and finite. nine slots, one bus, typed
intents. you can hold the whole picture in your head.
see cyb/core for the conceptual roles of the nine apps. see
cyb/com for command intent semantics. see cyb/rendering for
how spacetime backends share the wgpu device.
Homonyms
soft3/specs
specs
cyber/specs
cyber specs integration specifications for the cyber network: the product contracts that span soft3 components. component repos own *how* a mechanism works. this directory owns *what the network requires* when those mechanisms compose into money, light clients, and neuron UX. why here (not tok, not…
soft3/bbg/specs
specs
soft3/mudra/specs
mudra reference canonical specification for seven cryptographic primitives. each module proves a property. each module has its own security assumption. they share no cryptographic code with each other. modules | module | proves | security assumption | spec |…
warriors/erga/specs
erga — specification What the application must do, and the invariants it may not break. The [docs](/warriors/erga/docs) explain how it does it. 1. purpose Mine Autolykos v2 on Apple Silicon and pay the proceeds to a wallet the user controls, with one visible action and no configuration required. 2.…
soft3/nox/specs
nox reference canonical specification of the nox virtual machine. this is the source of truth — when code and reference disagree, fix reference first, then propagate to code. specifications | page | scope | status | |------|-------|--------| | vm.md | overview, field, hash, algebra polymorphism,…
soft3/foculus/specs
specs
soft3/lens/specs
lens reference canonical specification for polynomial commitment — five lenses for five algebras. the trait three operations. commit is O(N). open produces a proof. verify checks the proof. all transparent (no trusted setup), all post-quantum. see trait for the full specification. naming convention…
soft3/conformance/specs
conformance specification | field | value | |----------|-----------------| | version | 0.1 (scaffold) | | status | draft | | authors | mastercyb | | date | June 2026 | canonical encoding every `Conformant` type defines exactly one byte sequence as its canonical encoding. canonicity rules: 1.…
neural/eidos/specs
eidos reference canonical specification of the eidos proof assistant. this is the source of truth — when code and reference disagree, fix reference first, then propagate to code. specifications | page | scope | status | |------|-------|--------| | terms.md | CIC term syntax, encoding as nox nouns,…
neural/inf/specs
inf specs — what canonical specification for inf, proof language #10 of the cyber stack (Infer — Horn clauses, relation/inference). the declarative twin of rune; sibling of Rs, Trident|Tri, Bt, Ten. specs/ is the source of truth. when specs/ and rs/ (implementation) disagree, resolve in specs/…
soft3/zheng/specs
zheng: polynomial proof system one IOP: SuperSpartan + sumcheck (CCS constraints, O(N) prover, O(log N) verifier). one folding: HyperNova (CCS-native, ~30 field ops per fold, one decider at the end). one hash: hemera (~3 calls per proof — binding, Fiat-Shamir seed, domain separation). five…
soft3/tru/specs
tru specs the build map for tru — the convergence vm. one pipeline, `.graph` → φ* → Δφ* → reward, specified across four layers. focusing computes φ*; compilation freezes it into a model; **economics is why any of it runs** — the proven focus shift Δφ* is what a neuron self-mints against. this index…
soft3/cybergraph/specs
cybergraph specs cybergraph is exactly its structure, nothing more and nothing less: a cybergraph is built from signals; a signal is built from cyberlinks; each has a fixed, finite set of fields. these specs define those fields — one article per field — plus the two emergents that appear when you…
cyb/evy/specs
specs
neural/rune/specs
rune language specification rune K140 — working spec, mutations expected see [../README.md](/neural/rune/readme) for project overview and implementation status. specification | file | what it covers | |------|----------------| | [subject.md](/neural/rune/specs/subject) | the subject noun — the…
soft3/hemera/specs
Hemera: A Permanent Hash Primitive for Planetary-Scale Collective Intelligence | field | value | |----------|--------------------------------| | version | 2.0 | | status | Decision Record | | authors | mastercyb | | date | March 2026 | Abstract Hemera is the cryptographic hash primitive for cyber,…
soft3/mir/specs
specs
cyb/wysm/specs
wysm reference canonical specification of the cyber wysm runtime. this is the source of truth — when code and reference disagree, fix reference first, then propagate to code. `wysm` is cyber's name for its wasm runtime. `wasm`/`WASM` is the WebAssembly format. `wasmi` is the upstream project this…
soft3/strata/trop/specs
trop specification canonical reference for tropical semiring arithmetic: the (min, +) semiring, its matrix algebra, and dual certificate verification. spec pages | page | defines | |------|---------| | [semiring](/soft3/strata/trop/specs/semiring) | tropical semiring axioms, (min, +) definition,…
cyb/honeycrisp/acpu/specs
acpu — API specification pure Rust driver for Apple Silicon CPU compute. direct access to every useful compute unit in M1–M4: matrix coprocessor, vector engine, numeric extensions, atomics, memory system, performance counters. zero external dependencies — only inline assembly and system calls.…
cyb/honeycrisp/unimem/specs
unimem: Zero-Copy Memory Driver for Apple Silicon Goal Single pinned buffer visible to CPU, GPU, AMX, and ANE — zero copies between pipeline stages. The memory layer for inference on unified memory. v1 adds NVMe DMA via DEXT — full zero-copy from disk to compute. Why this exists Every inference…
soft3/strata/genies/specs
genies specification canonical reference for isogeny group action arithmetic: F_q field operations, supersingular curves, isogeny computation, and class group action. spec pages | page | defines | |------|---------| | [prime](/soft3/strata/genies/specs/prime) | CSIDH prime form, selection criteria,…
soft3/strata/nebu/specs
nebu specification canonical reference for the Goldilocks prime field, its arithmetic, and its hardware. spec pages | page | defines | |------|---------| | field | prime, elements, arithmetic, properties, why Goldilocks | | ntt | Number Theoretic Transform, roots of unity, butterfly, Cooley-Tukey |…
soft3/glia/run/specs
cyb-llm runtime specification Canonical spec for the cyb-llm runtime. Defines what models we run, how we represent them, how we execute them. Every backend (wgpu, metal, cpu, ane) is verified against this spec. Code disagreeing with spec is a bug. Spec disagreeing with reality is a spec bug — fix…
cyb/prysm/atoms/specs
specs
cyb/prysm/molecules/specs
specs
soft3/strata/jali/specs
jali reference canonical specification for polynomial ring arithmetic R_q = F_p[x]/(x^n+1) over Goldilocks. what jali is jali (जाली — lattice/mesh) is the fifth execution algebra for cyber. polynomial ring elements are structured vectors of n Goldilocks field elements with multiplication defined by…
soft3/strata/kuro/specs
kuro specification canonical reference for the F₂ tower field, its arithmetic, packed operations, and hardware targets. spec pages | page | defines | |------|---------| | [field](/soft3/strata/kuro/specs/field) | tower levels, all field operations, properties, cost model vs Goldilocks | |…
cyb/honeycrisp/rane/specs
specs
cyb/prysm/system/specs
specs
soft3/glia/import/specs
import crate specification How external model formats become canonical `.model` files. Scope `import` reads source models (GGUF, safetensors, ONNX, HF PyTorch, MLX), normalizes naming, shapes, dtypes, and config, and writes the canonical `.model` file consumed by [run/](/soft3/glia/run).…
cyb/honeycrisp/aruminium/specs
aruminium — API specification pure Rust driver for Apple Metal GPU. direct objc_msgSend FFI, zero external dependencies, only macOS system frameworks. concepts | concept | what it is | |---------|-----------| | device | a Metal GPU — discovered at runtime, owns all GPU resources | | buffer |…
cyb/honeycrisp/.claude/worktrees/agent-ad6c77c38e86bc291/unimem/specs
unimem: Zero-Copy Memory Driver for Apple Silicon Goal Single pinned buffer visible to CPU, GPU, AMX, and ANE — zero copies between pipeline stages. The memory layer for inference on unified memory. v1 adds NVMe DMA via DEXT — full zero-copy from disk to compute. Why this exists Every inference…
cyb/honeycrisp/.claude/worktrees/agent-aa1259cb10112b22a/aruminium/specs
aruminium — API specification pure Rust driver for Apple Metal GPU. direct objc_msgSend FFI, zero external dependencies, only macOS system frameworks. concepts | concept | what it is | |---------|-----------| | device | a Metal GPU — discovered at runtime, owns all GPU resources | | buffer |…
cyb/honeycrisp/.claude/worktrees/agent-ad6c77c38e86bc291/rane/specs
specs
cyb/honeycrisp/.claude/worktrees/agent-aa1259cb10112b22a/rane/specs
specs
cyb/honeycrisp/.claude/worktrees/agent-ad6c77c38e86bc291/aruminium/specs
aruminium — API specification pure Rust driver for Apple Metal GPU. direct objc_msgSend FFI, zero external dependencies, only macOS system frameworks. concepts | concept | what it is | |---------|-----------| | device | a Metal GPU — discovered at runtime, owns all GPU resources | | buffer |…
cyb/honeycrisp/.claude/worktrees/agent-ad6c77c38e86bc291/acpu/specs
acpu — API specification pure Rust driver for Apple Silicon CPU compute. direct access to every useful compute unit in M1–M4: matrix coprocessor, vector engine, numeric extensions, atomics, memory system, performance counters. zero external dependencies — only inline assembly and system calls.…
cyb/honeycrisp/.claude/worktrees/agent-aa1259cb10112b22a/acpu/specs
acpu — API specification pure Rust driver for Apple Silicon CPU compute. direct access to every useful compute unit in M1–M4: matrix coprocessor, vector engine, numeric extensions, atomics, memory system, performance counters. zero external dependencies — only inline assembly and system calls.…
cyb/honeycrisp/.claude/worktrees/agent-aa1259cb10112b22a/unimem/specs
unimem: Zero-Copy Memory Driver for Apple Silicon Goal Single pinned buffer visible to CPU, GPU, AMX, and ANE — zero copies between pipeline stages. The memory layer for inference on unified memory. v1 adds NVMe DMA via DEXT — full zero-copy from disk to compute. Why this exists Every inference…