From 3bfcc02d81eb815bde46871a2640280f7cd88426 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Sun, 19 Jul 2026 03:30:15 +0100 Subject: [PATCH] Document exact reactive world transport --- docs/eve-dsl-reactive-bindings.md | 8 +++++--- docs/world-state-lowering.md | 14 ++++++++++++-- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/docs/eve-dsl-reactive-bindings.md b/docs/eve-dsl-reactive-bindings.md index 23eb439..3f0da21 100644 --- a/docs/eve-dsl-reactive-bindings.md +++ b/docs/eve-dsl-reactive-bindings.md @@ -34,9 +34,11 @@ var program = node.Documents metric "Opacity" bind program.Field(x => x.Layers[1].Opacity) ``` -Today the lower substrate exposes reactive document changes through CultMesh / -CultNet database watch streams. The field-level POCO binding handle is the -next ergonomic cut. Eve documents now carry explicit +The lower substrate exposes reactive document changes through CultMesh/CultNet +database watch streams. `CultMeshDocumentHandle.Field(...)` compiles a +member/index selector once and exposes that field as a stable typed pointer; +providers do not need to republish a surface tree when only the value changes. +Eve documents carry explicit `CultMeshStateBindingDescriptor` values on each component so renderers do not have to infer provider state from string props: diff --git a/docs/world-state-lowering.md b/docs/world-state-lowering.md index 75f8f39..aa3db11 100644 --- a/docs/world-state-lowering.md +++ b/docs/world-state-lowering.md @@ -80,8 +80,11 @@ invent provider semantics to compensate for missing contract information. `gamecult.eve.entity_soa_view.v1` is the portable descriptor for hot entity presentation state. A `world.scene2d` or `world.scene3d` component points to it -with `entityViewPointerId`; `entityViewSchema` names the schema. The surface -does not duplicate entity transforms as retained child components. +with `entityViewPointerId`; `entityViewSchema` names the schema and +`entityBodyId` names the stable logical hot body whose representations the +client may demand. Body identity is provider-advertised contract state, not a +provider-specific convention embedded in a lowerer. The surface does not +duplicate entity transforms as retained child components. World scenes may also publish generic presentation intent derived from provider state: @@ -187,6 +190,13 @@ bootstrap snapshot. Live entity generations do not. UI values bind to reactive typed documents named by state pointers. Versioned asset manifests are bootstrap state and their content-addressed artifacts are cached. +An exact entity subscription includes the view record, the logical body's +stable latest-publication record, the supported body transports, and the +consumer runtime identity. CultMesh combines actual peer locality with those +capabilities to select shared memory for same-machine clients and a network +body plane otherwise. No consumer fetches a second snapshot per generation, +and a provider does not build an unrequested representation. + Provider advertisements attach the reusable boundary to world surfaces through `surfaces[].worldInteraction`. That block names: