Repository navigation
GPU Manual
The runtime is implemented in native 87b2ad3f → c576e04594733f529f75d029916aa0e06b525b19 and adopted at b803640306acf130aeb6274df8ae12d6cda6f8d8. Native qualification, source availability. Root matched all six changed paths, four exact native blobs and full current index/README prefixes plus native suffixes. Status: merged; integration validation pending.
The public API accepts the original scene/texture/material triple, not caller WGSL, prepared buffers or an injected device. The following is API usage, not a recorded device run:
const viewport = await mountEngineUVTextureWebGPUViewport(
canvas, originalScene, originalTextureBindings, originalMaterialBindings,
{ width: 320, height: 240 },
);Implemented operations are updateFrame, resize, readPixels, source-qualified pick/select and dispose, with copied frozen originals/status. The bounded profile is opaque UNLIT position+UV, frame128/material64/draw80/three groups, standard output transfer and uint identity. Thirteen actual limits, candidate/residency charges and epoch/late-backing/loss/disposal rules are implemented. Generic WebGL2 fallback is UNSUPPORTED; compatible native-Surface #1512 fallback is a separate profile.
Initial build/flow0 was followed by custody audit1: the viewport leaf differed. Unknown reverting actor, shell continuation and first ecad4733 commit remain history. Final repair c576e045 restores the guards and passes the SAME source/file/cold flow and custody audit: five admissions/18 refusals/getter0/DOM0/161 exports. This qualifies CPU staging and original-file reconstruction. Actual device/module/pipeline/upload/render/UV pixels/picking/update/retention/loss/lifetime/current consumer and publication remain UNRUN. The 320×240 original-file fixture/oracle is prepared separately; no automatic denial or occupied #1512 server/tab is bypassed. Full #1184 remains OPEN.
Native receipt qualifies 1616443f67e8601069f448d8e49f391316a998f1 → 00fce5591fec7357bad4530668657356235cf496: four owned paths, FIRST affected build/syntax and one source/emitted/original-file/fresh-process flow passed. Six admissions, 20 refusals, getter0 and 158 exports are native evidence. Sole Integration adopted the immutable delta once at 87b2ad3f9a7bcb40d391a61e3764c39f57c63242, parent 88e5d43758074358dd9887d9b14a1c2634d8c15a. Adoption receipt. Root independently verified the two new files and the exact native index/README suffixes over the preserved current prefixes, all four modes and the exact four-path delta. Status: merged; integration validation pending. Source availability does not qualify device execution, texture pixels, generic fallback or publication. Full #1184 remains OPEN.
Use the new public lowerEngineUVTextureProgramWGSL(originalMaterialIR) on the native build with the complete authored EngineUVTextureMaterialIR. It returns LoweredEngineUVTextureProgramWGSL, including trusted vertex/fragment code and fixed layout metadata. Caller-lowered text, forged IR and callbacks are not accepted. Saved code is an observation: the actual cold-file flow recompiles the original scene/catalog/CSS/overrides before generating it again.
const program = lowerEngineUVTextureProgramWGSL(originalMaterialIR);The bounded profile is authored opaque unlit position+UV: column-major world/view/projection, one GL-to-WebGPU depth conversion, unchanged V, standard sampled sRGB decode/output encode and direct uint identity. Frame/material/draw sizes are 128/64/80 bytes in three bind groups. Color is attachment0 rgba8unorm; identity is attachment1 r32uint, with token0 reserved for background. It adds no normal/light/tint, native-mm conversion, token-map implementation or generic fallback. Complete-module64KiB and signed-result2MiB limits are selected; valid-source saturation was not forced. Actual shader-module/pipeline/bindings/uploads/interpolation/pixels/identity mapping/updates/file runtime/fallback/loss/lifetime/consumer checks remain UNRUN. See the maintained runtime preparation. #1512's separately observed human legacy-Surface render/select/clear and pending pixel receipt retain their own scope; the default/profile is unchanged.
#1512 human receipt records the owner using the original Codex in-app browser at127.0.0.1:52215. Pinned native 3d71662edf9f24a62fe4e87cddc18cd2a2dc0b3d and audited adoption 0b22889ba2bebcdacc04e92654c03f2245949512 produced primary WebGPU ready/generation1 and explicit WebGL2 ready/generation1. Saved screenshots visibly show the same original gray Surface in both canvases. Six trusted actual identity hits select material_authoring_native/original_rational_panel; seven later trusted background misses clear to null. Host Clear is recorded separately. Root's read-only audit matched both complete pasted outputs, all three screenshot hashes and served asset hashes; it inspected the saved images without navigating or probing the target.
This qualifies bounded initial mount, visible rendering and physical Surface selection/background clear from human-driven evidence. Reported limits are browser values, not Root device queries or saturation tests. The blank third canvas is not fallback proof. Raw pixel/tolerance, parameter/material/camera/light/pose updates, resize/invalid-frame retention, original-file reopen/recompile/remount, genuine startup fallback, loss/late failure, lifetime/driver cleanup, fresh browser and named consumers remain UNRUN. Automated same-target policy denial and the separate relay HEAD refusal remain preserved; successful manual use does not restore automated access. #1512/milestone1 stay OPEN, default/profile/support remain unchanged and publication is unqualified. Earlier static UNRUN banners and dated status blocks are preparation history; these exact observed stages are now qualified.
Usage, example and actual limits: #1414 is locally adopted at d48d9728 with native CPU/Scene/ray/source/file evidence. Original parameters, sampled triangle authority and mutable execution buffers remain separate. Actual rendered consumer and full validation are not complete; Render #1236 needs its own parameter profile. This current entry adds no build or browser campaign.
Native Shell CPU buffers are locally integrated under #904 at 60734bb81999163918078e9461e6345a15344fef. Own filled Shell renderer #908 is now CLOSED and locally integrated at 38ff3bcc1bfa16aa979e80f050cf8a36ed152892, with authentic five-file actual WebGL2, true-edge, refusal/context-loss/disposal evidence. Selected native assembly example #874 is CLOSED and integrated at 5e79457b37817d2a855940ab9b15b1c351e5be4d, with four explicitly selected instances from six and six actual GL captures. Prior access-denial records remain history; same-target actual access succeeded after the owner's permission change/app reopen. A failure to verify policy did not prove deliberate administrator blocking.
The detailed GPU roadmap records next qualified multi-leaf/shared-depth scene #941, now claimed under its frozen contract through #908 adoption, plus source authoring and later evidenced consumer gaps. Material shorthand #974 and typed compile-time locals #975 have separate native CPU completion receipts at 73c895bd1ca5a3747aa693a53ce46d4326704021 and 1c5c8ff805c6198ab39a55cadb318fbb6670886c. They are now CLOSED and separately integrated at 2b1ebab4bed2f8c56f146e1a7a3c652d4a2b0c21 and a1c89e604287d1204a8f6c1c7ad66f6507cbc759, with actual compiled source/file evidence. See #974 acceptance and #975 acceptance. New rendered material adoption remains separate.
GPU maintains its roadmap/cards, selects ready owned work immediately and informs Planner of newly created Issues. Integration alone owns serial product adoption. Prepared Shell material and selection contracts track #1018/#1019 while runtime dependencies are pending. Current family specification, this current section and exact later receipts supersede older stage/ownership wording below. Historical gallery/application checkpoints remain retained; none establishes publication or release.
GPU · Torus is prototype-integrated at 232f445302210f1afaecde227a4378a23f1594ba, taskd6991ff5. Original source1 major/minor-radius parser/cascade/Scene1/IR2/generated ring SDF, actual hole/annulus-thickness/rotation pixels and source-editor failure retention passed affected build/one actual run pre/post0 (23.0s/20.6s). Actual source0 shader bytes remain exact; software SwiftShader GL0/pageerrors[]. Fresh IABtab12 shown, Planner inspected actual ring PNG. Syntax, usage and limits · Receipt. Broader validation deferred; this own GPU primitive is separate from native CAD geometry.
CAD596 actual cap/wall packet remains active. 598 actual original CAD circle-prism and THREE-edge consumer has a frozen bounded plan but is BLOCKED by596's real clean build/demo handoff; no readiness or dispatch yet. It will use actual595/596 source/bundle/packet/GPU/PNG lineage and repeated same-wall seam use provenance. GPU has no duplicate functional claim while this dependency is unfinished. Earlier checkpoint sections retain chronology.
Circle face · Create / Edit is prototype-integrated at local 140a909bf600d79b5bd21637332ee48c7a4d5faa, task11f6cd4c. Actual original587 intent →590 trim →592 Surface/pcurve packet and ONE edge →GPU display, accepted-only native Save/Open, finite centre/radius edits, quality2..15, orbit and Fit passed affected builds/one actual file-pixel run pre/post0 (14.6s/47.8s). Planner inspected actual committed circle PNG/source/packet lineage; fresh supported IABtab11 was shown. Function procedure and limits · Receipt. Broader validation deferred; software SwiftShader functional evidence, not commercial parity or physical performance.
Native595 cap/wall/seam candidate is implemented and GPU serial integration is active. CAD596 actual original circle-prism packet/three paths is dispatched and acknowledged. No circle-prism raster/solid certificate yet. Five next useful subsets: actual596 packet GPU curved-part workspace; visible XY sketch authoring547; circle/quarter-arc authoring548; bounded feature-profile lifecycle; original circle extrusion intent/feature authoring. Freeze dependencies and executable contracts before ready. Earlier sections retain checkpoint chronology.
Last checked: 2026-10-06. Other engine manual · Shared transfer
Use the current gallery for examples and the CAD workspace for existing authoring tools on the running local host. GPU and CAD are publicly configured experimental packages (private:false, publishConfig.access:public), observed on local 60734bb81999163918078e9461e6345a15344fef. Registry publication is separate and is not claimed. API snippets run from a local checkout containing the stated implementation.
Build the local package before saving a Node snippet at the repository root:
pnpm --filter @barocss/gpu build:libraryLocal examples import ./packages/barocss-gpu/dist/index.js. A separately packed/installed consumer uses the public package specifier @barocss/gpu. Browser samples use the host-served module URL and a dedicated canvas.
| Task | Manual | Availability |
|---|---|---|
| Scene language and styles | Scene language and styles | Integrated |
| Compiler and diagnostics | Compiler and diagnostics | Integrated |
| Native multi-face Shell buffers | Shell CPU preparation | CPU prototype integrated #904; own #908 renderer separately integrated with actual GL |
| Next implementation and consumer stages | GPU roadmap | #908/#874 integrated; #941 active; #974/#975 CPU integrated |
| Typed compile-time material locals | Exact locals contract | #975 CPU integrated; rendered adoption separate |
| Editable material source reference consumer | Frozen authoring consumer | #989 locally integrated at efb5f7d0bbc41aae2a45def401af29e9f8072d6f; product/commercial editor adoption separate |
| Native analytical Curve query display | Frozen Curve diagnostics reference | #1009 native and local Integration complete at9a16d872; Viewer adoption/publication separate |
| Source-development and explicit compiled checkpoints | GPU roadmap dependency phase | #1010 narrow conversion portions temporarily Integration-owned; #1016 planned behind actual manifest/build receipt |
| Derived simulation cloth display | Frozen cloth-layer contract | #979 locally integrated at2503bbcb; Viewer/host adoption separate |
| Mesh packets and buffers | Mesh packets and buffers | Integrated |
| Cameras and orbit | Cameras and orbit | Integrated |
| Rendering and resource lifetime | Rendering and resource lifetime | Integrated |
| CAD shaded edges | CAD shaded edges | Prototype integrated #560 |
| Real CAD packet transfer | Real CAD packet transfer | Integrated supported consumers |
Current verified application checkpoint: #553 c7b958f8, retaining #556 camera behavior and exact full/native/browser/file/history/reader gates. Latest independently verified CAD native package: #558 f4ef7066, including #553/#554/#555/#557. Those native children await GPU serial current-host integration. #558 equality/anchor constraints are native verified; #559 driving axis dimensions are active, not completed. Source version, native Model version, IR schema, packet version, document version and file format are distinct.
The #1010 narrow transfer, inspected at 574cd2496b2444533f54378ca04029f04094d74d, permits sole Integration to change GPU package source-default/compiled publishConfig entry maps, a minimal tsconfig repair only after an actual failure, and only README entry-point instructions. GPU preserves all other source/example/API ownership and avoids overlapping those conversion portions until the immutable result. This is an ownership receipt, not a source-default build/adoption claim.
#1016 remains PLANNED until the actual #1010 manifest/emitted-build receipt. The future bounded helper/#989/#1009 migration must label explicit compiled publishConfig providers and their real hashes, refuse missing compiled files and avoid source/stale-dist substitution. Ordinary source imports/watch behavior remain #1010-owned; historical compiled receipts stay immutable. Simulation #1000/#1004 likewise require discovery GO, adopted CPU producer and exact agreed DTO before GPU code. See the roadmap dependency phase for gates and immediate automatic continuation.
Every feature page uses Availability → Purpose/procedure → Example/expected result → Input/errors → Limits → Evidence. Mark planned, active implementation, native verified and integrated separately. Native prechecks do not establish application availability. A closed Issue alone is insufficient without exact final gates.
On each native handoff, Planner updates the bounded API/manual example and evidence. On exact integration completion, Planner updates availability/current-host steps and remaining limits. A changed schema/API/failure rule requires a matching manual change. Examples must be checked against the stated committed package; browser claims cite actual browser/readback gates. Keep English Wiki content, source syntax in code fences/inline code, original units/IDs/version boundaries and private/release status. Do not document planned syntax as accepted.
Related direction: Native model specification · Feature backlog · Compiler architecture · Goal #503.
Implement -> affected build -> short real run -> next feature. Older full-gate requirements in historical records are superseded for current GPU/CAD prototype development. New entries must say prototype build/run checkpoint or fully validated according to actual evidence. Unit/full/reader/packed/all-browser campaigns are deferred; existing evidence is preserved. Function manuals follow actual implemented usage without blocking development on another proof campaign.
The local root Example menu now renders actual CAD triangle/L filled-region packets and capped triangle/L prism packets, plus the existing GPU-source Sphere. Box workspace's Preview shape menu opens these choices. Usage and native limits. Local #565 merge cee26a3f95f2943d490c789ed6c6c3e778c751b2 passed affected builds and a short actual browser run; actual IAB root selection showed Sphere, L prism and triangle prism. Native authoring data remain unchanged on orbit. Actual receipt. Software SwiftShader evidence does not establish physical GPU performance. Broader validation is deferred; original CAD Sphere/B-Rep support is not implied.
#570 adds explicit source1 rigid XYZ degree rotation, Scene1/IR2 and real GPU · Rotated box at local merge 917da5ad30799551865a3c8a7805ef75f5afd4e8. Syntax, opt-in and limits. Affected build and short real browser run passed; broader validation is deferred. Source0 and its baseline shader bytes remain unchanged. #573 source1 capped cylinder is now prototype-integrated with an actual cap/side browser view. Cylinder and implemented capsule574 usage. Earlier full checkpoints above remain historical evidence.
Feature page: Cylinders and capsules, actual source1 cylinder/capsule usage, limits and exact evidence.
Latest visible primitive checkpoint: #574 capsule, local merge bd7489609c0805e08134b596b378abac8616c66e, affected build and actual browser smoke passed. Next GPU action is the preserved native566/567/569/571/572 serial integration checkpoint; wider validation remains deferred.
Prototype-integrated at481d946220ae2c3a98daa0c12aee3f1b9ad63f74. Syntax, API, outer-size/radius limits and actual evidence. Private experimental; broader validation deferred.