Skip to content

Viewer Mixed SDF Native Depth

easylogic edited this page Oct 9, 2026 · 7 revisions

Viewer1075 — original Sphere and native Surface common depth

Current stage: NATIVE COMPLETE/actual verified at69055c23d98c89fd0ccbb03f4d5690af979c593e from019478c2; native6087649741. Separate serial product merge/laterintegratedvalidation pending. Earlierplanning/audit/freeze stages below are historical.

Issue: https://github.com/barocss/barocss/issues/1075

User result and scope

Open an original Source1 Sphere scene beside an original Source0 native Surface in one Viewer canvas with actual shared depth. This is the missing Viewer mode for the Render Editor1048/3D editor1029 roadmap; existing1061 native/document replacement explicitly excludes SDF. Reuse the existing GPU1059 backend rather than creating another renderer or claiming an external two-canvas composition. All-state Viewer/SDF/mixed-depth searches found GPU1059, RenderEditor1048 and native1061, but no Viewer consumer card for this mode.

Current stage and entry conditions

PLANNED, no final public Viewer DTO/API or implementation. GPU1059 native249c0a6c9ec2b665dddd56f80ed0dcad1ff8415f from acceptedprovider ecad285/actualreceipt6084434984 exports prepareMixedDepthFrame/MixedDepthError/mountMixedDepthScene/MixedDepthRenderer. At creation this is native completion, not separate Integration/public Viewer availability. Require exact actual GPU Integration/build/target-browser receipt and current exports before executable Viewer freeze. Existing Viewer native modes and source-development convention have their own pending/accepted stages.

The measured producer profile is MixedDepthFrameV0/sourceVersion1/profile sdf-sphere-native-surface-v0: exactly one original Source1 Sphere plus one copied qualified native Surface packet, complete camera/mmToSceneUnit/native translate. It is not Shell, arbitrary SDF, saved materials, multi-Sphere, Curve, volume/cloth/fluid or whole-editor startup. Camera inside/intersecting clipping/travel beyond100 and framebuffer beyond1024axis/1Mp are explicit producer limits. Never infer actual native CAD association from a GPU ref+packet alone.

Viewer author preparation to freeze before code

  • Accept complete exact original Source0 native source/parse options and explicit selected original Surface ref; rebuild its packet through current public Loader/CAD rather than accept foreign supplied mesh authority. Preserve complete original Model/source/UV/domain/IDs/-0 and state copies. Source1 Sphere source/compiled scene identity stays separate from native CAD identity; no fake Surface or native union.
  • Freeze named bounded input/copied state/current mode, one selected Surface versus source inventory, exact units/authored frame/native scene translation. Source1 Sphere coordinates/radius are producer scene units, while original CAD mm converts once. Do not reinterpret the Sphere as metre or native-mm data without an explicit contract.
  • Prepare both authorities/camera/complete mixed frame before one GPU candidate; CPU/mode/generation reset only after acceptance. Failed first or replacement candidate keeps old native/Shell/uniform/assembly/simulation state/pixels/resources; accepted replacement clears unsupported modes/layers explicitly. Held URL supersession occurs only on success.
  • Freeze view/fit-or-explicit-no-fit/resize/readback and previous-mode/Clear restoration, exact display/camera restrictions and allocation failures. If native screen picking cannot account for opaque SDF occlusion, refuse it explicitly; do not claim old native pick is depth-correct. Original native CPU queries and any Sphere inspection must have distinct supported contracts. No material/highlight/particle/cloth coexistence assumption.
  • Freeze context-loss CPU ownership/retire-during-loss/sticky GPU refusal/Dispose and mode-specific dimensions. Actual original source and copied outcome remain inspectable under the promised lifecycle; no automatic recreation or device capacity guarantee.

Future actual acceptance

