# flylab — lab edition handoff

10 September 2026. Current product notes supersede historical release descriptions
in the copied reference docs. Historical experimental results retain their
original dates and scope; they are not new measurements of this lab edition.

## Delivered

- No-build ES-module viewer in `dist/`, exact copied Python service in `backend/`.
- All 27 requested public source files acquired before editing. Original SHA-256
  values are in `source-manifest.json`. The public archive additionally supplied
  the original tests, project license, Three.js license and companion references.
- A procedural research room, benches, instruments and an open-room experiment.
  The user requested removing the cage; all subjects roam the lab. Near walls/ceiling are transparent for observation; the room envelope is
  present. The floor has a measurement grid. Recognizable peeled-banana, fish and meat
  meshes replace the earlier colored stimulus discs.
- The fume-hood sash uses physical glass under WebGL2 and basic transparency in CPU
  compatibility mode. WebGL uses two initialized RectAreaLights and a soft shadow
  key. CPU uses directional equivalents. Lights switches to night observation.
- User-supplied monochrome fly logo, stored unmodified, with a CSS header crop.
  Interface colors follow the black/white logo. Individual subjects keep their
  high-visibility colors and the brain keeps its measurement color scale.
- Original fly model, detailed portrait, neural inspector, connection validation,
  neural config and all backend files preserved. Local simulation changes are
  lab bench obstacles, room/spawn bounds and stimulus placement. Per the later
  free-flight request, subjects now cruise in open air throughout each post-feeding
  cooldown before choosing food again. Feeding durations and threat interruption
  remain intact; these changes apply only to the procedural demo.

## Coordinates and limits

World meshes use nominal metres. Simulation units render at 0.5 m, with a 0.05 m vertical offset. This is a display transform, not a biological scale calibration.
Flies, food, trails, selections and cameras use the same transform; ray-picked
commands invert it. The original fly geometry is scaled, not rewritten.

The backend was explicitly required to remain unchanged. Its positions fit
inside the room through the transform, but its original obstacle mechanics
remain active and do not describe the new lab. A future physical lab backend
requires a separately authorized backend revision. Neural dynamics, input/output
mapping and WebSocket shapes were not modified for visual responsiveness.

The supplied service exposes population/sample spike measurements and body
summaries, but not raw sensory/motor arrays in state packets. RUN.md lists the
actual fields. An authenticated fixture proves integration, not MaleCNS biology.

## Scientific disclosure

The real atlas contains 1,430 source-derived MaleCNS soma locations. Local mode
shows anatomy only. Atlas mismatch hides all activity. A fixture cannot be mapped
to real cells; `tests/prepare_fixture.py` creates a separate eight-node synthetic
viewer with arbitrary diagram coordinates and an exact telemetry hash.
The fixture's spikes are measured from the real supplied engine, not fabricated
by the browser. It does not replace the real atlas.

The backend remains experimental LIF with engineered sensory and motor mappings.
No biological validity, learning, aging, aerodynamics, chemical discrimination,
or social behavior is claimed. Annotation classes are not anatomical regions.

## Evidence and remaining scope

See `FLYLAB-QA.md` for current results. `BROWSER-QA.md`, `FLIGHT-UPDATE.md`, the
copied JSON measurements, and `FLYWORLD-HANDOFF.md` are historical source records.
Hardware GPU performance, CUDA parity, full MaleCNS import/execution and public
TLS hosting have not been retested or deployed in this local edition. The default
endpoint remains unset. Tokens exist only in the user's process/session.
