You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The plugin manifest currently declares minHost: "1.0.0", but that is not sufficient for Visual Export to work.
On an older host, export fails with:
This feedBack build does not provide deterministic frame rendering. Update the host and Splitscreen plugin.
Visual Export requires these host APIs:
window.highway.renderFrameAt(time)
window.highway.getCanvas()
When Splitscreen is active, it also requires:
beginOfflineRender()
renderFrameAt(time)
endOfflineRender()
Please update the manifest to declare the actual host compatibility floor, and document or enforce the required Splitscreen version. The current minHost value permits installation on incompatible hosts and produces a runtime error instead of a clear version warning.
Investigated before touching the manifest — the actual scope here is bigger than "declare the correct minHost."
I checked the three APIs this plugin calls (window.highway.renderFrameAt, window.highway.getCanvas, and splitscreen's beginOfflineRender/renderFrameAt/endOfflineRender) against the current get-flashbacks/feedback core and get-flashbacks/feedback-plugin-splitscreen source. None of them exist in either repo, in any version. There's no .git history, changelog entry, or code path for deterministic frame rendering anywhere in core, and splitscreen has no offline-render hooks at all.
That means there's no minHost (or minimum splitscreen version) I can honestly write into the manifest — any number would claim compatibility with something no released build actually provides. Declaring a version wouldn't fix the runtime error; the error is currently correct, just unhelpfully worded (it reads like a version mismatch when it's actually "this feature was never built").
Two ways to actually close this:
Implement the API — add renderFrameAt(time)/getCanvas() to core's highway (static/highway.js) and beginOfflineRender()/renderFrameAt()/endOfflineRender() to splitscreen, then declare the real versions those APIs shipped in. This is the only way minHost becomes a true statement.
Reframe as a feature-request/design issue for that API, separate from this manifest-metadata ask — if that's a bigger undertaking than fits here.
I don't want to guess at a version number for an unreleased feature, so I haven't touched plugin.json. Let me know which direction you want and I can scope the actual API design, or if this should just get re-labeled/re-titled to reflect the real ask.
Therefore the dependency is now implemented in this fork. A runtime-tested release/commit floor still needs to replace minHost: "1.0.0"; do not infer compatibility from the shared 0.3.0-alpha.2 string alone.
Keep the single-highway requirement distinct from the optional Splitscreen integration, and list FFmpeg/WebCodecs requirements separately.
These are source/history findings, not an end-to-end historical release certification. The previous audit also found a separate lyrics-only panel export defect; availability of the API does not certify all layouts.
@pullfrog please build this (Effort: Low), using the compatibility follow-up already in this thread: core renderFrameAt landed in feedBack f7c761c and Splitscreen's offline-render hooks in 2301dd5. Don't infer a floor from the shared 0.3.0-alpha.2 string alone. Keep the single-highway requirement distinct from the optional Splitscreen integration, and list FFmpeg and WebCodecs requirements separately. Follow the repo's CLAUDE.md (version bump and CHANGELOG) and open a PR against main. Please don't merge it.
The headline is that minHost is removed rather than corrected. It read 1.14.8, a Split Screen version, but plugin-spec §4.1 defines minHost as the minimum Host (core) version — so it described a core compatibility level the number says nothing about. No core version can replace it: feedBack's VERSION has read 0.3.0-alpha.2 since five weeks beforerenderFrameAt() landed in f7c761c, and feedBack ships no releases or tags. It's also advisory-only today (no minHost reference anywhere in feedBack's plugin-loader.js).
So compatibility is enforced by capability instead. A pre-flight check now names the side that's actually too old: highway.renderFrameAt() (feedBack f7c761c) for every export, or Split Screen's offline-render bridge (1.14.8) only when exporting a split layout. Previously one message blamed both at once, so a stale Split Screen was indistinguishable from a stale host.
Worth flagging for review: this reverses 7e9f52c, which set minHost to 1.14.8. If you'd expected a value there rather than field removal, that's the piece to push back on.
Two corrections a self-review caught, both of which had made it into the docs:
I'd written that a partial Split Screen bridge "silently rendered non-deterministically." Wrong — that repo's renderFrameAt returns false unless beginOfflineRender() ran, so it died on frame 0 with a misleading generic error. It's a better error message, not a corruption fix, and the changelog now says so.
I'd attributed the bridge to 87e3622a alone and called 2301dd5 a red herring. Split Screen's own v1.14.20 notes say "added in 2301dd5 and completed in 87e3622a"; the PR follows them.
Also added tests/js/screen.test.js (9 tests, run in CI) since screen.js has no exports — the gate is extracted from real source, and I mutation-checked the suite to confirm it can fail. Cleared a stale "Known gap" note in CLAUDE.md about Staff View, which survived PR #4 merging; flag it if you'd rather split that out.
All CI steps pass locally. Left for follow-up, not done here: CHANGELOG.md still has no ## [0.2.1] section (v0.2.1 was cut as a prerelease and Split Screen's notes depend on that version number), PR #14 independently targets 0.3.0 so one version bump will need adjusting, and nothing runs the gate against a real old/new Split Screen build.
Task list (6/7 completed)
Correct CLAUDE.md 2301dd5 attribution to upstream's own wording (added in 2301dd5, completed in 87e3622a)
Fix screen.js comment: a partial bridge fails at frame 0 via renderFrameAt's own guard, it does not silently render
Reword CHANGELOG partial-bridge entry to match verified behavior
Add tests/js/screen.test.js covering frameDriverProblem's branches + CI step
Activity
pullfrog commentedon Sep 11, 2026
cchacs commentedon Sep 11, 2026
Investigated before touching the manifest — the actual scope here is bigger than "declare the correct
minHost."I checked the three APIs this plugin calls (
window.highway.renderFrameAt,window.highway.getCanvas, and splitscreen'sbeginOfflineRender/renderFrameAt/endOfflineRender) against the currentget-flashbacks/feedbackcore andget-flashbacks/feedback-plugin-splitscreensource. None of them exist in either repo, in any version. There's no.githistory, changelog entry, or code path for deterministic frame rendering anywhere in core, and splitscreen has no offline-render hooks at all.That means there's no
minHost(or minimum splitscreen version) I can honestly write into the manifest — any number would claim compatibility with something no released build actually provides. Declaring a version wouldn't fix the runtime error; the error is currently correct, just unhelpfully worded (it reads like a version mismatch when it's actually "this feature was never built").Two ways to actually close this:
renderFrameAt(time)/getCanvas()to core's highway (static/highway.js) andbeginOfflineRender()/renderFrameAt()/endOfflineRender()to splitscreen, then declare the real versions those APIs shipped in. This is the only wayminHostbecomes a true statement.I don't want to guess at a version number for an unreleased feature, so I haven't touched
plugin.json. Let me know which direction you want and I can scope the actual API design, or if this should just get re-labeled/re-titled to reflect the real ask.Generated by Claude Code
cchacs commentedon Sep 26, 2026
Compatibility follow-up for Visual Export 0.2.1 (inspected revision e05e4be):
These are source/history findings, not an end-to-end historical release certification. The previous audit also found a separate lyrics-only panel export defect; availability of the API does not certify all layouts.
Core baseline tracker: get-flashbacks/feedBack#102
Splitscreen compatibility: get-flashbacks/feedBack-plugin-splitscreen#69
docs: add CLAUDE.md and AGENTS.md (#10)
cchacs commentedon Oct 1, 2026
@pullfrog please build this (Effort: Low), using the compatibility follow-up already in this thread: core
renderFrameAtlanded in feedBackf7c761cand Splitscreen's offline-render hooks in2301dd5. Don't infer a floor from the shared0.3.0-alpha.2string alone. Keep the single-highway requirement distinct from the optional Splitscreen integration, and list FFmpeg and WebCodecs requirements separately. Follow the repo's CLAUDE.md (version bump and CHANGELOG) and open a PR againstmain. Please don't merge it.Generated by Claude Code
pullfrog commentedon Oct 1, 2026
Opened #15 fixing #6.
The headline is that
minHostis removed rather than corrected. It read1.14.8, a Split Screen version, but plugin-spec §4.1 definesminHostas the minimum Host (core) version — so it described a core compatibility level the number says nothing about. No core version can replace it: feedBack'sVERSIONhas read0.3.0-alpha.2since five weeks beforerenderFrameAt()landed inf7c761c, and feedBack ships no releases or tags. It's also advisory-only today (nominHostreference anywhere in feedBack'splugin-loader.js).So compatibility is enforced by capability instead. A pre-flight check now names the side that's actually too old:
highway.renderFrameAt()(feedBackf7c761c) for every export, or Split Screen's offline-render bridge (1.14.8) only when exporting a split layout. Previously one message blamed both at once, so a stale Split Screen was indistinguishable from a stale host.Worth flagging for review: this reverses
7e9f52c, which setminHostto1.14.8. If you'd expected a value there rather than field removal, that's the piece to push back on.Two corrections a self-review caught, both of which had made it into the docs:
renderFrameAtreturnsfalseunlessbeginOfflineRender()ran, so it died on frame 0 with a misleading generic error. It's a better error message, not a corruption fix, and the changelog now says so.87e3622aalone and called2301dd5a red herring. Split Screen's own v1.14.20 notes say "added in2301dd5and completed in87e3622a"; the PR follows them.Also added
tests/js/screen.test.js(9 tests, run in CI) sincescreen.jshas no exports — the gate is extracted from real source, and I mutation-checked the suite to confirm it can fail. Cleared a stale "Known gap" note inCLAUDE.mdabout Staff View, which survived PR #4 merging; flag it if you'd rather split that out.All CI steps pass locally. Left for follow-up, not done here:
CHANGELOG.mdstill has no## [0.2.1]section (v0.2.1 was cut as a prerelease and Split Screen's notes depend on that version number), PR #14 independently targets0.3.0so one version bump will need adjusting, and nothing runs the gate against a real old/new Split Screen build.Task list (6/7 completed)
big-pickle(free) | 𝕏fix: declare host compatibility by capability, not a wrong minHost (#15)