Skip to content

Enable the optional full-V8 Runtime in the Linux SDK producer #810

Description

@wieslawsoltes

Active implementation checkpoint — 20 September 2026

Exact upstream heads are WebScene ca4b6b4ba2a6699970ee78b2b8acc795dc968e77, AppScene 8ad3880ea257bf4d416477544e393066ad90b477, and unchanged Code OSS 645f29cc3176500b4b5762ba887cf2a7f0ffdf2c. Local vscode-demo is 9edf1d0997a6f015b2aba2c5cd0c050b68faf203, 335 commits ahead, intentionally unpushed, and keeps Actions disabled.

AppScene #301 / PR #302 is merged at 2b077541. The linked AppScene::Runtime resolver now publishes webscene_engine_dispatch_drag_v1, so existing macOS, Windows, and Linux native drag owners can reach WebScene's bounded inbound path from canonical linked packages. Apple retains optional weak-import compatibility and Linux is included in the desktop semantic/drag capability block. The initialization-only lookup adds zero steady-state frame, CSS cascade, layout, or visual-tree work. Its source and performance contract is authored but intentionally unexecuted under the active fast-merge direction.

AppScene PR #303 merged at 8ad3880e, moving the previously local #131 packaged folder-picker acceptance matrix upstream. It covers absolute/root/home/spaces/Unicode/dot/trailing-separator/symlink/missing/cancel cases and retains exact URI/options, Explorer content, timing, observer, DOM/RSS, descendant, OCR, process, and port-cleanup evidence. #131 remains open until a current installed-SDK Release package passes the authored matrix; execution is deferred.

Cross-platform installed Runtime work is tracked by AppScene epic #304 with Linux application #305, Windows application #306, multi-RID SDK/CLI #307, WebScene Runtime package #809 under #687, and vscode-demo #12. Windows already has a verified WebScene C/C++ Runtime package; AppScene public application integration remains. Linux still needs the installed full-V8 WebScene Runtime and public X11 Runtime composition. Every lane preserves unchanged Code OSS and excludes Electron, Chromium, CEF, WebView, and a VS Code C++ port.

WebScene #810 / PR #811 merged at ca4b6b4b. The Linux SDK preserves its Native-only default while WEBSCENE_SDK_RUNTIME=ON produces and exports the installed full-V8 Runtime closure with V8/ICU/snapshot, media, WebSocket, crypto, Dawn/ANGLE, licenses, fail-closed data checks, and disk/entry/duplicate/developer-artifact budgets. Execution remains deferred; #809 stays open for installed-runner and product evidence.

One-agent mode is enforced. Consolidations remain open and unmerged: WebScene #76 at 3ed3a70cddb216ecf89dbefdbf59ab447fafdb9a, AppScene #65 at 004bd3ad3417cb089693d1641fa25e6472d72021, and vscode-demo #1. The superseded focused-PR CI runs were cancellation-requested after merge.

Ordered remaining work: exact installed SDK/CLI Release assembly; workspace/Explorer/open/save/restart; terminal; Markdown/webviews; visual and geometry parity; accessibility; hardware input; performance/idle CPU/memory; package size/disk; lifecycle; Linux/Windows installed Runtime boundaries and VM qualification; CI; and recursive no-browser verification. Existing open acceptance trackers stay open until retained current-head product evidence qualifies them.

Parent: #809. Portability epic: #687. AppScene consumer: SceneTech/AppScene#305.

Problem

src/WebScene.Sdk/cmake/WebSceneLinuxSDK.cmake declares WEBSCENE_SDK_RUNTIME but fails configuration whenever it is enabled. The full-V8 Linux/MSVC portability train is merged, yet the installed Linux SDK cannot produce or export WebScene::Runtime for AppScene's public X11 Runtime host.

Implementation

  • Make WEBSCENE_SDK_RUNTIME=ON opt into the static native engine with V8, graphics, media, WebSocket, crypto, parser, ICU and bootstrap snapshot inputs.
  • Install every archive/shared dependency, runtime data file, header, license and exact manifest needed by a relocated consumer.
  • Record Runtime presence in WebSceneLinuxProfile.cmake and export WebScene::Runtime with complete, correctly ordered static link closure only when the files exist.
  • Preserve the default Native-only profile and its missing-component behavior byte-for-byte when the option is off.
  • Add a Linux Runtime installed-consumer/source contract and package logical/allocated size, entry-count, duplicate, dependency and cache-cleanup budgets.

Acceptance

The focused PR authors producer/config/component/relocation/ABI/link/resource/package gates. Under the active fast-merge direction those gates may be committed without execution; #809 remains open until a pinned Linux runner and unchanged Code OSS package retain current-head evidence. Runtime work must remain demand-driven and adds no browser, Electron, CEF, WebView, or application source patch.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestvscode-oss/plannedPlanned for the AppScene/WebScene VS Code OSS integration

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions