Skip to content

Viewer Shell Leaf Inspection

easylogic edited this page Oct 10, 2026 · 6 revisions

Prepared Viewer roadmap card — qualified native Shell leaf inspection

User result

A caller or CAD graph inspection host clicks a filled Shell preview and identifies the exact current graph output leaf. It can then show the original graph/feature/output-slot association next to the source. Existing #998 first adoption deliberately has no Shell picking; Surface/Curve picking cannot describe this native authority. This prepares the next real inspection step in the CAD/render library roadmap, without claiming a complete editor Apply/Save/Open result.

Existing capabilities and minimum gap

GPU #941 owns one shared-depth qualified native scene and copies full native mesh provenance, accepted camera/options/bounds. Its existing public prepareBooleanShellBuffers and prepareCamera can supply the same displayed Float32 positions and camera matrices. #1019 is a GPU-owned source/ownership preparation card, not a missing mandatory runtime API. #998 establishes Viewer-owned whole current graph/native meshes and same-canvas Shell mode; no fake Surface retag, alternate renderer or native union is needed.

Current Viewer pick/pickGeometry selects only primitive Surface/Curve refs. In Shell mode those methods explicitly refuse. There is no public Viewer-owned bounded qualified Shell screen query or source inspection host. All-state duplicate searches found #998 and GPU1019 but no separate Viewer consumer implementation card. Reuse providers and own the query in Viewer; do not duplicate GPU selection/appearance work.

Stage and entry conditions

DESIGN DRAFT prepared in owner receipt6085165000; executable names/DTO and numeric tolerances are not frozen or implemented. Native/actual #998 completion exists, but separate Integration receipt/public copied state remains required before final consumer freeze and code start. Exact current GPU/CAD APIs must still be inspected at the selected immutable base. This card is useful during serial Integration waits; it is not an implementation claim or approval gate.

Author decisions to freeze before code

  1. Choose one explicit Shell query command and exact own-data input/result types. Do not overload old primitive kind filters or forge primitive refs. Input must use finite bounded CSS coordinates and the current real canvas CSS/intrinsic dimensions; decide outside/offscreen/empty behavior. Preserve the whole current accepted qualified tuple graphId/graphRevision/featureId/outputSlotId.
  2. Use the actual accepted camera plus lowered Float32 display positions. Transform one native mm scale exactly once. Freeze perspective ray, near/far clipping, two-sided triangle testing, closest-depth ordering and equal/near-equal ties with explicit ambiguity. Return display-only approximate hit/triangle information; native topology IDs/source association remain a separate copied qualification. Do not promise raster/polygon-offset/Depth24/edge-rule pixel equivalence or certified native precision.
  3. Decide current-generation/stale result policy and read-only semantics. A query must preserve source, native arrays, camera, layer mode, selection, pixels and resources. Current graph refs cannot certify cross-revision geometry history or persistent topology naming. Caller mutation must not alter internal authority. Refuse accessors/symbols/sparse/foreign input as applicable without invoking getters.
  4. First result is leaf inspection only unless a real requirement and exact feedback contract justify selection highlighting. Appearance binding is GPU1018's separate work; constant entry colors already exist. Decide whether the bounded host marks an inspected row while keeping GPU colors unchanged. Explicitly document edge previews and covered-face/near/far/empty behavior.
  5. Define normal lifecycle, resize/CSS changes, graph replacement/Clear, primitive/Shell switch, context loss and disposal. No automatic context recreation; only current accepted Shell mode is queryable. Preserve #998's normal complete-candidate rollback, CPU copies and deliberate primitive API boundaries.
  6. Freeze package/helper/example paths and one actual acceptance. Own Viewer code and the Viewer Shell host only; no root/lock/static/policy/GPU/other editor path changes. Explain declared operation/triangle caps from existing four-leaf bounds without a broad performance certificate.

Future actual acceptance

Original authored #927 graph files → public current graph parse → #998 Viewer scene → actual permitted Chromium WebGL2. Record original byte hashes. Use an independently projected known interior point on near/far native cap controls, real shared-depth occlusion and reversed input order. Returned nearest qualified leaf must match the independent native depth expectation; ties must be declared. Show a real hole/no-hit and disconnected components, true empty versus zero selected leaves, nonunit mm scale, camera/resize/CSS controls and native source/full refs retained.

