signal / live study

HALLUCINATIONMIRROR

What if the mirror showed the interpretation instead of the image?

Open the camera and the source image disappears. A tiny local perception model periodically decides what it thinks is present. Those beliefs become geometry, fade into memory, and—when feedback is enabled—are composited faintly into the next private model frame. The machine can begin to see traces of itself.

belief field

scene → belief → residue → scene + residue → belief

model idle / camera closed

the camera image stays hidden · space opens or closes the mirror when this field is focused

camera permission has not been requested

belief—
certainty—
memory00%
feedbackon

recent residue

labels are model claims, not facts
  1. no beliefs yet—

Camera access is requested only after you choose to open the mirror. Frames are center-cropped to a small in-memory canvas and classified locally through the shared browser model worker. The raw camera feed is never displayed, recorded, uploaded, or sent to a Warp the Surface inference service. Feedback adds only generated residue geometry to the private local inference frame. Closing the mirror releases the camera and model worker.

under the surface

The error is not hidden. It becomes the material.

belief

The model's top ImageNet claims are treated as provisional readings. Confidence changes intensity, not truth status.

translation

Belief families become a small visual grammar: bilateral contours, fluid folds, radial rings, organic branches, structural ribs, mechanical facets, or granular residue.

memory

Each interpretation persists for a short time. Repeated readings reinforce one another while contradictory readings leave overlapping traces.

feedback

When enabled, a faint version of recent generated geometry is mixed into the next local model frame. Interpretation can become new evidence.

system

Perception stays sparse. The browser carries the hallucination.

input
camera / explicit browser permission
perception
Xenova/mobilevit-small / ImageNet classification
runtime
shared Transformers.js worker / q8 / browser local
cadence
one perception pass after the previous pass completes / not per-frame
renderer
Canvas 2D temporal residue field
camera recording
none
server inference
none
status
experimental / mobile-first v0

This build deliberately reuses the small MobileViT classifier already present in Warp's local-AI stack instead of introducing a heavier vision-language model. The experiment is testing recursive machine belief, not caption quality. A larger VLM earns a later tier only if richer language creates a meaningfully different feedback system.