ScribblaZ UI Polish Archive

This page records the earlier tool-palette, most-recently-used color, and shape-tool polish work. It is superseded by the canonical ScribblaZ hub, architecture, game design, opcode reference, runbook, and verification checklist.

Historical changes captured here

  • The shared ToolType and CanvasEvent contracts live in src/lib/gameState.ts; draw replay and rendering live in src/lib/canvasEngine.ts; canvas interaction is in src/components/DrawCanvas.svelte.
  • Shape operations use the current TypeScript authoritative handler, server/match_handler.ts, which validates DRAW_SHAPE and relays accepted drawing operations (server/match_handler.ts:459-509). There is no current match_handler.lua authority.
  • The controller’s MRU list keeps up to 8 unique colors: mruColors = [c, ...].slice(0, 8) in src/lib/ScribblaZController.svelte.ts:350-353, not four.
  • PALETTE contains 15 curated entries in src/lib/gameState.ts:83-93. src/components/PaintColorPanel.svelte:32-64 renders those entries and adds a native <input type="color">; it is not a 16-color static palette.
  • The completed dock/palette sprint is recorded in CHECKLIST.md:62-67: shortcut labels, the continuous 15-swatch strip plus native picker, aligned dock utilities, tighter HintBar chrome, and no runtime floating-ui/tooltip chrome.

This archive intentionally preserves the historical scope without treating it as the live source of truth for match flow or current UI verification.

Ask Docs

AI assistant to help answer questions about the documentation. Answers are read-only and cite docs/source.

Hi! How can I help you with the documentation today? Answers are read-only and cite docs/source.

Ctrl+Enter to send