Skip to content

Keep native capture groups during translation-only drags - #302

Merged
ClodoCapeo merged 85 commits into
mainfrom
eleven/local-20261018-group-geometry
Oct 18, 2026
Merged

ClodoCapeo merged 85 commits into
mainfrom
eleven/local-20261018-group-geometry

Conversation

@ClodoCapeo

@ClodoCapeo ClodoCapeo commented Oct 18, 2026 •

Copy link
Copy Markdown
Member

Moving an editable capture by 37×23 px rebuilt the native OBS composition group: the isolated baseline spent 259 ms rebuilding, 283 ms through the graphics callback, and skipped 16 render frames. This change retains the admitted group for capture translation only. It checks scene topology, inputs, and effects under OBS's existing lock order, updates world matrices atomically, and falls back to the full rebuild whenever the structure or effects change. Preview and Live use the same native group path.

Five isolated translation commits took 0.138–0.242 ms in the geometry update, with no group rebuild. Full-rebuild and retained-group 1920×1080 pixel hashes matched exactly. Capture settings remained live; an internal effect change took the full rebuild path and succeeded.

The complete Windows x64 bundle built and packaged with 1,256 files (397,821,398 bytes) and a coherent telemetry payload. It was locally qualified in Prism: 301/301 native frames sampled at 1920×1080/60 over five seconds off-air, with zero skipped frames. These tests did not use Live, REC, or Computer Use. Visible Electron pixels during a mouse drag remain unmeasured. No remote version or binary release has been published.

Secret-scan audit

The reviewed baseline delta contains 6,773 entropy detections across 276 files: 6,771 hex-only values and two Base64-formatted checkout labels. The hex findings classify as generated request UUIDs, Git commit/blob identifiers, and SHA-256 content or provenance digests. The labels contain a Git revision. No credential-shaped fields or verified secrets were found. Only these audited additions are marked is_secret: false; the original 22 baseline entries retain their prior unknown status.

The baseline's path keys and record filenames now use POSIX / separators to match GitHub's Ubuntu runner. Local exact result-map equality passes with 6,795 findings and zero additions or removals after path normalization. The latest GitHub Actions run for this head passes the detect-secrets audit against baseline and verified-secret TruffleHog gates; the dependency audit, lockfile, and CODEOWNERS checks pass. The large-diff detector was fixed and the complete native CI pipeline now passes: build, binary export, offline probes, and real-CEF capture-to-PGM compatibility.

This branch is qualified for integration. Evidence: evidence/local-20261018-group-geometry/eleven/20261018T154032Z-translation-only-geometry.md, evidence/local-20261018-group-geometry/eleven/20261018T154710Z-full-bundle-attestation.md, and evidence/local-20261018-pr302-secret-scan/eleven/20261018T161631Z-pr302-secret-scan-triage.md.

Add native alpha/audio stingers for Take and same-lane scene switches,
with explicit configuration, frame-boundary completion and a typed client.
No default media or Prism UI is included.

Agent-Role: eleven
Agent-Thread: 01a11b19-56f8-7e33-a1c7-9ddfe1bb96c7
Work-Unit: local-20261008-webm-transition
Issue: local-20261008-webm-transition
Evidence: evidence/local-20261008-webm-transition/eleven/
Record native same-lane and Take completion through the running Prism
client, including interrupted attempts, the Preview bridge limitation,
and verified restoration of the original runtime and viewing return.

Agent-Role: eleven
Agent-Thread: 01a11b19-56f8-7e33-a1c7-9ddfe1bb96c7
Work-Unit: local-20261008-webm-transition
Issue: local-20261008-webm-transition
Evidence: evidence/local-20261008-webm-transition/eleven/20261008T134800Z-prism-test-summary.json
Own the Windows real-time work queue platform before libobs startup and
release it only after source teardown. Reproduce MF_E_SHUTDOWN against the
real Windows API and validate repeated WASAPI captures and running Prism.

Agent-Role: eleven
Agent-Thread: 01a11b19-56f8-7e33-a1c7-9ddfe1bb96c7
Work-Unit: local-20261008-rtwq-lifecycle
Issue: local-20261008-rtwq-lifecycle
Evidence: evidence/local-20261008-rtwq-lifecycle/eleven/20261008T143300Z-report.md
Track the launcher's termination request before signaling its child.
Preserve unexpected-exit errors and the primary failure on startup cleanup.
Validate both bundles and a real isolated native Pulsar shutdown.

