← All work
AI & Machine Learning · Prototype · 2026

catscan

A three.js digital twin of a conceptual holographic body scanner, built from the spec's own numbers, with an audited spec and an FDTD solver held to its acceptance tests.

Year
2026
Status
Prototype
Category
AI & Machine Learning
Role
Architect & Lead

Key metrics

1,152
RF tiles
0.50 × 1.20 m
Bore
7
Spec errata found
3
Bands

Architecture

The scanner is generated from the spec's Appendix B numbers (0.50 m bore, 1.20 m active length, 48 × 24 = 1,152 RF tiles, 12 staves) and rendered with three.js. Physics runs offline and ships only its outputs, following the heart deploy pattern. A 2-D TMz FDTD kernel on MLX is the first rung of the solver ladder, gated by dispersion, energy-conservation and Courant-stability tests, and every job goes through an idempotent local sweep runner keyed on the hash of its spec.

Case study

catscan

A 3-D digital twin of a conceptual holographic body scanner, sized for a domestic cat. It shows the instrument and the cat inside it, and is built to show what a reconstruction can and cannot recover.

The instrument

  • No moving parts. A 1.20 m × 0.50 m bore lined with 48 azimuth × 24 axial = 1,152 RF tiles. No gantry, no swept focus.
  • Coded speckle. A master seed deterministically generates the temporal codes and spatial weights, which produce known pseudo-random 3-D speckle fields through the bore. The cat's tissue perturbs those fields, and a nonlinear Maxwell inversion solves for its dielectric properties.
  • Three bands, three jobs. 0.3–4 GHz for deep tomography, 4–12 GHz exploratory, and 58–63.5 / 76–81 GHz for fur and surface geometry only.

The spec's own decision gate sets the product's priorities: the result that matters is the singular spectrum, the Fisher-information map and the posterior uncertainty, not a pretty picture of a cat. Regions with no information stay visibly uncertain instead of being filled in by a learned prior.

What's built

  • Illustrative speckle figures. One bore cross-section's incident speckle, computed live from the equations on the page, beside the ring of per-element phase weights (0°, 180°, ±90°, or listening) that produced it. Step to the next epoch and a different weight set gives a different speckle, and a companion figure measures how different. These are illustrative simulations, not measured scans.
  • The scanner, to spec. Bore, tile grid, staves and cradle generated from the spec's Appendix B numbers, rendered with three.js on WebGPU with a WebGL2 fallback for phones and headless capture.

  • A spec audit. Seven confirmed errata in rev 0.2, each one checked by an attempt to refute it, including a missing minus sign in the adjoint gradient that, coded as printed, makes the optimizer climb the misfit instead of descending it.
  • The first solver rung. A 2-D FDTD kernel on Apple MLX implementing the corrected physics, held to the spec's acceptance tests: dispersion against the audited closed form, energy conservation and Courant stability.
  • A resumable sweep runner. Each physics job is a pure function of its spec, identified by the spec's hash, so a crashed or paused sweep picks up only the missing work.
  • A photo-to-3D cat pipeline. The phantom is a real cat, Macleod, reconstructed from a small photo archive: a LoRA trained on his photos generates a synthetic turnaround, Hunyuan3D-2 turns it into geometry, then retopology, a shell-fur shader with whiskers, and a Blender deform rig that turns his head toward the pointer.

How it works

The expensive solves run offline and ship only their outputs, following the Heart deploy pattern. The full-wave nonlinear inversion is a multi-GPU job and never runs in the browser. The planned interactive layer serves only the cheap work: seed replay, field-correlation audits, a coarse Born initializer and absorbed-energy lookups.

Research concept. Not a veterinary medical device and not a diagnostic claim. Human RF exposure limits do not transfer to cats; the simulator reports raw SAR, absorbed energy and temperature rise without declaring anything safe.

Tech stack

Three.js (WebGPU / WebGL2)PythonMLX (2-D FDTD)Hunyuan3D-2Blender

Gallery

Other 2026 work