Bridge camera observations through field evidence
This commit is contained in:
parent
3ab163da57
commit
ddad34f69b
8 changed files with 190 additions and 99 deletions
|
|
@ -24,16 +24,8 @@ drivers / ASIO / network feeds
|
|||
-> OBS
|
||||
```
|
||||
|
||||
But the current debug-spectrum path still exposes the pressure leak:
|
||||
|
||||
```text
|
||||
ASIO spectrum history
|
||||
-> AquariumSplineFrame
|
||||
-> direct Fensalir spline tube debug surface
|
||||
```
|
||||
|
||||
That path is allowed as a deterministic diagnostic. It is not yet the full
|
||||
Perfect Machine. The production shape is:
|
||||
The old direct debug-spectrum pressure leak has been cut. Current spectrum
|
||||
debug output is already in the production-shaped bridge:
|
||||
|
||||
```text
|
||||
rolling buffer slice + source identity + calibration + surface intent
|
||||
|
|
@ -93,8 +85,9 @@ Derived state:
|
|||
|
||||
- spectrum lines, debug views, screenshots, OBS bridge endpoints, FFmpeg/SRT
|
||||
helpers, and Eve dashboard feeds are views or diagnostics.
|
||||
- The old direct spline-spectrum dashboard is silent. FieldEvidence TubeField
|
||||
owns the spectrum surface path; screenshots and logs remain diagnostics.
|
||||
- The old direct spline-spectrum dashboard and old direct GPU sensor frame
|
||||
bridge are silent. FieldEvidence owns spectrum and camera observation
|
||||
publication; screenshots and logs remain diagnostics.
|
||||
|
||||
Forbidden writers:
|
||||
|
||||
|
|
@ -200,6 +193,11 @@ Current proof surface:
|
|||
- `Mimir.BufferSmoke --fensalir-field-dsl-resource-smoke` uses Fensalir's field
|
||||
evidence DSL to bind the declared resource directly and produce one planned
|
||||
`TubeField` packet with no deferred requests.
|
||||
- `Mimir.BufferSmoke --fensalir-camera-observation-smoke` maps one
|
||||
GPU-backed video frame and one metadata-only cadence witness into field
|
||||
evidence. Only the shared D3D12 video handle becomes a declared `Texture2D`
|
||||
resource and camera surface intent; the metadata-only frame remains
|
||||
observation evidence with no render payload.
|
||||
|
||||
Fensalir now owns the first D3D12 resource resolver cut below this contract:
|
||||
shared structured/curve buffers import/alias GPU-resident resources by handle,
|
||||
|
|
@ -250,6 +248,13 @@ can distinguish source-lane claims. Mimir exposes
|
|||
`MIMIR_SPECTRUM_SOURCE_LANES` as the source-lane capacity lever and
|
||||
`MIMIR_SPECTRUM_TUBE_SUBDIVISIONS` as the geometry cost lever for responding to
|
||||
Fensalir's requested/dispatched/truncated/invalid TubeField budget report.
|
||||
Camera descriptors now follow the same evidence/resource boundary:
|
||||
`MimirFensalirFieldLowering.BuildCameraObservationFrame` lowers latest video
|
||||
buffers into observation claims and declares GPU-backed frames as shared
|
||||
`Texture2D` resources. Metadata-only/process-cadence frames do not create
|
||||
surface intents, so a missing payload cannot become a fake `latest-window`
|
||||
render request. Camera image claims currently defer because Fensalir has not
|
||||
selected a visual-fusion/render lowering for camera textures yet.
|
||||
|
||||
### 3. Calibration Constraint
|
||||
|
||||
|
|
@ -374,9 +379,12 @@ Lower native camera descriptors into observation surfaces:
|
|||
|
||||
Acceptance:
|
||||
|
||||
- at least one local camera stream appears as Fensalir sensor observations;
|
||||
- missing frames are absence, not zero-valued evidence;
|
||||
- Fensalir owns any feature extraction result.
|
||||
- implemented bridge proof: GPU-backed video descriptors become declared
|
||||
shared `Texture2D` resources plus camera observation/surface claims;
|
||||
- metadata-only cadence descriptors remain observation evidence and do not
|
||||
become render payloads;
|
||||
- no selected camera-image lowering exists yet, so Fensalir defers those claims
|
||||
until visual fusion/feature extraction owns them.
|
||||
|
||||
### Phase 4: Audio Field Observation Bridge
|
||||
|
||||
|
|
|
|||
|
|
@ -174,6 +174,14 @@ a named invariant that the native runtime cannot protect yet.
|
|||
`Mimir.BufferSmoke --fensalir-field-dsl-resource-smoke` proves Fensalir's DSL
|
||||
evidence compiler can bind a declared resource and produce one planned
|
||||
`TubeField` packet with no deferred requests.
|
||||
- `MimirFensalirFieldLowering.BuildCameraObservationFrame` is the current
|
||||
camera bridge proof. It lowers latest video buffers into FieldEvidence
|
||||
observation claims, declares GPU/native video payloads as shared `Texture2D`
|
||||
resources, and creates camera surface intent only when a resource exists.
|
||||
Metadata-only cadence frames remain observations with empty payload handles;
|
||||
they do not become fake render requests. The old direct
|
||||
`AquariumGpuSensorFrame` builder has been removed from Mimir's proof path.
|
||||
`Mimir.BufferSmoke --fensalir-camera-observation-smoke` verifies the split.
|
||||
- Fensalir now owns the first in-process D3D12 field resource resolver cut:
|
||||
shared structured/curve buffer resources import/alias GPU-resident handles,
|
||||
and Fensalir-owned resources allocate GPU slots only when Fensalir is the
|
||||
|
|
@ -300,8 +308,8 @@ a named invariant that the native runtime cannot protect yet.
|
|||
proof, `--perfect-machine-manifest` to export the module manifest for
|
||||
tooling/UI/remote witness use, and `--perfect-machine-lowering-benchmark` to
|
||||
measure the Mimir-to-Fensalir lowering path. The current six-camera/two-audio
|
||||
synthetic lowering benchmark runs at roughly 2.5 us per iteration with about
|
||||
2.3 KB allocated per iteration.
|
||||
synthetic lowering benchmark now measures FieldEvidence camera/resource
|
||||
lowering rather than the retired direct GPU sensor DTO path.
|
||||
- `MimirVideoFrameDescriptor` for dimensions, pixel format, stride, device
|
||||
timestamp, and native/GPU handle metadata.
|
||||
- `IMimirVideoCaptureDriver` and `MimirVideoCaptureDriverSource` as the live
|
||||
|
|
@ -359,11 +367,11 @@ a named invariant that the native runtime cannot protect yet.
|
|||
volume textures, and mesh packages, and the evidence DSL can plan generic
|
||||
resource-backed claims against those resources. The next engine cuts are
|
||||
selected render lowerings that consume those resources as mesh geometry,
|
||||
height/SDF/material pages, and density/extinction/SDF3D volumes. The generic
|
||||
imported mesh ABI is no longer the blocker; TubeField now occupies the first
|
||||
generated-mesh lowering lane. The next renderer decisions are how to expose
|
||||
additional generated mesh producers and which page/volume/material lowering
|
||||
should follow.
|
||||
camera/feature textures, height/SDF/material pages, and
|
||||
density/extinction/SDF3D volumes. The generic imported mesh ABI is no longer
|
||||
the blocker; TubeField now occupies the first generated-mesh lowering lane.
|
||||
The next renderer decisions are how to expose additional generated mesh
|
||||
producers and which camera/page/volume/material lowering should follow.
|
||||
9. Move mic alignment, room suppression, voice separation, spatialization, and
|
||||
stem generation into Faust/native DSP.
|
||||
10. Keep the OBS bridge witness ledger as evidence before expanding receiver
|
||||
|
|
|
|||
Loading…
Reference in a new issue