* "docs: writing assistance redesign design spec (#5655)
Add comprehensive design doc for the WA redesign:
- AssistanceRing replaces StartIGCButton (segmented ring around Pangea icon)
- Background highlights with category colors (not red/orange error tones)
- Simplified match lifecycle: open → viewed → accepted (no ignore)
- Persistent span card with smooth transitions between matches
- Send always available, no gate on unresolved matches
Remove superseded design docs (SPAN_CARD_REDESIGN_FINALIZED.md,
SPAN_CARD_REDESIGN_Q_AND_A.md, choreographer.instructions.md)."
* feat: replace ignored status with viewed status, initial updates to span card
* resolve merge conflicts
* rebuild input bar on active match update to fix span hightlighting
* cleanup
* allow opening span cards for closed matches
* no gate on sending, update underline colors
* animate span card transitions
* initial updates to add segmented IGC progress ring
* update segment colors / opacities based on match statuses
* use same widget for igc loading and fetched
* more segment animation changes
* fix scrolling and wrap in span card
* better disabled color
* close span card on assistance state change
* remove print statements
* update design doc
* cleanup
---------
Co-authored-by: ggurdin <ggurdin@gmail.com>
* feat: wa working full stack
* feat: writing assistance made anew
* docs: migrate copilot docs to .github/instructions/ format
- Create choreographer.instructions.md (applyTo: lib/pangea/choreographer/**)
- Create events-and-tokens.instructions.md (applyTo: lib/pangea/events/**,lib/pangea/extensions/**)
- Create modules.instructions.md (applyTo: lib/pangea/**) — full module map
- Track copilot-instructions.md (remove .gitignore rule)
- Add documentation reference table to copilot-instructions.md
Content sourced from docs/copilot/ on writing-assistance branch.
* docs: remove old docs/copilot/ (migrated to .github/instructions/)
* docs: update choreographer + modules docs for writing-assistance audit
- Mark IT (Interactive Translation) as deprecated throughout
- Document new ReplacementTypeEnum taxonomy (grammar, surface, word-choice categories)
- Add AssistanceStateEnum, AutocorrectPopup, feedback rerun flow
- Mark SpanDataRepo/span_details as dead code
- Mark SpanChoiceTypeEnum.bestCorrection/bestAnswer as deprecated
- Add new files to modules listing (autocorrect_popup, start_igc_button, etc.)
- Update API endpoints table with active/deprecated/dead status
* formatting, replace deprecated withOpacity calls
* fix linter issues from deprecated types
* use better error color
* move cloing of overlays into choreographer
* reduce duplicate code on igc_controller, update UI on feedback
* couple of adjustments
* display prompt in span card by type
* fix error in tests
* translations
* simplify span card feedback
---------
Co-authored-by: ggurdin <ggurdin@gmail.com>
* chore: move logic for lastUsedByActivityType into ConstructIdentifier
* feat: vocab practice
* add vocab activity progress bar
* fix: shuffle audio practice choices
* update UI of vocab practice
Added buttons, increased text size and change position, cards flip over and turn red/green on click and respond to hover input
* add xp sparkle, shimmering choice card placeholder
* spacing changes
fix padding, make choice cards spacing/sizing responsive to screen size, replace shimmer cards with stationary circle indicator
* don't include duplicate lemma choices
* use constructID and show lemma/emoji on choice cards
add method to clear cache in case the results was an error, and add a retry button on error
* gain xp immediately and take out continue session
also refactor the choice cards to have separate widgets for each type and a parent widget to give each an id for xp sparkle
* add practice finished page with analytics
* Color tweaks on completed page and time card placeholder
* add timer
* give XP for bonuses and change timer to use stopwatch
* simplify card logic, lock practice when few vocab words
* merge analytics changes and fix bugs
* reload on language change
- derive XP data from new analytics
- Don't allow any clicks after correct answer selected
* small fixes, added tooltip, added copy to l10
* small tweaks and comments
* formatting and import sorting
---------
Co-authored-by: avashilling <165050625+avashilling@users.noreply.github.com>
* rain confetti on activity finish
also add continue button, and change copy for completed single practice activities
* fix: show confetti popup when finish all activities with grammar activity
* translations
---------
Co-authored-by: ggurdin <ggurdin@gmail.com>
* don't show activity dropdown instructions if word card is open
* block other overlays from openning when tutorial overlay is open
* remove duplicate open overlay data, don't wait for construct banners to close if overlay fails to open
* android GA
* test for now
* removed test android
* formatting and pangea comments
---------
Co-authored-by: ggurdin <46800240+ggurdin@users.noreply.github.com>
Co-authored-by: ggurdin <ggurdin@gmail.com>
* style and functionality changes to level up notification
* generated
* chore: return construct summary directly from function instead of waiting for state event to be sent
* generated
* XP animation bug, asking wilson to take a look
* updated XP attributes but still facing XP retrieval bug
* generated
* Added new DinoBot image
* updated dinoBot image, added padding on sides to table row, fixed duplicate variable naming error
* generated
* chore: some updates to simplify level up widget
* chore: remove dino asset from pubspec.yaml
* chore: revert testing changes to analytics controller
* See details categories do not display unless XP gained above threshold
* generated
* chore: update icons in construct update popup above messages
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: ggurdin <ggurdin@gmail.com>
* refactor: separate token and message reading assistance modes
* chore: apply same token styling to HTML formatted messages
* chore: don't wait for lemma responses before showing reading assistance content
* chore: replace late animations with nullable to prevent late init error
* chore: remove null check operator in showToolbarButtons
* chore: don't call setState in CustomSVG if not mounted