Add native documents, compiled UI, and relocatable WebScene SDK - #64
Merged
Merged
Conversation
This was referenced Sep 11, 2026
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.
Native applications can now use WebScene documents, events, styles, templates and Canvas directly from C++, compile HTML/CSS into application-owned C++ modules, and optionally link the same reusable JavaScript runtime. This provides the WebScene side of the AppScene SDK preview without rebuilding a runtime for each application.
WebScene::Core,NativeWeb,Runtime,WebGPU, andCompilerCMake targets, complete public header dependencies, application build/package helpers, and headless SDK consumers.Built on the now-merged WebGPU foundation #43. This branch also contains all commits from #60, including file services, startup viewport and SVG fixes, so #60 is subsumed by this PR.
Validation: 116 native compiler tests, 22 native document/compiler integration tests, 20 existing runtime/graphics tests, 18 TypeScript/tooling tests, 25 architecture/export tests, and repeated visibility contracts passed locally. The paired SDK built every standalone AppScene sample and both JavaScript configurations from a relocated, read-only installation with producer/source access denied. Independent hybrid builds ran concurrently; incremental asset/CSS/worker/module checks, runtime ownership tests, real Metal presentation/teardown and Kestrel smoke/parity passed. The final AppScene canvas resize fix was also verified interactively.
The binary SDK profile is a macOS ARM64 preview requiring macOS 26+ and LLVM 22.1.1. Additional desktop capabilities and a complete native C++ Kestrel remain outside this preview. A fresh full dependency rebuild and remote SDK workflow execution remain release qualification steps.