refactor: fix peer review findings in audio, encoder, renderer, and CLI#59
Conversation
- Audio: implement SlideFFTWindow helper to handle prefill and remove panic on high sample rates; write complete prefill to encoder instead of truncating to one frame - Encoder: fix inverted AVFrameMakeWritable checks in software and hardware paths; tag H.264 stream with full-range BT.601 JFIF colourspace; improve Close() to check flush/drain/trailer/avio results, join errors, prevent spin loops, ensure idempotence - Renderer: use clamped bar height in mirrors; add mirror-symmetry and bar-pixel tests; remove unfalsifiable assertion - CLI: route render-pass failures through RenderComplete.Err; print error after TUI closes, exit non-zero on failure - Module rename: github.com/linuxmatters/jivefire → github.com/linuxmatters/jive-visualiser across all Go imports, issue template, SECURITY.md - Tests: close five leaked C FFT contexts; add prefill-count tests; audit analyser fixtures; TestConversionEquivalence now asserts full-range swscale setup - Docs: credit FFmpeg av_tx RDFT and linear binning in ARCHITECTURE.md; update AGENTS.md with Go 1.26, linear binning, releases rule (no checksum generation); refresh benchmark figures 8.4x → 13.2x; add Harper dictionary terms Signed-off-by: Martin Wimpress <code@wimpress.io>
There was a problem hiding this comment.
No issues found across 34 files
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
Requires human review: This PR includes broad refactors with non-trivial logic changes across multiple modules, so it should receive human review even if no issues are reported.
Re-trigger cubic
…UI, and YUV packages - Correct 54 drifted comments to present-tense design language - Add rationale to 18 comments explaining non-obvious implementation choices - Remove 18 self-evident or process-narration comments - Fix American spellings to British, replace dashes with punctuation - Add missing doc comments to exported symbols Signed-off-by: Martin Wimpress <code@wimpress.io>
There was a problem hiding this comment.
0 issues found across 21 files (changes from recent commits).
Requires human review: This PR contains significant logic changes across audio processing, encoder, renderer, and CLI including new helper functions, modified frame conversion logic, and error handling paths. Even though the AI found no issues, the scope and risk warrant human review.
Re-trigger cubic
- Remove redundant wrappers, fields, and comments in audio, CLI,
encoder, and YUV code.
- Reuse shared helpers in the CLI, renderer, and encoder paths.
- Keep tests aligned with the shared code paths.
Signed-off-by: Martin Wimpress <code@wimpress.io>
There was a problem hiding this comment.
0 issues found across 10 files (changes from recent commits).
Requires human review: Changes affect encoder hardware/software paths, audio prefill logic, CLI error handling, and a module rename; these are high-impact and require human review.
Re-trigger cubic
- Move hardware encoder metadata into a registry and tighten CLI parsing. - Extract Pass 2 runner helpers for setup, asset loading, and progress updates. - Split encoder audio and video setup, and separate UI state from view helpers. - Add coverage for the refactor and refresh the architecture notes. Signed-off-by: Martin Wimpress <code@wimpress.io>
There was a problem hiding this comment.
3 issues found across 16 files (changes from recent commits).
Tip: Review your code locally with the cubic CLI to iterate faster.
Re-trigger cubic
- Copy bar heights when building render progress messages so the UI
reads its own data.
- Check FFmpeg return values when making audio frames writable, sending
frames, and draining the encoder.
- Add a regression test for bar height copying.
Signed-off-by: Martin Wimpress <code@wimpress.io>
There was a problem hiding this comment.
0 issues found across 3 files (changes from recent commits).
Requires human review: Module rename and refactoring of audio, encoder, renderer, and CLI logic; high impact and risk.
Re-trigger cubic
- Validate CLI input, background, and thumbnail paths before use. - Derive thumbnail paths from the output name instead of string replace. - Guard encoder, FIFO, preview, and row-partition helpers against bad input. - Add tests for path handling, preview sizing, YUV row coverage, and thumbnail output. - Pin workflow tooling versions and refresh README wording and the Harper dictionary. Signed-off-by: Martin Wimpress <code@wimpress.io>
There was a problem hiding this comment.
0 issues found across 13 files (changes from recent commits).
Requires human review: Large refactor across audio, encoder, renderer, and CLI; module rename; changes to core business logic.
Re-trigger cubic
Signed-off-by: Martin Wimpress <code@wimpress.io>
encoder instead of truncating to one frame
colourspace; improve Close() to check flush/drain/trailer/avio
results, join errors, prevent spin loops, ensure idempotence
template, SECURITY.md
asserts full-range swscale setup
rule (no checksum generation); refresh benchmark figures 8.4x → 13.2x;
add Harper dictionary terms