feat: retain live page mounts and update shared UI references across aliases
Verify Tessera GUI / verify (push) Failing after 7m13s
Verify Tessera GUI / verify (push) Failing after 7m13s
This commit is contained in:
+10
-6
@@ -7,7 +7,8 @@
|
||||
| activity.rs | Bounded in-memory HTTP exchanges with marked previews and allowlisted request headers |
|
||||
| endor_host.rs | Aster compilation, fresh PUT candidates, worker-owned live REPL VM, bounded execution, root cleanup and AST developer tree |
|
||||
| endor_script.rs | Batch complete inputs for Aster's Interactive parser/compiler, retain Module entry, and rebase Aster spans to the original snapshot |
|
||||
| ui_bridge.rs | Tessera UI/page payloads and bound render methods, preallocated node/page pools and native snapshot extraction |
|
||||
| ui_bridge.rs | Tessera UI/page payloads and bound render methods, reusable node/page pools, explicit native-edge VM roots, live mounts/unmount and native frame extraction |
|
||||
| live_ui.rs | Stable native UI references, alias-preserving replacement, cycle/depth checks and immutable frame extraction |
|
||||
| layout.rs | Native UI tree to Frame; expanded-tree and coordinate budgets |
|
||||
| document.rs | Published source/AST/UI snapshot, revisions, invalidation, frame validation and display commands |
|
||||
| app.rs | Window events, redraw and system widget pointer/keyboard/IME routing |
|
||||
@@ -30,9 +31,10 @@ to execute Endor in the application.
|
||||
A complete-PUT execution candidate owns all external VM roots, including the 4096-node pool
|
||||
and 64 pages with bound render callbacks. Script units share one globals dictionary
|
||||
inside the candidate; no variables or VM handles persist across successful PUTs.
|
||||
Callbacks return borrowed, preallocated real VM objects. Their mutable slots hold
|
||||
immutable native UI descriptions; child edges contain owned native Arcs, never
|
||||
managed VM references. Page rendering stores native root data in the build session;
|
||||
Callbacks return borrowed, preallocated real VM objects. UI payloads opt into Aster
|
||||
shared-reference assignment. Native live child/forward edges contain owned Arcs;
|
||||
Console registers corresponding external VM roots through retain/release, without
|
||||
mutable untraced VM edges in payloads. Window frames contain only immutable native data. Page rendering stores native root data in the build session;
|
||||
the final render selects the snapshot after all script units succeed. Once
|
||||
extraction finishes, release temporary results, clear
|
||||
globals, release roots, collect cycles and require an empty VM. The window keeps
|
||||
@@ -65,10 +67,12 @@ typed actions and keep all execution/source behavior outside the widget layer.
|
||||
|
||||
Console sessions use `endor_host::ReplSession` on the same worker thread. Real VM
|
||||
globals, UI pools and `_` survive between inputs. Parse/compile precede execution;
|
||||
only a successful input drains a render request and commits a native snapshot.
|
||||
only a successful input commits a pending mount or publishes changes to an existing mount.
|
||||
Runtime-failed input can retain earlier completed bindings, but cannot publish its
|
||||
pending render. Session budgets cover cumulative source/AST and fixed UI pools.
|
||||
page.unmount releases a mount; unused node/page pool slots are reclaimed between inputs.
|
||||
Explicit reset drops the VM; accepted PUT/code DELETE change the publication epoch
|
||||
and invalidate the old context. Source snapshots carry annotated AST ranges for the
|
||||
actual Console transcript; source history is never rerun to reconstruct memory.
|
||||
The Aster pin includes independent Assignment AST/name-analysis/bytecode support.
|
||||
The Aster pin includes independent Assignment syntax and generic opt-in assign_from support.
|
||||
Live reference tests cover alias updates, nested mounts, cycle rejection, detached branch release and unmount/remount.
|
||||
|
||||
Reference in New Issue
Block a user