Skip to content

Work / Trunk / Wiki / Decisions

2026-10-19-plain-pages-and-styles

Decisioncanonicalverified 2026-10-19

DECISION.2026-10-19-PLAIN-PAGES-AND-STYLES

Plain pages in View, the canvas in Edit; Styles by shade, Images, sections of your own

Context and problem

The owner (2026-10-19): a canvas that zooms and pans has no purpose on Styles, and none on Pages and Components while only looking. Colors should be read by shade. Styles has no place for the product's images, and no way to keep a set of tokens of one's own.

Decision

  1. Journey is a canvas always. Pages and Components are a plain page in View: the page or component at the viewport picked, scaled to the column, scrolling as a page does; the bottom bar keeps the viewport, the state, Preview, ⌘K and View · Edit, and loses Move, Hand and zoom. In Edit they open on the canvas with every tool. Styles is a plain page in View and in Edit: nothing on it is drawn.
  2. Colors are arranged by shade. One ramp per hue family (Emerald, Amber, Gray, Rose, Blue), light to dark. A shade two tokens share is one swatch with both names.
  3. Images is a Styles section, after Icons: every image the capture found on the pages (photos, illustrations, backgrounds), where each is used, and Upload. Logos stay under Icons.
  4. New section, at the foot of the Styles list, makes a section of one's own (such as Charts) that holds one kind of token. It is made in the draft, like a colour, and listed under "Your sections".

Schema (approved by the owner 2026-10-19, built as follows)

  • AssetKind gains IMAGE. The capture saves the pages' <img> and CSS background images as assets, as it saves icons; AssetUse already says where each is used.
  • One new table, StyleSection (id, clientId, productId, createdAt), as Journey is: only the id that changes point at. A section's name and what it holds are STYLE_SECTION changes; a token or an image is put in one by its section property (a TOKEN or ASSET change). So a section, and what is in it, is made in a draft, reviewed and merged like anything else. This replaces the Token.sectionId column first drawn, which would have changed main without a draft.
  • Change targets gain STYLE_SECTION.

Consequences

  • The canvas code stays, used by Journey and by Edit on Pages and Components; View on those two is a plain page component.
  • A capture finds and keeps more files: images count toward storage.

Screens

styles-colors/colors.html (by shade), styles/images.html, styles-sections/section-new.html, styles-sections/section.html; every Pages, Components and Styles screen in View, and every Styles screen, without the canvas.