# Verification — Interactive Science Lab Scientific, visual and interaction verification performed locally on 13 October 2026. This is a qualitative comparison of three concepts, not a controlled benchmark of equivalent scenes. The results below describe the tested browser and device contexts. ## Results | Check | Result and evidence | |---|---| | Domain models | **PASS** — six substantive Node tests. Boyle reference pressures 200/100/50 kPa; constant PV and bounded particles; wave superposition, startup, phase, speed and pause; independently derived cube areas, side lengths, containment, scaling and degeneracies. Default numerical tolerance 1e−10; scale tests 1e−8; topology continuity 1e−6. | | Apparatus geometry | **PASS** — Anatomy static audit: chemistry 65 static solids, physics 103, geometry 79 static items plus 3 turning parts. Zero failures. [Static log](static-audit.txt), [final geometry audit](turn-audit.txt). | | Piston motion and layers | **PASS** — real moving solids at 1, 1.5, 2, 3 and 4 L; zero clearance/order failures. Explicit back/moving/front layer audit also passes. [Piston](piston-audit.txt), [layers](layer-audit.txt). | | CPU ↔ GPU field | **PASS** — 486 independent readbacks across frequency, phase, one/two sources, transient/established states and probe positions. Maximum error **5.47×10−9 m**, tolerance 2×10−7 m. Alpha is zero in the outer ten canvas pixels in all 54 tested configurations. [Browser log](browser-check.txt). DPR 3 was separately verified to use a 1.5 water ratio in the [final smoke check](final-smoke.txt). | | Chemistry display linkage | **PASS** — actual pointer movement, native slider endpoints, reset, fixed particle count and inverse-plot coordinates agree with displayed-volume model. [Browser log](browser-check.txt). | | Full TURN orbit | **PASS** — 3,200 order states, 720 posed states, 36 depth states / 108 overlapping pairs; all checks zero. The complete audit was run, not its quick mode. [Audit](turn-audit.txt). | | TURN fidelity | **PASS** — support prism checked at 12 angles / 108 faces; maximum outline/top/face discrepancy 0.0500 px (limit 0.06 px). Planted 2° error failed as expected. The vertical round parts are invariant under this rotation; the report's zero changing-round frames is not a separate round fidelity measurement. [Fidelity](turn-fidelity.txt). | | Browser depth / continuity | **PASS** — full turn: 360 depth states with zero wrong live pairs; first-difference check at 360 positions and second-difference check every 0.1° have zero surviving pop regions. Planted reversed order and disappearing-part controls failed. [Browser orbit](turn-browser.txt). | | Actual clipped specimen | **PASS** — 804 independently solved intersection states, 11,520 orbit states and 33,151 nearest-face rays. Maximum independent projection discrepancy 1.28×10−13 px; maximum point movement over 0.02° is 0.0272 px. [Adapter audit](polyhedron-audit.json). | | Lines | **PASS** — apparatus line ends in both themes; TURN at 24 angles in both themes. Zero floating ends; planted floating-line control failed. [Light](line-check.txt), [dark](browser-check.txt), [24-angle dark](turn-lines-dark.txt). | | Pointer / keyboard / touch | **PASS** — real mouse drags for piston, probe and rotation; native Home/End controls; native mobile touch drags, browser-generated pointer cancellation, subsequent drag recovery and scrolling outside the apparatus. [Touch evidence](touch-input.json), [keyboard probe](detail-other.txt). | | Mobile / reduced motion / fallback | **PASS** — 390×844 layout, no horizontal overflow; both themes; reduced motion starts paused and supports deliberate stepping; WebGL-disabled SVG retains model and controls and demonstrates zero sum at reversed equal paths. [Mobile](mobile-check.txt), [reduced](reduced-check.txt), [fallback](fallback-check.txt). | | Suspension | **PASS** — inactive and fully offscreen chemistry/physics preserve both frame count and simulation time. Geometry renders only while input is changing the view. [Inactive](browser-check.txt), [offscreen](performance.txt). | The stock TURN z-buffer/fidelity audit covers the actual mount and surrounding apparatus. The clipped cube is a focused extension using true convex boundary geometry, tested separately against independent intersections, direct rotation/projection and nearest-surface ray calculations. It is not represented by a substitute box just to satisfy the stock audit. The visible cap is also checked over 72 browser angles, including disappearance behind opaque material; rotation and reveal preserve its area and edge lengths. ## Measured rendering comparison Chrome 155 headless on macOS / Apple M1 Ultra (ANGLE Metal). Chemistry/water: 1440×850, DPR 1, three four-second runs of 240 samples each. Measurements are JavaScript callback costs and observed animation intervals, not GPU completion times. Geometry uses Anatomy’s three-run, 240-frame TURN harness. Tests below ran sequentially without another browser audit running. | Experiment | Rendering actually used / learning benefit | Main complexity | Measured performance | Fallback and limitations | |---|---|---|---|---| | Chemistry | Interactive SVG: piston, gauge, particles and exact inverse plot move together. | Moving gas mask and seal; pressure must follow eased volume. | Callback median **0.10 ms**, p95 **0.20 ms**; median interval **16.7 ms**. | SVG throughout. Illustrative molecules and equilibrium states; no collision-derived pressure or rapid-compression thermodynamics. | | Physics | SVG apparatus + registered WebGL water. Source-generated waves expose phase and travel; signed traces supply exact measurements. | Canonical CPU/GPU model, retarded startup, restart envelope, normals, camera and layer registration. | Callback median **0.70–0.80 ms**, p95 **1.10–1.20 ms**; median interval **16.7 ms**. | 36×26 sampled SVG optical surface, updated at up to 20 Hz, with identical signed probe model. Coarser appearance; ideal equal-amplitude nondispersive physics omits damping, spreading and reflection. | | Geometry | Anatomy TURN pose plus clipped convex boundary faces drawn in SVG. True projection, shading and opaque occlusion distinguish view from intrinsic section. | Robust clipping, degeneracies, independent geometry audit and a small rotating mount. | [Desktop](turn-desktop-perf.txt): set median **0.10 ms**, p95 **0.20 ms**, task **1.01 ms/frame**. [Mobile emulation](turn-mobile-perf.txt): set **0.40 ms**, p95 **0.90 ms**, task **3.70 ms/frame**. Both observed median intervals **16.7 ms**. | Requires JavaScript; no WebGL required. True 2D inset and text remain usable at every viewing angle. Four plane orientations; general solids are outside scope. | [Raw chemistry/water measurements](performance.txt). [Fallback measurements](fallback-performance.txt): p95 callbacks **2.7–3.2 ms**, median interval 16.7 ms; most frames only advance time because mesh painting is capped at 20 Hz. Mobile emulation is 390 px, DPR 3 and 4× CPU throttling on the same Mac; it is not a measurement on a physical phone. No universal frame rate or cross-browser certification is claimed. ## Visual and motion review Actually inspected the desktop and 390 px screenshots, both themes, parameter extremes, focus outlines, reduced-motion snapshots, fallback, multiple cube angles and 4× apparatus junction/cut-face crops. The final cube support spans its complete footprint, including corner sections. The light and dark framing uses a single outline, with no decorative side rails. The slowed [startup](../shots/wave-startup-sheet.png), [phase](../shots/wave-phase-sheet.png), [frequency](../shots/wave-frequency-sheet.png) and [one-source](../shots/wave-one-source-sheet.png) contact sheets show the old field clearing and new disturbance expanding from the dippers. They were captured at 0.25× clock speed, 16 frames per sequence. Rings do not instantly appear at distant points; markers stay fixed horizontally. Optical brightness oscillates with field slope and reflection and is explicitly not labeled as displacement. The [cube contact sheet](../shots/geometry-occlusion-sheet.png) shows its cap narrowing and becoming hidden as it turns through 94–138°; [full orbit](../shots/geometry-orbit.png) shows its return. Representative views: [chemistry](../shots/chemistry-desktop-final.png), [physics](../shots/physics-cancellation.png), [geometry](../shots/geometry-desktop-final.png), [mobile chemistry](../shots/mobile-chemistry.png), [mobile dark geometry](../shots/mobile-geometry-dark.png), [SVG fallback](../shots/fallback-light.png). Additional focus, extreme, line-audit and enlarged views are in `shots/`. ## Educational review | Question | Chemistry | Physics | Geometry | |---|---|---|---| | Is the first action obvious? | Handle hint, volume slider and Half volume preset. | Reverse-phase instruction, 0°/180° buttons and probe hint. | Explicit choose → reveal → turn instruction. | | Is the relationship visible without a long explanation? | Shrinking region, rising pressure and inverse-curve marker stay linked. | Equal-path dashed/dotted contributions cancel into a flat sum. | The real cut and straight-on inset show six sides; area stays fixed during rotation. | | Could motion mislead? | Rapid compression could imply constant temperature without heat exchange. Caption and model explicitly describe an equilibrium sequence and thermal reservoir. | Brightness could be mistaken for height, or markers for traveling material. Caption, signed traces, stationary horizontal marker positions and startup indicator address these risks. | An always-visible overlay would imply seeing through solid material. The cap is correctly hidden when facing away. | | Does copy remain accurate across settings? | Live volume and pressure drive the explanation; absolute pressure and fixed temperature stay explicit. | Copy distinguishes arrival, clearing, one source, reinforcement and cancellation. It reports the current probe’s path difference and established amplitude. | Polygon is computed, including irregular hexagons, changing rectangles, triangle, point, edge and coincident face. | | Does it teach while paused? | All equilibrium controls, graph and equation remain live; particle stepping is available. | Signed values and trace remain readable; discrete time stepping and probe positioning work. | No automatic rotation; every plane, reveal and viewing control is deliberate. | Remaining scope limits: no physical-phone or Safari/Firefox run, no screen-reader user study, no fluid-dynamics or molecular-dynamics claim. Static model explanations and derivations are available without JavaScript in [model notes](MODEL-NOTES.md). No required available-environment check is reported as blocked.