Skip to content

refactor: fix peer review findings in audio, encoder, renderer, and CLI#59

Open
flexiondotorg wants to merge 5 commits into
mainfrom
refactor
Open

refactor: fix peer review findings in audio, encoder, renderer, and CLI#59
flexiondotorg wants to merge 5 commits into
mainfrom
refactor

Conversation

@flexiondotorg

Copy link
Copy Markdown
Contributor
  • 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

- 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>

@cubic-dev-ai cubic-dev-ai 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.

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>

@cubic-dev-ai cubic-dev-ai 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.

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>

@cubic-dev-ai cubic-dev-ai 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.

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>

@cubic-dev-ai cubic-dev-ai 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.

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

Comment thread internal/encoder/audio_encoder.go Outdated
Comment thread cmd/jive-visualiser/pass2.go Outdated
Comment thread internal/encoder/audio_encoder.go Outdated
  - 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>

@cubic-dev-ai cubic-dev-ai 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.

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

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