Affected Node22 Viewer build and ONE original file/source→public GPU provider→Viewer→permitted HTTP/Chromium WebGL2 flow. Original two-source byte/hash/model/scene/copy retention, independent native converted GL positions and shared F32 view/projection, both nearest depth directions, real miss/discard and original-source edit pixels. Full-camera/empty-or-explicit-Clear/race/previous-mode/lateallocation retention, typed profile/ref/units/camera/accessor rejection, one presentation before CPU commit, normal onecontext/GL0/sevenresources0/actualconsole0. Separate ordinary source0dist and explicit transitive compiled0src actual startup/loss/restoration/refusal/Dispose. Reuse producer controls as baselines without replaying its campaign or substituting another browser/target.

Viewer owns only package/src/README and one new bounded Viewer example after exact paths are frozen. GPU/Shader/CAD/Loader and RenderEditor packages remain with their authors. Native implementation, actual consumer verification, local Integration and publication are separate. RenderEditor1048 coherent Save/fresh Open/history and later1049 appearance remain independent acceptance. No general SDF accuracy, calibrated physical optics, native topology or full editor product/release claim. Viewer1061 remains current implementation; this card is useful preplanning during1059 adoption.

Current availability rule —authenticated owner674/6085589830

Exact required provider merge SHA/current public exports and retained native build/actual target proof establish downstream code availability. Integrated screen/Save/Open/recovery follow-ups are tracked separately as pending; do not wait solely for their unrun state after code is merged, and do not claim them passed. This supersedes older wording requiring full integrated UI validation before code use. The current provider is still unadopted at this checkpoint, so its actual merge remains a real entry gate. Native author must still freeze its exact contract and perform its own affected build/short actual consumer; concrete build/runtime/target denials remain blockers. No ownership, publication or shared-writer change.

Current code-ready checkpoint

GPU1059 native code is actually present at exactmerge f043159f971644a0890bded899d092fed8568309, receipt6085656162, verified as ancestor of localdevelopbbfd8b6d. Integrated consumerbuild/UI/file/recovery remains pending, not passed; retainednativeauthorproof and current publicexports permit finalViewercontractwork under674/6085589830. Earlier unadopted/planning entry statements are historical. Viewer chooses1090first, then finalizes this existing card with exact originalauthority/mode/camera/lifecycle/ownactualgate beforecode. No implementation or integratedvalidation is implied by code-ready.

Viewer next selection —contract preparation ACTIVE

Receipt: https://github.com/barocss/barocss/issues/1075#issuecomment-6086551263

Viewer owner selects the next code-ready contract — after1090 native completion

Actual GPU1059 nativeecad285→249c0a6c is merged at f043159f971644a0890bded899d092fed8568309, receipt6085656162; native actual proof6084434984 is retained. Localdevelop7c8a1446 includes that code and public exports. Integrated build/UI/file/recovery checks remain pending under674 and do not block code consumption alone under authenticated owner6085589830. This is actual code availability, not integrated validation or a Viewer implementation. Existing1072 code711aa374 also readies1080 separately.

Current Viewer author is clean1090native989e0cf28f160603e99021f8f0072bf5d114d885 frome401d318; native/actual1090receipt6086524060 and prior native chain remain independent serial handoffs. Select existing1075 next; no duplicate Issue/renderer/Planner approval. Exact executable Viewer contract still needs to be frozen BEFOREcode. Current static source audit at immutable249c0a6c confirms:

  • MixedDepthFrameV0 format/version0/profile sdf-sphere-native-surface-v0/sourceVersion1 has original Source1 string, one qualified Surface packet/color, explicit camera/mmToSceneUnit/translate. GPU compiles exactly one Sphere; original native CAD source association stays host-owned.
  • Public prepareMixedDepthFrame, MixedDepthRenderer/mountMixedDepthScene support complete updateFrame, resize, copied getFrame/readPixels/render/dispose. updateFrame/resize use structured result/retention/unavailable semantics; do not assume a void successful setter or hidden generic camera/fit/clear API.
  • First Viewer input should carry TWO complete original sources plus an explicit selected native Surface ref/options. Rebuild from full native Source0 through the actual Loader/CAD path, validate source/ref/packet association, and copy both authorities before one GPU candidate. Keep Source1 Sphere scene units separate from native mm, convert native once, and preserve all unused original native coefficients on CPU.
  • Freeze named copied mixed mode/state and current CPU native query scope; do not fabricate Surface identity for the Sphere. Explicitly refuse primitive picking/selection if SDF occlusion is unsupported. Decide saved camera and fit-or-refusal from actual provider bounds/limits, mm scale versus native scene translation, dimensions and all prior-mode/Clear/restoration boundaries.
  • Freeze loss-time backend ownership, CPU copies/sticky refusal/Dispose, original source/class/ref/profile/accessor rejection and old-mode late failure/heldURL/onepresentation acceptance. Existing bounding oneSphere/oneSurface,1024axis/1Mp/travel100/camera-inside/clipping refusals remain; no extra particles/cloth/Shell/material/multiSphere claim.

Before provider alignment, preserve1090 branch/SHA/evidence. An independent new author branch may align ONLY already merged1059 code/history; that is not Viewer Integration and must not fold the1090 handoff into an undisclosed delta. Rebuild only actual needed providers in the author checkout before compiled consumer proof. No shared develop/root/lock/render/editor/WIP changes. Exact DTO/paths/negative cases/source-vs-transitivecompiled actual flow go to this Issue/Wiki before implementation. RenderEditor1092 is an independent bounded direct-GPU consumer and does not transfer its app ownership or validate this facade.

No1075 code/build/browser/merge/publication is claimed by this preparation. The prepared card now has a real available provider rather than an unavailable-dependency wait.

Exact provider API and recovery audit —before final freeze

Receipt: https://github.com/barocss/barocss/issues/1075#issuecomment-6086961008

Exact public-provider audit correction — before executable Viewer freeze

Read-only audit of actual GPU1059 native249c0a6c/mergef043159f confirms no public MixedDepthRenderer.render(), clear(), bounds/resourceCounts/Sphere-metadata getter. The earlier preparation6086551263 accidentally listed render; that name is corrected here BEFORE final Viewer contract or code. Public methods are getFrame/updateFrame/resize/readPixels/dispose, plus mountMixedDepthScene and prepareMixedDepthFrame. No private resolver/target/GL fields may substitute for a missing public contract.

Mixed frame.translate is scene-unit translation AFTER native mm scaling: nativePositionMM*mmToSceneUnit+translate. It does not translate or scale Source1 Sphere centre/radius, which already use scene units. A Viewer nativeTranslateScene field makes this explicit. Prefer an explicit saved camera and initial fit/fitGeometry refusal; no provider combined-bounds getter exists and Surface-only fit can violate Sphere clipping/inside/travel constraints. Sphere metadata can be separately rebuilt through public compileGpu({kind:scene,source,sourceVersion:1}), not an internal renderer getter.

Mixed updateFrame/resize return structured results. Failed candidate keeps old CPU frame and attempts old-target presentation; if that recovery fails, it returns CONTEXT/presentation-unavailable. This is not proof of an actual WebGL context-loss event. Existing Viewer rollback uses prior.render() and resize ignores structured results, so final1075 must dispatch those boundaries correctly. Mixed→mixed/view uses complete updateFrame and commits CPU only on ok. Cross-mode failed admission restores an old Mixed renderer through its public updateFrame(getFrame()), checking recovery; if recovery fails, preserve original CPU identity and report unavailable instead of promising old pixels. Clear uses an explicit empty PrimitiveViewport candidate, since mixed frame has no empty Sphere/Surface sentinel. Loss-time retirement/sticky refusal/freshViewer/Dispose stays separate from failed-recovery unavailability. Exact availability/status API and native CPU query scope remain choices to freeze before code.

These are source-backed design facts, not an executed Viewer mixed flow. GPU1059 code/native proof is available; pending integrated UI/file/recovery checks do NOT impose a new preparation/code gate under authenticated owner674/6085589830. The helper audit's first sentence suggesting such a gate was rejected as stale. Continue selected1075 contract work against actual code.

