42 lines
25 KiB
JSON
42 lines
25 KiB
JSON
{"ts":"2026-05-21T17:31:13+00:00","type":"implementation","status":"ok","note":"MimirVideoFrameDescriptor carries dimensions, pixel format, stride, device timestamp, and optional native/GPU handle; MimirNativeIngestStreamSource can push LeapStereoIr or other camera frames directly into rolling buffers while process-backed ingest remains a network/diagnostic edge."}
|
|
{"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."}
|
|
{"ts":"2026-05-21T20:05:00+00:00","type":"verification","status":"ok","note":"Native LeapUVC Kernel Streaming probe measured VID_F182 through usbvideo.sys without Media Foundation, DirectShow, OpenCV, or frame processing. Advertised 640x240 YUY2 stereo IR mode is 115 fps; the minimal one-buffer blocking KS read loop delivered 415 frames in 5.003s (82.95 fps). 640x120 delivered 155.40 fps against a 214 fps advertised mode. Next driver cut needs queued KS/AVStream streaming, or an explicit WinUSB/libusb UVC driver rebind decision if usbvideo.sys remains the bottleneck."}
|
|
{"ts":"2026-05-21T20:25:00+00:00","type":"verification","status":"ok","note":"LeapUVC KS probe now keeps eight asynchronous NtDeviceIoControlFile reads queued. The path reports async=yes but cadence stays effectively unchanged: 640x240 YUY2 delivered 415 frames in 5.004s (82.93 fps), and 640x120 delivered 777 frames in 5.000s (155.39 fps). The limiting factor is not simply an empty user-mode read queue."}
|
|
{"ts":"2026-05-21T20:55:00+00:00","type":"verification","status":"ok","note":"LeapUVC KS control sweep showed the short-window 83 fps result was mostly startup drag. With two seconds of warm-up discarded and eight queued async KS reads, 640x240 YUY2 delivered about 110.7 fps against 115 fps advertised; 640x120 YUY2 delivered 1030 frames in 5.003s (205.87 fps) against 214 fps advertised. Exposure, gamma, HDR/LED, gain, and dark-frame controls are reachable through KS; digital gain=0 and the old FPS-ratio selector are rejected with ERROR_INVALID_PARAMETER."}
|
|
{"ts":"2026-05-21T21:25:00+00:00","type":"verification","status":"ok","note":"Razer Kiyo direct KS probe measured VID_1532 PID_0E03 and PID_0E05 camera interfaces with eight queued async reads and two-second warm-up discard. Plain Kiyo is exposure-limited by default: 1920x1080 MJPG reaches 30.27 fps with manual exposure -9/-10, and 1280x720 MJPG reaches 51.51 fps after manual exposure/gain sweep against 60 fps advertised. Kiyo Pro advertises 60 fps at 1280x720 and 1920x1080 MJPG, but the current KS path delivers only about 25 fps regardless of manual exposure; it needs separate control/driver investigation before high-cadence use."}
|
|
{"ts":"2026-05-21T21:55:00+00:00","type":"verification","status":"ok","note":"Online Kiyo Pro research found matching trouble reports: Razer documents 1080p60/720p60, HDR can reduce frame rate, anti-flicker/powerline can interact with frame rate, and Microsoft maps low-light compensation to AUTO_EXPOSURE_PRIORITY, which can vary frame rate. Local KS follow-up found Kiyo Pro reports low-light priority=1 and powerline=50Hz. Setting low-light priority to 0 did not improve cadence; setting powerline to 60Hz moved 720p/1080p MJPG only from about 25 fps to about 29 fps. Standard KS controls are not enough; next step is compare Synapse/OBS and inspect vendor/extension controls or firmware state."}
|
|
{"ts":"2026-05-21T22:15:00+00:00","type":"verification","status":"ok","note":"Kiyo Pro HDR-off test added KSPROPERTY_CAMERACONTROL_EXTENDED_VIDEOHDR get/set with filter-scope and pin-0 extended-property headers. The camera returns Element not found for standard extended Video HDR, and setting HDR off does not change cadence: 720p/1080p MJPG remain about 25 fps. HDR may still be controlled through Razer/Synapse, but not via the standard Windows extended Video HDR KS property on this path."}
|
|
{"ts":"2026-05-21T22:45:00+00:00","type":"verification","status":"ok","note":"Kiyo Pro controls-only probe parsed USB descriptors through hub IOCTLs without Synapse. The device exposes UVC extension units {2c49d16a-32b8-4485-3ea8-643a152362f2} and {23e49ed0-1178-4f31-ae52-d2fb8a8d3b48}; the second answers KS selector probes including writable selectors 1,3,4,6,11,12,14,15 and readable selector 10 returns ASCII PYTHON_V2B. Stronger finding: the local Kiyo Pro is behind a Genesys Logic VID_05E3&PID_0610 hub at USB speed 2 / bcdUSB 0x0210, so it is on a high-speed USB 2.x path rather than SuperSpeed USB 3.x. Verify/move bus topology before mutating unknown vendor controls."}
|
|
{"ts":"2026-05-21T23:10:00+00:00","type":"verification","status":"ok","note":"After moving Kiyo Pro to a motherboard USB3 port, the descriptor path changed to root_hub30 port 7 with bcdUSB 0x0320 and 720p/1080p YUY2/MJPG/H264/NV12 all advertised at 60 fps. Windows still reports USB speed enum 2 (UsbHighSpeed, not UsbSuperSpeed). Baseline cadence remains locked around 25 fps across all tested 720p/1080p formats: YUY2 24.96/24.98, MJPG 25.20/25.03, H264 25.19/25.01, NV12 25.07/25.16. Verify a true SuperSpeed cable/port path before blaming unknown vendor selectors."}
|
|
{"ts":"2026-05-21T23:25:00+00:00","type":"verification","status":"ok","note":"Kiyo Pro moved to a second motherboard USB3 port: composite device is now Port_#0008.Hub_#0003 on the same AMD ROOT_HUB30. The device descriptor remains bcdUSB 0x0320 but hub IOCTL reports negotiated speed UsbHighSpeed(2), not UsbSuperSpeed(3). Cadence was not rerun because this is the same high-speed fallback state; next physical test is a known-good USB3 data cable or a known-good SuperSpeed device on the same ports."}
|
|
{"ts":"2026-05-22T00:05:00+00:00","type":"verification","status":"ok","note":"Kiyo Pro moved to neighbor sender machine Raven. PnP reports camera/media/composite/microphone interfaces present. Descriptor-only probe reports VID_1532 PID_0E05 on Raven USB3 root hub port 6 with bcdUSB 0x0320 but negotiated speed UsbHighSpeed(2), not UsbSuperSpeed(3); Raven hub inventory reports zero SuperSpeed devices. Same cable/camera failing SuperSpeed on two machines makes the stock cable or Kiyo Pro SuperSpeed lane the stronger suspect."}
|
|
{"ts":"2026-05-22T00:30:00+00:00","type":"verification","status":"partial","note":"Simultaneous local camera pull found only three camera devices visible: LeapUVC, Kiyo Pro, and one PS3 Eye; regular Kiyo and the second PS3 Eye were absent. KS multi harness plus raw PS3 Eye probe pulled Leap 640x240 YUY2, Kiyo Pro 1080p MJPG, and PS3 Eye concurrently. With PS3 Eye 640x480@60: Leap 40.12 fps, Kiyo Pro 24.99 fps, PS3 Eye 56.06 fps. With PS3 Eye 320x240@187: Leap 81.10 fps, Kiyo Pro 25.33 fps, PS3 Eye 185.74 fps. Leap loses cadence under shared USB load; split high-rate cameras across controllers before claiming six-camera viability."}
|
|
{"ts":"2026-05-22T00:50:00+00:00","type":"verification","status":"ok","note":"After port swapping, five camera devices / six optical sensors were visible and pulled simultaneously: LeapUVC's packed stereo IR pair, Kiyo Pro, regular Kiyo, and two PS3 Eyes. Kiyo Pro still negotiated UsbHighSpeed(2) on root_hub30 despite bcdUSB 0x0320; hub inventory reported zero SuperSpeed devices. With both PS3 Eyes at 640x480@60: Leap stereo 57.33 fps, Kiyo Pro 24.97 fps, Kiyo 30.30 fps, PS3 Eye 0 59.59 fps, PS3 Eye 1 57.60 fps. With both PS3 Eyes at 320x240@187: Leap stereo 81.05 fps, Kiyo Pro 24.97 fps, Kiyo 30.28 fps, PS3 Eye 0 187.60 fps, PS3 Eye 1 187.03 fps. All currently intended optical sensors can be pulled at once through direct-driver probes; Leap remains topology-sensitive."}
|
|
{"ts":"2026-05-22T01:10:00+00:00","type":"verification","status":"partial","note":"Port isolation follow-up put Leap alone on the blue rear USB3 group/root_hub30#5 port 3, Kiyos together on root_hub30#7&18eea21b, and Eyes on remaining front/back USB-A ports. Only one PS3 Eye enumerated. Visible simultaneous pull with PS3 Eye at 320x240@187 delivered Leap stereo 80.99 fps, Kiyo Pro 24.93 fps, Kiyo 30.37 fps, and PS3 Eye 185.85 fps. Leap did not recover to its solo ~110 fps cadence despite root-hub isolation, so the bottleneck is not only same-row/same-root-hub contention; investigate broader xHCI scheduling, CPU/interrupt pressure, or KS/usbvideo behavior under multi-device load."}
|
|
{"ts":"2026-05-22T01:30:00+00:00","type":"verification","status":"partial","note":"After splitting cameras across Mimir and Raven, the local Mimir host enumerated LeapUVC, regular Kiyo, and one PS3 Eye. Local simultaneous pull with PS3 Eye 320x240@187 delivered Leap 81.34 fps, Kiyo 30.27 fps, and PS3 Eye 185.56 fps. Leap+Kiyo only delivered Leap 82.77 fps and Kiyo 16.83 fps. Leap-only same-session baseline delivered 84.18 fps, with best fast-combined scenario 92.87 fps and 640x120 baseline 173.62 fps. Offloading Kiyo Pro and one PS3 Eye did not restore the previous ~110.8 fps Leap result; current hypothesis shifts to Leap port/controller/device state or KS/usbvideo behavior, not only total local camera bandwidth."}
|
|
{"ts":"2026-05-22T01:45:00+00:00","type":"verification","status":"ok","note":"Moving the Focusrite Scarlett Solo away from the Leap USB neighborhood substantially recovered local split-host cadence. Leap-only baseline rose to 95.48 fps, best fast-combined scenario to 101.67 fps, and 640x120 baseline to 192.83 fps. With local Leap + regular Kiyo + one PS3 Eye at 320x240@187 active, Leap delivered 105.10 fps, Kiyo 30.17 fps, and PS3 Eye 185.81 fps. The split-host local set is viable; the prior ~81 fps Leap band was caused by local USB layout including the Focusrite, not just camera count."}
|
|
{"ts":"2026-05-22T02:05:00+00:00","type":"verification","status":"partial","note":"Raven PS3 Eye raw interface initially had no driver binding. Exported the working Mimir host libwdi WinUSB driver package from oem26.inf, copied it to Raven under C:\\Meta\\mimir-ps3eye-winusb-driver, added the libwdi self-signed certificate to Raven Root and TrustedPublisher stores, and installed it as oem34.inf with pnputil. Raven now reports VID_1415&PID_2000&MI_00 as USBDevice OK, provider libwdi, service WinUSB. The copied ps3eye_dual_cadence.exe opens the device, but cadence is not viable yet: 320x240@187 delivered 132.24 fps then 78.93 fps, and 640x480@60 delivered 6.32 fps with multi-second gaps. Driver open is solved; Raven USB path/device cadence still needs isolation."}
|
|
{"ts":"2026-05-22T02:35:00+00:00","type":"verification","status":"ok","note":"Moved the Raven PS3 Eye back to the Mimir host. Local enumeration showed LeapUVC, regular Kiyo, and two PS3 Eyes; Kiyo Pro was not local. With Focusrite away from the Leap USB neighborhood, all local sensors ran in parallel cleanly. With both PS3 Eyes at 320x240@187: Leap 106.07 fps, Kiyo 30.33 fps, PS3 Eye 0 186.57 fps, PS3 Eye 1 186.14 fps. With both PS3 Eyes at 640x480@60: Leap 108.07 fps, Kiyo 30.34 fps, PS3 Eye 0 57.79 fps, PS3 Eye 1 58.08 fps. Current local topology is viable for Leap stereo + regular Kiyo + both PS3 Eyes."}
|
|
{"ts":"2026-05-22T02:55:00+00:00","type":"verification","status":"ok","note":"Moved Kiyo Pro back to the Mimir host. Local enumeration showed LeapUVC, Kiyo Pro, and two PS3 Eyes; regular Kiyo was not local. Kiyo Pro remained on root_hub30#7&18eea21b port 8 at UsbHighSpeed(2), bcdUSB 0x0320. With both PS3 Eyes at 320x240@187: Leap 110.80 fps, Kiyo Pro 24.97 fps, PS3 Eye 0 187.46 fps, PS3 Eye 1 186.89 fps. With both PS3 Eyes at 640x480@60: Leap 110.72 fps, Kiyo Pro 24.87 fps, PS3 Eye 0 59.91 fps, PS3 Eye 1 59.19 fps. Kiyo Pro does not poison Leap cadence in the current layout; it remains a ~25 fps high-speed USB RGB source."}
|
|
{"ts":"2026-05-22T03:15:00+00:00","type":"verification","status":"ok","note":"Moved regular Kiyo from front panel to rear port and mouse into Leap USB neighborhood. All five camera devices / six optical sensors were visible locally: LeapUVC stereo, Kiyo Pro, regular Kiyo, and two PS3 Eyes. With both PS3 Eyes at 320x240@187: Leap 110.84 fps, Kiyo Pro 25.08 fps, Kiyo 30.18 fps, PS3 Eye 0 187.59 fps, PS3 Eye 1 187.02 fps. With both PS3 Eyes at 640x480@60: Leap 110.76 fps, Kiyo Pro 25.14 fps, Kiyo 30.18 fps, PS3 Eye 0 59.66 fps, PS3 Eye 1 59.95 fps. The full intended local optical set is viable; Kiyo Pro remains cadence-limited by high-speed USB negotiation."}
|
|
{"ts":"2026-05-22T03:35:00+00:00","type":"verification","status":"ok","note":"Rechecked the final full local topology after the regular Kiyo was moved to a rear port and a mouse moved into the Leap USB neighborhood. All five camera devices / six optical sensors remained visible and cadence stayed healthy. High-rate Eye run: Leap 110.84 fps, Kiyo Pro 25.08 fps, regular Kiyo 30.18 fps, PS3 Eye 0 187.59 fps, PS3 Eye 1 187.02 fps. Full-frame Eye run: Leap 110.76 fps, Kiyo Pro 25.14 fps, regular Kiyo 30.18 fps, PS3 Eye 0 59.66 fps, PS3 Eye 1 59.95 fps. Mouse traffic does not reproduce the Focusrite-induced Leap collapse."}
|
|
{"ts":"2026-05-22T04:10:00+00:00","type":"implementation","status":"ok","note":"Added a diagnostic frame-event path from native camera probes into Mimir.Runtime rolling buffers. MimirFrameEventProcessStreamSource reads JSON-line video-frame metadata into MimirVideoFrameDescriptor samples; KS and repo-owned PS3 Eye probes can emit those frame events. This is a playground witness for Aquarium UI/cadence, not the final pixel hot path."}
|
|
{"ts":"2026-05-22T04:45:00+00:00","type":"verification","status":"partial","note":"Mimir.BufferSmoke loaded the probe runtime config, started the KS and PS3 Eye frame-event probes, polled MimirSynchronizationHub, and confirmed live samples in rolling buffers for leap-stereo-ir, kiyo-rgb, ps3-eye-0, and ps3-eye-1. Kiyo Pro is declared but empty: the KS path enumerates the device and modes, then fails at KSSTATE_ACQUIRE with ERROR_INVALID_HANDLE. PnP camera interface reports OK, composite reports OK, media interface reports Error, and non-elevated pnputil restart is denied."}
|
|
{"ts":"2026-05-22T05:05:00+00:00","type":"verification","status":"ok","note":"After replugging the Kiyo Pro, all Pro PnP interfaces reported OK and the KS probe again measured 1280x720 MJPG at 24.97 fps and 1920x1080 MJPG at 25.19 fps. Mimir.BufferSmoke with --require-samples then confirmed all five declared local optical buffers received samples: kiyo-pro-rgb 99, kiyo-rgb 120, leap-stereo-ir 401, ps3-eye-0 937, ps3-eye-1 937 over the 8 second smoke run. Pro remains UsbHighSpeed and ~25 fps, but it is now in the runtime buffers."}
|
|
{"ts":"2026-05-22T05:35:00+00:00","type":"verification","status":"ok","note":"Added native/probes/wasapi_audio_cadence and MimirAudioBlockDescriptor so WASAPI audio-block metadata enters Mimir.Runtime rolling buffers through the diagnostic event adapter. Endpoint inventory found five capture endpoints and four render endpoints. Full Mimir.BufferSmoke with --require-samples and active music on Scarlett speakers proved ten non-empty buffers: five camera buffers, Focusrite mic, Kiyo mic, Kiyo Pro mic, one USB Camera mic, and Scarlett speaker loopback. Scarlett loopback is silent/no-packet when no render stream is active; the second USB Camera mic endpoint enumerates OK but produced zero WASAPI packets in standalone and simultaneous tests."}
|
|
{"ts":"2026-05-22T05:50:00+00:00","type":"verification","status":"partial","note":"Correlated the two PS3 Eye audio endpoints to their USB parents. The working endpoint is Microphone (5- USB Camera-B4.09.24.1), MMDEVAPI {57befef3-599c-4c73-a0cd-9539ffc2f54f}, parent USB\\VID_1415&PID_2000&MI_01\\9&35158e62&0&0001 / composite USB\\VID_1415&PID_2000\\8&29c54ea8&0&4; its camera interface MI_00 is bound to libusbK and WASAPI emits 480-frame blocks. The silent endpoint is Microphone (4- USB Camera-B4.09.24.1), MMDEVAPI {f26c55af-5018-438a-8cc1-6dbead205a3c}, parent USB\\VID_1415&PID_2000&MI_01\\9&11052345&0&0001 / composite USB\\VID_1415&PID_2000\\8&2efe0359&0&1; its camera interface MI_00 is bound to WinUSB/libwdi and standalone WASAPI capture opens but emits zero packets. Both MI_01 audio devices report Microsoft usbaudio OK, so the failure is stream data, not endpoint enumeration."}
|
|
{"ts":"2026-05-22T06:05:00+00:00","type":"verification","status":"ok","note":"After the other PS3 Eye was unplugged/replugged, the previously silent Microphone (4- USB Camera-B4.09.24.1) endpoint started emitting 480-frame WASAPI blocks even though its MI_00 camera interface remained on oem26.inf / WinUSB/libwdi. Full Mimir.BufferSmoke with --require-samples proved 11 non-empty buffers: five camera buffers, Focusrite mic, Kiyo mic, Kiyo Pro mic, both PS3 Eye mics, and active Scarlett speaker loopback. The earlier driver-as-cause hypothesis is weakened; the failure was fixed by device re-enumeration without changing the camera-side driver binding."}
|
|
{"ts":"2026-05-22T06:25:00+00:00","type":"implementation","status":"ok","note":"Ported the first synchronization measurement loop into the current runtime. WASAPI probe can emit base64 sample payloads with audio-block JSON, MimirFrameEventProcessStreamSource decodes them into MimirStreamSample.Data, and MimirAudioSynchronizationAnalyzer estimates delay by normalized cross-correlation against mic-focusrite-local. Two-mic sync smoke with sample payloads proved both buffers and reported mic-focusrite-local->mic-usb-camera-0 delaySamples=2138, delayMs=44.542, confidence=0.393 over 4800 compared samples. This is measurement only; SRO smoothing, adaptive resampling, and fractional-delay correction are still next."}
|
|
{"ts":"2026-05-22T11:39:31+01:00","type":"verification","status":"partial","note":"Chirplet-backed sync smoke used Scarlett speaker loopback as timing authority with 9-16 kHz calibration chirps playing, resampled 48 kHz mics into the 44.1 kHz loopback timeline, and built an aligned audio frame with 4 channels: loopback, mic-focusrite-local delaySamples=-768 confidence=0.160, mic-kiyo delaySamples=-256 confidence=0.119, and mic-kiyo-pro delaySamples=-1664 confidence=0.118. Both PS3 Eye audio buffers were empty in this run while both PS3 Eye camera buffers were live, so PS3 Eye audio remains enumeration/runtime-fragile rather than solved."}
|
|
{"ts":"2026-05-22T11:48:37+01:00","type":"verification","status":"ok","note":"After replugging the PS3 Eyes, full Mimir.BufferSmoke with --require-samples proved both PS3 Eye audio buffers were live again: mic-usb-camera-0 count=324 and mic-usb-camera-1 count=210, each reporting 2ch 48000Hz Float32 480-frame WASAPI blocks. Both PS3 Eye camera buffers were live at the same time. Loopback-referenced sync reports included mic-usb-camera-0 delaySamples=2368 confidence=0.095 and mic-usb-camera-1 delaySamples=-2304 confidence=0.152; only mic-usb-camera-1 cleared the current aligned-frame confidence gate in that run."}
|
|
{"ts":"2026-05-22T11:58:15+01:00","type":"verification","status":"ok","note":"Delay signs were suspect because MimirAudioSynchronizationAnalyzer compared latest sample tails from buffers with different edge timestamps. The analyzer now estimates each pair at a shared timestamp edge and BuildAlignedAudioFrame chooses an output edge all positive-late channels can supply. Controlled 9-16 kHz chirplet smoke after the fix reported positive loopback-relative PS3 Eye delay: mic-usb-camera-1 delaySamples=704, delayMs=15.964, confidence=0.166, and the aligned frame contained loopback plus mic-usb-camera-1."}
|
|
{"ts":"2026-05-22T12:38:53+01:00","type":"implementation","status":"ok","note":"Documented the chirplet calibration model and started the structured implementation. MimirChirpletCalibrationPhrase now owns a harmonic-ish phrase around 8 kHz, 10 kHz, 12 kHz, and 16 kHz, PCM rendering for Aquarium emission, matched chirplet timing traces, and per-band matched-energy response hooks. MimirRuntime emits that shared phrase instead of a separate hard-coded sweep, and MimirAudioSynchronizationAnalyzer uses the same phrase for loopback-referenced delay analysis with 16-sample hops and parabolic fractional peak interpolation. BufferSmoke output now includes fractionalDelaySamples and per-band energy."}
|
|
{"ts":"2026-05-22T12:42:00+01:00","type":"verification","status":"ok","note":"Built Mimir.slnx with zero warnings after structured chirplet changes. A 4-second Mimir.BufferSmoke run against the full probe config printed fractional delays and band energy, and built a 5-channel aligned frame: loopback plus mic-focusrite-local fractionalDelaySamples=2239.233 confidence=0.105, mic-kiyo fractionalDelaySamples=1859.505 confidence=0.496, mic-usb-camera-0 fractionalDelaySamples=2338.772 confidence=0.395, and mic-usb-camera-1 fractionalDelaySamples=1934.795 confidence=0.183. This run verifies report plumbing; the final response normalizer and fractional-delay actuator are still future work."}
|
|
{"ts":"2026-05-22T12:46:18+01:00","type":"implementation","status":"ok","note":"Added MimirAudioSynchronizationStateTracker and MimirAudioSynchronizationState. The hub now updates confidence-gated per-source sync state from chirplet reports, smoothing fractional delay and estimating delay-slope/SRO in ppm. Mimir.BufferSmoke polls sync during the run and prints sync-state lines; Aquarium UI exposes the smoothed state. Verification built cleanly and a phrase-backed smoke printed sync-state loopback-scarlett-speakers->mic-usb-camera-0 smoothedDelaySamples=47.397 delayMs=1.075 sroPpm=0.000 confidence=0.216. Final fresh reports can still disappear when loopback rendering stops or falls outside the shared buffer edge, so active loopback remains a live precondition."}
|
|
{"ts":"2026-05-22T12:53:02+01:00","type":"implementation","status":"ok","note":"Changed chirplet calibration from a single repeated motif to a stateless timeline fingerprint. MimirChirpletCalibrationPhrase.ForIndex(N) deterministically generates phrase N; runtime emits N mod 16 every 3.25 seconds, and the analyzer searches the 16-phrase cycle. Each phrase is a birdsong-like asymmetric motif with six chirplets spread over about 1.38 seconds. Mimir.slnx built cleanly. A short BufferSmoke run completed without analyzer errors, but loopback emitted zero packets during that smoke, so it verified plumbing only, not fresh delay estimates."}
|
|
{"ts":"2026-05-22T13:12:32+01:00","type":"verification","status":"partial","note":"Actual Mimir.App runtime test with MIMIR_RUNTIME_CONFIG=config/mimir-runtime.probes.example.json and MIMIR_SYNC_TELEMETRY_SECONDS enabled proved Aquarium WASAPI output wakes the Scarlett loopback in the real app path. Headless run showed loopbackCount rising to 57 with mic buffers live; visible-window run showed loopbackCount 77 with Focusrite/Kiyo/Kiyo Pro/PS3 Eye mic buffers live. The runtime now updates sync analysis on a 0.5s cadence and telemetry prints loopback, reports, states, and audio buffer counts. No confident acoustic sync state locked in these app runs: reports were absent until enough phrase audio accumulated, then a live report appeared with confidence 0.000. Treat this as online emission/capture proven, online acoustic lock not yet solved."}
|
|
{"ts":"2026-05-22T13:34:00+01:00","type":"implementation","status":"ok","note":"Replaced the discrete 16-phrase chirplet cycle with MimirChirpletTimeline, a deterministic unbounded chirplet stream. MimirRuntime now continuously queues uncached 0.5-second PCM segments through Aquarium audio with 1 second of lead, and MimirAudioSynchronizationAnalyzer extracts continuous chirplet atom energy traces from loopback and mic windows rather than searching a finite phrase cycle. Short headless Mimir.App telemetry runs proved the actual runtime path now locks online: loopback and all six audio buffers were live, reports were produced, and sync states appeared for Focusrite, Kiyo, Kiyo Pro, and both PS3 Eye mics. Delay estimates are still jumpy enough that the fractional-delay/SRO actuator should wait for better state filtering."}
|
|
{"ts":"2026-05-22T14:10:00+01:00","type":"implementation","status":"partial","note":"Changed MimirChirpletTimeline from anonymous deterministic texture to an explicit order-3 de Bruijn symbol timeline over 32 separated chirp symbols. Any three consecutive correctly detected symbols identify a timeline event within the current operating horizon; reports now expose timelineMatchedEvents and timelineConfidence when event-index refinement is used. A synthetic check rendered two seconds of canonical timeline audio and decoded events 0, 1, and 2 back to a window start of -0.0015 seconds. Real headless app sniff did not provide a clean physical proof because Scarlett loopback capture again stopped advancing early; build remains clean."}
|