mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-25 10:17:02 -06:00
Session::note_journal only kept values noted by the top-level command, so a command run as a step of command.batch lost them: a save in a batch stamped File Info's modified date from the clock without recording it, and object.scale's strokes/corners came from the preferences again on replay. Replaying such a journal a second later (or with other preferences) gave a different document. - Session::execute_step runs a batch step with its own journal notes (note_depth) and returns its params with what it noted; command.batch writes those params into its step of the batch's journal entry (steps that note nothing stay as given). - journal_for_action strips the replay-only dates from a batch's steps too, so an action recorded with one still dates the document when it plays. - Tests: a save in a batch records its date and a replay with the recorded date moved lands on it, while an action leaves it out; a scale in a batch records Scale Strokes & Effects and replays alike with the preference off. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>