Download VALIDATION.md from lvwerra/microfly: direct link, hf CLI and curl.
- Browser
- Download file 6.42 kB
-
https://huggingface.co/spaces/lvwerra/microfly/resolve/main/VALIDATION.md
- Command line
-
hf download hf://spaces/lvwerra/microfly/VALIDATION.md
-
curl -L -o VALIDATION.md https://huggingface.co/spaces/lvwerra/microfly/resolve/main/VALIDATION.md
Validation — FlyDuck version 2, 2026-09-11
Production build tested in headless Chromium with MuJoCo WASM and ONNX Runtime Web.
- Actual graph tests: 4/4 passed, covering scent reversal/clearing, both output paths under synaptic ablation, direct target bounds/variation, silence and seeded reset.
- Left/right scent buttons produced neural turn commands of 0.539 and -0.416 rad/s; clearing scent produced zero forward and turn commands.
- Physical walk: 114 control steps (2.28 simulated seconds), 0.225 m path length, 0.130 m net displacement; upright.
- Direct mode: 63 direct control steps, 0 ONNX policy calls, changing neural targets and finite physical joint positions. The body fell during this run: this mode has no learned balance or gait.
- Disconnect, pause/resume, body/brain reset, synaptic ablation and mode switching: passed.
- Anatomy: 139,255 real coordinate points, 48,995 tissue-mesh vertices, active spike updates, slice control, expanded view, shell toggle and view reset: passed.
- Mobile: both 3D canvases remain more than 300 pixels tall; no horizontal overflow.
- No browser page errors.
- Pinned assets and reconstructed index mappings: all 10 SHA-256 hashes matched. Full asset re-download/reconstruction succeeded.
Evidence: browser-check.json, desktop.png, mobile.png, brain-slice.png in the workspace deliverables. The browser test produces these in test-results/.
The renderer was tested with ?low on this CPU-only machine. Normal graphics use a higher render rate and shadows. Simulation time can run more slowly than wall time. These checks establish software behavior, not biological validity or reliable goal-directed navigation. No hardware was connected.
Download progress update
A fresh Chromium session with cache disabled and a throttled 1.5 MB/s connection showed progress advancing during streaming (1% → 2% → 100%). All ten assets completed; the loading overlay closed and both walking and direct motor modes started without page errors. download-check.json and download-progress.png preserve this check in the workspace.
Head inset, food and neutral palette
- Full browser checks passed after the visual update: scent reversal/removal, walk, direct motors, pause/reset/disconnect, ablation, brain slicing/expansion and responsive layout.
- The latest physical walk covered 0.253 m over 122 steps, with 0.150 m net displacement and the body upright.
- The head inset reuses seven actual MicroDuck head meshes, contains a six-legged fly and four electrodes, and supports expansion and rotation. Disconnecting quiets its signal.
- Moving/removing the banana updates the visible food object and the existing scent input.
- The page background is neutral RGB (250, 250, 250); mobile layout has no horizontal overflow.
- No browser page errors; all ten downloaded assets still complete. The new models need no extra asset downloads.
Banana collection and animated cutaway
- All seven automated tests passed, including pickup/respawn timing, manual removal/placement during respawn, fallen-duck behavior and placement at arena boundaries.
- A browser-driven floor click placed a banana 25 cm ahead. The duck physically walked into pickup range while upright; the banana disappeared, its scent input became zero, and the collection count advanced once.
- Pausing held the banana absent. Resuming produced a different fruit location inside the arena, with fresh olfactory input. Respawn waits 0.4 seconds of simulation time.
- All four electrode leads terminate at raycast intersections with the inside of the actual head roof mesh. The fly and head model scales are unchanged.
- Default rotation, wing/leg motion, manual dragging while paused, and reduced-motion preferences passed browser checks. Pause held the camera and appendage angles fixed.
- The full existing browser checks also passed: scent reversal/clearing, upright walking (0.256 m path), direct target changes with zero ONNX calls, disconnect, reset, synaptic ablation, anatomical slicing and mobile layout. No page errors.
Evidence: food-head-check.json, food-respawn.png, and the refreshed browser-check.json in the workspace deliverables. Run node scripts/food-head-check.mjs against a production preview to reproduce the new interaction checks.
Interface cleanup
- Removed the top navigation/header and supporting title copy. The title stays on one line at viewport widths 320, 390, 730, 768 and 1440 pixels, without horizontal overflow.
- The mode selector is hidden and the default remains walking mode. Direct-motor code is retained; its existing browser check now invokes the hidden button programmatically.
- Removed duplicate route, anatomy-count, head-link and motor captions; shortened the remaining labels. The arena’s banana-placement instruction is larger and has a clear background.
- Desktop/mobile visual checks passed, including food controls, head expansion/disconnection and the relocated How it works dialog.
- Physical banana placement, pickup, scent clearing/respawning, cutaway rotation, wing/leg movement, pause and reduced-motion checks passed after the cleanup. No browser page errors.
- Production build passed. Browser rendering checks used the lightweight graphics setting on this CPU-only workspace.
Rear-follow camera
- The arena camera stays directly behind the duck's heading, at the previous default distance and elevation. It follows ground position and yaw without inheriting body pitch, roll or vertical bobbing.
- All nine automated tests passed, including heading changes across the ±π boundary and fixed-angle zoom at the available distance limits.
- Browser checks followed a real 23.7° body turn while maintaining rear alignment. Wheel zoom, two-finger pinch zoom and body reset passed.
- Dragging cannot orbit or pan the arena. Dragging and pinching did not move the banana; a floor click still placed it correctly, followed by physical collection and respawning.
- Desktop/mobile visual checks, head animation/rotation and pause/reduced-motion behavior passed with no browser page errors. Browser rendering used the lightweight graphics setting on this CPU-only workspace.
Camera position, target, distance, heading and projection values are exposed under window.flyduck.camera. The expanded scripts/food-head-check.mjs reproduces the camera and gesture checks; its evidence is in food-head-check.json.