You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Local vscode-demo gitlinks remain AppScene eef005596716174594e9ec74966b89a0aba99a10 and WebScene c595be47332adb88a50c374804c299f3db814616; the local integration head is 930f279, 131 commits ahead of its remote and intentionally unpushed. Repository Actions remain disabled.
Open planned inventory at this checkpoint: 34 WebScene issues and 3 AppScene issues, including epics. No focused implementation PR from this workstream is left open; only the three consolidation PRs remain open.
Validation and handoff debt
The current directive is implementation throughput, so the latest focused merges intentionally skipped build, WPT/browser/native, performance, memory, package, and CI validation beyond whitespace/diff sanity. The exact SDK archive /private/tmp/appscene-webscene-sdk-ac235de-eef0055.tar.gz predates the latest implementation waves and is stale. The interrupted Release build produced the Code OSS server payload but no promoted .app; no current package claim is made.
If work stops because of usage limits, resume from the numbered queue above. First fetch both upstream mains and re-read this managed block because other developers are merging concurrently. Preserve all issue history outside this block and append focused issue/PR results as they land.
Goal
Run unchanged VS Code OSS 1.137 as a native AppScene/WebScene application with its Node server and extension host, without Electron, Chromium, CEF, WKWebView/WebView, a browser process, or a C++ port. Reusable behavior belongs in AppScene or WebScene; vscode-demo owns only product configuration, evidence, and the unmerged integration branch.
This is the top-level native GitHub epic for all remaining integration-owned work.
Planning status — investigation gate complete
Four parallel audits completed before implementation resumed:
all current AppScene/WebScene issues, PRs, coordination comments, release gates, desktop-capability decisions, and product surfaces;
files/folders/workspaces/save/recovery under SceneTech/AppScene#122.
Every reproduced gap and required release surface now has one authoritative issue, repository owner, dependency position, proposed fix direction, browser/WPT/native/product evidence, numeric performance/lifecycle limits, and proposed PR-stack grouping. Duplicate ownership was explicitly rejected. The only cross-cutting overlap with special handling is #263/#236: #236 is the authoritative CSS capability source and #263 must ingest it with revision and denominator checks.
Current inventory:
37 open integration-authored WebScene issues, all carrying vscode-oss/planned and placed in this hierarchy;
4 open integration-authored AppScene issues, all carrying vscode-oss/planned and placed in this cross-repository hierarchy;
The exact AppScene/WebScene SDK archive from the current submodule inputs contains 2,859 verified files and passes producer, CLI install/verify/doctor, relocation, read-only, external-consumer, lifecycle, and integrity checks. It is not release-qualified because #237 currently fails on WebScene main. No .app is promoted from these heads.
#236 dependency order zero completed through PR #271 at aa121fe. #237 coordinates with PR #245; Wave 1 #257 waits for that draft to reconcile. #238/#239/#240/#242 remain the sole owners of general cascade, CSSOM, layout, and animation work.
The exact first failure remains unchanged Code OSS calling iframe.sandbox.add(...) while WebScene exposes undefined. The deeper audit proves sandbox alone is insufficient: the unchanged prelude then requires ServiceWorker control, resource streaming/cache, secure nested-document lifecycle, and interaction behavior. Markdown Preview is the first fixture, not the scope boundary.
File/workspace epic SceneTech/AppScene#122
Native children are AppScene#123 (typed native panels/grants), AppScene#124 (owned-window navigation), and WebScene#269 (file model/save/revert/hot-exit recovery). Related WebScene owners remain #247, #248, and #252.
WebScene #247 is complete. The real remote dialog enumerated and accepted the isolated fixture; a ready-workbench sample reached visibility in 901.25 ms with 122 maximum dialog nodes. Exact Node 24.18.1 evidence retained BrowserHostService.openWindow call 1 with vscode-remote://127.0.0.1:64170/private/tmp/webscene-247-fixture/beta, folder kind, and all force-new/reuse/add flags false. No generic engine defect was found. AppScene#124 and #252 now own navigation and new-document workspace/provider/Explorer bootstrap.
Four-agent delivery schedule
No agent shares implementation files with another active lane. Before starting/rebasing and immediately before merging, each lane rescans open issues, PRs, and recent comments.
promote only a fail-closed green package and retain compact checksummed evidence.
PR stacks and merge policy
Each issue body defines its proposed stack. Related dependent PRs use GitHub native stacks; validate the cumulative top and merge the stack atomically.
Merge a focused AppScene/WebScene fix as soon as its directly related local and runner gates pass. Cancel duplicate lower-layer, unrelated broad, superseded, and post-merge jobs.
Every generic fix needs a browser-oracle/WPT-derived regression, native contract, and bounded performance/allocation/lifecycle gate for the changed hot path.
No implementation, test, CI, SDK, or packaging logic may remain only on a consolidation branch; reusable behavior moves upstream first.
Release quality gates
Evidence must name exact source, SDK, WPT/browser, OS, font, locale, theme, DPR, hardware/runner, and package checksums. Reports expose pass/fail/skipped/unavailable/total denominators; missing or stale evidence fails closed.
Required gates include semantic/computed state, geometry, pixels, focus/accessibility, event order, security/origin/admission, affected cascade/layout/scene counters, wall time, allocations, queue high-water marks, publications/frames, idle CPU, peak/steady RSS, repeated-cycle live-count return, no memory slope, installed/relocated/read-only SDK consumers, supported release RIDs, feature-preserving size, bounded disk/artifacts, deep signing, lifecycle, and static/runtime absence of embedded browser technology.
Ownership
WebScene: V8, DOM/HTML, Web APIs, CSS/layout/paint, workers/ports, iframe/service-worker contexts, scene publication, and product-neutral performance contracts.
vscode-demo: unchanged-product configuration, deterministic fixtures, Chromium/AppScene comparison, final package evidence, and the open consolidation PR.
Focused issues close only from retained exact evidence. This epic and all three consolidation PRs remain open until the final installed-SDK Release matrix is green.
Active synchronization — 17 September 2026
#276/#278 and #285 are merged. #281 remains draft/open behind #288/#245; #266 is held until that control-plane top merges. Workspace contents pass. #287 fixes its direct FileReader gate locally but is product-insufficient. Exact #81 instrumentation proves the local iframe/Worker/transferred-port path and creates #289 for distinct remote protocol delays (transport→Ready 1,177 ms; Ready→Initialized 4,379 ms); Explorer output follows AgentHost connection by 99 ms. Dependency order is #289 → #280 → #252. #288 remains the separate #281 blocker. CSS #286 is the 33rd #235 child and remains isolated from #245.
Current implementation checkpoint — 18 September 2026, 23:24 CEST
Exact repository state
083a21885f8c167eab1189682daf509ec4abd3a5, WebScenec943e3d3ae67b3debf970de783d7c5440bc198d9, unchanged VS Code OSS 1.137645f29cc3176500b4b5762ba887cf2a7f0ffdf2c.eef005596716174594e9ec74966b89a0aba99a10and WebScenec595be47332adb88a50c374804c299f3db814616; the local integration head is930f279, 131 commits ahead of its remote and intentionally unpushed. Repository Actions remain disabled.c595be47checkpoint and must be rebased after the gitlink refresh.Latest focused implementation
ff94bad2: native pointer and keyboard events are trusted while constructed events andHTMLElement.click()remain untrusted.e4d8f5f9: retained foregroundcontrast()filters now parse and render through the backend matrix.efe3f3e7::defaultnow covers authored checked inputs, selected options, form ownership, iframe isolation, and the first submit-capable form control with bounded invalidation.Recoverable work queue
:activestate and bounded invalidation under Complete selector matching, specificity, and dependency invalidation coverage #237; resume dynamic nested/imported/constructed CSSOM under Complete dynamic CSSOM for nested, imported, and constructed stylesheets #239; finish remaining masks/filters/backdrop work under Render CSS masks, filters, clip paths, and backdrop effects in retained scenes #256; keep [Epic] CSS features, compatibility, validation, and performance #235 as the CSS coordination epic and avoid duplicating merged Fix catalog script and logical sizing compatibility #148 work.Open planned inventory at this checkpoint: 34 WebScene issues and 3 AppScene issues, including epics. No focused implementation PR from this workstream is left open; only the three consolidation PRs remain open.
Validation and handoff debt
The current directive is implementation throughput, so the latest focused merges intentionally skipped build, WPT/browser/native, performance, memory, package, and CI validation beyond whitespace/diff sanity. The exact SDK archive
/private/tmp/appscene-webscene-sdk-ac235de-eef0055.tar.gzpredates the latest implementation waves and is stale. The interrupted Release build produced the Code OSS server payload but no promoted.app; no current package claim is made.If work stops because of usage limits, resume from the numbered queue above. First fetch both upstream mains and re-read this managed block because other developers are merging concurrently. Preserve all issue history outside this block and append focused issue/PR results as they land.
Goal
Run unchanged VS Code OSS 1.137 as a native AppScene/WebScene application with its Node server and extension host, without Electron, Chromium, CEF, WKWebView/WebView, a browser process, or a C++ port. Reusable behavior belongs in AppScene or WebScene;
vscode-demoowns only product configuration, evidence, and the unmerged integration branch.This is the top-level native GitHub epic for all remaining integration-owned work.
Planning status — investigation gate complete
Four parallel audits completed before implementation resumed:
Every reproduced gap and required release surface now has one authoritative issue, repository owner, dependency position, proposed fix direction, browser/WPT/native/product evidence, numeric performance/lifecycle limits, and proposed PR-stack grouping. Duplicate ownership was explicitly rejected. The only cross-cutting overlap with special handling is #263/#236: #236 is the authoritative CSS capability source and #263 must ingest it with revision and denominator checks.
Current inventory:
vscode-oss/plannedand placed in this hierarchy;vscode-oss/plannedand placed in this cross-repository hierarchy;Current exact inputs and coordination state
main:1420e227e52579a097e7ae52a2cadb41cf073e4d.main:aa786c0ea2bbd21599f33caf3795c0eacc19ace3.645f29cc3176500b4b5762ba887cf2a7f0ffdf2c(1.137.0).dbb3517; guide-only unique diff; lifecycle check green.ebb74384; guide-only unique diff; Linux/macOS/NativeAOT 11/12 checks green.05aa8f12; current head47e84144owns 83 paths and remains draft/unstable. Do not duplicate it. Reconcile/rebase, then rerun its direct Complete selector matching, specificity, and dependency invalidation coverage #237, Keep active MessagePort listeners reachable across garbage collection #288, and installed-SDK gates.The exact AppScene/WebScene SDK archive from the current submodule inputs contains 2,859 verified files and passes producer, CLI install/verify/doctor, relocation, read-only, external-consumer, lifecycle, and integrity checks. It is not release-qualified because #237 currently fails on WebScene main. No
.appis promoted from these heads.Native hierarchy and ownership
Direct children of #227
openWindowhandoff.CSS epic #235
Open owners remain #237–#244, #44, #100, #112, and #246; #236 completed through PR #271. The completed audit added:
url()escape decoding before resource resolution.#236 dependency order zero completed through PR #271 at aa121fe. #237 coordinates with PR #245; Wave 1 #257 waits for that draft to reconcile. #238/#239/#240/#242 remain the sole owners of general cascade, CSSOM, layout, and animation work.
Webview epic #264
Ordered native children:
HTMLIFrameElement.sandboxIDL, live token list, enforcement, navigation, teardown.src/srcdoc/fake.htmlrealms,open/write/close, origins, CSP, Permissions Policy, replacement, teardown.The exact first failure remains unchanged Code OSS calling
iframe.sandbox.add(...)while WebScene exposesundefined. The deeper audit proves sandbox alone is insufficient: the unchanged prelude then requires ServiceWorker control, resource streaming/cache, secure nested-document lifecycle, and interaction behavior. Markdown Preview is the first fixture, not the scope boundary.File/workspace epic SceneTech/AppScene#122
Native children are AppScene#123 (typed native panels/grants), AppScene#124 (owned-window navigation), and WebScene#269 (file model/save/revert/hot-exit recovery). Related WebScene owners remain #247, #248, and #252.
WebScene #247 is complete. The real remote dialog enumerated and accepted the isolated fixture; a ready-workbench sample reached visibility in 901.25 ms with 122 maximum dialog nodes. Exact Node 24.18.1 evidence retained
BrowserHostService.openWindowcall 1 withvscode-remote://127.0.0.1:64170/private/tmp/webscene-247-fixture/beta, folder kind, and all force-new/reuse/add flags false. No generic engine defect was found. AppScene#124 and #252 now own navigation and new-document workspace/provider/Explorer bootstrap.Four-agent delivery schedule
No agent shares implementation files with another active lane. Before starting/rebasing and immediately before merging, each lane rescans open issues, PRs, and recent comments.
Wave 0 — current foundations
openWindowhandoffWave 1 — unblock complete editor surfaces
Wave 2 — secure behavior, durability, and measured performance
Wave 3 — cumulative unchanged-product acceptance
Close only from exact package evidence:
Wave 4 — release production
SceneTech/AppScene#130 consumes one exact clean set of merged AppScene/WebScene heads and unchanged VS Code:
.app, ZIP, and DMG;PR stacks and merge policy
Release quality gates
Evidence must name exact source, SDK, WPT/browser, OS, font, locale, theme, DPR, hardware/runner, and package checksums. Reports expose pass/fail/skipped/unavailable/total denominators; missing or stale evidence fails closed.
Required gates include semantic/computed state, geometry, pixels, focus/accessibility, event order, security/origin/admission, affected cascade/layout/scene counters, wall time, allocations, queue high-water marks, publications/frames, idle CPU, peak/steady RSS, repeated-cycle live-count return, no memory slope, installed/relocated/read-only SDK consumers, supported release RIDs, feature-preserving size, bounded disk/artifacts, deep signing, lifecycle, and static/runtime absence of embedded browser technology.
Ownership
Focused issues close only from retained exact evidence. This epic and all three consolidation PRs remain open until the final installed-SDK Release matrix is green.
Active synchronization — 17 September 2026
#276/#278 and #285 are merged. #281 remains draft/open behind #288/#245; #266 is held until that control-plane top merges. Workspace contents pass. #287 fixes its direct FileReader gate locally but is product-insufficient. Exact #81 instrumentation proves the local iframe/Worker/transferred-port path and creates #289 for distinct remote protocol delays (transport→Ready 1,177 ms; Ready→Initialized 4,379 ms); Explorer output follows AgentHost connection by 99 ms. Dependency order is #289 → #280 → #252. #288 remains the separate #281 blocker. CSS #286 is the 33rd #235 child and remains isolated from #245.