Active implementation checkpoint — 20 September 2026
Exact upstream heads are WebScene 3cc78ac28101e23f07ded947b44869277da6632d and AppScene acf42662309ea601720ed07c440cf183d7c73fe3; unchanged Code OSS is 645f29cc3176500b4b5762ba887cf2a7f0ffdf2c. Local vscode-demo is 06b5fa4328bae547e40462cbd049b6322f8e8d8e, clean, 294 commits ahead, and intentionally unpushed with Actions disabled.
Focused merge stacks
Worker/resource stack — merged: WebScene Load dynamically inserted CSS imports asynchronously #702 , Complete WorkerOptions and worker load policy #703 , Enforce Worker policy across redirect hops #705 and Expose fetch request headers to resource hosts #707 ; AppScene Expose CSS retained-effect computed values #282 ; local vscode-demo Add native WebGPU runtime support #10 . Dynamic CSS imports, Worker options/credentials/CORS, per-hop redirect validation, and request-header ABI v5 are on main.
Interactive validation stack — merged: WebScene Present bounded interactive reportValidity feedback #709 , Fix validation message text measurement #711 , Dismiss stale validation feedback after mutations #712 , Bound validation message wrapping and formatting #718 , Add bounded validation message formatter ABI #721 , Add bounded validation message timeout #723 , Bound form ownership invalidation #724 , Reflect form labels in semantic validity #725 , Implement bounded custom element states #726 , Implement live form control collections #727 , Implement bounded form state restoration #728 and Wire Flutter validation localization #729 ; AppScene Wake native runtime for queued WebSocket events #284 ; local vscode-demo Broaden WebScene compatibility coverage and release gates #11 . This includes focused invalid reporting, text-measurement repair, stale-feedback dismissal, bounded wrapping, localization ABI, optional timeout scheduling, and mutation-local form/fieldset ownership invalidation.
Selector/pseudo stack — merged through scoped selection: WebScene Complete selector matching, specificity, and dependency invalidation coverage #237 /Match live hyperlink selector state #730 , Implement bounded local-link selector state #735 , Implement bounded target-within selector state #736 and Implement functional local-link path depth #737 merged live location selectors; Paint Code OSS placeholder pseudo styles #738 merged paint-only Code OSS ::placeholder; Implement static Code OSS details content #739 merged the bounded static subset for the ten unchanged Code OSS ::details-content rules. Native GitHub stack #745 merged atomically as Implement live Range boundaries for Code OSS highlights #742 (live Range boundaries), Add Highlight and CSS.highlights registry for Code OSS #744 (bounded Highlight/CSS.highlights registry), and Paint CSS Custom Highlight ranges for Code OSS (#746) #747 (functional ::highlight(name) theme cascade plus retained range paint), closing Implement CSS Custom Highlight API for Code OSS ranges #740 /Implement live Range boundaries for Code OSS highlights #741 /Add Highlight and CSS.highlights registry for Code OSS #743 /Paint CSS Custom Highlight ranges for Code OSS #746 at main 7a2d0f8d. PR Paint scoped selection ranges for Code OSS #751 then merged global/scoped ::selection cascade, theme colors, forward/backward range normalization, and retained background/foreground commands at main 2c83b45f, closing Paint scoped ::selection ranges for Code OSS and xterm #750 . Focused native/compiler run 35469464706 and precompiled contracts 35469464714 passed. Details animation/compositing, control-part/shadow-selector inventory, and remaining CSS work stay recorded in Complete selector matching, specificity, and dependency invalidation coverage #237 /[Epic] CSS features, compatibility, validation, and performance #235 .
Typed transition stack — merged: WebScene PR Implement typed registered custom-property animations #752 merged typed <angle>/<percentage> @property support. PR Implement Code OSS starting-style entry transitions #753 then merged Implement @starting-style entry transitions used by Code OSS #749 at main 3cc78ac2, adding document-level @starting-style, precedence-correct starting cascades, first-render/display re-entry, opacity/2D transform/background-color admission, transition-behavior: allow-discrete, computed-versus-used display behavior, CSSStartingStyleRule, detached-state release, reinsertion, teardown, and a zero-allocation guard across 256 unrelated nodes. Focused precompiled JavaScript 35473084845, Linux native SDK 35473084825, and native Linux document contracts 35473084848 passed.
Consolidations — open and deliberately unmerged: WebScene Add Code OSS browser and native desktop compatibility #76 is refreshed to ed2eb2c57ec6b1a8bda4bd75747379a7c19c86cf; AppScene Stream native application video directly from file and network URLs #65 is at 2d2407f5e38c4cdd3d851394a5636cc0a8ce9064; vscode-demo Typescript #1 tracks the local unpushed integration branch.
One-agent mode is enforced. No subagent is active. Reusable runtime behavior continues to land in WebScene or AppScene; unchanged Code OSS remains pinned. The change-related #752 and #753 runs passed. Broad PR CI/NuGet plus consolidation, post-merge main and previous-main runs were canceled to release runners; no WebScene job is intentionally retained between focused PRs. Full package, performance, visual, physical-platform and VM qualification remains deferred under the fast implementation directive; focused parser/native correctness and allocation checks are complete locally.
Next: finish the remaining planned CSS and product features, then physical Linux pixels, synchronization/device-loss/resize/soak/performance, visual comparison, VM/computer-use, and unchanged Code OSS Release qualification. Rich clipboard MIME, MULTIPLE/SAVE_TARGETS, recorded desktop-service/cross-platform work, workspace/Explorer, file/save, terminal, Markdown preview, accessibility, lifecycle, package-size, and no-browser promotion gates remain tracked and incomplete.
Parent: #740
Depends on: #741 / PR #742
Epic: #235
Scope
Implement the document-local object model used by unchanged Code OSS before highlight paint:
constructible Highlight(...ranges) with ordered setlike add, delete, clear, has, size, entries, keys, values, forEach, default iteration, and integer priority;
CSS.highlights maplike registry with set, get, has, delete, clear, size, entries/keys/values/forEach/default iteration;
validate registered names and Range objects, preserve replacement/insertion order, retain registered Highlight objects strongly, and weakly reclaim unregistered Highlight/Range wrappers;
publish a compact document-local registry snapshot for the subsequent ::highlight() cascade/paint layer;
mark retained scene paint dirty only when a registered highlight, its ranges, or priority changes; no idle frame demand or DOM/visual-tree nodes.
Acceptance
Code OSS owner merge/clear behavior works with repeated Highlight.clear/add and CSS.highlights.set/delete.
Constructor ranges, duplicate suppression, insertion order, registry replacement, priority mutation, detached/wrong-document ranges, nested contexts, navigation, low-memory cleanup, and capacity bounds have focused contracts.
Unregistered objects do not request frames; registered mutations coalesce to one retained scene update.
Repeated allocation/registration/deletion returns native bindings, persistent handles, heap/RSS, and frame demand to baseline.
Functional pseudo parsing, style cascade, text intersection, and paint remain the top stack layer in #740 .
Active implementation checkpoint — 20 September 2026
Exact upstream heads are WebScene
3cc78ac28101e23f07ded947b44869277da6632dand AppSceneacf42662309ea601720ed07c440cf183d7c73fe3; unchanged Code OSS is645f29cc3176500b4b5762ba887cf2a7f0ffdf2c. Local vscode-demo is06b5fa4328bae547e40462cbd049b6322f8e8d8e, clean, 294 commits ahead, and intentionally unpushed with Actions disabled.Focused merge stacks
::placeholder; Implement static Code OSS details content #739 merged the bounded static subset for the ten unchanged Code OSS::details-contentrules. Native GitHub stack #745 merged atomically as Implement live Range boundaries for Code OSS highlights #742 (live Range boundaries), Add Highlight and CSS.highlights registry for Code OSS #744 (bounded Highlight/CSS.highlights registry), and Paint CSS Custom Highlight ranges for Code OSS (#746) #747 (functional::highlight(name)theme cascade plus retained range paint), closing Implement CSS Custom Highlight API for Code OSS ranges #740/Implement live Range boundaries for Code OSS highlights #741/Add Highlight and CSS.highlights registry for Code OSS #743/Paint CSS Custom Highlight ranges for Code OSS #746 at main7a2d0f8d. PR Paint scoped selection ranges for Code OSS #751 then merged global/scoped::selectioncascade, theme colors, forward/backward range normalization, and retained background/foreground commands at main2c83b45f, closing Paint scoped ::selection ranges for Code OSS and xterm #750. Focused native/compiler run35469464706and precompiled contracts35469464714passed. Details animation/compositing, control-part/shadow-selector inventory, and remaining CSS work stay recorded in Complete selector matching, specificity, and dependency invalidation coverage #237/[Epic] CSS features, compatibility, validation, and performance #235.<angle>/<percentage>@propertysupport. PR Implement Code OSS starting-style entry transitions #753 then merged Implement @starting-style entry transitions used by Code OSS #749 at main3cc78ac2, adding document-level@starting-style, precedence-correct starting cascades, first-render/display re-entry, opacity/2D transform/background-color admission,transition-behavior: allow-discrete, computed-versus-used display behavior,CSSStartingStyleRule, detached-state release, reinsertion, teardown, and a zero-allocation guard across 256 unrelated nodes. Focused precompiled JavaScript35473084845, Linux native SDK35473084825, and native Linux document contracts35473084848passed.ed2eb2c57ec6b1a8bda4bd75747379a7c19c86cf; AppScene Stream native application video directly from file and network URLs #65 is at2d2407f5e38c4cdd3d851394a5636cc0a8ce9064; vscode-demo Typescript #1 tracks the local unpushed integration branch.One-agent mode is enforced. No subagent is active. Reusable runtime behavior continues to land in WebScene or AppScene; unchanged Code OSS remains pinned. The change-related #752 and #753 runs passed. Broad PR CI/NuGet plus consolidation, post-merge main and previous-main runs were canceled to release runners; no WebScene job is intentionally retained between focused PRs. Full package, performance, visual, physical-platform and VM qualification remains deferred under the fast implementation directive; focused parser/native correctness and allocation checks are complete locally.
Next: finish the remaining planned CSS and product features, then physical Linux pixels, synchronization/device-loss/resize/soak/performance, visual comparison, VM/computer-use, and unchanged Code OSS Release qualification. Rich clipboard MIME, MULTIPLE/SAVE_TARGETS, recorded desktop-service/cross-platform work, workspace/Explorer, file/save, terminal, Markdown preview, accessibility, lifecycle, package-size, and no-browser promotion gates remain tracked and incomplete.
Parent: #740
Depends on: #741 / PR #742
Epic: #235
Scope
Implement the document-local object model used by unchanged Code OSS before highlight paint:
Highlight(...ranges)with ordered setlikeadd,delete,clear,has,size,entries,keys,values,forEach, default iteration, and integerpriority;CSS.highlightsmaplike registry withset,get,has,delete,clear,size, entries/keys/values/forEach/default iteration;::highlight()cascade/paint layer;Acceptance
Highlight.clear/addandCSS.highlights.set/delete.Functional pseudo parsing, style cascade, text intersection, and paint remain the top stack layer in #740.