Sketch2D: tablet painting application #17

Merged
ilusha merged 13 commits from sketch2d into master 2026-11-01 14:26:57 +03:00
Collaborator

Sketch2D: a tablet-first 2D raster painting application.

Rebuilt as 4 logical commits on top of master:

  1. core brush, engine and document libraries
  2. tile renderer, library and UI layers
  3. application entry, desktop launcher and benchmark
  4. tests, documentation, icons and scripts

Content is byte-identical to the Sketch2D module on agent-work.

Sketch2D: a tablet-first 2D raster painting application. Rebuilt as 4 logical commits on top of master: 1. core brush, engine and document libraries 2. tile renderer, library and UI layers 3. application entry, desktop launcher and benchmark 4. tests, documentation, icons and scripts Content is byte-identical to the Sketch2D module on agent-work.
agent added 4 commits 2026-10-31 23:37:05 +03:00
Sketch2D: tests, documentation, icons and scripts
Some checks failed
Windows / build (pull_request) Has been cancelled
CMake on a single platform / build (pull_request) Has been cancelled
CMake / build (pull_request) Has been cancelled
7e37a27ca3
ilusha force-pushed sketch2d from 7e37a27ca3 to 414d3e7817 2026-11-01 00:13:38 +03:00 Compare
ilusha force-pushed sketch2d from 414d3e7817 to 7a2d61ae4b 2026-11-01 13:01:52 +03:00 Compare
ilusha added 2 commits 2026-11-01 13:18:18 +03:00
RenameLayerDialog and SaveSketchDialog were two copies of the same one-field
prompt; replace them with the shared PromptDialog. The layer dialog keeps its
63-character limit and the library prompts their 64-character limit; the
prompt's submitted signal preserves Enter-confirm without re-confirming on a
focus change.
Sketch2D: use the shared Commands for the command registry
Some checks failed
Windows / build (pull_request) Has been cancelled
CMake on a single platform / build (pull_request) Has been cancelled
CMake / build (pull_request) Has been cancelled
5f29f5099b
The hand-rolled CommandRegistry is now a thin wrapper over Commands<Command>:
definitions, shortcuts, enabled/checked, run and key handling all come from the
shared registry, with the commandInfo label and the key-repeat tracking on top.
The repeat tracking itself moved into Commands<Id> so any app can offer fine
adjustment on a held shortcut, and the actions no longer carry the unused event
pointer.
ilusha added 1 commit 2026-11-01 13:29:09 +03:00
Sketch2D: the brush list is a ListView of ListRow
Some checks failed
Windows / build (pull_request) Has been cancelled
CMake on a single platform / build (pull_request) Has been cancelled
CMake / build (pull_request) Has been cancelled
1781e634ca
BrushListPopup no longer hand-builds BrushPresetButton widgets: the presets are
a ListView whose rows are ListRow with a custom-painted leading (the stroke
sample). ListRow gains a custom leading so a caller can paint its own mark, and
the brush sample paint moves into a free function.
ilusha added 1 commit 2026-11-01 13:33:46 +03:00
Sketch2D: the library's multi-select is a SelectionModel
Some checks failed
Windows / build (pull_request) Has been cancelled
CMake on a single platform / build (pull_request) Has been cancelled
CMake / build (pull_request) Has been cancelled
fa1cfae4d4
The hand-built std::vector<std::string> selection (toggle/clear/select-all and
the contains checks) becomes SelectionModel<std::string> in multiple mode: the
banner, move-here picker and action menu now read the selected set and current
item from the shared selection model.
ilusha merged commit b01de66d07 into master 2026-11-01 14:26:57 +03:00
ilusha deleted branch sketch2d 2026-11-01 14:26:58 +03:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: ilusha/Modules#17
No description provided.