Agent-Role: eleven
Agent-Thread: 01a11b19-56f8-7e33-a1c7-9ddfe1bb96c7
Work-Unit: local-20261008-rtwq-lifecycle
Issue: local-20261008-rtwq-lifecycle
Evidence: evidence/local-20261008-rtwq-lifecycle/eleven/20261008T144500Z-exit-report.md
Keep configurable video transitions compatible with the approved local libobs,
include RTWQ and expected-stop fixes, and verify decoder/contract behavior.

Agent-Role: eleven
Agent-Thread: 01a11b19-56f8-7e33-a1c7-9ddfe1bb96c7
Work-Unit: local-20261008-webm-transition
Issue: local-20261008-webm-transition
Evidence: evidence/local-20261008-webm-transition/eleven/20261008T154700Z-media-settings-report.md
Hold the configured media at its cut while the host updates the persistent Preview composite, then reopen and restore the native view. Keep Program and Take independent; bound abort and timeout recovery.

Agent-Role: eleven
Agent-Thread: 01a11b19-56f8-7e33-a1c7-9ddfe1bb96c7
Work-Unit: local-20261008-webm-transition
Issue: local-20261008-webm-transition
Evidence: evidence/local-20261008-webm-transition/eleven/20261008T163100Z-preview-report.md
…tion

Capture the outgoing composite while the host stages the incoming scene, then
play the configured media without pausing at the cut. Isolate each Preview
decoder from late stop callbacks and retain native restoration frame evidence.

Agent-Role: eleven
Agent-Thread: 01a11b19-56f8-7e33-a1c7-9ddfe1bb96c7
Work-Unit: local-20261008-webm-transition
Issue: local-20261008-webm-transition
Evidence: evidence/local-20261008-webm-transition/eleven/20261008T205800Z-continuous-report.md
Exercise all registered NVIDIA effects with isolated pixel, bypass, audio and real-time checks. Preserve SDK diagnostics and artifact identity separately from functional success. No SDK payload is redistributed.

Agent-Role: Eleven

Work-Unit: local-20261009-capability-audit
Carry reviewed native patches for installed AR gaze/face tracking, VFX denoising and same-frame comparison. Load SDKs through validated locations, expose whole-device NVML samples and graphics-thread pipeline counters, and qualify demand processing and AFX lifecycle. Retain failed render-window evidence beside the unchanged passing rerun. SDK binaries and models stay external.
Preserve the segmented subject in native Program while replacing the image and looping video beneath it. Publish current candidate video hashes and qualification limits.

Agent-Role: eleven

Agent-Thread: 01a11b19-56f8-7e33-a1c7-9ddfe1bb96c7

Work-Unit: local-20261009-capability-audit

Issue: local-20261009-capability-audit
Preserve the historical capture paint source, register it against the recording-route candidate, and qualify a rebuilt DLL in an isolated dependency runtime. Arbitrary group masks and full package admission remain open.

Agent-Role: eleven

Agent-Thread: 01a11a8b-8f4f-7fc2-abc4-7983042e4f63

Work-Unit: local-20261015-capture-paint-integration

Issue: local-20261015-capture-paint-integration

Evidence: evidence/local-20261015-capture-paint-integration/eleven/20261015T183234Z-agent-report.md
Implement ordered capture and Solar-band composition, lifecycle cleanup, private synthetic probes, and bounded shutdown evidence. This checkpoint explicitly retains the independent frontend callback shutdown diagnostic and current mask, blend, and shear refusals.

Agent-Role: eleven
Agent-Thread: 01a11a8b-8f4f-7fc2-abc4-7983042e4f63
Work-Unit: local-20261015-native-group-composition
Evidence: evidence/local-20261015-native-group-composition/eleven/20261015T233303Z-agent-checkpoint.md
Document the independently reproduced callback lifetime fault, actual source chain, and the bounded EXIT-based correction plan before product edits.

Agent-Role: eleven
Agent-Thread: 01a11a8b-8f4f-7fc2-abc4-7983042e4f63
Work-Unit: local-20261015-native-group-composition
Evidence: evidence/local-20261015-native-group-composition/eleven/20261015T233600Z-shutdown-order-extension.md
Agent-Role: eleven

Agent-Thread: 01a11a8b-8f4f-7fc2-abc4-7983042e4f63

Work-Unit: local-20261015-project-completion
Agent-Role: eleven

Agent-Thread: 01a11a8b-8f4f-7fc2-abc4-7983042e4f63

Work-Unit: local-20261015-project-completion
Freeze the private capture and Solar-band path with a verified websocket
producer chain. Preserve the synthetic-only shutdown limits and the open
CEF, mask, blend, and shear constraints.