Separate GPU1102 three-path Curve guard native6507b1c is now merged at c38bd8d7710d6e0f33cbab7c3b0d58db2a92d1cf. Actual first-parent range and all three blobs match the immutable native child. It narrows unsafe Curve binary64/F32 coordinate-zero conversion; native34cases are CPU/source/emitted-public/coldfile with intentional NULLcontext, NOT GL/renderer success/pixel/retention/recovery. It is not a selectedSurface/Sphere1075 dependency.1090 native proof remains bound to its original provider hashes and is not a1102 Viewer reproduction. Future real Curve consumer proofs must use actual Viewer1e-6..1 scale and actual source admission; native adaptive load first uses LoaderunitsPerMillimeter1, unlike uniformDTO0/DTO1 compilation routes. No campaign, policy-denied1095 retry, new Issue or profile expansion follows from this audit.

Shared currentdevelopc38bd8d is inside a soleIntegration-owned Canvas2D merge with unmerged README/tsconfig/index entries. Preserve its index/worktree conflicts, staged files, inherited render manifest and kiosk recordings. This read-only check did not touch that checkout or nativeViewer989e branch. Exact1075 before-code scope remains in Viewer-owned helper/index/README/new bounded example; no GPU/CAD/Loader/editor ownership transfer or implementation claim.

Exact author contract frozen before code

Receipt: https://github.com/barocss/barocss/issues/1075#issuecomment-6087099908

Viewer1075 — original Sphere + native Surface contract

FROZEN BEFORE CODE. Clean NON-Integration alignment019478c2b08647f4ac09b4eb47b21c39ac327893 has parents unchanged1090native989e0cf28f160603e99021f8f0072bf5d114d885 and alreadyMERGED1059native249c0a6c. Only four provider paths were imported; no1075feature or sharedWIP changed. Native1090 branch remains989e. Independent branchcodex/issue-1075-viewer-mixed-depth. Actual1059mergef043159f/nativeproof6084434984 permits code use under674/6085589830; integratedvalidation remains pending, not another code gate.

Public input/state

export interface ViewerMixedDepthInputV0 {
 version:0;
 sphereSource:string; // original Source1, exactly one Sphere, scene units
 nativeSource:string; // complete original Source0 Model0/mm
 native:NativeLoadOptions; // ONLY sourceVersion0,countU,countV
 surface:ViewerRef; // original model.name/Surface.id, no alias
 surfaceColor:[number,number,number];
 nativeTranslateScene:[number,number,number];
 camera:MeshCamera;
 basis:'authored-xyz-matches-rhyup';
}
export interface ViewerMixedDepthState {
 native:BaroCadNativeResult; // complete rebuilt original authority
 frame:MixedDepthFrameV0; // copied complete accepted GPU frame, exact Sphere source
}
loadMixedDepthScene(input:ViewerMixedDepthInputV0):void;
// getState adds mixedDepth:ViewerMixedDepthState|null;
// ViewerState.status adds 'unavailable' separately from 'context-lost'.

Exact own plain enumerable records/dense arrays, no extras/accessors/symbols before authored reads. Both complete strings nonempty≤65536UTF8bytes/codeunits. Existing NativeLoadOptions exactsourceVersion0/countU,V2..17, no Curve display/nativeCapacity. Original model/selectedSurface IDs follow existingViewerASCII1..64. Parse native through publicparseBaroCadSource with unitsPerMillimeter1, preserve whole source/Model/UV/domains/poles/weights/IDs/-0; match originalsurface.modelId/model.name and selectedoriginalsurfaceId. Only one selected Surface packet is submitted; other native objects remain CPU authority, not displayed. No fake Sphere Surface/ref/sourceunion/documentpin/cacheauthority.

