From 412b96ba16b4967c8136a69e4e8933f47d817065 Mon Sep 17 00:00:00 2001 From: daniel-c-harvey Date: Wed, 17 Jun 2026 17:46:37 -0400 Subject: [PATCH] docs(about-page): lock spec as approved; final photos sole open item MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Resolve §9 open questions: hero title "The Collective", Khabran bio as empty-slot placeholder, wwwroot/img hosting, Process placement for "designed not extracted". COPY D approved provisional; typo flags kept. --- product-notes/about-page.md | 114 +++++++++++++++++------------------- 1 file changed, 55 insertions(+), 59 deletions(-) diff --git a/product-notes/about-page.md b/product-notes/about-page.md index d2edd91..09311c6 100644 --- a/product-notes/about-page.md +++ b/product-notes/about-page.md @@ -1,15 +1,16 @@ # About Page — DeepDrft public site — Design Spec -Status: **proposed — copy largely settled** (2026-06-17). Author: product-designer. Date: 2026-06-17. -Implementer: staff-engineer (when approved). Surface: **public site only** (`DeepDrftPublic` / -`DeepDrftPublic.Client`). +Status: **APPROVED for implementation** — structure + copy signed off 2026-06-17 (Phase 12). Author: +product-designer. Date: 2026-06-17. Implementer: staff-engineer. Surface: **public site only** +(`DeepDrftPublic` / `DeepDrftPublic.Client`). -> **Copy status (2026-06-17 review):** A, B, C, E, D-intro, F, G, H are **APPROVED** — Daniel's -> verbatim words, set. **D (Process card bodies) is a fresh DRAFT** pending Daniel's pass (redrafted -> per his "spice it up, no Octave One" direction). **Khabran's bio is still TODO.** Remaining open -> items (Khabran's bio, final photos, image hosting path, hero title wording, "designed not -> extracted" placement) are being resolved separately. Approved blocks ship as written; the one -> remaining draft (D) does not ship without Daniel's pass. +> **Approval (2026-06-17):** Daniel signed off the structure and all copy. The spec is +> implementation-ready. All COPY blocks (A–H, D-intro) are **APPROVED** — D (Process card bodies) is +> approved *provisionally*: Daniel's word was "it's fine for now, we can change that wording later," +> so the body copy may still be reworded before or after build. The **only remaining open item is the +> final photo files** (§8, item 2) — Daniel is still sorting them; every image slot stays a +> graceful-degrade placeholder until files land. Khabran's bio is resolved: build the card now with an +> empty/placeholder body slot, Daniel drops his text in later. Cross-references: `Pages/Home.razor` + `Pages/Home.razor.css` (the visual language this page mirrors — inspected, not invented), `Controls/DeepDrftHero.razor` (hero type treatment), @@ -77,7 +78,7 @@ structure is legible without a heading that says "Movement One." ``` ┌─ HERO (split 50/50) ──────────────────────────────────────────┐ │ left: eyebrow "Charleston, South Carolina" │ -│ title "Deep DRFT" or "Who We Are" │ +│ title "The Collective" │ │ standfirst (the ethos line, condensed) │ │ right: DUO HERO PORTRAIT [IMG SLOT A — likely hero] │ ├─ full-bleed parallax band [IMG SLOT B — duo or gear] ─────────┤ @@ -131,8 +132,8 @@ Mirror Home's `.hero` split. - **Left (`md=6`, `.hero-left`):** eyebrow + title + standfirst, using the `.hero-*` classes. - Eyebrow: `Charleston, South Carolina` (matches Home's hero eyebrow — anchors place immediately). - - Title: a one-or-two-word masthead with the `` device. Candidate: **"Who We Are"** - or simply **"The Collective"**. (Header — proposed, not copy.) + - Title: **"The Collective"** (RESOLVED 2026-06-17). The `` device falls on + *Collective*. This is a label, not body copy. - Standfirst: the condensed ethos line — see `[COPY A]` below. - **Right (`md=6`):** **IMG SLOT A — the duo hero portrait.** This is the **likely hero image**. A duo shot reads "two people, a collective" at first paint. Aspect: landscape or square works in @@ -182,13 +183,13 @@ Per card: title. Candidate label: *Production · Sound Design · Live* (proposed UI label, not copy). - **Bio body** — `[BIO SLOT — Daniel supplies per member]`. -> **Khabran's bio is an OPEN TODO** — Daniel will add it later (open question §8). Daniel's bio -> material exists in the interview transcript and is drafted below for approval; **Khabran's card -> renders its slot empty / with a placeholder until his text arrives.** Design the card so a missing -> bio degrades gracefully (portrait + name + role line still compose; the body block simply absent) — -> the same null-renders-nothing discipline `ReleaseDescription` uses. +> **Khabran's bio — RESOLVED (2026-06-17):** build the card now with an empty / placeholder body +> slot; Daniel drops his text in later. This is not a blocker — **the card must compose correctly +> with the body absent** (portrait + name + role line still render; the body block simply omitted) — +> the same null-renders-nothing discipline `ReleaseDescription` uses. Daniel's bio (`[COPY C]`) is +> approved verbatim below. -> `[COPY C — APPROVED — Daniel bio, Daniel's words verbatim; Khabran's TBD]` +> `[COPY C — APPROVED — Daniel bio, Daniel's words verbatim; Khabran's body slot ships empty until he supplies it]` > Daniel started on drums at ten and embarked in electronic music at seventeen — synthesizers first. > A metalhead at from a young age, he spent ten years as an engineer living near Detroit filling the > nights with synthesized tones and rhythms, shaped most of all by modern underground Detroit techno. @@ -196,10 +197,11 @@ Per card: > tools behind the tracks are just as important as the finished sound. To him the science and the > math matter as much as the beauty — tension and release, built deliberately. -> **Typo flags (for Daniel's confirmation — text preserved verbatim above, not auto-corrected):** -> (1) "embarked **in** electronic music" reads as a likely slip for "embarked **on**"; (2) "A -> metalhead **at from** a young age" reads as a likely slip for "A metalhead **from** a young age." -> Both left as Daniel wrote them — his to confirm or keep. +> **Typo flags (Daniel has chosen to KEEP these verbatim for now — text preserved above, not +> auto-corrected; flag retained so it isn't lost):** (1) "embarked **in** electronic music" reads as +> a likely slip for "embarked **on**"; (2) "A metalhead **at from** a young age" reads as a likely +> slip for "A metalhead **from** a young age." Both left as Daniel wrote them — his to revisit if he +> wants. ### 4.2 Optional split — the meeting / origin @@ -228,7 +230,7 @@ with a hand-rolled SVG icon in the existing `.feature-icon` slot: 4. **Live Rig** — a big spread of hardware played 100% live, DAWless, sometimes fully improvised. Built for the room / the warehouse. -> `[COPY D — FOR APPROVAL — Process card bodies — REDRAFT per Daniel's "spice it up, no Octave One" note]` +> `[COPY D — APPROVED (provisional) — Process card bodies — wording may be revised later per Daniel]` > 1. *Sketch — A loop starts on the Force or the MPC, hands on the pads. The idea has to survive > first contact before anything else gets built around it.* > 2. *Arrange — Sometimes into Ableton, sometimes start-to-finish in REAPER. The track gets shaped @@ -244,9 +246,9 @@ with a hand-rolled SVG icon in the existing `.feature-icon` slot: > the room. The soul in this music is designed, not extracted; assembled, not distilled. (The "designed, not extracted / assembled, not distilled / constructed, not grown" line is the -sharpest statement of the logos register and the soul-is-engineered thesis. Recommend it land here, -in the Process movement, rather than the hero — it's the *why behind the method*, and it pays off -the dark band. Flag for Daniel: hero standfirst vs. Process — his call.) +sharpest statement of the logos register and the soul-is-engineered thesis. **RESOLVED +(2026-06-17): it lands here, in the Process movement** — carried by COPY D-intro above — not the +hero. It is the *why behind the method* and pays off the dark band.) Below the dark band: a **full-bleed parallax** (IMG SLOT D — **hands-on-gear shot**, the literal proof-of-effort image). Home's trailing `mixer.jpg` / `mixer-bw.jpg` pair is the precedent. @@ -326,44 +328,38 @@ If only 4 files arrive, the two safe drops are slot B (the hero column A already and slot E (the closing band is decorative). The two bio portraits (C1/C2) and one gear shot (D) are the load-bearing four. -### Image hosting — OPEN QUESTION for implementation +### Image hosting — RESOLVED (2026-06-17) -**Where do these images physically live, and by what path are they served?** Two precedents exist in -the repo and they differ: - -- **Static `wwwroot/img/`** — every Home page image (`dd-duo-hero.jpeg`, `mixer.jpg`, etc.) is a - committed static asset under `DeepDrftPublic/wwwroot/img/`, referenced as `img/...`. Simplest; - these are brand/marketing assets, not catalogue content. **This is the likely right home** for the - About images by direct analogy to Home. -- **Image vault / streaming endpoint** — release cover art and session hero images go through the - FileDatabase Image vault and the unauthenticated image-streaming endpoint. That machinery is for - *content* (covers, hero images tied to releases), not chrome. The About portraits are chrome. - -**Recommendation (flag, do not resolve):** put the About images in `wwwroot/img/` alongside the Home -assets — they are marketing chrome with the exact lifecycle of the existing Home photos. Only reach -for the vault if Daniel wants these editable from the CMS, which the brief gives no signal of. **This -is staff-engineer's call at implementation; named here so it isn't discovered mid-build.** +**Static serving under `DeepDrftPublic/wwwroot/img/`, same as the existing Home photos.** The About +page is not dynamic — these are marketing chrome with the exact lifecycle of the Home photos +(`dd-duo-hero.jpeg`, `mixer.jpg`, etc.), committed static assets referenced as `img/...`. **No image +vault** — that machinery is for *content* (release covers, session hero images tied to releases), and +the About portraits are chrome, not content. Files drop into `wwwroot/img/` and are referenced +directly. --- -## 9. Open questions (for Daniel) +## 9. Open questions — resolved 2026-06-17 -1. **Khabran's bio.** Not yet supplied — the card renders its body slot empty/placeholder until it - arrives. Daniel's bio is drafted from the transcript (`[COPY C]`); both are his to finalise. -2. **Final photos.** 4–5 files still being sorted; every image slot is a TODO. Spec is laid out so - placement is ready when files arrive (§8). -3. **Image hosting path.** `wwwroot/img/` (recommended, Home-analogous) vs. the image vault. Flagged - for staff-engineer; recommendation in §8. -4. **CUTS / SESSIONS / MIXES — explained on About?** **RESOLVED (2026-06-17): yes, via the - one-line-per-medium `.medium-card` grid (§6.1), per COPY F approval.** -5. **Where does the "designed, not extracted" thesis land** — hero standfirst or the Process - movement? Recommend Process (§5). *(Still open — Daniel resolving separately.)* -6. **Hero title wording** — "Who We Are" vs. "The Collective" vs. a Deep/DRFT masthead echo. Header - is proposed; Daniel's call. *(Still open — Daniel resolving separately.)* -7. **Copy status (2026-06-17 review):** A, B, C, E, D-intro, F, G, H are **APPROVED** (Daniel's - verbatim words). **D (Process card bodies) is a fresh DRAFT** pending Daniel's pass. **Khabran's - bio is still TODO** (item 1). Two suggested typo-fixes in COPY C are flagged inline for Daniel's - confirmation; his text is preserved verbatim. +The structure and all copy are signed off (Phase 12). **The only remaining open item is item 2 — +final photo files.** Everything else is resolved. + +1. **Khabran's bio.** **RESOLVED** — build the card now with an empty/placeholder body slot; Daniel + drops his text in later. The card composes with the body absent (§4.1). Daniel's bio (`[COPY C]`) + is approved verbatim. +2. **Final photos. — STILL OPEN (the one remaining TODO).** 4–5 files still being sorted; every image + slot stays a graceful-degrade placeholder until files land. Spec is laid out so placement is ready + when files arrive (§8). +3. **Image hosting path.** **RESOLVED** — static `DeepDrftPublic/wwwroot/img/`, same as Home photos; + no image vault (§8). +4. **CUTS / SESSIONS / MIXES — explained on About?** **RESOLVED** — yes, via the one-line-per-medium + `.medium-card` grid (§6.1), per COPY F approval. +5. **Where does the "designed, not extracted" thesis land?** **RESOLVED** — the Process movement, + carried by COPY D-intro (§5). +6. **Hero title wording.** **RESOLVED** — "The Collective" (§3). +7. **Copy status.** **RESOLVED** — all COPY blocks (A–H, D-intro) approved; D (Process card bodies) + approved *provisionally* (wording may be reworded later per Daniel). The two suggested typo-fixes + in COPY C are flagged inline; Daniel has chosen to keep his text verbatim for now. ---