Depth inversion and research tooling

Hollow Face Lab

The hollow-face and hollow-mask illusion exposes a difficult boundary between bottom-up depth cues and top-down face interpretation. Hollow Face Lab treats that boundary as an instrument problem: a concave face stimulus has to run flat in a browser, enter WebXR where supported, and later connect with Rusty XR / OpenXR lab runtimes while preserving source-traceable variables. The goal is to make the hollow-face illusion testable in browser and XR settings, not merely to show a convincing illusion. Public use starts with comparing how concavity, texture, lighting, stereo/XR status, and response timing change the illusion.

Instrument problem

From illusion demo to instrument

The hollow-face illusion is useful because a concave face can be experienced as convex even when some depth cues point the other way. The app is therefore being built around logged variables rather than a single polished visual trick: mesh identity, concavity, texture/noise, lighting, material, stereo/XR status, local probes, response timing, and runtime quality all need to survive export.

Published sources and implementation choices have to stay separate: evidence can support variables and caveats without turning every design idea into an established finding.

Source-backed variables

  • Orientation, face familiarity, pigmentation, and shading.
  • Realistic face texture versus random-dot or noise texture.
  • Stereo, motion parallax, depth scaling, and local probe targets.
  • Perceptual report, slow action, rapid action, and vergence as separable channels.

Open design variables

  • Triangle-particle surfaces and mesh oversampling as gestalt manipulations.
  • Feature apertures around eyes, mouth, and nostrils.
  • Shadow-factorial and specular-reflection conditions.
  • Rights-reviewed face-mesh families beyond the V0 baseline mesh.

Implementation stack

Flat web, WebXR, and Rusty XR

V0 is a Three.js/WebGL browser app with WebXR session detection and flat-web fallback. It currently uses the Apache-2.0 MediaPipe canonical face OBJ as a neutral runtime baseline. That asset is useful for topology, UVs, and coordinate mapping, but it is not being presented as an accepted hollow-face research mesh.

The longer-term stack keeps three evidence tiers separate: flat browser use for public/low-control tasks, WebXR for browser-based immersive sessions where supported, and a later lab-native Rusty XR / OpenXR lane for controlled HMD studies, action endpoints, eye tracking, and timing-sensitive instrumentation.

Current V0 controls

  • Concave/convex face mode and concavity depth scale.
  • Lighting presets with explicit key, fill, ambient, and reflectance values.
  • Feature aperture modes for eyes, mouth, and nostrils.
  • Native and oversampled mesh resolutions.
  • Continuous mesh and triangle-particle rendering.
  • Global and local response logging with confidence and timing.

Study scope

  • No diagnostic, therapeutic, or psychosis-prediction claim.
  • No unsupervised strobe or physiology module in V0.
  • No third-party asset import without a license and provenance note.
  • No silent pooling of flat-web, WebXR, and lab-native data.

References

Current references

These links anchor the current implementation map. Some sources support scientific variables; others support asset provenance or runtime standards.

Hollow-face research

Implementation and provenance

Page exports