Version 0.5.1

One-click Math & Code block creation • Smoother text selection in the Card Editor • Per-row text alignment in Mobile Study Mode

0.5.1 · macOS, iOS

Improvements

Card Editor (macOS)

  • One-Click Math & Code Blocks: The Math and Code buttons in the EditorToolbar are now “armed tools” — click once to arm, then click anywhere on the stage (or use the stage right-click menu) to drop a new block. A new ArmedTool type and armedTool slice in editorStore, with setArmedTool / toggleArmedTool actions, replace the old multi-step button flow
  • Stage Context Menu Block Creation: Right-clicking the stage now offers Math and Code block creation directly, matching the toolbar’s armed-tool flow
  • Precise Click-and-Drag Text Selection: Click-and-drag inside text elements is now noticeably more precise and stable, dramatically improving the feel of selecting and editing text on a card
  • Paste from Block Input Right-Click: Math and Code block input fields now expose a native right-click → Paste option, so you can paste TeX or code without reaching for the keyboard

Brain Dump & Library (macOS)

  • Brain Dump Context Menu Focus Polish: Brain Dump context menus now use custom focus classes that kill the default blue WebKit outline on the auto-focused first item, and arrow-key keyboard navigation mirrors the hover state — keyboard users get the same clear feedback mouse users do
  • Library Empty State Consistency: The empty-state styling for deck containers in the Library grid view was updated for visual consistency with the rest of the grid
  • Deck-Deletion Guard: Added a guard that prevents deleting a deck while it’s currently open in the Card Editor, avoiding a class of inconsistent-state bugs

Bug Fixes

Card Editor (macOS)

  • No More Phantom “Selected” Ring on Math Blocks: A lingering blue selection ring on Math blocks has been removed, so selection state in the editor is once again accurate

Mobile Study Mode (iOS)

  • Per-Paragraph Text Alignment: Mobile Study Mode now renders per-row text alignment with full fidelity to the Card Editor. A new ParagraphAlignment enum in ProseMirrorParser carries alignment on every RenderFragment, and CardContentRenderer’s outer VStack was switched to fixed .leading alignment with per-row .frame(maxWidth: .infinity, alignment:) driving placement — so every paragraph aligns independently, matching what you authored on desktop

Technical Updates

  • New ArmedTool type and armedTool slice in editorStore provide a small, reusable foundation for future “click to arm, click to place” tools beyond Math and Code
  • Removed stale code from the legacy Brain Dump implementation as part of ongoing cleanup
  • iOS RenderFragment pipeline extended with ParagraphAlignment, finishing the per-paragraph alignment story started in the v0.5.0 rich-text refactor

Feedback

Found a bug or have a feature request? We’d love to hear from you:

Thank you for using SuperCards!