Skip to content

feat: board grid backgrounds - Cartesian and isometric board paper - #390

Merged
devmobasa merged 6 commits into
mainfrom
feat/board-grid-backgrounds
Sep 13, 2026
Merged

devmobasa merged 6 commits into
mainfrom
feat/board-grid-backgrounds

Conversation

@devmobasa

Copy link
Copy Markdown
Owner

Adds Cartesian grids, isometric lines, and isometric dots as board backgrounds, with configurable spacing. Paper stays aligned during panning, survives erasing and clearing annotations, and appears in previews and PNG/PDF exports.

Closes #389

  • Edit session paper through the board picker with draft preview and Apply/Cancel.
  • Configure new-session paper defaults in the configurator or TOML.
  • Persist board appearance and pen settings while preserving legacy-session loading and recovery behavior.
  • Reuse cached paper during panning without redundant painting.

How to use

  • Board picker: Open with Ctrl+Shift+B, then right-click a solid board → Edit Paper…. Clicking its color swatch or pressing Ctrl+C also opens the editor.
  • Command palette: Open with Ctrl+K or Ctrl+Shift+P, then choose Edit Board Paper for the active board.
  • Canvas context menu: Right-click → Boards → Edit Board Paper….

Choose a pattern and spacing, preview the result, then Apply.

For new-session defaults, use Configurator → Boards. Shortcuts above are the defaults.

image image

Integrate session appearance editing, recovery, configurator templates, previews, eraser-safe rendering, and PNG/PDF exports. Avoid redundant paper rendering on cache hits and preserve pending edits when using the visible palette.
Add a scalable paper editor with a size slider, typed spacing, wheel controls, and a configurable Edit Board Paper action. Expose paper, rename, and pin actions through board menus with matching rendering, cursor, hover, and click priority.

Consume the release after outside menu dismissal so the picker stays open and underlying controls remain untouched. Cover board and page menu dismissal and subsequent clicks through the real pointer router.

Validation: tools/lint-and-test.sh passed, including strict Clippy, all-feature and no-default-feature workspace tests, and isolated rendering checks. The dismissal regression failed before the fix and passes with it.
Use shared glyphs and short key names in shortcut labels and the input HUD while preserving canonical config and terminal spellings. Keep help and command-palette search matching canonical key names, and give narrow keycaps a consistent minimum width.

Validation: formatting and whitespace checks passed. The preceding review reported 4,623 passing all-feature library tests with 10 ignored; full CI and manual UI validation were not run for this patch.
Open the color popup on the paper draft while preserving Apply and Cancel. Keep colors opaque, hide unsupported controls, and prevent wheel input from reaching the underlying sheet or page grid. Always restore the accepted target color when typed shorthand returns to the opening value.

Remove the board-paper validation artifacts and update the architecture reference.

Validation: the full tools/lint-and-test.sh gate passed, including packaging and repository tools, strict Clippy, all-feature and no-default-feature workspace tests, and isolated rendering tests.
@devmobasa
devmobasa force-pushed the feat/board-grid-backgrounds branch from a02c902 to 2e46936 Compare September 13, 2026 15:48
@devmobasa
devmobasa merged commit 53d122a into main Sep 13, 2026
3 checks passed
@devmobasa
devmobasa deleted the feat/board-grid-backgrounds branch September 13, 2026 16:09
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.

[FEATURE] Add Cartesian grid - Graph paper background

1 participant