fix(player): full-res graphics video + bottom-pinned transport chrome#100
Merged
Conversation
…phics modes Pixel-graphics modes (sixel/kitty/iTerm2) emit the whole frame as one multi-row escape blob, but candy-core's renderer diffs line-by-line (1 logical line = 1 row), so chrome appended after the blob landed a few rows down ON the image — the "progress bar on row 3" bug. PlayerScreen::view() now keeps the graphics view on a single logical line and pins caption/scrubber/status to the bottom rows with absolute cursor positioning. Also thread the terminal's detected cell pixel size (PosterLoader::cellSize()) into PlayerScreen::productionFactory -> Player::open so graphics modes decode at the real full pixel resolution instead of an assumed 10x20 box. Requires sugar-reel/candy-mosaic from detain/sugarcraft#1135 (Player::open + Mode::isGraphics cell-size API). Hold the PR until those are published. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Companion to detain/sugarcraft#1135 (now merged + published), which made
sugar-reeldecode Sixel/Kitty/iTerm2 video at full pixel resolution and added a fast chafa sixel path.Changes
PlayerScreen::view()— pixel-graphics modes emit the whole frame as one multi-row escape blob, but candy-core's renderer diffs line-by-line (1 logical line = 1 row), so chrome appended after the blob landed a few rows down on top of the image (the "progress bar on row 3" bug). The graphics view now stays on a single logical line and the caption/scrubber/status are pinned to the bottom rows with absolute cursor positioning (graphicsChrome()).PosterLoader::cellSize()(=Mosaic->fontSize()) is threaded intoPlayerScreen::productionFactory()→Player::open()so graphics modes decode at the terminal's real full pixel resolution instead of an assumed 10×20 cell box.Verification
bin/phlix run: confirm full-resolution images and the transport bar at the bottom (not row 3).🤖 Generated with Claude Code