Agent-Role: eleven
Agent-Thread: 01a11a8b-8f4f-7fc2-abc4-7983042e4f63
Work-Unit: local-20261015-native-group-composition
Evidence: evidence/local-20261015-native-group-composition/eleven/20261016T002613Z-native-group-composition-checkpoint.md
Evidence: evidence/local-20261015-native-group-composition/eleven/20261016T002526Z-websocket-abi-provenance.json
Agent-Role: eleven

Agent-Thread: 01a11a8b-8f4f-7fc2-abc4-7983042e4f63

Work-Unit: local-20261015-project-completion
Agent-Role: eleven

Agent-Thread: 01a11a8b-8f4f-7fc2-abc4-7983042e4f63

Work-Unit: local-20261015-project-completion
Agent-Role: eleven
Agent-Thread: 01a11a8b-8f4f-7fc2-abc4-7983042e4f63
Work-Unit: local-20261015-native-group-composition
Evidence: evidence/local-20261015-native-group-composition/eleven/20261016T003728Z-browser-failclosed-checkpoint.md
Evidence: evidence/local-20261015-native-group-composition/eleven/20261016T003624Z-browser-failclosed-provenance.json
Preserve one scene version across the Vision opacity patch, exact CEF atlas sampling and malformed-mask rejection. Record independent full-resolution pixels, graceful shutdown and explicit native build provenance limits.

Agent-Role: eleven

Agent-Thread: 01a11a8b-8f4f-7fc2-abc4-7983042e4f63

Work-Unit: local-20261017-cef-coverage-chain

Evidence: evidence/local-20261017-cef-coverage-chain/eleven/20261017T170330Z-agent-checkpoint.md
Retain native-mask state-patch evidence at 320p and authored 1080p, exact malformed receipt controls, graceful CEF shutdown and explicit runtime provenance limits.

Agent-Role: eleven

Agent-Thread: 01a11a8b-8f4f-7fc2-abc4-7983042e4f63

Work-Unit: local-20261015-capture-paint-integration
Bind weak backdrop parents before drawing. Resolve appearance coverage and create detached filters before atomic admission, and retire old coverage references after scene/effect locks. Preserve identity validation and recovery after parent removal or rename.

Agent-Role: eleven

Agent-Thread: 01a11a8b-8f4f-7fc2-abc4-7983042e4f63

Work-Unit: local-20261017-native-reset-stability

Evidence: evidence/local-20261017-native-reset-stability/eleven/20261017T170958Z-agent-checkpoint.md
Preserve native ownership diagnostics, synthetic lifecycle/framing proofs and three exact reset repetitions. This removes the identified source-name lookup and retired coverage lock inversions; recompilation costs and installed qualification remain open.

Agent-Role: eleven

Agent-Thread: 01a11a8b-8f4f-7fc2-abc4-7983042e4f63

Work-Unit: local-20261015-capture-paint-integration
Pin the reviewed capture plugin and current Prism lifecycle admission. Verify byte-identical native/atlas pixels, full malformed-mask non-mutation and graceful CEF shutdown with the combined candidate.

Agent-Role: eleven

Agent-Thread: 01a11a8b-8f4f-7fc2-abc4-7983042e4f63

Work-Unit: local-20261017-cef-coverage-chain

Evidence: evidence/local-20261017-cef-coverage-chain/eleven/20261017T171300Z-combined-independent-validation.json
Agent-Role: eleven

Agent-Thread: 01a11a8b-8f4f-7fc2-abc4-7983042e4f63

Work-Unit: local-20261015-capture-paint-integration
@ClodoCapeo
ClodoCapeo marked this pull request as ready for review October 18, 2026 19:30
@ClodoCapeo
ClodoCapeo merged commit 3d8095b into main Oct 18, 2026
30 checks passed
@ClodoCapeo
ClodoCapeo deleted the eleven/local-20261018-group-geometry branch October 18, 2026 19:30
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-18T19:34:18.397318Z f07a6c7 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f07a6c72a5

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

}
// Host-configured transitions can be enabled after boot, without an env
// flag or an asset. The idle callback uploads only a configured first frame.
obs_add_tick_callback(&OnDualLaneTick, this);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Unregister the tick callback when setup falls back

When dualLaneInvariantLocked("setup") fails immediately below this registration, setupDualLane() clears dualLaneReady and continues on the compatibility path. teardown() only removes OnDualLaneTick when dualLaneReady is true, so this failure path leaves a callback registered with a PulsarFrontendAPI * that is deleted by pulsar_frontend_shutdown() while video remains active until the subsequent obs_shutdown(), allowing a tick to dereference freed state. Register only after the invariant succeeds, or track callback registration independently and always remove it during teardown.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant