Repository navigation
Description
Current visual-gate checkpoint — 20 September 2026
Exact merged heads: WebScene a46b62e14eb197603f7e227c1558afb9088633b0; AppScene 97702daeb9ad71341ced7226f0aa966dc77ea53c; unchanged Code OSS 645f29cc3176500b4b5762ba887cf2a7f0ffdf2c; local vscode-demo 123ad63a345dd77ceb0d75aed4c8eda244cf1288 (clean, intentionally unpushed). Open consolidations remain WebScene #76 085bba760fa571c8f08ea866dc5dd1ec27c4d376, AppScene #65 ce66ef6ceb776b3f14e129f853bfc08b5c5e608c, and vscode-demo #1; do not merge them. One-agent mode is active.
#799/#806 is merged for the 52 touch-action declarations across 27 unchanged Code OSS files. Exact visual/geometry qualification must cover contact scrolling and cancellation on tabs, editors, split views, sliders, terminal, and Chat while proving mouse rendering remains unchanged. No exact product visual, package, hardware-contact, accessibility, lifecycle, memory, or performance execution ran.
Parent epic: #227.
Problem
The integration has focused screenshot checks for individual fixes, but it does not yet have one revisioned Chromium/AppScene oracle covering every unchanged Code OSS surface. Without a shared harness, a feature can become functional while geometry, fonts, clipping, focus, or retained-scene output regresses elsewhere.
Investigation first
Before implementation:
- inventory every existing screenshot, geometry, DOM-state, scene-counter, and pixel-budget probe in
SceneTech/vscode-demoand WebScene; - record exact gaps for editor, Welcome, Explorer, Search, Source Control, Run/Debug, Extensions, Settings, Command Palette, Problems/Output/Terminal, Markdown/webviews, Chat, notifications, menus, dialogs, and multi-panel resize;
- define stable upstream state, viewport, DPR, fonts, theme, locale, animation policy, profile, fixture data, and capture readiness for both Chromium and AppScene;
- link any reproduced engine defect to its focused issue rather than fixing it in the harness.
Proposed direction
Build a data-driven acceptance manifest that drives the unchanged Code OSS server in Chromium and the same payload in AppScene. Compare semantic DOM state and named-region geometry before bounded perceptual/pixel comparison. Retain compact crops, measurements, hashes, and failure diffs; delete superseded full traces and packages.
Dependencies and boundaries
- Add native input observability and Code OSS activation gates #100 owns input/activation observability.
- Match absolute modal and nested Settings layout used by VS Code OSS #112 owns Settings/select layout.
- [Epic] CSS features, compatibility, validation, and performance #235 and its children own CSS/layout/paint fixes.
- Render generated icon-font pseudo-elements correctly in tabs and list rows #246 owns the active-tab/Explorer SVG artifact.
- Qualify remote workspace bootstrap, Explorer contents, and watcher refresh #252 owns workspace/Explorer content.
- Webview/Markdown tickets own nested-document rendering.
- This issue owns the common oracle, readiness rules, manifests, evidence format, and release-wide execution.
Acceptance gates
- Every listed surface has deterministic setup, readiness, semantic assertions, named geometry, and a justified pixel budget.
- Light/dark, 1x/2x DPR, resize, active/inactive focus, and at least one high-contrast/forced-colors state are represented where applicable.
- Missing fonts/resources, blank regions, stale frames, clipped controls, unexpected overlays, and wrong selected/focus state fail closed.
- Baselines name exact VS Code, AppScene, WebScene, SDK, host OS, font, and Chromium revisions.
- Harness overhead, retained artifacts, run time, and peak disk use have explicit budgets.
- A final unchanged Code OSS Release passes before promotion.
Proposed PR stack
- inventory + manifest schema + deterministic Chromium oracle;
- AppScene semantic/geometry capture + readiness checks;
- bounded pixel/diff evidence + storage budgets;
- full-surface release manifest.
Validate the cumulative top of each dependent group and merge focused WebScene fixes separately from the vscode-demo consolidation PR.
Activity
wieslawsoltes commentedon Sep 17, 2026
CSS ownership/dependency audit against #235:
Missing cross-cutting gate to carry in the manifest: where a focused owner exposes retained-scene/resource checksums, store and compare those alongside DOM, geometry, focus/accessibility, and pixels. Report explicit pass/fail/skipped/unavailable/total denominators and exact source/browser/font/platform revisions; a missing required mark or baseline fails closed.
wieslawsoltes commentedon Sep 17, 2026
Wave 0 manifest foundation committed locally
vscode-demolocal commitc367693adds the fail-closed release inventory required by this issue without changing VS Code OSS:config/visual-scenarios.jsondeclares 16 deterministic states across editor, navigation, workspace, panels, webviews, Chat, and dialogs;config/upstream.lock.jsonand rejects stale provenance;scripts/visual_scenario_manifest.pyrejects missing/duplicate evidence dimensions, silent skips, invalid issue ownership, missing or mismatched active contracts, undeclared group membership, invalid paths, and oversized reports;visual-parity.py --scenario ...; selecting a planned state such as Markdown fails instead of pretending a capture exists;Validation on exact local inputs:
The system
/usr/local/bin/nodeis Node 16 and predictably cannot run this repository's modern Node tests; the pinned Node 24.18.1 result is the valid gate. The commit remains local/unpushed under the consolidation policy. Next #259 work is implementing deterministic readiness/capture contracts for the planned scenarios rather than loosening existing baselines.wieslawsoltes commentedon Sep 17, 2026
Welcome scenario capture contract implemented locally
vscode-demolocal commitec6f0b2advances the #259 manifest from three to four implemented capture scenarios without modifying the pinned VS Code OSS source.The new
code-oss-welcome-parity-v1lane:code/didLoadExtensionsworkbench mark before opening the upstream Welcome editor;Code - OSS,Editing evolved,New File..., at least two start actions, at least one walkthrough, and the exact startup checkbox label;Current manifest denominators are 1 passing / 4 partial / 6 blocked / 5 pending / 16 total and 14 gate / 98 planned / 0 not-applicable / 112 total evidence obligations.
Validation:
645f29cc, full TypeScript no-emit compile passed, and the overlay reverted to a clean submodule;git diff --checkpassed.The commit remains local and unpushed under the consolidation policy. The next #259 step is a fresh package after the active upstream stacks merge, followed by retained Chromium/native Welcome evidence and the remaining focus/accessibility/performance/lifecycle obligations.
wieslawsoltes commentedon Sep 17, 2026
Local vscode-demo commit
9721499adds a deterministic Chromium/AppScene visual lane for the reported malformed document-tab background. It remains intentionally unpushed onintegration/appscene-webscene-code-ossuntil the next consolidated update.The query-gated unchanged-Code state now:
Untitled-1,Untitled-2,Untitled-3, with the third active, all three dirty, and three stable samples;code-oss-editor-tabs-parity-v1contract and package marker.The visual inventory now contains 17 scenarios and 119 evidence obligations; six captures are implemented. Focused and complete validation passes: Python 164/164, exact Node 24.18.1 68/68, manifest audit, and the applied pinned VS Code TypeScript no-emit build. The VS Code submodule was reverted byte-exactly and is clean.
Acceptance remains partial until a fresh current-head Chromium/native capture supplies semantic, geometry, and pixel evidence. Focus, accessibility, dynamic performance, and lifecycle remain owned by their existing #258/#260/#262 lanes.
wieslawsoltes commentedon Sep 17, 2026
#246 changes the product acceptance target based on direct Chromium inspection. The visible active-tab and Explorer artwork is generated Seti icon-font content, not an SVG background. A diagnostic post-#251/#128 capture still shows both shapes while the old whole-window contract passes at MAE
0.005242, RMSE0.048151, and changed-pixel ratio0.010378.Keep
code-oss-editor-tabs-parity-v1as the tab acceptance lane, but require the active tab icon slot as named geometry/pixel evidence. Add a separate deterministic Explorer selected-row/icon region: the current three-tab region ends at the tab strip and cannot qualify the cyan Explorer glyph. Run both only from a fresh exact current-main AppScene/WebScene package after the WebScene pseudofont-familyfix and its product-neutral native/WPT gates pass. Full primitive, source-path, revision, and hash evidence is on #246.wieslawsoltes commentedon Sep 17, 2026
Issue #246's underlying generated-icon defect now has local WebScene candidate
6e6d5568. Exact main fails the dedicated PUA native reftest by 21,796 pixels while Chromium passes at zero; the candidate passes native and Chromium with exact per-renderer test/reference hashes. After focused review/integration, schedule one exact-package run forcode-oss-editor-tabs-parity-v1and a separate deterministic Explorer selected-row/icon region. Keep #246 open until both product regions pass; no AppScene or VS Code stylesheet change is needed.wieslawsoltes commentedon Sep 18, 2026
The generic fix for the fresh Explorer path-like artifact is merged through #418 at
eb3cfe38f13dfe1243404ed87af39bf77eaf902a(child #417 of #246).Root cause: the pre-fix WebScene package retained Code OSS's pseudo
font-size:150%as 150px instead of resolving it from the 13px originating label to 19.5px. The Explorer row's 22px clip made the oversized icon glyph look like a row-spanning path. This was not a row background/clip defect.The reduced browser oracle is pixel exact and the native scene gate now asserts 19.5px with the existing 4,096-icon mutation/performance/lifecycle coverage. Please use a WebScene build at/after
eb3cfe38for the next unchanged-Code-OSS Explorer and editor-tab package capture. The pinned pre-fixvscode-democheckout was left unchanged.