Repository navigation
Publish bounded incremental semantic deltas - #564
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #547. Advances #262 and enables SceneTech/AppScene#30/#185.
WebScene now exposes a bounded request/take/release semantic-delta lease keyed by base/new snapshot plus document/layout generations. It retains only latest plus immediate predecessor, admits one request/result, emits deterministic relationship-remove, reverse-remove, insert, reparent/update, relationship-add and focus operations, copies complete node projections, respects nested generation identities, and fails closed to a concurrently published full snapshot on overflow, truncation or top-document replacement. Navigation, hidden/explicit low memory and teardown retire queued/completed state; taken leases outlive the engine.
Bounds: 8,192 operations and 2 MiB copied UTF-8, atop existing full-snapshot limits.
Validation intentionally deferred:
git diff --checkpassed; full op mix, stale admission, terminal/editor/panel churn, nested replacement, overflow recovery, 2,048-node/100-cycle/memory/p95, C ABI/browser/export regressions were authored but not executed. AppScene UI-thread peer application, base/new validation, full recovery and packaged AT acceptance remain open.