Physical click in the inspection host must show the current qualified source row. Query-only snapshots/pixels/GL resource counts remain equal. Test wrong mode, loss/disposal, invalid/getter input and replacement/stale handling. Record first failures and narrow repairs. One context, GL0, browser warnings/errors0, normal sevenresourceclasses0 after cleanup. Source and fully transitive compiled imports are separate receipts. Native implementation, actual Viewer verification, sole serial Integration and publication remain distinct.

No Shell editing, material language, topology/solid certification, persistent face naming, physical collision inverse, assembly-pose query or whole CAD editor completion is implied.

Prepared Issue: https://github.com/barocss/barocss/issues/1063

Current owner design draft —2026-10-10

Owner receipt: https://github.com/barocss/barocss/issues/1063#issuecomment-6085165000

Viewer owner design draft — current Shell leaf screen query

Stage: DESIGN DRAFT, NOT frozen executable contract or code. Exact native/current-source audit at clean Viewer f19bb2c728e46f58aae82819bf4a190ee9176f54 includes998author81a1414c. GitHub998 is still OPEN and local develop84ee44ea has no separate998 adoption; preserve the existing code-start condition. Design work continues during this wait. Before code, verify the actual adopted998 base and finalize this draft in Issue/Wiki; no new GPU API or Planner gate is required.

Proposed public shape

export interface ViewerShellPick {
  ref: BooleanShellLeafRef; // copied graphId/graphRevision/featureId/outputSlotId
  triangleIndex: number; // local mesh.indices offset/3; derived, not native topology ID
  displayPositionScene: [number, number, number];
  depthScene: number; // positive camera/view depth, not distance from near-plane ray origin
  approximate: true;
  ambiguous: boolean;
}
pickShell(point: ViewerGeometryPoint): ViewerShellPick | null;

No primitive-ref retag, query option/filter/highlight, SDK generation counter or persistent topology token. Query is synchronous against the current accepted Shell snapshot. Its copied result does not stay valid after subsequent scene/camera changes. Host owns a successful-load epoch and marks the current qualified source row; it clears inspection after accepted camera/resize/load/Clear/mode changes. Failed load preserves old row/epoch. Detached callbacks check the current host epoch. No Viewer source/selection/state/frame/resource write occurs during the query.

Strict admission and geometry decision

Read descriptors for exactly two own enumerable value fields xCss/yCss on an ordinary plain object, no symbols/extra/accessors. Require finite numeric0..4096 coordinates and positive finite actual canvas CSS dimensions; right/bottom boundary is admitted, as current primitive picking does. Refuse outside coordinates, disposed/lost/wrong-mode calls before query. Valid zero selected leaves, selected genuine-empty leaves and off-geometry return null after input validation. The result and nested ref/point are independent copies.

For each admitted native leaf, public prepareBooleanShellBuffers(native,{mmToSceneUnit,translate:[0,0,0]}) supplies the exact lowered Float32 filled positions/Uint16 indices. Do not derive a second coordinate convention. Public prepareCamera(currentCamera,canvas.width/canvas.height) supplies column-major Float32 view/projection. Multiply and invert their product in CPU Float64, unproject query NDC z=-1,+1 and divide homogeneous coordinates. Guard nonfinite/singular inversion/division. Test the near-to-far segment against both triangle sides; only hits in that clip segment qualify. displayPositionScene lies on those lowered display triangles; depthScene is its positive prepared-camera view depth. Intersection tolerances and singular thresholds still need final numeric freeze and a focused control before executable contract acceptance.

At most four buffer preparations, one camera preparation/inversion and1152 triangle tests (four native leaves ×288). Buffer preparation performs complete native reconstruction; the intersection cap is not a runtime/CPU-latency or allocation budget certificate. No caching/state mutation or GPU allocation/readback/draw during the query.

Nearest leaves and ambiguity

First find each leaf's nearest clipped hit; only equal/near-equal nearest triangles within the SAME leaf use lower local triangle index. Never choose its lowest index across farther back-face hits. Build the ambiguous leaf set relative to GLOBAL minimum depth: distinct complete qualified leaves within absolute1e-6 scene units of that depth, not chained pairwise comparisons. Shared-edge triangles of one leaf alone do not make leaf identity ambiguous.

For multiple tied qualified leaves, choose by fixed ASCII/string graphId, numeric graphRevision, ASCII featureId, ASCII outputSlotId ordering; return that chosen candidate's actual point/triangle/depth and ambiguous:true. This can return a slightly farther leaf within the explicit tolerance, independently of input order; it is an approximate ambiguous result. No native UV/face intersection or certified global topology is implied.