PublicprepareMixedDepthFrame validates complete actualSource1 oneSphere and selectednativepacket/ref/color/camera/mm/translation, returnsownedframe. Frame defaults fixedformat/version0/profile sdf-sphere-native-surface-v0/sourceVersion1. ExistingViewer mmToSceneUnit applies ONCE to native mm, then nativeTranslateScene (scene units) is added. Sphere centre/radius and Source1 camera/lighting/background execution remain original scene units; no CAD scale/translate applies to them. Input camera is authoritative: Source1-authored camera remains in original text but mixed presentation uses this explicit complete camera, as GPU1059 defines. Viewer background/lighting settings remain configuration for other modes; Source1-derived mixed background/shading governs this mode. Surface color is explicit RGB0..1. Translation followspublic±1000scene limits; selectedpacket≤289vertices/512triangles. Canvas1..1024axis/≤1Mp; camera outsideSphere by.001, fullSphere strictlyinside near/far by.001 and eye-distance+radius<99.999. Delegate finalproducer validation; no hidden bounds/Sphere/resource getter or internal resolver.

Native and displayed boundaries

getState returns independent deepcopies of bothoriginals/native result/acceptedframe. Store one selectedoriginalSurface in displayedsurfaces/packets; curves empty, allother modes/native publicoldfields clear onacceptance, mixedDepth carries complete authority. ExistingnativeModel resolution may inspect ANY originalgeometry in mixedDepth.native.model using existing nativeSurface/Curve/mixedpoint methods and currentmodel/domain/ref bounds; source-native MM only, not Sphere geometry or deriveddisplay. Those CPU methods skip only the mixed primitive-operation refusal while retaining oldShell/assembly restrictions. They can run afterGPUunavailability/loss undernormalcopiedmeasurement semantics. No Sphere metadata convenienceAPI; caller may use publiccompileGpu on exactframe.source for Source1 inspection.

Initiallyrefuse fit/fitGeometry/native-documentfit/primitivepick/pickGeometry/projectNativePoint/selection(includingnull)/visibility/motion/reset/material/particle/cloth calls(includingnull). SDFocclusion and combinedfit authority are not implemented. setView/orbit/pan/zoom rebuild complete mixedframe with candidatecamera, commit camera/frame only after publicupdateFrame.ok. Resize usespublicstructured result and itsdimension restoration, not ignoredvoid. readPixels delegates only available presentation. No source edits/implicit perbodypose/layers added.

Atomic admission and restoration

Prepare/copy/rebuild BOTHcompleteoriginals, selectedpacket/ownedframe/camera BEFOREpresentation. Mixed→mixed uses existingrenderer.updateFrame(candidate); newmixed mount uses samecallerCanvas and onecandidate, retiresprior onlyafter success. Commit Viewer mixedDepth/selectednativepacket/camera and reset oldsource/modes/bindings/selection/poses/measurements/materials/simulations onlyafterok; sceneRequest++ once aftersuccess. Failure retains previous CPU/source/frame/layers and pendingURL eligibility wherepresentation recovered; successfulsync supersedesheldURL onlyafteracceptance. Other successful native/document/assembly/Shell/uniform/packet/Clear generations clear mixedDepth AFTERtheir own GPUacceptance. Failure preserves it.

Existing genericprior.render cannot be called onMixed (NOpublicrender). Privateowneddispatch restores mixed throughpublicupdateFrame(prior.getFrame()), checks result; otherbackends use their existingpublicrender. Checkstructured update/resize errors. If recovery succeeds, throworiginal candidateerror whileoldCPU/frame/resources/pixels retain. If cross-mode recovery alsofails, retain oldCPUidentity, set sticky presentationUnavailable flag and status'unavailable', throwaggregate original+recovery cause. GPUErrorCONTEXT frommixedupdate/resize also marks unavailable unless actualcontextLost event is alreadytrue. Never claim pixelretention whenrecoveryfailed or conflate unavailable with WebGLcontextloss. AllGPUmutations/admissions/read operations then refuse; CPUgetState/nativequeries andDispose stayusable. Require freshViewer after thisstickyunavailable, no autoretry/recreation/clear recovery promise. Existingnonmixed behavior doesnot change unless its mixedtransition actually failsrecovery.

