dostulata
  • Joined on 2025-09-29
dostulata pushed to main at dostulata/initiative 2026-03-11 11:54:38 +01:00
55d322a727 Fix concentration glow clipping at container edges
dostulata closed issue dostulata/initiative#5 2026-03-11 11:54:15 +01:00
Fix concentration shake glow clipped at container edges
dostulata opened issue dostulata/initiative#5 2026-03-11 11:26:00 +01:00
Fix concentration shake glow clipped at container edges
dostulata opened issue dostulata/initiative#4 2026-03-11 11:19:11 +01:00
Redesign top bar with dedicated round and turn fields
dostulata opened issue dostulata/initiative#3 2026-03-11 11:12:00 +01:00
Stat block panel: fold/unfold and pin to second panel
dostulata opened issue dostulata/initiative#2 2026-03-11 10:28:21 +01:00
Overhaul bottom bar: batch add, stat block view, custom creature fields
dostulata closed issue dostulata/initiative#1 2026-03-11 10:04:47 +01:00
Inline confirmation buttons replace modals for destructive actions
dostulata pushed to main at dostulata/initiative 2026-03-11 10:04:37 +01:00
0c903bc9a5 Fix ConfirmButton Enter/Space keydown bubbling to parent row handler
dostulata pushed to main at dostulata/initiative 2026-03-11 10:00:59 +01:00
236c3bf64a Add /issue-to-spec and /sync-issue Claude Code skills
dostulata pushed to main at dostulata/initiative 2026-03-11 09:51:38 +01:00
0747d044f3 Implement the 032-inline-confirm-buttons feature that replaces single-click destructive actions with a reusable ConfirmButton component providing inline two-step confirmation (click to arm, click to execute), applied to the remove combatant and clear encounter buttons, with CSS scale pulse animation, 5-second auto-revert, click-outside/Escape/blur dismissal, full keyboard accessibility, and 13 unit tests via @testing-library/react
dostulata pushed to main at dostulata/initiative 2026-03-11 01:21:35 +01:00
d101906776 Add /write-issue skill for interactive Gitea issue creation
dostulata opened issue dostulata/initiative#1 2026-03-11 01:18:47 +01:00
Inline confirmation buttons replace modals for destructive actions
dostulata pushed to main at dostulata/initiative 2026-03-11 00:52:49 +01:00
69363d4f7d Implement the 031-quality-gates-hygiene feature that strengthens automated quality gates by adding pnpm audit to the check script, v8 coverage thresholds with per-directory auto-ratchet (domain 96%, adapters 71%, persistence 87%), Biome cognitive complexity enforcement (max 15), and keyboard accessibility for the combatant row, while cleaning up all blanket biome-ignore comments, refactoring 5 overly complex functions into smaller helpers, and codifying the early-enforcement principle in the constitution and CLAUDE.md
dostulata pushed to main at dostulata/initiative 2026-03-10 23:48:59 +01:00
47da942b73 Clean up project documentation and constitution for post-MVP maturity
dostulata pushed to main at dostulata/initiative 2026-03-10 23:29:49 +01:00
94d125d9c4 Implement the 030-bulk-import-sources feature that adds a one-click bulk import button to load all bestiary sources at once, with real-time progress feedback in the side panel and a toast notification when the panel is closed, plus completion/failure reporting with auto-dismiss on success and persistent display on partial failure, while also hardening the bestiary normalizer to handle variable stat blocks (spell summons with special AC/HP/CR) and skip malformed monster entries gracefully
c323adc343 Add spec, plan, and tasks for 030-bulk-import-sources feature
91120d7c82 Implement the 029-on-demand-bestiary feature that replaces the bundled XMM bestiary JSON with a compact search index (~350KB) and on-demand source loading, where users explicitly provide a URL or upload a JSON file to fetch full stat block data per source, which is then normalized and cached in IndexedDB (with in-memory fallback) so creature stat blocks load instantly on subsequent visits while keeping the app bundle small and never auto-fetching copyrighted content
Compare 3 commits »
dostulata pushed to main at dostulata/initiative 2026-03-10 19:50:39 +01:00
99d1ba1bcd Implement the 028-semantic-hover-tokens feature that unifies hover colors across all interactive UI components via six CSS custom property tokens (three text, three background) defined in the Tailwind v4 theme, replacing hardcoded hover classes in 9 component files plus the shared Button primitive with semantic token references so all hover colors can be globally reconfigured from one place
dostulata pushed to main at dostulata/initiative 2026-03-10 19:01:11 +01:00
f029c1a85b Implement the 027-ui-polish feature that adds six combatant row improvements (inline conditions, row-click stat block, hover-only remove button, AC shield shape, expanded concentration click target, larger d20 icon) plus top bar redesign with icon-only StepBack/StepForward navigation buttons, dark-themed scrollbars, and multiple UX fixes including stat block panel stability during initiative rolls and mobile touch safety for hidden buttons
dostulata pushed to main at dostulata/initiative 2026-03-10 16:29:25 +01:00
d5f7b6ee36 Implement the 026-roll-initiative feature that adds d20 roll buttons for bestiary combatants' initiative using a click-to-edit pattern (d20 icon when empty, plain text when set), plus a Roll All button in the top bar that batch-rolls for all unrolled bestiary combatants, with randomness confined to the adapter layer and the domain receiving pre-resolved dice values
dostulata pushed to main at dostulata/initiative 2026-03-10 11:27:58 +01:00
5b0bac880d Implement the 025-display-initiative feature that adds initiative modifier and passive initiative display to creature stat blocks, calculated as DEX modifier + (proficiency multiplier × proficiency bonus) from bestiary data, shown in MM 2024 format on the AC line
dostulata pushed to main at dostulata/initiative 2026-03-09 16:50:51 +01:00
c6349928eb Implement the 024-fix-hp-popover-overflow feature that switches the HP adjustment popover from absolute to fixed positioning with viewport-aware clamping so it stays fully visible and causes no horizontal scrollbar, even when the HP display is near the right edge of the viewport