Filled GPU Shell uses two-sided triangles/LESS. Optional true-edge previews use polygon offset/LEQUAL, so this query ignores edge lines and cannot promise Depth24/raster/polygon-offset/pixel equivalence. It inspects the lowered filled preview and original whole-leaf association only. Edge-only pixels need not produce a result. Wrong-mode primitive pick/select boundaries remain unchanged.

Planned ownership and actual acceptance

Only a new packages/barocss-viewer/src/shell-pick.ts, additive index export/method, package README and existing examples/viewer-shell-scene files. No GPU/CAD/Loader/root/lock/policy/editor edits. Core helper and example can have disjoint agent ownership after the contract is frozen; root owns final combined build/actual proof.

Reuse authentic original927 three/four/current edited/genuine-empty graph files and903 containment hole/disconnected strips. Extend independent998 near-only/far-only/full/reversed cap-depth control. Actual physical click must mark the current exact original source row, while state/source/native arrays/camera/pixels/resources stay unchanged. Test real hole/components, zero versus empty, near/far clipping, reversed/two-sided camera, same-leaf shared-edge and distinct-leaf ties, nonunit scale, actual CSS/intrinsic resize, copied results, getter calls0, wrong mode/loss/disposal, successful replacement/stale callbacks and failed-load row retention. Preserve original byte hashes/first failures. Node22 affected build and actual permitted Chromium WebGL2 source/fully transitive compiled receipts, one context/GL0/actualconsole0/normal sevenresources0 are required after implementation. None was executed for this draft.

This is useful preimplementation specification, not an availability or completion claim.998Integration remains pending;1075 mixed-depth and newly planned1080 original Face mode have separate real provider adoption gates. No routine author flow replay or new renderer is needed.

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.

Author readiness — actual Shell code entry satisfied, final contract next

Required998 native81a1414cb12af4d44e9911672cf9aa1d84568503 is ACTUALLY merged at localdevelop06106f028b08fdb8141c10a96b729d58f311b3e2, parents656bb587/81a1414c. Read-only verification confirms all seven exact native child blobs and current public loadShellGraph/getState.shell code. Shared inherited render manifest/kiosk remain dirty and preserved. Native998 actual6084127838 remains available; current integrated screen/pixels/context checks are UNRUN/pending, not a code gate under authenticated674/6085589830. No current merged-head browser proof/closure/publication or native campaign replay is claimed.

Existing1063 is now the NEXT selected Viewer requirement, CONTRACT PREPARATION ACTIVE/code entry satisfied. Reuse this card; no new Issue or Planner status/reply. The original design draft6085165000 remains a draft until exact numeric/API/paths/acceptance freeze BEFOREcode. Newly prepared1166 Surface-normal angle stays PLANNED/CPUreadiness only after this existing Shell inspection task.

Current own immutable Viewer20b3a8dc retains native998 and alreadyadopted GPU941/public prepareBooleanShellBuffers+prepareCamera. Read-only current source audit: ViewerShellState is {graph,scene,boundsScene}; scene0 entries have full ref and original native, color, edges. Public prepareBooleanShellBuffers lowers original native mm once at current positive mmScale/translate[0,0,0]. Public prepareCamera returns column-majorFloat32 view/projection, current Viewer acceptedcamera is separate from scene. No renderer private target/source resolver/GPU readback/missing1019API dependency is needed. Current source/public ABI/native proof is ready, not a native precision/pixel-equivalent hit certificate.

Before code, freeze final pickShell(point) and copied ViewerShellPick tuple/ref/derivedtriangle/scenePoint/positiveviewDepth/approximate/ambiguity. Exact CSS ownfield bounds/current mode/loss/unavailable/Dispose admission, F32-lowered triangles+F32-camera CPUbinary64 inverse/ray/clip/two-sided intersection/singularity+barycentric/nearest triangle/tie numeric policy, global-min leaf tolerance(no chaining)/ASCII-numeric winner and no GPU/state/querycache writes. Host owns epoch/current-row, clears on successfulcamera/backing/CSS/load/Clear/mode and rejects detached callback; failed candidate retainsrow. No highlight/primitive retag/nativeUV/topology/persistenthistory certificate. Paths only shell-pick helper/index/packageREADME and existingShellhost; disjointagents/rootfinal affectedbuild+actualsource/alltransitivecompiled.