Clear fromavailablemixed createsexistingemptyPrimitiveViewport with lastacceptedcamera and normalViewerbackground/lighting, thenretiresMixed/resetmetadata onlyafteracceptance. NoemptySphere sentinel/privateframebuffer. ActualcontextlosspreventDefault, retireOWNEDMixed DURINGloss, retainCPUsources/packet/camera, statuscontext-lost takespriority, stickyGPUrefusal aftercallerrestore. Disposeclearsmixed authority/selectedpacket/inventory/poses/measurements/resources and isidempotent. Lostexplicitdelete0notclaimed.

Paths and actual acceptance

ONLY newpackages/barocss-viewer/src/mixed-depth.ts, additiveindex.ts/README and newexamples/viewer-mixed-depth-scene/{app.js,index.html,server.mjs,README.md}. Helper/coreagent ownsnewhelper+index;exampleagent ownsnew4files;rootREADME/finalaffectedbuild+actual. No manifest/config/root/lock/GPU/CAD/Loader/Shader/editor/sharedWIP. Newhelper usespublicProvider/Loader APIs; no duplicatekernels. Authenticpublic1059source1/nativeSurface controls copiedBYTEexact orservedread-only fromcommittedmixed-depth-flow fixtures, recordhashes. Addonefullnative4objectsource asretainedunshownCurve/Surface control, nevertruncate source. No1095browser-policy workaround/coordinateguardproducer replay. GPU1102Curve and1103Surface nativeguards are not newdeliverygates; useactualmergedcode/profile and record exactconsumedsource snapshots.

FirstaffectedNode22Viewer+neededGPU build/newclient syntax. ActualoriginalHTTPtwoSources→public native/GPUpack→Viewer onpermittedChromiumWebGL2, source/originalModel/UV/signedbits/copies, exact native scale+scene translate/F32upload/sharedF32camera, bothnear-depthdirections/SDFmiss/originalsourceedit pixels. Fullnewmetadata beforecommit witnessonepresentation; explicitcamera/retainedCPUqueries/nativeScope/unshown/pick-fitrefusals; fakepacket/ref/source/profile/accessors/getters0/limits/camera failures. Actualoldprimitive/document/assembly/Shell/DTO0/DTO1/genuinecloth latefailure retention whereprofileavailable, native/mixed/Clear switches/URLsuccessAbortErrorvsfailedwinner. Injectcandidate failure andseparate failedoldMixed recovery toprove truthful'unavailable' witholdCPUretained, GPUblocked/Dispose, notclaimedpixels. Actualpublicview/orbit/pan/zoom/resize failure retains dimensions/camera/CPUframe. NormalsinglecontextGL0sevenresources0actualconsole0. Separate source0owndist andcompleteALLtransitivepublishConfigcompiled0ownsrc actualstartup/loss→restore→CPUretain/stickyGPUrefusal/Disposeconsole0. Preservefirstfailures/limits; do notcountNULLcontext CPUproof asGLsuccess.

This is boundedViewer1Sphere/1originalSurface mode, not fullSDF/nativeCAD/editorSaveOpen/Physics/materiallanguage/precision/deviceperformance/release. Nativeauthor actual verification, exactmerge/codeavailable, laterintegratedchecks andpublication stayseparate. Existing1080source-qualifiedFaces remainsnextpreparedcard;1063needsactual998code. Planner noapproval/statusmessage.

Native completion and current evidence

Native complete — two original sources, one shared-depth Viewer

