Skip to content

[#503] Show AI drafted bubbles in cut review previews#506

Merged
realproject7 merged 2 commits into
mainfrom
task/503-cut-review-overlay-previews
Jun 8, 2026
Merged

[#503] Show AI drafted bubbles in cut review previews#506
realproject7 merged 2 commits into
mainfrom
task/503-cut-review-overlay-previews

Conversation

@realproject7

Copy link
Copy Markdown
Owner

Closes #503.

Summary

  • render saved speech, narration, and SFX overlays directly on each cut card in the cartoon cuts review using the same balloon geometry and text-fitting primitives as the focused lettering editor
  • make the cut thumbnail itself reopen the focused editor so the card preview and editor operate on the same saved overlays/positions
  • add regression coverage for per-cut and batch AI draft flows so drafted overlays appear across multiple cut previews without a page reload

Verification

  • npm run typecheck
  • npm run lint -- --quiet app/web/components/CutOverlayPreview.tsx app/web/components/CutListPanel.tsx app/web/components/CutListPanel.test.tsx
  • npm run app:build
  • targeted Vitest remains blocked in this environment before collection by Unknown system error -122, write, including npx vitest run --coverage.enabled=false app/web/components/CutListPanel.test.tsx

Visual QA Notes

  • cut review cards now render a read-only overlay stage over the clean-art thumbnail, using the same normalized overlay coordinates and speech-balloon path construction as the focused editor
  • viewport behavior after AI draft all unlettered: multiple cards can now be scanned in one review column without opening each cut; the saved overlay layer is visible on every drafted card and refreshes immediately after the save/reload cycle completes
  • the preview thumbnail is also an editor entry point now, so clicking the rendered overlays opens the same cut/editor state the explicit review button opens

Risks

  • the new preview renderer mirrors editor geometry in a second component, so any future overlay-style changes need to stay in sync across the shared primitives it consumes
  • this changes only cartoon cut review cards, but visual regressions would most likely surface in thumbnail sizing/aspect-ratio handling for unusually tall or wide clean images

@project7-interns project7-interns left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Verdict: APPROVE

Summary

I reviewed PR #506 on live head 9ae7686e56324dc020d6b490c3127f1b7b7cff96. The change matches issue #503: drafted speech, narration, and SFX overlays are now visible directly in the cartoon cuts review, and the preview/editor flow stays aligned by reusing the same overlay geometry and text-layout primitives.

Findings

  • No blocking findings.

Decision

Approved on GitHub. CutOverlayPreview is scoped to cartoon cut review cards, CutListPanel now opens the same focused editor state from the preview thumbnail, and the updated tests cover both per-cut and batch AI-draft refresh behavior. Live lint-and-typecheck was still pending during review, so merge should still use the current live head/check state.

@project7-interns project7-interns left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Verdict: REQUEST CHANGES

Summary

The image-cut overlay preview path is moving in the right direction, but PR #506 misses the between-scene/text-panel case that issue #503 explicitly calls out. Text panels can have drafted narration/title overlays and no clean image path, but the cut card still renders the placeholder instead of the new overlay preview.

Findings

  • [medium] Drafted text-panel overlays are not shown in the cuts review preview. CutOverlayPreview supports background and aspectRatio, but CutListPanel only mounts it under thumbPath ? ...; for normal text/interstitial panels cleanImagePath is null, so even when cut.overlays contains drafted narration/title text the card falls through to the “Text panel — no artwork needed” placeholder.
    • File: app/web/components/CutListPanel.tsx:474
    • File: app/web/components/CutListPanel.tsx:488
    • Suggestion: render CutOverlayPreview for text panels with overlays (or for text panels generally, using their background/aspect ratio) even when there is no image asset, and add coverage for a between-scene/text-panel drafted preview.

Decision

Requesting changes until text/interstitial drafted overlays are visible in the cut review board as required. Live lint-and-typecheck was still pending when this product finding was identified.

@project7-interns project7-interns left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Verdict: APPROVE

Summary

I re-reviewed PR #506 on the updated live head dc98e351470e5ec4de943d957e4ab85c0219fddf. The follow-up closes the product gap from the prior review: text/interstitial panels now render drafted overlays in the cuts review preview even when cleanImagePath is null.

Findings

  • No blocking findings.

Decision

Approved on GitHub. CutListPanel now mounts CutOverlayPreview for thumbPath || isTextPanel(cut), and the added regression test covers a drafted text panel with no clean image path, verifies the overlay layer renders, and confirms the preview thumbnail opens the focused editor. Live lint-and-typecheck was still pending during review, so merge should still use the current live head/check state.

@project7-interns project7-interns left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Verdict: APPROVE

Summary

I re-reviewed PR #506 on the updated live head dc98e351470e5ec4de943d957e4ab85c0219fddf. The follow-up fixes the previously blocking text/interstitial panel case: cut review cards now mount the overlay preview for text panels without clean artwork, using their configured background/aspect ratio stage.

Findings

  • No blocking findings.

Decision

Approved on GitHub. The incremental change is scoped to CutListPanel and adds regression coverage for a drafted text panel with no clean image path rendering an overlay layer and opening the focused editor from the preview. Live lint-and-typecheck passes.

@realproject7 realproject7 merged commit f6d6dcd into main Jun 8, 2026
1 check passed
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.

Cartoon UX: show AI-drafted bubbles in the cuts review preview

2 participants