Actual original graph/near-far/hole/components/empty-versus-zero/qualifiedrefs/order/ties/two-sided/clip/nonunitScale/currentCSS/physicalrow/query-onlycopies-getter0-state-pixel-resource/context/Dispose must run in this author's new bounded flow after contract/code. None executed for this readiness. Existing1157 is nativecomplete/actualfirstpassed20b3/6094031763 pending separateadoption;1166 notimplemented; prior1080transitionanomaly stillUNCONFIRMED.

Readiness receipt: https://github.com/barocss/barocss/issues/1063#issuecomment-6094070205

Viewer #1063 executable contract — frozen before code

Base: immutable Viewer20b3a8dca91a672ba3240f5847319304860bd904. Required998 is actually adopted06106f028b08fdb8141c10a96b729d58f311b3e2; exact seven child blobs and public Shell code verified. Integration receipt6094069809 records first Root Viewer build0/4.173s; integrated runtime/pixels/lifecycle remain UNRUN. Under674/6085589830 they do not block this author's code. Existing public prepareBooleanShellBuffers and prepareCamera suffice. This supersedes draft6085165000 numeric/nearest-triangle wording; no new provider API.

Public API and authority

Viewer.pickShell(point: ViewerGeometryPoint): ViewerShellPick | null. Exported ViewerShellPick has exactly {ref,triangleIndex,displayPositionScene,depthScene,approximate:true,ambiguous}. Ref is copied full BooleanShellLeafRef (graphId, graphRevision, featureId, outputSlotId); triangleIndex is local derived indices offset/3, not native topology. Triple and ref are independent mutable copies. depthScene is positive depth computed from actual public prepared Float32 view matrix. This result is valid for the queried accepted scene/view only; no SDK epoch or persistent naming.

Require live, available, not sticky context-lost, current Shell mode, then strict ordinary Object.prototype input with exactly two own enumerable data fields xCss/yCss, no symbols/accessors/extras. Descriptor values finite numeric0..4096. Structured clone rejects Proxy input; ordinary getters are not called. Actual bounding rect dimensions finite positive and <=4096, positive backing dimensions; coordinates inclusive0..width/height, outside refuses. CSS query coordinates use canvas bounding box; host canvas is borderless/axis-aligned. Valid zero selected, genuine-empty and off-geometry queries return null. All failures RangeError except preserved provider causes. No query writes GPU/Viewer/source/selection/cache/request/state.

Exact numeric policy

Each of at most4 native leaves uses public prepareBooleanShellBuffers with current mmToSceneUnit and translate[0,0,0], returning actual Float32 filled positions/U16 indices. Provider cap384 vertices/288 triangles, so at most1152 triangle tests. Complete native preparation/reconstruction is not a runtime/latency certificate. Public prepareCamera(current accepted camera, backing width/height) yields column-major Float32 view/projection. Multiply projectionview in binary64, invert via four-column partial-pivot Gauss-Jordan with row scaling: select greatest abs(pivot)/initial row maximum; ratio<=1e-12 refuses. Require every intermediate finite and inverse residual max abs(Minverse-I)<=1e-7. This is a bounded numerical refusal, not singularity certification.

NDC x=2xCss/width-1, y=1-2yCss/height. Unproject z=-1 and+1 through inverse. Homogeneous abs(w)<=1e-12*max(abs(all4components)) or nonfinite/zero scale refuses; require finite divided coordinates and finite positive near-far segment norm. All arithmetic is binary64 over actual Float32 inputs, not shader operation emulation.

For each triangle use two-sided Moller-Trumbore against direction=far-near (not normalized). Skip zero-edge norm or abs(det)<=1e-12*norm(edge1)*norm(edge2)norm(segment). Finite intermediates mandatory; nonfinite refuses. Strict barycentric u>=0,v>=0,u+v<=1 and segment fraction0<=t<=1; NO barycentric/clip epsilon or clamp. Degenerate/parallel and outside triangles contribute no hit. Scene point=near+tsegment, require finite coordinates and positive prepared view depth. Filled triangle boundaries can differ from raster/edge rules; exact clip boundary may reject from rounding.

Within one leaf choose exact minimum positive depth, lower triangleIndex ONLY on exact depth equality. This supersedes draft near-equal same-leaf policy and never chooses farther triangles by index. Across distinct leaves compute GLOBAL minimum depth and include candidates depth-min<=1e-6 scene units, not chained comparisons. One candidate ambiguous:false. Multiple candidates ambiguous:true; sort fixed ASCII graphId, numeric graphRevision, ASCII featureId/outputSlotId, return chosen actual point/depth/index even if slightly farther within disclosed tolerance. Input ordering does not choose the leaf. Optional edge polygon-offset/LEQUAL is ignored. No native UV, raster/Depth24/pixel-equivalence/native precision/topology certificate.