Clean parent019478c2b08647f4ac09b4eb47b21c39ac327893 → author69055c23d98c89fd0ccbb03f4d5690af979c593e, branchcodex/issue-1075-viewer-mixed-depth, isolated /Users/user/.codex/worktrees/viewer-object-tree-935/barocss. Seven owned Viewer helper/index/README/new-example paths only,647insertions/65deletions. easylogic author/committer cyberuls@gmail.com and GitHub easylogic checked; worktree clean. Parent is a NON-Integration alignment of unchanged1090native989e and alreadymergedGPU1059native249, four provider paths only.1090branch remains immutable989e. Exact before-code6087099908/Wiki99b5634 preceded all feature edits; earlier missing-publicrender audit6086961008 was resolved before freeze. Core/helper and example had disjoint ownership; root reviewed/build/actual evidence.

Implemented profile

loadMixedDepthScene(ViewerMixedDepthInputV0) owns exact nine-field input and copies mixedDepth{complete original native result,accepted public mixed frame}. Original Source0 is rebuilt by public Loader atunitsPerMillimeter1 and exact selected original Surface ref, not a supplied foreign packet. Source1 exact oneSphere source remains separate scene-unit authority. NativeMM*ViewerScale then nativeTranslateScene; no CAD scale/translation applies to Sphere. One Surface displayed, all original othergeometry retainedCPU; original native Surface/Curve/mixed-point queries remain usable. Explicit camera, no initial combined fit/pick/projection/selection/motion/layers. Surface color explicit; Source1 mixed background/shading separate from Viewer other-mode configuration.

Complete candidate presents before CPU/request commit; structured updateFrame/resize results checked. Other source/mode generations and Clear clear mixed only after admission. Cross-mode failure restores oldMixed through publicupdateFrame(getFrame()), never nonexistentrender/privatetargets. If restoration fails, CPU identity remains and sticky statusunavailable blocks GPU; this is distinct from actualcontext-lost. Available Clear stages emptyPrimitiveViewport, noemptySphere. Actual loss retires ownedMixed duringloss/CPUretain/stickyGPUrefusal; Dispose clears mixedauthority.

Builds, snapshots and first actual flow

First neededGPU build0 (590.2KiB) and affectedViewer Node22build0; example syntax/client bundles pass. Exact own provider is aligned1059baseline, not later1102/1103/1107guard acceptance. Actual source206ownsrc/0owndist; fully transitivepublishConfigcompiled0ownsrc/169owndist. Source, compiled, finalUI servedbundle audits and CAD/GPU/Viewer root/types fingerprints retained. No provider/root/config/lock/editor changes or producer replay.

Authentic HTTP originals match SphereSHA de0afd42c32989e64f7b6374eeea01e4ebdedfcea5eb3a97ef6bab943ec678ca, rationalSurface78609ece16a89aa608cc4067e4e93c803a0f0a9d1620aa4c07dba0cc0ad5b86e, completefour-objectnativeefb097a36d4e59127073576a4bf94c6e07aab418e4c18e429dc392c49005f637. Originalweights/UV/nonunitdomain/signedzero/source retained.

First actual HTTP/ChromiumWebGL2 main flow passed five captures/fifteen refusals without product repair: original Surface front centreRGBA23,46,232,255 versus Spherefront232,0,0,255; SDFmiss position(.8,0,-.75) pixel389,240 remains nativeblue. Exact native GL buffer readback agrees with original packetMM*.001 then sceneZ±.75, same explicit publicF32camera. Source1color edit changespixels, one displayedSurface/four original CPUobjects/nativeSurface+otherCurvequeries/copies/getter0/ref/basis/source/camera/translation/latebuffer3 retention, unsupported operations, camera/orbit/pan/zoom/resize/Clear pass.

Actual oldthreeShell leaves/fourassemblyinstances/genuinePhysicscloth867positions+1536indices each survive consumed thirdbuffer failure after upload, then clear on acceptedmixed load. Reverse Shell/assembly failures preserve oldMixed publicrestore. Actual DTO0/DTO1 transitions and latefailure pass. Two heldHTTPnativeURL requests prove acceptedmixed supersedesAbortError, failedinput keepsURLwinner. One actualblit occurs whileCPUstillold, then newnativeZ commits. Actualresize allocation failure retainsbackingdimensions/camera/source/pixels/counts. Documentwithfour explicitly selectedoriginalbodyIDs and atomicnative replacement cross-mode texture failures recoverexactCPU/pixels/counts; success resetsmixed.

