Skip to content

feat(system-builder): CHARACTER SHEET page logic (4b3b) - #189

Merged
over2take merged 1 commit into
feature/system-builderfrom
sb/4b3b-sheet-designer-logic
Oct 7, 2026
Merged

over2take merged 1 commit into
feature/system-builderfrom
sb/4b3b-sheet-designer-logic

Conversation

@over2take

Copy link
Copy Markdown
Owner

frontend/src/sheets/sheetDesigner.ts: customize (copy the starter) and back to automatic; tabs added, renamed (refusing blank, long or repeated names), moved and removed (sections move to a chosen tab; the last tab makes a one-page sheet); sections and fields added, changed, moved and removed; the tray of starter fields not on a customized sheet; the header and max pairs forget fields that left; the name field stays; a formula's kind and editing are fixed; an attack number is never public. Every step is held to the server's checkDefinition in its tests.

statsRules.takenIds also counts a customized sheet's own fields, so a new stat or formula never takes one's id.

Summary

Test plan

  • Tested locally
  • Tests pass

Pre-merge checklist

Code quality:

  • Code follows project style
  • No breaking changes (or clearly documented)
  • No console errors or warnings

Version & Release:

  • Version bumped? If releasing to users, update:
    • frontend/package.json version
    • docker-compose.yml APP_VERSION
    • CHANGELOG.md with release notes
  • GitHub Actions will auto-tag Docker images with the new version

Before merging to main:

  • All tests passing
  • PR reviewed and approved
  • Branch is up to date with main
  • No merge conflicts

Related issues

frontend/src/sheets/sheetDesigner.ts: customize (copy the starter) and
back to automatic; tabs added, renamed (refusing blank, long or repeated
names), moved and removed (sections move to a chosen tab; the last tab
makes a one-page sheet); sections and fields added, changed, moved and
removed; the tray of starter fields not on a customized sheet; the
header and max pairs forget fields that left; the name field stays; a
formula's kind and editing are fixed; an attack number is never public.
Every step is held to the server's checkDefinition in its tests.

statsRules.takenIds also counts a customized sheet's own fields, so a
new stat or formula never takes one's id.
@over2take
over2take merged commit a5ee8b4 into feature/system-builder Oct 7, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant