Commit Graph

  • 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 Lukas 2026-03-10 23:29:34 +01:00
  • c323adc343 Add spec, plan, and tasks for 030-bulk-import-sources feature Lukas 2026-03-10 22:45:37 +01:00
  • 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 Lukas 2026-03-10 22:46:13 +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 Lukas 2026-03-10 19:50:22 +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 Lukas 2026-03-10 19:00:49 +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 Lukas 2026-03-10 16:29:09 +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 Lukas 2026-03-10 11:27:46 +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 Lukas 2026-03-09 16:50:39 +01:00
  • 24198c25f1 Implement the 023-clear-encounter feature that adds a clear encounter button with confirmation dialog to remove all combatants and reset round/turn counters, with the cleared state persisting across page refreshes Lukas 2026-03-09 13:43:42 +01:00
  • 11c4c0237e Implement the 022-fixed-layout-bars feature that pins turn navigation to the top and add-creature bar to the bottom of the encounter tracker with only the combatant list scrolling between them, and auto-scrolls to the active combatant on turn change Lukas 2026-03-09 11:36:59 +01:00
  • fa078be2f9 Implement the 021-bestiary-statblock feature that adds a searchable D&D 2024 Monster Manual creature library with inline autocomplete suggestions, full stat block display in a fixed side panel, auto-numbering of duplicate creature names, HP/AC pre-fill from bestiary data, and automatic stat block display on turn change for wide viewports Lukas 2026-03-09 11:01:07 +01:00
  • 04a4f18f98 Implement the 020-fix-zero-hp-opacity feature that replaces container-level opacity dimming with element-level opacity on individual leaf elements so that HP popover and condition picker render at full opacity for unconscious combatants Lukas 2026-03-06 15:43:27 +01:00
  • 0c0da9b90e Implement the 019-combatant-row-declutter feature that replaces always-visible HP controls and AC/MaxHP inputs with compact click-to-edit and click-to-adjust patterns in the encounter tracker Lukas 2026-03-06 15:07:04 +01:00
  • e59fd83292 Implement the 018-combatant-concentration feature that adds a per-combatant concentration toggle with Brain icon, purple border accent, and damage pulse animation in the encounter tracker Lukas 2026-03-06 14:34:28 +01:00
  • febe892e15 Implement the 017-combat-conditions feature that adds D&D 5e status conditions to combatants with icon tags, color coding, and a compact toggle picker in the encounter tracker Lukas 2026-03-06 11:29:39 +01:00
  • 78c6591973 Implement the 016-combatant-ac feature that adds an optional Armor Class field to combatants with shield icon display and inline editing in the encounter tracker Lukas 2026-03-06 10:41:56 +01:00
  • 2793a66672 Implement the 015-add-jscpd-gate feature that adds copy-paste detection to the quality gate using jscpd with a 5% duplication threshold integrated into pnpm check Lukas 2026-03-06 00:13:32 +01:00
  • 56bced8481 Implement the 014-inline-hp-delta feature that replaces the damage/heal mode toggle with explicit action buttons and Enter-to-damage keyboard shortcut Lukas 2026-03-05 23:52:03 +01:00
  • 97d3918cef Implement the 013-hp-status-indicators feature that adds visual HP status indicators to combatant rows with a pure domain function deriving bloodied/unconscious states Lukas 2026-03-05 23:29:24 +01:00
  • 7d440677be Implement the 012-turn-navigation feature that adds a RetreatTurn domain operation and relocates turn controls to a navigation bar at the top of the encounter tracker Lukas 2026-03-05 23:11:11 +01:00
  • a0d85a07e3 Implement the 011-quick-hp-input feature that adds an inline damage/heal numeric input per combatant row with mode toggle, keyboard workflow, and visual distinction Lukas 2026-03-05 22:43:26 +01:00
  • 1c40bf7889 Implement the 010-ui-baseline feature that establishes a modern UI using Tailwind CSS v4 and shadcn/ui-style components for the encounter screen Lukas 2026-03-05 18:36:39 +01:00
  • 8185fde0e8 Implement the 009-combatant-hp feature that adds optional max HP and current HP tracking per combatant with +/- controls, direct entry, and persistence Lukas 2026-03-05 17:18:03 +01:00
  • a9c280a6d6 Implement the 008-persist-encounter feature that saves encounter state to localStorage so it survives page reloads Lukas 2026-03-05 16:24:00 +01:00
  • c4a90c9982 Implement the 007-add-knip feature that adds Knip unused code detection to the quality gate and as a standalone command Lukas 2026-03-05 12:24:27 +01:00
  • 0bbd6f27f9 Implement the 006-pre-commit-gate feature that enforces a pre-commit quality gate using Lefthook to run pnpm check before every commit Lukas 2026-03-05 11:44:44 +01:00
  • fea2bfe39d Implement the 005-set-initiative feature that adds initiative values to combatants with automatic descending sort and active turn preservation Lukas 2026-03-04 17:26:41 +01:00
  • a9df826fef Implement the 004-edit-combatant feature that adds the possibility to change a combatants name Lukas 2026-03-04 10:05:13 +01:00
  • aed234de7b Implement the 003-remove-combatant feature that adds the possibility to remove a combatant from an encounter Lukas 2026-03-03 23:46:47 +01:00
  • 9d7b174867 Merge branch '002-add-combatant' Lukas 2026-03-03 23:15:05 +01:00
  • 0de68100c8 Implement the 002-add-combatant feature that adds the possibility to add new combatants to an encounter Lukas 2026-03-03 23:11:07 +01:00
  • 187f98fc52 Relax INV-1/INV-2 in 001-advance-turn spec to allow empty encounters Lukas 2026-03-03 18:06:13 +01:00
  • 2f7b4b82c1 Add CLAUDE.md with project commands, architecture, and conventions Lukas 2026-03-03 13:18:01 +01:00
  • 4c2e0a47e6 T012–T016: Phase 3 application + web shell (use case, ports, React hook, UI, README) Lukas 2026-03-03 13:11:33 +01:00
  • 42a07a07ff T007–T011: implement AdvanceTurn domain logic (pure function, events, invariants, 8 acceptance tests) Lukas 2026-03-03 13:01:08 +01:00
  • 7dd4abb12a T001–T006: Phase 1 setup (workspace, Biome, TS, Vitest, layer boundary enforcement) Lukas 2026-03-03 12:54:29 +01:00
  • ddb2b317d3 Initial commit from Specify template Lukas 2026-03-02 15:08:51 +01:00