First extra driver reused the old two-argument uniform negative control. loadMixedDepthScene takes ONE nine-field input, so the extra argument was correctly ignored and the valid candidate accepted. TEST ERROR only; extra-first.js/extra-first-failed.json and completedold-modecase/refusals remain. Resume only URL/subsequent controls in freshcontext with invalidbasis INSIDE the single input; extra-final-passed.json passed. No Viewer or GPU repair was needed for that test correction.

Actual persistenttexture-null failure consumed both cross-modecandidate and oldMixedrecovery. Aggregateerror/oldwholeCPUsource retained, statusunavailable with gl.isContextLost false, nativeCPUqueries stillwork, sixGPUoperations refuse, hosttruthfully disablesGPUcontrols and keepsCPUquery. No pixelretention claim onthisunavailablecase. Separate actualcandidate+old-target blit faults produce structuredMixedDepthErrorCONTEXT and the same truthfulstatus witholdCPU/camera retained; normalDispose cleansallsevenresourceclasses0/GL0/console0.

Physical source/Surface selection/count/currentnativequery/near-both directions/TurnPan/Originalcamera/Clear pass; completefourrows showoneSelectednative display andthreeCPUonly. NormaldoubleDispose onecontext/GL0/sevenownedresources0 and actualbrowserconsolemessages/errors/warnings0. Source206src0dist andcompiled0src169dist each actuallystarted, lost/restoredGL, retained originalfour-objectCPUauthority/camera/copies/queries, refusedfiveGPUops duringloss and mixedremountafterrestore, Disposeclears/actualconsole0. Lostexplicitdelete0 notclaimed.

Visual inspection found stale native inspectiontext after switching originals. Two-line HOST ONLY repair clears that report after successfulload and whenmixedmodeclears; earlierfirstscreenshots remain. A fresh finalcompiledclient/physicalsource-switch→query→switch→query→Clear/Dispose proved currentrational_native/rightsource IDs and reportcleanup, resources0/GL0/console0. No corebuild or completecampaign replay; originalruntime proofs remain bound to their logged bundles. Final screenshot visually checked. All own fourbrowser sessions/initialtwo+finalone servers closed.

Private evidence /Users/user/.barocss-ai/v3/evidence-1075-viewer/native/: main-basic-passed.json, extra-first-failed/final-passed, physical-dispose-passed, document-boundaries-passed, unavailable-passed, structured-unavailable-passed, source-loss.json, compiled-loss-passed.json, ui-final.json, allscripts/first-builds/audits/fingerprints/console/first+finalscreenshots. Exact first assumptions and limited hostrepair retained.

Separate merge and next card

OPEN/nativecomplete/actualauthorverified; no selfmerge/productpush/PR/npm/deploy/wholeeditor/globalSDF or nativeprecision claim. SoleIntegration preserves1090native/priorchain, accepted1059 alignmenthistory and ONLY exact019478→69055 sevenpathfeaturedelta. Latestshareddevelop255fb8cc includes otherowners/newCPUguards; inheritedrender/kiosk untouched.1102/1103/1107 CPUguards were not consumed by thisbaseline and not re-labelled as currentViewerGLproof.

Next existing1080 source-qualifiedoriginalFaces has realGPU1072mergedcode711aa374/nativeactual6085106477. Finalize exact Viewerinput/copiedwholeSourceFace/mode/camera/no-pick/nativeCPU/limits/atomic/unavailable/lifecycle/actual sixoriginalfile acceptance BEFOREcode. No duplicate card/newrenderer/privatebackend or postmergeUIapproval gate. Current1075prototype doesnot prove1080/editorSaveOpen or publication.

Clone this wiki locally