//! Cell world β live-loaded application pages.
//!
//! A *cell* is one app screen authored in `rune`, decoded by `prysm`, rendered
//! as native Bevy entities. The binary is a frozen shell; the app is the set of
//! cells. Update the app = edit/publish a cell (no rebuild). See `root/cells.md`.
//!
//! Pipeline (the same seam the terminal uses for `rune <expr>`, but one-shot and
//! rendered into a centered page instead of a scrollback):
//!
//! ```text
//! cell source ββparse/lower/evalββ> result chunk-noun ββnoun_to_chunksββ> dispatch ββ> Bevy UI
//! ```
use *;
use ;
use Chunk;
use WorldState;
use crate;
const G: f32 = G;
const CONTENT_RATIO: f32 = 0.62;
;
/// Root of the rendered page. Despawned (recursively) on world exit.
;
// ββ rune host βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
/// No-op host: a cell's page is its *result noun*, not an `emit` side effect.
/// Acts (`emit`/`query`/β¦) are wired in later phases (P5). The interpreter still
/// requires a host, so this satisfies it and ignores every act.
;
// ββ cell loading + rendering ββββββββββββββββββββββββββββββββββββββββββββββββββ
/// Resolve `cell://<name>` to its rune source.
///
/// P1: a local file under `cyb/cells/<name>.rune`. Newlines are neutralised to
/// spaces β the classic rune register parses a call on one logical line, so a
/// multi-line, readable cell collapses to a parseable expression. (String
/// literals hold no raw newlines, so this never alters content.) The `nameβfile`
/// and `nameβhash` resolvers (P2/P4) slot in behind this same seam.
/// Parse β lower β interpret a cell source; decode the result to renderable chunks.
// ββ world lifecycle βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Homonyms
cyb/evy/forks/naga/src/back/hlsl/mod.rs
struct Baz { m: mat3x2, } struct Baz { float2 m_0; float2 m_1; float2 m_2; }; float3x2 GetMatmOnBaz(Baz obj) { return float3x2(obj.m_0, obj.m_1, obj.m_2); }