docs(about-page): lock spec as approved; final photos sole open item

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.
This commit is contained in:
daniel-c-harvey
2026-06-17 17:46:37 -04:00
parent 40b5cb8328
commit 412b96ba16
+55 -59
View File
@@ -1,15 +1,16 @@
# About Page — DeepDrft public site — Design Spec # About Page — DeepDrft public site — Design Spec
Status: **proposed — copy largely settled** (2026-06-17). Author: product-designer. Date: 2026-06-17. Status: **APPROVED for implementation** — structure + copy signed off 2026-06-17 (Phase 12). Author:
Implementer: staff-engineer (when approved). Surface: **public site only** (`DeepDrftPublic` / product-designer. Date: 2026-06-17. Implementer: staff-engineer. Surface: **public site only**
`DeepDrftPublic.Client`). (`DeepDrftPublic` / `DeepDrftPublic.Client`).
> **Copy status (2026-06-17 review):** A, B, C, E, D-intro, F, G, H are **APPROVED** — Daniel's > **Approval (2026-06-17):** Daniel signed off the structure and all copy. The spec is
> verbatim words, set. **D (Process card bodies) is a fresh DRAFT** pending Daniel's pass (redrafted > implementation-ready. All COPY blocks (AH, D-intro) are **APPROVED** — D (Process card bodies) is
> per his "spice it up, no Octave One" direction). **Khabran's bio is still TODO.** Remaining open > approved *provisionally*: Daniel's word was "it's fine for now, we can change that wording later,"
> items (Khabran's bio, final photos, image hosting path, hero title wording, "designed not > so the body copy may still be reworded before or after build. The **only remaining open item is the
> extracted" placement) are being resolved separately. Approved blocks ship as written; the one > final photo files** (§8, item 2) — Daniel is still sorting them; every image slot stays a
> remaining draft (D) does not ship without Daniel's pass. > 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 Cross-references: `Pages/Home.razor` + `Pages/Home.razor.css` (the visual language this page mirrors
— inspected, not invented), `Controls/DeepDrftHero.razor` (hero type treatment), — 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) ──────────────────────────────────────────┐ ┌─ HERO (split 50/50) ──────────────────────────────────────────┐
│ left: eyebrow "Charleston, South Carolina" │ │ left: eyebrow "Charleston, South Carolina" │
│ title "Deep <em>DRFT</em>" or "Who We <em>Are</em>" │ title "The <em>Collective</em>"
│ standfirst (the ethos line, condensed) │ │ standfirst (the ethos line, condensed) │
│ right: DUO HERO PORTRAIT [IMG SLOT A — likely hero] │ │ right: DUO HERO PORTRAIT [IMG SLOT A — likely hero] │
├─ full-bleed parallax band [IMG SLOT B — duo or gear] ─────────┤ ├─ 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. - **Left (`md=6`, `.hero-left`):** eyebrow + title + standfirst, using the `.hero-*` classes.
- Eyebrow: `Charleston, South Carolina` (matches Home's hero eyebrow — anchors place immediately). - Eyebrow: `Charleston, South Carolina` (matches Home's hero eyebrow — anchors place immediately).
- Title: a one-or-two-word masthead with the `<em>` device. Candidate: **"Who We <em>Are</em>"** - Title: **"The <em>Collective</em>"** (RESOLVED 2026-06-17). The `<em>` device falls on
or simply **"The <em>Collective</em>"**. (Header — proposed, not copy.) *Collective*. This is a label, not body copy.
- Standfirst: the condensed ethos line — see `[COPY A]` below. - 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**. - **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 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). title. Candidate label: *Production · Sound Design · Live* (proposed UI label, not copy).
- **Bio body** — `[BIO SLOT — Daniel supplies per member]`. - **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 > **Khabran's bio — RESOLVED (2026-06-17):** build the card now with an empty / placeholder body
> material exists in the interview transcript and is drafted below for approval; **Khabran's card > slot; Daniel drops his text in later. This is not a blocker — **the card must compose correctly
> renders its slot empty / with a placeholder until his text arrives.** Design the card so a missing > with the body absent** (portrait + name + role line still render; the body block simply omitted) —
> bio degrades gracefully (portrait + name + role line still compose; the body block simply absent) — > the same null-renders-nothing discipline `ReleaseDescription` uses. Daniel's bio (`[COPY C]`) is
> the same null-renders-nothing discipline `ReleaseDescription` uses. > 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. > 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 > 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. > 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 > 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. > 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):** > **Typo flags (Daniel has chosen to KEEP these verbatim for now — text preserved above, not
> (1) "embarked **in** electronic music" reads as a likely slip for "embarked **on**"; (2) "A > auto-corrected; flag retained so it isn't lost):** (1) "embarked **in** electronic music" reads as
> metalhead **at from** a young age" reads as a likely slip for "A metalhead **from** a young age." > a likely slip for "embarked **on**"; (2) "A metalhead **at from** a young age" reads as a likely
> Both left as Daniel wrote them — his to confirm or keep. > 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 ### 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. 4. **Live Rig** — a big spread of hardware played 100% live, DAWless, sometimes fully improvised.
Built for the room / the warehouse. 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 > 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.* > first contact before anything else gets built around it.*
> 2. *Arrange — Sometimes into Ableton, sometimes start-to-finish in REAPER. The track gets shaped > 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 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 (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, sharpest statement of the logos register and the soul-is-engineered thesis. **RESOLVED
in the Process movement, rather than the hero — it's the *why behind the method*, and it pays off (2026-06-17): it lands here, in the Process movement** — carried by COPY D-intro above — not the
the dark band. Flag for Daniel: hero standfirst vs. Process — his call.) 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 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. 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 and slot E (the closing band is decorative). The two bio portraits (C1/C2) and one gear shot (D) are
the load-bearing four. 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 **Static serving under `DeepDrftPublic/wwwroot/img/`, same as the existing Home photos.** The About
the repo and they differ: 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
- **Static `wwwroot/img/`** — every Home page image (`dd-duo-hero.jpeg`, `mixer.jpg`, etc.) is a vault** — that machinery is for *content* (release covers, session hero images tied to releases), and
committed static asset under `DeepDrftPublic/wwwroot/img/`, referenced as `img/...`. Simplest; the About portraits are chrome, not content. Files drop into `wwwroot/img/` and are referenced
these are brand/marketing assets, not catalogue content. **This is the likely right home** for the directly.
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.**
--- ---
## 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 The structure and all copy are signed off (Phase 12). **The only remaining open item is item 2 —
arrives. Daniel's bio is drafted from the transcript (`[COPY C]`); both are his to finalise. final photo files.** Everything else is resolved.
2. **Final photos.** 45 files still being sorted; every image slot is a TODO. Spec is laid out so
placement is ready when files arrive (§8). 1. **Khabran's bio.** **RESOLVED** — build the card now with an empty/placeholder body slot; Daniel
3. **Image hosting path.** `wwwroot/img/` (recommended, Home-analogous) vs. the image vault. Flagged drops his text in later. The card composes with the body absent (§4.1). Daniel's bio (`[COPY C]`)
for staff-engineer; recommendation in §8. is approved verbatim.
4. **CUTS / SESSIONS / MIXES — explained on About?** **RESOLVED (2026-06-17): yes, via the 2. **Final photos. — STILL OPEN (the one remaining TODO).** 45 files still being sorted; every image
one-line-per-medium `.medium-card` grid (§6.1), per COPY F approval.** slot stays a graceful-degrade placeholder until files land. Spec is laid out so placement is ready
5. **Where does the "designed, not extracted" thesis land** — hero standfirst or the Process when files arrive (§8).
movement? Recommend Process (§5). *(Still open — Daniel resolving separately.)* 3. **Image hosting path.** **RESOLVED** — static `DeepDrftPublic/wwwroot/img/`, same as Home photos;
6. **Hero title wording** — "Who We Are" vs. "The Collective" vs. a Deep/DRFT masthead echo. Header no image vault (§8).
is proposed; Daniel's call. *(Still open — Daniel resolving separately.)* 4. **CUTS / SESSIONS / MIXES — explained on About?** **RESOLVED** — yes, via the one-line-per-medium
7. **Copy status (2026-06-17 review):** A, B, C, E, D-intro, F, G, H are **APPROVED** (Daniel's `.medium-card` grid (§6.1), per COPY F approval.
verbatim words). **D (Process card bodies) is a fresh DRAFT** pending Daniel's pass. **Khabran's 5. **Where does the "designed, not extracted" thesis land?** **RESOLVED** — the Process movement,
bio is still TODO** (item 1). Two suggested typo-fixes in COPY C are flagged inline for Daniel's carried by COPY D-intro (§5).
confirmation; his text is preserved verbatim. 6. **Hero title wording.** **RESOLVED** — "The <em>Collective</em>" (§3).
7. **Copy status.** **RESOLVED** — all COPY blocks (AH, 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.
--- ---