Host contract

Existing Shell host has separate Inspect mode checkbox. A click in that mode queries and marks one current original full-ref inventory row plus concise current tuple/depth; no GPU highlight/color write. Default mode leaves canvas controls unchanged. Host keeps successful current scope token from Shell graph/entries+camera+backing/CSS, host epoch, and query result. Successful load/view/resize/CSS/Clear/mode/loss/Dispose invalidates inspection; failed load retains it. Detached row callbacks and late query adoption check epoch/current scope. External SDK changes are detected during render/inspection refresh. ResizeObserver disconnects at Dispose. No serialized state or SDK generation API. Caller may keep copied result but must requery after scope changes.

Ownership and bounded actual acceptance

New packages/barocss-viewer/src/shell-pick.ts and additive index.ts; package README; existing examples/viewer-shell-scene app.js/index.html/README.md (server only if required). No provider/config/root/lock/policy/editor/manifests. Disjoint core/helper+index and host agents, root documentation/final review/build/actual.

Affected Node22 Viewer library build first attempt recorded; public provider emitted entry/types fingerprints retained. Ordinary source and ALL actual transitive publishConfig compiled runtime audited separately. Authentic original927 three/four/edited/empty and903 hole/disconnected files byte hashes retained. Actual permitted Chromium WebGL2 near-only/far-only/full/reversed current qualified nearest result, known filled interior and hole/components/nohit, zero vs genuine-empty, two-sided reversed camera/nearfar clip, same-leaf shared boundary and distinct-leaf ties/global-min-not-chaining using actual admitted original graph edits. Independent ray/depth oracle and actual pixels scope separated. Nonunit scale, actual CSS/backing resize, physical Inspect toggle/click/current row, source replacement/failed retention/stale callbacks, copied refs/points/getter0/Proxy/malformed/outside/wrongmode/loss/Dispose; query-only state/pixels/draw/upload/resources unchanged. One context/GL0/normal seven resources0/actual console0; source+compiled actual loss restores CPU copies but pickShell sticky refuses, Dispose clears. Preserve first failures and narrow repairs. No replay of998 native campaign, pixel-exact/native hit, performance, editor Save/Open/recovery, publication or resolution of1080 unconfirmed Mixed→Face anomaly.

#1166 remains planned after this existing ready requirement. No new Issue/Planner message.

Frozen receipt: https://github.com/barocss/barocss/issues/1063#issuecomment-6094153964

Native qualified Shell screen query complete — own bounded actual verified

Immutable parent 20b3a8dca91a672ba3240f5847319304860bd904 → clean native 483c39a6b65f7f67eb59d8c97f65e215159dc492, branch codex/issue-1063-viewer-shell-inspection, checkout /Users/user/.codex/worktrees/viewer-object-tree-935/barocss. Exact one-commit six owned paths,243 insertions/11 deletions: new shell-pick helper, additive Viewer index/README and existing Shell app/HTML/README. Git author/committer and authenticated GitHub easylogic/cyberuls@gmail.com verified. No provider/config/root/lock/policy/other-module changes, product push/PR/publication. Required998 actually adopted06106/current exports/native proof; this native delta does not repeat provider or prior Viewer adoption.

Before-code executable contract 6094153964 / published Wiki8fddafa froze API, numeric policy, ownership and actual acceptance before branch/code. Parallel core/helper+index and host ownership; root final source review/diff/build/actual evidence. First Node22.19 affected Viewer library build 0,about4.78s, original config. Helper/app syntax and diff checks0. Existing public provider emitted entry/types fingerprints retained; no new provider-build claim.

Delivered public contract

pickShell({xCss,yCss}) returns independent full-ref/local derived triangle/scene point/positive prepared view depth/approximate/ambiguity or null. Strict own-data CSS input, getter0/Proxy refusal, current Shell/available/sticky-loss/Dispose guards. Public complete original Shell preparation lowers mm once to actual F32 triangles; public F32 camera matrices are multiplied/inverted in CPU binary64. Frozen row-scaled pivot/residual/homogeneous/relative determinant guards, two-sided strict barycentric/near-far segment, exact per-leaf closest triangle and global-min1e-6 distinct-leaf set with ASCII/numeric full-ref ordering. No chaining, native UV/selection/highlight/cache/GPU state write or raster/Depth24/native precision certificate.

