Repository navigation
GPU Manual Rendering and Lifecycle
#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.
654 frozen/assigned/dispatched ONCE to existingGPU from integrated651 26485dae2b2c611af81e149f143ab8343d0efad9. Ready dependency is completed own-native621 extractSurfaceIsoCurve(surface,{fixedAxis,parameter,curveId}) and coherent646/647/652/643. Independent native653 material mesh is not required for this scope; duplicate search found native/old standalone foundations but no coherent Part-scene overlay.
Planned inspector: selected accepted Surface→Parameter curve→fixed U/V/original inclusive native parameter→Show/Update/Hide. FixedU varies actual V; fixedV varies actual U. Actual native rational Curve/source/<=64native varying samples/Surface UV map is transformed once in the selected object's placement. Label the path parameter curve, separate from original four boundaries and X-ray coefficient net; no new permanent Curve body/trim/topology edge or fitted samples. One session Curve, zero geometry history/schema/native file changes. Pending original edits remain pending; actual geometry edits/refinement/UndoRedo must rebuild session display atomically, and different selection/Open clears foreign overlay. Rebuild/error/ID policy must be frozen in claim. Native C0 Surface derivative guards remain honest even if the varying native Curve tangent is admitted.
Planned/assigned only: no654 build/browser/Curve-display/file run yet. Frozen /Users/user/.barocss-ai/v3/planner-state/cad-backlog/coherent-surface-isocurve-next.md names actual pnpm --filter @barocss/cad-editor-example build and ONE short source/browser/native-file flow at task/merge: native U/V points/guarded D1/endpoint bits/original domains/placement/pixels, current-native edit refresh/history, refusal/draft retention and actual Save Blob/Open excluding session curve. Existing native621/scene budgets preserved; no dependency/nativeAPI/schema/publicGPU change or parent621/652 campaign. Working65252022/64752018/all user states/hosts/paused629/render/kiosk/Release and denied-inspection boundary retained; broader validation/OS Downloads/physical-held Escape deferred. Local native observations do not certify precision/continuity/topology/solid/commercial parity.
652 completion, task 2fd64b245cce8c93c25fbfd1c9236b837420fbd2 / merge 81928fe5fa4216dfe96db186d909e6d09206ea30, expected six private paths/parents/inherited work and task/merge affected UI builds/source-browser-native-file flows0 accepted once. Usable editor: selected Surface→Properties→Refine Surface→U/V/original native parameter/count. Default U0.5/count1 thenV0.5/count1 actual grids3×3→4×3→4×4. Pending edits block refinement; acceptedRefine/grid-changingUndoRedo safely reset coefficient selectionU0/V0. Existing native647 XYZ handles edit the refined grid; indices are revision-specific, not persistent physical-point identity.
Actual620 source adoption/619 new-pole trusted gesture/UV/transformed buffers/pixels/native point-D1/unaffected mapped bits/otherpart-placement retention and exact source history passed. Actual Save Blob SHA256 d726d3be7a4abcc0221e7027a7eff900a9a549619b0e4a9dfb9c28f4feb8af21 and supported IAB Open restored accepted source/-0/view; native/display refusal retained raw form/drafts/source/history/frame. Four selected actual flow stages show onecanvas/GL0/errors[]. Full first collector/order failures preserved, corrected without product changes; final saved screenshot inspected once. Evidence /Users/user/.barocss-ai/v3/evidence-652-gpu.
Prototype-integrated/private only; original native620/scene budgets remain, no API/schema/dependency or global precision/continuity/solid certificate. OS Downloads/physical-held Escape/broad validation deferred. Original64752018/all user states/hosts/paused629/render/kiosk/Release and denied-inspection boundary preserved. Original651 safe serial adoption resumed once at this accepted boundary; no parent652 campaign. Earlier planned652 statuses below are superseded by these actual receipts.
652 is dispatched once to existingGPU at accepted650 merge 87da46a464e56ee6d1dbf8d0194ee448973d8fd3. Planned workflow in the same React/shadcn Part scene: select an accepted Surface, choose original U or V native parameter and insertion count, then Refine. Reuse own CAD620 insertSurfaceKnot; native insertion preserves Surface identity/domains/degree and original unaffected bits while calculated coefficients refine the representation. Existing647 pole indices are revision-specific, so a deterministic safe reselection/mapping must be explicit; no persistent physical-pole naming claim.
Existing general/pole/placement drafts must first use Apply or Discard; active gestures and drafts disable/refuse refinement and retain pending text. Stage native source0 and complete scene/display/ray/pole/Float32 admission before one history command. Undo/Redo and actual accepted native source Save/Open must restore original/refined states; preserve all other objects/placements/camera and original user tabs. Native limits: degree1–3,1–3 insertions, strictly interior original axis parameter, multiplicity<=degree, grid<=16×16, positive native weights and existing scene/display budgets. No new native kernel/dependency/schema or linked-authoring recipe/cache serialization.
Status: planned/assigned, no652 implementation/build/browser/file evidence yet. Frozen /Users/user/.barocss-ai/v3/planner-state/cad-backlog/coherent-surface-knot-refinement-next.md names actual pnpm --filter @barocss/cad-editor-example build and one short real source/browser/native-file checkpoint, with U then V insertion/new refined-pole edit/history/real Save Blob/Open and concrete refusal retention. Completed old620/626/643/646/647 campaigns are not replayed. Working64752018, old owner states/hosts/paused629, denied native inspection boundary/render/kiosk/Release preserved. Physical-held Escape/OS Downloads and broad validation remain deferred; local native shape observations do not certify global precision/continuity/solid/commercial parity.
647 task f344a52ffd8a295348097003a951a10e77dbd0e3, merge cf3f418217178218ecbe3295aeb30f276d7f00a5, base646 fbed24f73e43f7ee74b351ef465e1df6924985a0. Expected merge parents/eight private example paths/inherited render+kiosk/final task+merge UI builds and short actual flows0 checked ONCE. Completion; exact receipts /Users/user/.barocss-ai/v3/evidence-647-gpu/integration-result.json, flow-isolated/, flow-merged/. Usable editor; actual final screenshot editor-poles-final.jpg inspected once. Prototype-integrated; closed/done reported. Broader validation deferred.
Select an original NURBS Surface, then Poles · P. Click a labeled U/V control marker or choose its indexed Properties pair. Drag the selected pole's local native X/Y/Z handle. The X-ray control net displays original coefficients and straight neighbor lines; these are not Surface points or native boundary Curves. Four actual native parameter boundaries use contrasting color and the Edges view control. Near-tied projected marker positions refuse ambiguous selection; the indexed list resolves that choice.
Original619 replaces ONLY the selected original local coordinate. Pointer movement inverse-maps existing instance rotation/positive nonuniform scale; it does not write world placement into native source. Weight/other poles/knots/degrees/domains/IDs/other parts remain unchanged. Actual native Surface/source/UV/faceted normals/four original boundaries/transformed buffers/bounds regenerate during drag. One accepted gesture is ONE history command; Undo/Redo retains native identity. Pending numeric drafts use Apply/Discard; cancellation restores accepted source/frame/history. No pole addition/refinement/weight dragging/B-Rep edge or solid certification.
Task/merged real pointer flows passed3local axis drags on a rotated/nonuniform-scaled native Surface, marker/corner selection, unchanged unrequested bits and weights/parts, actual UV/normals/boundaries/buffers/bounds and changed pixels, one-command UndoRedo, bounds refusal retaining accepted state, onecanvas/GL0/errors[]. Cancellation evidence is a trusted held drag with a controlled Escape handler event; physical Escape during held drag remains unrun/deferred.
Actual accepted Save Blob bytes/hash/read and supported IAB Open restored accepted source/IDs/placements; pending fields were excluded. SHA256 881a1ffb1cc31db6eb3e0eedeefb8e6c27e5781a821e789f616d45640b179f30 checked. Chrome extension file-URL upload permission was unavailable and unchanged; OS Downloads delivery remains deferred. Earlier denied native app inspection was not retried. Original52010/52014 human edits/tabs/servers were preserved; real pointer proof used isolated Chrome. Original uncontrolled input/timeout/partial gesture evidence remains preserved; no product failure was inferred from those collector interruptions.
pnpm --filter @barocss/cad-editor-example build
BAROCSS_POLE_GIZMO_EVIDENCE=<fresh-output-dir> node examples/cad-preview/scene-surface-pole-gizmo-smoke.mjsNative646 degree/grid/coordinate/weight and scene/display/history admission limits remain. This is an open directly authored Surface, not a certified topology/solid. Full numerical/reader/parity/guard/gallery/whole-workspace/Review/release campaigns remain deferred. After this visible checkpoint, GPU original645→648→649 serial integration resumed ONCE; no parent647 browser replay requested. CAD650 inner-hole native trim is independent. Earlier pending647 entries below are superseded by these exact actual prototype receipts; full historical evidence stays unchanged.
646 task dc07aa9c568a73c6bf327a7436beffd51e5e8c91, merge fbed24f73e43f7ee74b351ef465e1df6924985a0 from accepted native644 5918bcdd785f03234929ee9a3b1edbdd3bc69b31. Exact merge parents/eight private example paths/inherited render+kiosk and final task/merge affected UI build/source-browser-flow exits0 checked once. Completion; /Users/user/.barocss-ai/v3/evidence-646-gpu/integration-result.json, flow-corrected/, flow-merged/. Prototype-integrated, broader validation deferred.
In the SAME React/shadcn Part editor, Add body → NURBS Surface creates a directly authored rational quadratic3×3 patch beside existing parts. Select an original U/V pole in Properties, stage XYZmm or positive dimensionless weight, select other poles, then Apply up to16 pairs as ONE history entry. A pole is a coefficient, not generally a Surface point. Original own source0/compiler/native619 is authority; unrequested coefficients/knots/degrees/domains/IDs/-0 remain faithful. Existing Translate/Rotate/Scale changes instance placement only. Pending view/object-switch dialogs retain drafts on Cancel; Apply/Discard is explicit.
Native admission covers degree1..3, grids2..16 (≤256poles), coordinates±10000mm and weights1e-6..1e6. Fixed17×17 tessellation produces289vertices/512triangles, actual native UVs, finite area-weighted incident/faceted normals and four original parameter-boundary Curves. Selection reports an untrimmed native Surface chart, not certified B-Rep topology/solid. Actual task/merge source/browser flow observed native coefficient fidelity, staged pairs/history UndoRedo, source-preserving transform, chart ray selection, true boundary/UV/normal/buffer/pixel changes, one canvas/GL0/errors[]. Native invalid controls/literal and native-valid collapsed display candidates preserve accepted document/frame/selection/history/drafts.
Save contains accepted literal sourceVersion0/source, existing scene IDs/name/visibility/instance placement/view; pending pole fields/meshes/reports are excluded. Actual Saved Blob bytes read and real Open restored exact source; SHA256 397ef3328c2ee0c2ef9503f688704538bc2d9268013d3cfbca60e753df2681c4 checked. OS Downloads delivery remains deferred; denied native app inspection untouched. Existing52010 user scene/state was preserved; proof moved to isolated52012. First helper type error and refusal-collector envelope error were preserved/fixed before final passes, without claiming unrun parent suites.
pnpm --filter @barocss/cad-editor-example build
BAROCSS_SURFACE_SCENE_EVIDENCE=<fresh-output-dir> node examples/cad-preview/scene-surface-control-smoke.mjsOwner-requested 647 is the immediate follow-up from this accepted merge: clearly visible original Surface boundaries, selectable canvas poles and local-native XYZ drag handles with inverse instance placement. GPU reports the handle/control-net wiring and distinct styles implemented, but no final647 build/browser drag result is yet reconciled. Numeric646 does not prove647 drag availability. Old626/live scenes/paused629 and native645→648 queue remain preserved. Full accuracy/solid/release/OS-delivery validation stays deferred.
The actual owner asked during646 why NURBS boundaries are not visible and why each point cannot move (human message01a1170a-5f12-7780-a4ce-de6e85533d22). 647 is planned/ready owner follow-up, dispatched once: finish current646 exact scoped prototype checkpoint, then extend SAME scene with clearly visible four original parameter-boundary Curves, selectable original U/V control-pole markers/control net and genuine selected-pole local XYZ drag handles. Preserve owner's52010 edits until reviewable implementation. Poles/control polygon are distinct from Surface points/parameter curves/B-Rep topology. Actual619 coefficient authority plus643 inverse instance/frame/ray/gizmo math; onegesture/onehistory/atomic native-display refusal/cancel, original knots/weights/unrequested bits retained. ONE affected UI build/short real three-axis pointer/native/buffer/pixel/Save Blob-Open flow; old626/paused629/working parts preserved. No647 run/availability claim and no repeat646/full parent campaign; broader validation and OS Downloads deferred. Contract coherent-surface-pole-handles-next.md under planner-state/cad-backlog. Native645 remains queued once at safe boundary, CAD648 independent.
646 is planned/ready/assigned GPU, dispatched once, accepted base 5918bcdd785f03234929ee9a3b1edbdd3bc69b31. Add directly authored native source0 NURBS Surface objects and native619 pole XYZ/weight edits to the SAME current React/shadcn multi-object633/643/642 Part scene. Historical completed626 older Surface tool and paused629 Curve work remain preserved; this is the current scene adapter, not their reactivation or another modelling page. No646 implementation/build/run/availability claim yet.
Planned usage: Add body → NURBS Surface; select an original U/V pole pair, stage coordinates/weight and Apply through actual editSurfaceControlNet (max16unique pairs). Literal source0 exactly-one-Surface authority, accepted instance XYZ transforms and existing scenev1 Save/Open/history/dirty/native-display admission. Native degree1..3/grid2..16/max256/coords±10000mm/weights1e-6..1e6; fixed17x17 finite sampled display with actual area-weighted incident/faceted normal limits and four original parameter boundaries. Control poles are not points on the Surface; no pole drag/refinement/feature repair or sewn B-Rep face/solid claim. Old scenes/Box/Cylinder/plate intent and Save Blob/Open policy retained; OS Downloads unverified/deferred. One affected UI build and one real source/native/buffer/pixel/file/refusal flow, no old626/629/full633/643 or broad campaign. Contract coherent-surface-control-editor-next.md under local planner-state/cad-backlog; own engines only, no new dependencies or product release. Broader validation deferred.
642 is locally prototype-integrated. Base cdedbf5157fd541fd37863a79975601a28c10992; task 6ed13962b9b21c1b31924cc357bf23b01fe6c94e; merge 5e260515f244f99c89e5bb00fe2d612dbad58614. Eight private cad-preview paths only; exact merge parents/owned delta and task/merged short flow heads checked once. Affected task/merged UI builds and real source browser flows exit0. Receipts /Users/user/.barocss-ai/v3/evidence-642-gpu/integration-result.json, flow-final/result.json, flow-merged/result.json; final saved capture editor-plate-final.jpg inspected once.
Use: open local Part editor, choose Add body → Plate with hole. Select the plate, edit Width/Depth/Thickness/Hole X/Hole Y/Radius and Apply changes. Click a real native face for qualified identity/readout/highlight; Edges uses actual original CAD boundary Curves. Accepted scenev1 XYZ Translate/Rotate/Scale, one-command Undo/Redo, draft handling and native intent Save/Open remain. Original52006/52002 scenes and other live work are preserved.
Actual width80→100/radius5→6, other Box preservation, qualified face selection and stale-reference refusal/pinned old-context validity passed. Seven native636 faces/fifteen shared original edge Curves preserve exact UV/index ranges; actual transformed positions/inverse-transpose normals/edges/bounds and proper frame conversion were observed. Touching/outside circle and real Float32 display failure preserve accepted scene/frame/face/history. Onecanvas/GL0/errors[] in the twelve-step task and merge flows.
Actual Save action Blob bytes were collected/read and reopened by the real Open chooser; accepted request IDs/intent/instance transform/view only, invalid pending draft excluded, lexical signedzero preserved. Payload SHA256 10b0922a69978640673ba281938c81b2c840cbb0a62125ecdafc805bffb50bd3. OS Downloads delivery is unverified/deferred; prior denied native-app inspection remains denied and was not retried. Collector-created file is not OS download proof. First signedzero comparison failure used unsigned ordinary-JSON evidence transport; original failure retained, collector comparison corrected and source sign independently checked, no product correction or parent replay. Initial merged source-host termination marker130 was superseded by exact isolated merged build/flow0; no new product runtime failure is inferred from that marker.
Limits: four-object/display/history/file envelope inherited from633/643; native width/depth/thickness safe integers1..10000mm, circle strictly contained and native radius bounds/admission; positive host scale only. This is specialized own native circular-hole plate construction, not a cylinder Boolean subtraction API. Supported shell remains not-certified, topologyCertified:false, solid:false; general535 BooleanCut/sewing and commercial validation remain pending. Broader validation deferred. No full633/643 replay, OS-delivery, physical Escape or commercial parity claim. Native644 integration queue remains independent.
643 is closed/v3:done, prototype-integrated, exact task 00e25125978b43854dc2952facc35f9520696709, local merge fb8aa03464702c56f38712f7872f1d1f94149a95, base cb4f3bd81707dfdb45e8028b06d8c71f8dbe73a5. Exact merge parents/9owned private example paths/integration HEAD and inherited render hash/work verified. Both affected UI builds and one short actual source flow on each head exited0. Completion; receipts /Users/user/.barocss-ai/v3/evidence-643-gpu/integration-result.json, flow-task/result.json, flow-merged/result.json. The usable new editor is http://127.0.0.1:52006/workspace.html, served from frozen task source; original52002 owner scene/tabs/drafts/live626 remain preserved. Actual final screenshot editor-xyz-final.jpg inspected once. No whole633/native/reader/parity/repository campaign; broader validation deferred, not fully validated or commercial parity.
Select a Box or Cylinder in the shared scene, choose Translate/Rotate/Scale, then drag a labeled X/Y/Z handle or rotation ring. Scale also has a uniform centre handle. Numeric Transform properties apply the same authored placement. Native Geometry dimensions are local CAD dimensions; editing them after transforming retains placement. One completed drag creates one Undo command; Undo/Redo restores the accepted transform. Pending inputs use Apply/Discard/Cancel; native object selection, transformed actual face picking, Fit, original edges, camera navigation and native Save/Open remain available.
Owned scenev1 retains translateMM, rotationDegXYZ and positive scaleXYZ with native-local-origin pivot. World native point = translation + RzRyRx*diag(scaleXYZ)*local native point; normals inverse-transpose/normalized, original edges and bounds follow the same actual transform, properR[x,z,-y] once. Translation is world-native XYZ, scale local-axis/uniform, rings match their effective authored Euler axes. Translation±10000mm, angles±360degrees, scale0.001..100; zero/negative/reflections and unsafe GPU display refuse. Original Box/Cylinder native intent/IDs/UV stay authority; affine instance scale does not certify a new CAD solid/export grammar. Prior scenev0 migrates checked identity rotation/scale; new saves explicitv1. Existing four objects,4096vertices/7938triangles/64edges/4096edgepoints/512KiB/history20states8MiB bounds remain.
Actual source flow recorded ten trusted pointer drags (3translation/3rotation/3axis scale/1uniform), one-command history, UndoRedo, numeric transform followed by native dimension edit retaining placement, transformed native face selection, actual position/inverse-transpose normal/original edge/bounds witnesses and real scale/Float32 refusal retaining accepted scene/frame/history. One canvas/GL0/errors[] observed. Cancellation evidence is a trusted held drag followed by a controlled Escape handler event; actual physical Escape during held drag was not exercised. First collector cancellation error reacted to hover before capture; original evidence retained and collector corrected to require pointer capture, no product Escape-failure claim.
Actual user-triggered Save Blob bytes were observed/read/hashed then reopened via supported actual Open chooser: SHA256 0575415fa2a77778b78d398c0d30f02a9cb65856a8c200381dea4e3b3c9f5c53. Authored transforms/native intent/IDs/signed-zero and priorv0 identity migration passed. OS Downloads completion remains unverified/deferred: download events timed out/no new OS file; native-app inspection was explicitly denied and not retried/bypassed. Collector-created evidence file is not an OS download; dirty=false alone is not delivery proof. Product Save action/contract unchanged; no full download/cancel certification. Original limitations/first failures and earlier full633 evidence preserved.
Next GPU phase dispatched once: integrate already-handed-off641 native delta with affected build/source-host only, then resume preserved642 plate-hole adapter on accepted643 scenev1 transform parent. CAD644 continues independently. No new642 claim/permission question/product push/PR/publish/deploy/Release change. Earlier643 planned/pending exact checkpoint statuses below are superseded by this scoped prototype result.
GPU reports ten actual trusted transform-handle drags/history/UndoRedo/numeric-native retention and real Float32 refusal passed; final exact task/merge checkpoint is still pending. Current IAB Save invokes its genuine Blob anchor and clears dirty, but download-event observation timed out and no new OS Downloads file was observed. Native-app inspection was explicitly denied, preserved and not retried or bypassed.
Under the owner implementation-first checkpoint, OS download delivery is unverified/deferred, not a prototype gate. A test-only source collector may observe the exact bytes generated by the actual Save action, hash/read them into an explicitly collector-created evidence file and reopen that payload with actual supported Open chooser. Product Save stays unchanged; controller serialization alone is not actual Save-output proof, and collector-created file/dirty=false are not OS delivery proof. Record actual authored transforms/native IDs/intent/signed-zero and draft/history exclusion. No actual Blob/Open final pass is claimed yet. Original timeouts/denial remain evidence; no full Save/download certification or broad campaign/permission repeat.
The owner asked for genuine three-axis Translate, Rotate and Scale, beyond current MoveXY/numeric XYZ placement. 643 is planned/ready/assigned GPU, dispatched once from local cb4f3bd81707dfdb45e8028b06d8c71f8dbe73a5. It will extend the SAME coherent633 scene with real XYZ translation handles, XYZ rotation rings, local-axis/uniform scale, numeric Transform properties, one-command gesture Undo/cancel and real Save/Open. No643 build/run/availability is claimed yet. Existing editor remains MoveXY plus numeric translation until the implementation checkpoint.
Frozen authored host transform: native-local-origin pivot; world native point = translation + RzRyRx*diag(scaleXYZ)*local native point. Normals inverse-transpose; original edges/bounds/face picking/inverse point mapping match actual transformed geometry; proper XYZ-to-GPU axis conversion once. Native dimensions/intents remain local CAD authority; affine instance scaling is owned scene state, not a new CAD dimension/solid/export certification. Explicit scenev1 Save and checked priorv0 identity rotation/scale migration planned. Translation±10000mm/angles±360degrees/positive scale0.001..100 plus actual display admission; zero/negative/reflections unsupported. Broad validation deferred.
642 plate-hole UI claim/clean worktree is preserved and suspended before product edits as reported by GPU; resume it after accepted643 transform parent. CAD641 continues independently. Original633/native635..640 receipts, owner tabs/drafts/live626, inherited render/kiosk/Release stay intact. Five useful next items:643 actual transforms;641 native coplanar clip;resume642 plate adapter;own trim/sewing/Boolean535 plus coherent freeform/feature/constraint adapters;commercial assemblies/drawings/exchange503/537. Earlier active642 priority below is superseded by this direct owner steering.
Current local develop is cb4f3bd81707dfdb45e8028b06d8c71f8dbe73a5. Own native636..640 were reconciled once; each final task and merge affected CAD build, original source demo and short real source-host API exited0. Immutable native parents and original evidence remain. Exact receipts /Users/user/.barocss-ai/v3/private-native-635-640-checkpoint.json and private-{636..640}-result.json. No unit/readers/packed/archive/whole-workspace/numerical/performance campaigns; broader validation deferred.
Own GPU 635 original clean task 32e897c70660868d85b884806be1e6627e7dbb97, reconciled task bf0f4609e00bfa82b2a5aa2329db8391c77bd761, merge 62910c8ba1931ec77162f7a14c9decd4269d5b5a. Both affected GPU builds and ONE actual source browser flow on each head exited0, consuming recorded genuine636 DTOs without rerunning the native kernel. Actual R[x,z,-y] position/normal GL uploads, genuine UV/ranges/winding, initial-cut/face-selection/width100 rebuild pixels and native ray/face binding passed. Old-context face refusal, old pinned-context resolution and a real Float32 zero-area display refusal retained accepted frame/context/packet. GL0/errors[]; observed Apple M3 Max ANGLE Metal backend. Receipts /Users/user/.barocss-ai/v3/evidence-635-gpu/integration-result.json, flow-merged/result.json; captures flow-merged/{initial-cut,selected-face,rebuilt-width100}.png. This is a prototype display/selection capability, not general topology/solid/precision/hardware certification.
const native = cad.buildOwnPlateCircularHole({
bodyId: 'plate_body', featureId: 'plate_hole',
parameterIds: {width:'plate_width', height:'plate_height', thickness:'plate_thickness',
centerX:'hole_center_x', centerY:'hole_center_y', radius:'hole_radius'},
widthMM:80, heightMM:40, thicknessMM:8, centreMM:[40,20], radiusMM:5,
});
const sampled = cad.tessellateOwnPlateCircularHole(native.bundle, {
context, segmentsPerQuarter:4, // genuine bounded document/body/revision/task context
});
const preview = gpu.prepareKernelFacePreview(sampled.mesh, {
displayId:'plate_display', packetRevision:1,
});
// Use the original MeshRenderer/face bindings; no external engine or fake Model object.Context fields are documentId/bodyId/documentRevision/kernelResultRevision/topologyRevision/taskToken, bounded ASCII1..48. resolveKernelFaceReference requires the exact original context; repeated face token ordinals in a rebuilt context do not restore a stale reference. Native636 uses safe integer plate dimensions1..10000mm, positive native radius within its own bound and strict represented containment, actual seven Surfaces/15 shared original edges, rational cap trims/cavity wall and native UV. Sampling2..8 per quarter; display limits64chunks/4096vertices/7938triangles and native partXYZ/mm with genuine normals/UV. Native report remains not-certified, topologyCertified:false, solid:false; reference volume is the analytic authored-family formula only. It is not a general Boolean kernel.
The existing coherent633 Box/Cylinder editor remains available at http://127.0.0.1:52002/workspace.html, source-first. Plate-hole UI is planned/assigned 642, dispatched once, not yet an available Add/property/file flow.642 adds own636 request creation/dimensions/placement/face selection/native Save/Open in this SAME scene using635; no second editor. CAD641 finite coincidence clipping proceeds independently. Original full633 functional flows remain at ecbc50b3/2496cfbb; camera-only e2c6b444/6346e847 has its focused Fit evidence. No full633 replay at later develop is claimed. Historical pending635 statuses below are superseded; original evidence and owner tabs/drafts/live626 remain preserved.
Current editor task is e2c6b444411c28d0bb138d8c564c978586cce567; current local integration HEAD is 6346e847ac7192c5aed98912b391776739ea6eec. A concrete tall-viewport Fit gap seen in the final screenshot was fixed in only cad-viewport.tsx and editor-controller.ts. Task and merged affected UI builds exited0; focused real source Fit checks on both heads used two actual bodies at normal and tall canvas sizes. All actual projected vertices were inside the frustum (maximum observed |x|0.6741, |y|0.6128; positive w; GL0). Four receipts live in /Users/user/.barocss-ai/v3/evidence-633-gpu/fit-task/ and fit-merged/; final desktop capture was replaced with the corrected view.
The original full editor/native/file/buffer/refusal/compact flows remain successful at original task ecbc50b33d5a64221e81d08d8587064d6948b594 and merge 2496cfbbebb765dcbe01a5c2aca4a6994c104345. They were preserved, not rerun or relabeled at the camera-only correction heads. Changed camera behavior has its own focused evidence. No whole-suite/gallery/workspace replay, native queue integration or Release change. The original desktop/compact checkpoint below is chronological; current prototype-integrated HEAD is6346e847. Broader validation deferred.
632 task 1b3de8ec63f97c634694ff51ddf8fde42110a5a5 is merged once as 3bbb97342720b59f7af0b30fb0866317b2e0c22d, exact parents6e21 and native task verified. GPU reports its merged actual source empty/Box/refusal/resource run exit0, GL0/errors[]. It supplies the framework-independent true empty/mesh viewport used by 633, task ecbc50b33d5a64221e81d08d8587064d6948b594, merge 2496cfbbebb765dcbe01a5c2aca4a6994c104345.
633 final task and merged affected example builds/source UI flows exited0. Actual New-empty, same scene original Box/Circle, qualified selection, native selected edits, placement drag/one UndoRedo, real file SaveOpen, invalid native/Float32 frame retention and compact/camera/draft states were recorded. Merged states use one real GPU canvas and report GL0/errors[]. Desktop/compact final captures were inspected once. Receipt /Users/user/.barocss-ai/v3/evidence-633-gpu/integration-result.json and actual flow-merged/.
Run pnpm dev:cad, open /workspace.html at the printed local port. React/shadcn belongs to the private example; own GPU/CAD source entries and original renderer remain framework-independent. The viewport supports real empty state, atomic mesh candidates/clear and native qualified scene selection. No placeholder patch or external engine supplies empty geometry. Native geometry/placement and camera remain separate, original native boundaries retained. Root canvas+Example and inherited work remain.
This is prototype-integrated, not fully-validated.632 isolated lifecycle receipt is a reported lane result;633 actual merged scene/frame witness was read directly. Broad package/unit/readers/parity/gallery/workspace/performance campaigns remain deferred. Existing full evidence preserved, no Release/product publish. Clean635 own face bridge and real636 native pixel proof are still queued; this editor checkpoint does not establish their integration.
Manual index · CAD ↔ GPU transfer
Integrated dedicated-context SDF and indexed-mesh renderers. Actual WebGL2 functional gates passed; recorded backend is software SwiftShader.
Last checked: 2026-10-06. Both packages remain private experimental. API snippets use built local ES modules. Save Node snippets at the repository root after building the relevant package. Browser snippets require their stated host/canvas context.
Use a dedicated canvas/context. The following is a browser module on an owned page served with /gpu.js; canvas is a newly created dedicated canvas, not the gallery's existing renderer canvas.
// Browser-only example.
import {mountScene} from '/gpu.js';
const canvas=document.createElement('canvas');
canvas.width=640;canvas.height=480;document.body.append(canvas);
const source='@scene demo {version:0;sphere #ball;}';
const renderer=mountScene(canvas,source,{
eye:[0,0,6],target:[0,0,0],up:[0,1,0],fovYDegrees:45,near:.01,far:100,
});
const update=renderer.update('@scene demo {version:0;box #box;}');
if(!update.ok) console.error(update.error.message);
renderer.resize(640,480);
const rgba=renderer.readPixels();
console.log(rgba.length); // 640*480*4, bottom-left origin
renderer.dispose();For mesh data replace mountScene with mountMesh(canvas,packet,options) and use the same update/resize/read/dispose lifecycle. The Scene getter exposes the immutable accepted Scene; shader, packet/options and camera getters return owned copies where provided. dispose is idempotent and leaves the canvas itself intact.
Validate and draw a complete candidate before adopting it. Invalid source/packet/options, shader/upload/link/draw failures return unsuccessful updates and retain prior metadata/frame when the context is usable. Mesh candidates draw offscreen and present by blit; failed presentation can restore the accepted framebuffer. Resize failure restores the accepted state.
Missing WebGL2 fails. Context loss explicitly makes usable pixels unavailable; create a fresh renderer after the host recovers a context. Resize/read/getters throw after loss/disposal; updates return failure. Stop host actions on a disposed renderer. There is no CPU renderer fallback.
Both renderers use dedicated contexts and change GL state without restoring unrelated host state. SDF owns its program/VAO; mesh additionally owns three buffers, color texture, depth renderbuffer and framebuffer for each resource set. Dispose releases only owned resources/listener.
Buffer sides1..4096, at most4,194,304 pixels. SDF template uses128 ray steps, travel≤100 scene units, epsilon.001 and bounded objects. Tiny/off-camera/inside-surface cases are not visibility guarantees. No renderer timer or animation loop; the host schedules requested updates. Software pixel/readback evidence establishes functionality, not physical GPU performance.
#499 lifecycle · #501 mesh transactions · #556 camera lifecycle. Existing browser gates retain real readPixels, hashes, backend, resource failure and loss/disposal controls.