diff --git a/docs/native-capture-cadence.md b/docs/native-capture-cadence.md new file mode 100644 index 0000000..5974b26 --- /dev/null +++ b/docs/native-capture-cadence.md @@ -0,0 +1,61 @@ +# Native Capture Cadence + +This file records measured driver-path camera cadence. It is evidence, not a +promise. + +## 2026-05-21: PS3 Eye Raw USB Probe + +Probe location: temp workspace only, outside this repo. + +Probe path: + +- raw PS3 Eye userspace driver reference; +- libusb/WinUSB interface 0; +- Bayer frame output; +- no DirectShow; +- no Media Foundation; +- no frame processing; +- five-second measurement window. + +Installed device state: + +- two PS3 Eyes present as `VID_1415&PID_2000`; +- interface 0 is available through the WinUSB/libusb-style path; +- interface 1 remains the media/audio side and is not the capture path measured + here. + +Sequential results: + +| Camera | Requested Mode | Frames | Elapsed | Delivered FPS | Avg Delta | +| --- | ---: | ---: | ---: | ---: | ---: | +| 0 | 320x240 @ 187 | 934 | 5.002s | 186.72 | 5.355 ms | +| 1 | 320x240 @ 187 | 917 | 5.001s | 183.35 | 5.454 ms | +| 0 | 640x480 @ 60 | 292 | 5.006s | 58.33 | 17.118 ms | +| 1 | 640x480 @ 60 | 290 | 5.010s | 57.89 | 17.237 ms | + +Dual-camera results in one process: + +| Camera | Requested Mode | Frames | Elapsed | Delivered FPS | Avg Delta | +| --- | ---: | ---: | ---: | ---: | ---: | +| 0 | 320x240 @ 187 | 915 | 5.005s | 182.81 | 5.476 ms | +| 1 | 320x240 @ 187 | 916 | 5.005s | 183.01 | 5.460 ms | +| 0 | 640x480 @ 60 | 294 | 5.009s | 58.69 | 17.068 ms | +| 1 | 640x480 @ 60 | 286 | 5.009s | 57.09 | 17.478 ms | + +Conclusion: the two PS3 Eyes can be treated as roughly 183 fps timing/marker +witnesses at 320x240 on the current USB topology when using the raw USB path. +At 640x480 they are roughly 57-59 fps. + +The probe reported one unrelated invalid USB descriptor from +`USB\VID_0000&PID_0002`; it did not prevent PS3 Eye capture. + +## Leap Status + +The Leap Motion Controller is currently present as `VID_F182&PID_0003` and bound +to `usbvideo.sys`, which means the active mode is LeapUVC/UVC. That mode is +mutually exclusive with the Ultraleap SDK path for this device. + +No close-to-metal Leap frame number has been measured in Mimir yet. The next +probe should use UVC/KS or a deliberately chosen LeapUVC route and should record +delivered stereo IR frames, device/embedded timestamps when available, and +arrival jitter over the same five-second window. diff --git a/state/evidence.jsonl b/state/evidence.jsonl index 0d3f72b..f8405db 100644 --- a/state/evidence.jsonl +++ b/state/evidence.jsonl @@ -2,3 +2,4 @@ {"ts":"2026-05-21T17:40:33+00:00","type":"decision","status":"ok","note":"Mimir live camera ingest should talk directly to drivers through IMimirVideoCaptureDriver: LeapUVC/libusb, LeapC images, Media Foundation, DirectShow, or GPU shared textures."} {"ts":"2026-05-21T18:55:00+00:00","type":"implementation","status":"ok","note":"Deleted script-era packages, tests, helper tools, dependency manifests, archived research mirrors, and stale docs from the working tree. The repo's live surface is C# Mimir.Runtime, Mimir.App, native reservoir, PowerShell bridge utilities, Aquarium, and Faust/native DSP."} {"ts":"2026-05-21T19:05:00+00:00","type":"correction","status":"ok","note":"Restored the research archive as reference-only memory. Research may preserve external examples and failed-path lessons, but live implementation must be rebuilt through direct drivers, native buffers, Aquarium GPU compute, and Faust/native DSP."} +{"ts":"2026-05-21T19:30:00+00:00","type":"verification","status":"ok","note":"Raw PS3 Eye libusb/WinUSB cadence probe measured both cameras simultaneously at 320x240 requested 187 Hz: camera 0 delivered 915 frames in 5.005s (182.81 fps), camera 1 delivered 916 frames in 5.005s (183.01 fps). At 640x480 requested 60 Hz they delivered 58.69 fps and 57.09 fps. Leap remains unmeasured in raw UVC/KS mode."} diff --git a/state/map.yaml b/state/map.yaml index 924405c..9bac4a6 100644 --- a/state/map.yaml +++ b/state/map.yaml @@ -78,9 +78,11 @@ current_status: bridge scripts, and persistence surfaces. Script-era packages, tests, helper tools, dependency manifests, and stale docs have been removed from the working tree. Research archives remain as reference-only memory for raw - native/GPU implementation shape. The next useful cut is direct driver - ingest, not reviving old diagnostic machinery. + native/GPU implementation shape. A raw PS3 Eye libusb/WinUSB cadence probe + measured both PS3 Eyes simultaneously at about 183 fps each at 320x240 and + 57-59 fps each at 640x480. Leap is present in LeapUVC/UVC mode but still + needs a raw UVC/KS cadence probe. next_action: > - Feed Leap stereo IR frames through `IMimirVideoCaptureDriver` into - `MimirSynchronizationHub`, measure sustained cadence over the default - five-second window, and expose the result in Aquarium runtime state. + Build the LeapUVC/UVC cadence probe, then turn the PS3 Eye raw USB probe + shape into an `IMimirVideoCaptureDriver` implementation that feeds measured + frames into `MimirSynchronizationHub`.