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
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 (AH, 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 <em>DRFT</em>" or "Who We <em>Are</em>"
│ title "The <em>Collective</em>"
│ 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 `<em>` device. Candidate: **"Who We <em>Are</em>"**
or simply **"The <em>Collective</em>"**. (Header — proposed, not copy.)
- Title: **"The <em>Collective</em>"** (RESOLVED 2026-06-17). The `<em>` 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.** 45 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).** 45 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 <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.
---