Repository navigation
Draw on the paused replay - #311
Merged
Merged
Conversation
Coaches reviewing a match over a screen share pause on a moment and want to circle a player or show where someone should have gone. Until now the only way to draw was to capture the moment and open it in the editor. The match card gets a pen next to Capture (and the D key). Taking it out pauses playback and shows two tools, freehand and a straight arrow, plus Clear once something is drawn. Esc, D or the pen again put it away; the strokes stay until cleared or until the moment changes: playing clears them and puts the pen away, seeking or changing round clears them. Strokes are the editor's own drawing elements (FreeDrawing, Line with an arrowhead) in the attack-side world, drawn by the editor's DrawingPainter in the user's last editor pen colour and thickness, in a layer of its own above everything on the map. The layer is flipped on defense as the editor flips a page's drawings, zooms and pans with the map, and repaints only when the strokes change. While the pen is out a drag draws instead of panning; the wheel still zooms. The strokes live in the replay screen's own state, never in the editor's drawing providers. Capture saves them as the page's drawings, on both paths: locally as StrategyPage.drawingData, in the cloud as ordinary drawing elements through the existing page ops. No saved format, Hive model, export or server change. DrawingPainter loses a provider parameter it never read, so the replay can paint with it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
D is the editor's Next page; Draw is Q unless the user rebound it. The replay's pen now answers to that same binding, and its tooltip names it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Esc puts the pen away before it stops watching, and a click with the pen out starts a stroke rather than watching the agent under it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 51 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Through the map's centre a stroke looks the same flipped or not, so the test could not tell a missing defense flip. Off-centre, and with the mirrored point checked empty in the editor, it fails without the flip. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Coaches review matches with their team over a screen share: they pause on a moment and want to circle a player or show where someone should have gone, right on the replay. Until now the only way to draw was to Capture the moment and open it in the editor, which is too heavy in the middle of a review. ValoPlant lets you draw over its replay; this does the same in Icarus.
What changed
FreeDrawing,Linewith an arrowhead), drawn by the editor'sDrawingPainterin the user's last pen colour and thickness. They live in the canvas's world, so they zoom and pan with the map, and are flipped on defense the way the editor flips a page.drawingDatalocally, and normal drawing elements through the existing page ops in the cloud. No Hive model,.icaexport, server or sync change.DrawingPainterloses a provider parameter it never read, so the replay can paint without the editor's state.How it was checked
test/replay_drawing_test.dartcovers:ci: analyze test
🤖 Generated with Claude Code