Generation steps: drop the boxes, show the three real passes - #109
Merged
Conversation
1. NO MORE BOUNDING BOXES
Each step was a filled, outlined card, which reads as a tappable action
button and invites a tap that does nothing. StepRow gains �ordered
(default TRUE, so setup_unlock_sheet - where each row IS an action - is
untouched) and the progress checklist passes false.
2. THE GENERATE STEP NOW SHOWS ITS SUB-STEPS
They are real, not invented. ai/src/services/claudeService.ts reports
each pass through the job's statusMessage:
'Designing art direction...' -> Design
'Building your website...' -> Build
'Polishing design and motion...' -> Polish
Matched on the leading VERB rather than the sentence, because 'Polishing
design and motion' also contains the word 'design' - a naive
contains('design') reports the wrong pass for the last one. The legacy
single-pass path says 'Generating website...' and maps to null, which
renders NO sub-steps rather than three fake ones.
Monotonic like the parent phase: a late or stale poll cannot un-tick a
pass the user already watched complete, and an unrecognised status line
leaves the pass alone instead of clearing it. A failure inside generation
marks the pass it was actually on. A completed generation collapses them
away - the detail only matters while it runs.
StepRow also gains dense for the nested rows: 16px badge, 12px type,
tighter padding, so the passes read as subordinate to their parent.
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.
Two changes to the website-generation checklist, from live feedback.
Each step was a filled, outlined card, which reads as a tappable action button and invites a tap that does nothing. StepRow gains a bordered flag (default TRUE, so setup_unlock_sheet - where each row IS an action - is untouched) and the progress checklist passes false.
They are real, not invented. ai/src/services/claudeService.ts reports each pass through the job's statusMessage:
'Designing art direction...' -> Design
'Building your website...' -> Build
'Polishing design and motion...' -> Polish
Matched on the leading VERB rather than the whole sentence, because 'Polishing design and motion' also contains the word 'design' - a naive contains('design') reports the wrong pass for the last one.
The legacy single-pass path says 'Generating website...' and maps to null, which renders NO sub-steps rather than three fake ones.
Monotonic like the parent phase: a late or stale poll cannot un-tick a pass the user already watched complete, and an unrecognised status line leaves the pass alone instead of clearing it. A failure inside generation marks the pass it was actually on. A completed generation collapses them away - the detail only matters while it is running.
StepRow also gains dense for the nested rows (16px badge, 12px type, tighter padding) so the passes read as subordinate to their parent.
analyze clean, 971 tests (7 new).