From f9b379ed52e4b5947bb2a2fc8d2c54c872e39791 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Thu, 2 Jul 2026 22:12:17 -0400 Subject: docs: editable-height spec READY -> DOING Phases decomposed into build tasks; Phase 1 gains a load-time kind-inference migration for saved themes that predate the explicit height-kind field. --- docs/specs/theme-studio-editable-height-spec.org | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'docs/specs/theme-studio-editable-height-spec.org') diff --git a/docs/specs/theme-studio-editable-height-spec.org b/docs/specs/theme-studio-editable-height-spec.org index eafaea64..4451053e 100644 --- a/docs/specs/theme-studio-editable-height-spec.org +++ b/docs/specs/theme-studio-editable-height-spec.org @@ -3,16 +3,17 @@ #+TODO: TODO | DONE #+TODO: DRAFT READY DOING | IMPLEMENTED SUPERSEDED CANCELLED -* READY Theme-Studio Spec: Editable Face Height +* DOING Theme-Studio Spec: Editable Face Height :PROPERTIES: :ID: acf7e080-d5ae-4500-b3fd-30dcaa0fb8de :END: +- 2026-07-02 Thu @ 22:11:05 -0400 — DOING: spec-response Phase 6 decomposed the five phases into build tasks under todo.org's "theme-studio: editable face height" parent (:SPEC_ID: stamped); seed fix shipped separately (1e10023c) - 2026-07-02 Thu @ 21:52:38 -0400 — READY: spec-review pass (code read + all five Decisions settled by Craig, two review findings folded in); rubric Ready - 2026-07-02 Thu @ 17:02:46 -0400 — stubbed from the nov-reading modeline-height bug discussion (Craig + session); DRAFT, needs a full read + decision pass before it is READY * Metadata -- Status: ready +- Status: doing - Source: 2026-07-02 diagnosis of "nov reading pane's modeline is suddenly huge." Root cause: the modeline height padding (=cj/--modeline-padding=, a =display '(height 1.15)= on a leading space) scales relative to the buffer's =default= face; =mode-line='s own =:height= is unspecified, so it inherits the enlarged reading font nov-reading remaps in. The minimal fix (seed an absolute =:height= on the mode-line faces in =face_data.py=) ships separately and does not block this spec — note it had NOT yet shipped as of the 2026-07-02 review (no chrome heights in =face_data.py=; =WIP-theme.el= mode-line still height-free), so it is tracked as immediate follow-on work. This spec covers the *durable* half — making height a first-class editable attribute in the studio so it can be tuned and re-exported without hand-editing the generated theme. - Related: [[file:../design/theme-studio-face-rules.org][theme-studio face-rules]] (the "every themeable attribute is a real editable control" principle — this is why the mode-line box became a real =:box=), [[file:theme-studio-palette-columns-spec.org][palette-columns spec]] (adjacent studio attribute-model work) @@ -93,6 +94,11 @@ Studio gen/test/check green; a coverage/round-trip test for height kinds; update * Review and iteration history +** 2026-07-02 Thu @ 22:11:05 -0400 — Claude Code (.emacs.d) — responder +- *What:* spec-response Phase 6. All findings and decisions were already complete (same-day fused review pass), so this pass built the implementation-task breakdown: five phase tasks + the IMPLEMENTED-flip task under the todo.org parent "theme-studio: editable face height (absolute vs relative)", =:SPEC_ID:= stamped, all =:solo:= (screenshot harness self-verifies the visuals; the one human check — the nov modeline — already sits under Manual testing and validation from the seed fix). Completeness pass: every phase, Decision, and both findings map to a task; Phase 1 gained the load-time kind-inference migration for existing saved themes. Lifecycle READY → DOING. +- *Why:* Craig confirmed Ready and asked for the decomposition; the seed fix (1e10023c) had just landed, so Phase 4's scope was adjusted to the remaining chrome faces. +- *Artifacts:* todo.org parent + six child tasks; commit 1e10023c (seed fix); this spec's Decisions and Review findings sections. + ** 2026-07-02 Thu @ 21:52:38 -0400 — Claude Code (.emacs.d) — reviewer + responder - *What:* Full spec-review pass on the same-day stub. Code read (=build-theme.el= export, =face_data.py= seeds, =app.js= face model + mock editor preview, =WIP.json= live data) produced two findings — the JSON integral-float kind collapse (blocking; verified against live =WIP.json= data) and the not-yet-shipped seed fix. Craig settled all five open Decisions in one pass (control shape, exposed-face set, entry unit, preview surfaces, artifact ownership). Findings folded in, Goal 3 and Phases 1-4 updated, rubric =Ready=, status flipped DRAFT → READY. - *Why:* Craig picked the spec's read + decision pass as the session's work; the stub was authored earlier the same day and needed the gate run before spec-response can decompose phases. -- cgit v1.2.3