Opt-in Inspect mode physically queries and marks the current original full-reference row, retaining GPU colors. Known accepted host actions advance epoch; observable external scene/view/backing/CSS changes clear it. Failed candidate retains it; detached callbacks refuse; Dispose disconnects observer. An identical external SDK reload has no observable SDK generation token, so the host can detect content/view differences, not certify an unseen identical generation. This matches the absence of a public SDK epoch/history contract.

Actual source and compiled evidence

Fresh ordinary source 212 ownsrc/0 owndist, and ALL actual transitive publishConfig compiled 0 ownsrc/173 owndist, independently audited. Current GPU baseline is the retained adopted Shell/Mixed/Face providers in this author's chain; no later1102/1103/1107 Viewer guard acceptance is inferred. Client bundles, emitted JS/types fingerprints and all eight original graph file byte hashes saved.

First source HTTP/Chromium WebGL2 main flow passed without product or assertion repair:11 captured controls/9 malformed refusals plus wrong-mode/Dispose. Original three native leaves have independent plane/barycentric ray depths3/2.930000001426294/2.860000008559975; actual prepared query returns current leaf_high, depth2.8600001154013492. Actual near-only/far-only/full/reversed filled pixel colors agree with qualified nearest leaf; this is a bounded interior control, not pixel equivalence. Original equal-height graph edit returns ambiguous leaf_high independent of order. Genuine original graph offsets spaced.75e-6 scene units return leaf_low from the GLOBAL-min set and exclude farther leaf_high, proving no pairwise chaining. Same-leaf shared cap edge later returns triangle6/ambiguous:false. Inside-cap view proves two-sided filled intersection; actual near/far exclusion returns null. Original containment hole is null; both disconnected strip components hit; four-leaf capacity hits; genuine empty versus zero selected both null with different preserved provenance. Nonunit.07 scale/current backing480x360/CSS320x240, result copies/getter0/Proxy and repeat-query state/pixel/draw/upload/resource equality passed.

First compiled physical Inspect click/current row/Turn invalidation/consumed fifth-buffer failed-load row retention/CSS observer with draw+upload unchanged/source replacement/detached stale callback/actual CSS0 and4097 refusal/boundary/signed-zero/shared edge/directClear/normalDispose assertions completed. Its full duplicated snapshot receipt was too large for existing4MiB /result limit; it did not check the write response. A compact recording-only driver repeated that bounded physical flow with NO product change: original receipt measured 9,773,021 bytes, compact receipt passed and final cleanup observation separately preserved. First script/log/visual observation are retained. Initial compiled CLI page was observed about:blank while the driver waited for readiness; same permitted URL was navigated before physical actions. One read-only CLI eval used invalid await syntax and was corrected without product changes. No policy denial, new origin/browser/port workaround or998 campaign replay occurred.

Actual screenshot visually inspected: leaf_high original tuple marked, blue filled cap and concise current depth. Both source and compiled actual context loss→caller restore retain exact CPU Shell/camera/copies; pickShell remains sticky-refused, host row clears and Dispose clears authority. Separate actual candidate Mixed presentation and old Shell recovery blit faults (two calls) yield AggregateError, sticky unavailable while actualContextLost:false; CPU copies remain, query refuses, cleanup seven resource classes0/GL0. No old-pixel retention is claimed when unavailable. Lost-context explicit deletion0 is not claimed.

Normal physical disposal: one context/GL0/seven resources0, actual CLI console messages/errors/warnings 0 in both own sessions. All two browsers/two servers CLOSED. No product repair for1063. Numerically unsafe inversion/overflow guard branches were source-reviewed; no exhaustive ill-conditioned-camera campaign is claimed. No FPS/GPU time/native topology/global accuracy/editor Save/Open/history/publication or resolution of1080's unconfirmed Mixed→Face Buffer3 anomaly.

Evidence: /Users/user/.barocss-ai/v3/evidence-1063-viewer/native/: main-first-passed, physical-first/compact and final observation, source-loss/compiled-loss/unavailable, first build, client/audits/fingerprints/original manifest, CLI console/screenshot and drivers.

Status NATIVE COMPLETE / own bounded actual verified / OPEN for separate serial adoption. Exact delta20b3→483c only. Integrated checks and release remain separate. Next prepared existing1166 Surface-normal angle enters contract preparation using already adopted public D1; no new Issue/Planner status message.

Native receipt: https://github.com/barocss/barocss/issues/1063#issuecomment-6094257603

Clone this wiki locally