aboutsummaryrefslogtreecommitdiff
path: root/docs/specs/theme-studio-preview-locate-spec.org
Commit message (Collapse)AuthorAgeFilesLines
* feat(theme-studio): locate preview elements by hover and clickCraig Jennings47 hours1-34/+237
| | | | | | | | Hovering a data-face preview element shows its section, face, and effective value in the preview-label info line, and the element's title carries the full record: effective fg/bg plus a per-attribute source note (direct, inherited-from-X, default, or cleared-rendering-as-default). Clicking an on-pane element scrolls to and flashes its assignment row. Off-pane and cross-surface elements stay hover-only. A single owner-qualified registry keyed by {owner, face} backs both data-face surfaces, package and UI, so the same face name under two owners never collides. The pure helpers in app-core.js take all state as arguments and return data. The one stateful adapter, previewSpan, lives in previews.js and emits the escaped markup. os() stays a package-owner wrapper over previewSpan, and a unified locateClick dispatcher replaces the per-surface click branches. Covered by test-locate.mjs and four new browser gates. Full harness green.
* docs: spec the theme-studio preview-locate feature; file org-agenda app taskCraig Jennings10 days1-0/+148
Spec the general preview interaction: hover any element for its section/face/value, click a current-pane element to flash and jump to its assignment row, off-pane elements hover-only via a derived face->owning-app registry that previews also read for cross-pane live rendering. Decisions 5/5 settled. File the locate feature and the dependent org-agenda app (break the agenda faces out of the org-mode pane into their own, with a representative week-agenda preview) as tasks; org-agenda depends on the locate feature.