source monitor:
- new facade exports oakengine_renderer_create_for_node (render any
node, not just sequences) and oakengine_project_footage_at (fetch a
footage node by index); it_render covers the e2e render plus the
NULL/illegal matrix
- RealEngine renders the selected footage's real frames to the source
viewer (per-node renderer slot, frame cache invalidated on selection
change, synthetic fallback kept)
- known gap (documented): pixels stay transparent black until
oakrender's footage decode hook lands — the render surface itself is
real end to end
audio meter:
- oakaudio manager can now report per-channel linear peaks of the
buffered output (PreviewAudioDevice::peek_tail + levelmeter analysis
of the newest 8192 frames, packed/planar F32)
- new facade export oakengine_audio_output_levels (negative codes pass
through); RealEngine's AudioMeterDataSource reads it instead of
returning hardcoded silence
- tests: module peak readback + facade validation/readback matrix