Rename Sketch to Draw; blocks are Drawing (inline) and Canvas (whole Note) #1102

Open
opened 2026-10-05 06:06:44 +00:00 by kayg · 6 comments
Owner

Owner decision (2026-10-05)

"Why are we calling it Sketch? Let's just call it Draw instead, with Drawing and Canvas as the block names."

  • The action is Draw everywhere: slash command /draw (keep /sketch as a hidden alias), Composer button, menus, shortcuts, tooltips.
  • An inline drawing inside a Note or Journal entry is a Drawing block.
  • A whole-Note drawing (the Excalidraw Note, today's Canvas) stays a Canvas.
  • Update DESIGN (§60 and the Sketch section), CONTEXT.md glossary, UI strings, docs and tests. No other user-facing "Sketch".
## Owner decision (2026-10-05) "Why are we calling it Sketch? Let's just call it Draw instead, with Drawing and Canvas as the block names." - The action is **Draw** everywhere: slash command `/draw` (keep `/sketch` as a hidden alias), Composer button, menus, shortcuts, tooltips. - An inline drawing inside a Note or Journal entry is a **Drawing** block. - A whole-Note drawing (the Excalidraw Note, today's Canvas) stays a **Canvas**. - Update DESIGN (§60 and the Sketch section), CONTEXT.md glossary, UI strings, docs and tests. No other user-facing "Sketch".
Author
Owner

Starting #1101–#1103 on branch job/draw-1101, based on dev at df92d4da129bfead879d417aef6e0514fc56ee96 (production Canvas base). I will reproduce and fix #1101 first and commit it separately as the hotfix, then implement the Draw rename and inline Drawing block. No pushes, deploys, or merges.

Starting #1101–#1103 on branch `job/draw-1101`, based on `dev` at `df92d4da129bfead879d417aef6e0514fc56ee96` (production Canvas base). I will reproduce and fix #1101 first and commit it separately as the hotfix, then implement the Draw rename and inline Drawing block. No pushes, deploys, or merges.
Author
Owner

Finding: the current user-facing action is Sketch in the Composer and note slash menu (apps/web/src/lib/composer/Composer.svelte, packages/editor/src/slash.ts, and packages/ui shortcut labels); the Composer terminal parser accepts only /sketch today (apps/web/src/lib/composer/sketchCommand.ts). DESIGN §60 also names the action Sketch. I will change the visible action to Draw and retain /sketch as an input alias.

Finding: the current user-facing action is `Sketch` in the Composer and note slash menu (`apps/web/src/lib/composer/Composer.svelte`, `packages/editor/src/slash.ts`, and `packages/ui` shortcut labels); the Composer terminal parser accepts only `/sketch` today (`apps/web/src/lib/composer/sketchCommand.ts`). DESIGN §60 also names the action Sketch. I will change the visible action to Draw and retain `/sketch` as an input alias.
Author
Owner

Rename finding and decision for #1102:

  • The old composer.sketch shortcut ID is already persisted in per-User shortcut settings. I kept that internal ID so the rename does not discard a User's saved key choice. The visible label and warm tooltip now say Draw.
  • /draw is the primary Composer and Notes command. /sketch remains a hidden alias; tests check that the menu title remains Draw.
  • Updated the active parity contract, UI intent, DESIGN §60, glossary, Canvas and Composer tests, E2E flow, and benchmark name. Historical audit records and the unrelated Sketch.pdf fixture remain historical/test data.

Focused checks passed:

Test Files  4 passed (4)
      Tests  45 passed (45)
Test Files  1 passed (1)
      Tests  5 passed (5)
Rename finding and decision for #1102: - The old `composer.sketch` shortcut ID is already persisted in per-User shortcut settings. I kept that internal ID so the rename does not discard a User's saved key choice. The visible label and warm tooltip now say Draw. - `/draw` is the primary Composer and Notes command. `/sketch` remains a hidden alias; tests check that the menu title remains Draw. - Updated the active parity contract, UI intent, DESIGN §60, glossary, Canvas and Composer tests, E2E flow, and benchmark name. Historical audit records and the unrelated Sketch.pdf fixture remain historical/test data. Focused checks passed: ``` Test Files 4 passed (4) Tests 45 passed (45) ``` ``` Test Files 1 passed (1) Tests 5 passed (5) ```
Author
Owner

#1102 guard finding:

bun run check stopped in perf-lint --check after the internal Composer rename changed the exact source hash for its existing anchorChips #each scope. The old hash was 0aee8869…; the current source hash is 59d5e0d4…. Its finite bound remains unproved, so this change refreshes the same 12 scoped exception records and does not add an exception or raise the ratchet.

Gate output:

perf-lint: INVALID: ('render.bound', 'apps/web/src/lib/composer/Composer.svelte', 'apps/web/src/lib/composer/Composer.svelte#each:01aefb8ad686dc6a:1'): unused or changed exception
#1102 guard finding: `bun run check` stopped in `perf-lint --check` after the internal Composer rename changed the exact source hash for its existing `anchorChips` `#each` scope. The old hash was `0aee8869…`; the current source hash is `59d5e0d4…`. Its finite bound remains unproved, so this change refreshes the same 12 scoped exception records and does not add an exception or raise the ratchet. Gate output: ``` perf-lint: INVALID: ('render.bound', 'apps/web/src/lib/composer/Composer.svelte', 'apps/web/src/lib/composer/Composer.svelte#each:01aefb8ad686dc6a:1'): unused or changed exception ```
Author
Owner

#1102 status: the Sketch → Draw rename is committed separately (0949ee4a78b4047ae28745271d094d0ad7219652), including /draw and the hidden /sketch alias. The new inline Drawing work that this issue blocks is still uncommitted and unverified. bun run check and focused Vitest were not run after the origin/dev merge.

READY FOR MERGE: no, pending completion and gates for #1103.

#1102 status: the Sketch → Draw rename is committed separately (`0949ee4a78b4047ae28745271d094d0ad7219652`), including `/draw` and the hidden `/sketch` alias. The new inline Drawing work that this issue blocks is still uncommitted and unverified. `bun run check` and focused Vitest were not run after the origin/dev merge. READY FOR MERGE: no, pending completion and gates for #1103.
Author
Owner

Decision not specified in DESIGN: keep the internal composer.sketch shortcut ID so saved User bindings continue to work. The visible label and command are Draw and /draw; /sketch remains a hidden alias.

Decision not specified in DESIGN: keep the internal `composer.sketch` shortcut ID so saved User bindings continue to work. The visible label and command are Draw and `/draw`; `/sketch` remains a hidden alias.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
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
kayg/calternal#1102
No description provided.