docs(brand): retire unreferenced generated-art feature graphics; single source of truth

Removed the two internal closer_app_explainer_feature.{png,svg} and
closer_e2ee_privacy_feature.{png,svg} files from docs/brand/generated-art/.
They were unreferenced banner-like art referenced by no store/README
doc, and the new docs/store/feature-graphic-1024x500.png (the
white-keyhole logo heart, 122aef7b) is the single source of truth for
README/store banner work.

docs/NameChange.md §5 updated to reflect the retirement (was 'OPTIONAL,
not store-facing'; now 'Retired ... so there is a single source of
truth') and points to the new feature-graphic as the canonical banner.
This commit is contained in:
null 2026-07-08 23:51:10 -05:00
parent 122aef7b88
commit 19b2ce8918
5 changed files with 3 additions and 129 deletions

View File

@ -41,8 +41,9 @@ Completed: `<h1>`, feature-graphic alt text, and product-facing prose use "Close
### 4. `docs/brand/visual-identity.md` — product-name prose (consistency, optional)
Completed: product-name prose uses "Closer Couples"; asset paths stay unchanged.
### 5. Two internal `generated-art` feature graphics — OPTIONAL (not store-facing)
`docs/brand/generated-art/closer_app_explainer_feature.svg` + `closer_e2ee_privacy_feature.svg` render "Closer" but are referenced by no store/README doc — internal exploration art. Update their `<text>` + re-export **only if** internal consistency is wanted; not required for the rename.
### 5. Retired internal `generated-art` feature graphics
Removed the two unreferenced banner-like generated-art files so there is a single source of truth for README/store banner work:
`docs/store/sources/feature-graphic.svg` -> `docs/store/feature-graphic-1024x500.png`.
## Feature-graphic re-export procedure (the installed tooling can't do it naively)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 368 KiB

View File

@ -1,62 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="500" viewBox="0 0 1024 500" role="img" aria-label="Closer private questions for couples feature graphic">
<defs>
<linearGradient id="iconGlow" x1="70" y1="74" x2="380" y2="384" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#2A1138"/>
<stop offset="1" stop-color="#13061D"/>
</linearGradient>
<filter id="softShadow" x="-30%" y="-30%" width="160%" height="160%">
<feDropShadow dx="0" dy="10" stdDeviation="16" flood-color="#050108" flood-opacity="0.38"/>
</filter>
<filter id="smallShadow" x="-30%" y="-30%" width="160%" height="160%">
<feDropShadow dx="0" dy="7" stdDeviation="10" flood-color="#050108" flood-opacity="0.24"/>
</filter>
</defs>
<rect width="1024" height="500" fill="#15081E"/>
<path d="M0 0 L170 74 H398 L563 166 H816 C818 99 848 44 900 0 H0 Z" fill="#B98AF4"/>
<path d="M0 371 C139 310 288 315 430 346 C573 378 714 384 839 292 C851 363 845 430 821 500 H0 Z" fill="#0E0416"/>
<ellipse cx="1030" cy="192" rx="215" ry="310" fill="#F4C4DF"/>
<rect x="68" y="74" width="313" height="313" fill="#21102D" opacity="0.72"/>
<rect x="72" y="78" width="305" height="305" rx="64" fill="url(#iconGlow)" stroke="#4E2B61" stroke-width="1.3" filter="url(#softShadow)"/>
<image href="../../store/app-icon-512.png" x="96" y="99" width="258" height="258" preserveAspectRatio="xMidYMid meet"/>
<text x="410" y="143" fill="#FFFFFF" font-family="Noto Sans, DejaVu Sans, Arial, sans-serif" font-size="74" font-weight="800">Closer</text>
<text x="412" y="198" fill="#FFE6F5" font-family="Noto Sans, DejaVu Sans, Arial, sans-serif" font-size="28" font-weight="800">Private questions for two.</text>
<text x="412" y="237" fill="#F8EFFB" font-family="Noto Sans, DejaVu Sans, Arial, sans-serif" font-size="20" font-weight="500">Answer prompts. Reveal together.</text>
<text x="412" y="267" fill="#F8EFFB" font-family="Noto Sans, DejaVu Sans, Arial, sans-serif" font-size="20" font-weight="500">Encrypted before sync.</text>
<g filter="url(#smallShadow)">
<rect x="408" y="298" width="178" height="93" rx="21" fill="#FFF8FC"/>
<circle cx="497" cy="316" r="15" fill="#E8D8F9"/>
<rect x="486" y="308" width="22" height="17" rx="6" fill="#5E3479"/>
<rect x="491" y="313" width="12" height="2.4" rx="1.2" fill="#F7EFFB"/>
<rect x="491" y="318" width="9" height="2.4" rx="1.2" fill="#F7EFFB"/>
<text x="497" y="354" fill="#2A1635" font-family="Noto Sans, DejaVu Sans, Arial, sans-serif" font-size="20" font-weight="800" text-anchor="middle">Daily prompts</text>
<text x="497" y="376" fill="#77647D" font-family="Noto Sans, DejaVu Sans, Arial, sans-serif" font-size="15" font-weight="500" text-anchor="middle">Small check-ins</text>
</g>
<g filter="url(#smallShadow)">
<rect x="604" y="298" width="184" height="93" rx="21" fill="#FFF8FC"/>
<circle cx="696" cy="316" r="15" fill="#F3D5E6"/>
<path d="M696 331 C688 324 682 319 682 312 C682 308 685 304 689 304 C692 304 695 307 696 309 C698 307 701 304 704 304 C708 304 711 308 711 312 C711 319 704 324 696 331 Z" fill="#A7195A"/>
<text x="696" y="354" fill="#2A1635" font-family="Noto Sans, DejaVu Sans, Arial, sans-serif" font-size="20" font-weight="800" text-anchor="middle">Mutual reveal</text>
<text x="696" y="376" fill="#77647D" font-family="Noto Sans, DejaVu Sans, Arial, sans-serif" font-size="15" font-weight="500" text-anchor="middle">See together</text>
</g>
<g filter="url(#smallShadow)">
<rect x="806" y="298" width="144" height="93" rx="21" fill="#FFF8FC"/>
<circle cx="878" cy="316" r="15" fill="#E8D8F9"/>
<rect x="867" y="314" width="22" height="18" rx="6" fill="#5E3479"/>
<path d="M872 314 V310 C872 304 876 302 878 302 C880 302 884 304 884 310 V314" fill="none" stroke="#5E3479" stroke-width="4" stroke-linecap="round"/>
<text x="878" y="354" fill="#2A1635" font-family="Noto Sans, DejaVu Sans, Arial, sans-serif" font-size="19" font-weight="800" text-anchor="middle">Private sync</text>
<text x="878" y="376" fill="#77647D" font-family="Noto Sans, DejaVu Sans, Arial, sans-serif" font-size="13" font-weight="500" text-anchor="middle">Google can't decrypt</text>
</g>
<g>
<rect x="408" y="410" width="432" height="44" rx="22" fill="#7B568E"/>
<circle cx="432" cy="432" r="15" fill="#FFD3E9"/>
<path d="M432 420 L441 424 V434 C441 442 436 447 432 449 C428 447 423 442 423 434 V424 Z" fill="#6B3C82"/>
<text x="458" y="439" fill="#FFFFFF" font-family="Noto Sans, DejaVu Sans, Arial, sans-serif" font-size="18" font-weight="800">A private space for two</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 396 KiB

View File

@ -1,65 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="500" viewBox="0 0 1024 500" role="img" aria-label="Closer end-to-end encryption feature graphic">
<defs>
<linearGradient id="iconGlow" x1="70" y1="74" x2="380" y2="384" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#2A1138"/>
<stop offset="1" stop-color="#13061D"/>
</linearGradient>
<filter id="softShadow" x="-30%" y="-30%" width="160%" height="160%">
<feDropShadow dx="0" dy="10" stdDeviation="16" flood-color="#050108" flood-opacity="0.38"/>
</filter>
<filter id="smallShadow" x="-30%" y="-30%" width="160%" height="160%">
<feDropShadow dx="0" dy="7" stdDeviation="10" flood-color="#050108" flood-opacity="0.24"/>
</filter>
</defs>
<rect width="1024" height="500" fill="#15081E"/>
<path d="M0 0 L170 74 H398 L563 166 H816 C818 99 848 44 900 0 H0 Z" fill="#B98AF4"/>
<path d="M0 371 C139 310 288 315 430 346 C573 378 714 384 839 292 C851 363 845 430 821 500 H0 Z" fill="#0E0416"/>
<ellipse cx="1030" cy="192" rx="215" ry="310" fill="#F4C4DF"/>
<rect x="68" y="74" width="313" height="313" rx="0" fill="#21102D" opacity="0.72"/>
<rect x="72" y="78" width="305" height="305" rx="64" fill="url(#iconGlow)" stroke="#4E2B61" stroke-width="1.3" filter="url(#softShadow)"/>
<image href="../../store/app-icon-512.png" x="96" y="99" width="258" height="258" preserveAspectRatio="xMidYMid meet"/>
<text x="410" y="143" fill="#FFFFFF" font-family="Noto Sans, DejaVu Sans, Arial, sans-serif" font-size="74" font-weight="800">Closer</text>
<text x="412" y="198" fill="#FFE6F5" font-family="Noto Sans, DejaVu Sans, Arial, sans-serif" font-size="28" font-weight="800">End-to-end encrypted.</text>
<text x="412" y="237" fill="#F8EFFB" font-family="Noto Sans, DejaVu Sans, Arial, sans-serif" font-size="20" font-weight="500">Answers lock on your device before sync.</text>
<text x="412" y="267" fill="#F8EFFB" font-family="Noto Sans, DejaVu Sans, Arial, sans-serif" font-size="20" font-weight="500">Google can store them, not decrypt them.</text>
<g filter="url(#smallShadow)">
<rect x="408" y="298" width="178" height="93" rx="21" fill="#FFF8FC"/>
<circle cx="497" cy="318" r="16" fill="#E8D8F9"/>
<path d="M497 306 L508 311 V321 C508 330 502 336 497 339 C492 336 486 330 486 321 V311 Z" fill="#5E3479"/>
<text x="497" y="354" fill="#2A1635" font-family="Noto Sans, DejaVu Sans, Arial, sans-serif" font-size="20" font-weight="800" text-anchor="middle">On device</text>
<text x="497" y="376" fill="#77647D" font-family="Noto Sans, DejaVu Sans, Arial, sans-serif" font-size="15" font-weight="500" text-anchor="middle">Encrypted first</text>
</g>
<g filter="url(#smallShadow)">
<rect x="604" y="298" width="184" height="93" rx="21" fill="#FFF8FC"/>
<circle cx="696" cy="318" r="16" fill="#F3D5E6"/>
<path d="M686 319 C686 313 690 309 696 309 C702 309 706 313 706 319 C706 325 702 329 696 329 C690 329 686 325 686 319 Z" fill="#A7195A"/>
<rect x="693" y="326" width="6" height="12" rx="3" fill="#A7195A"/>
<circle cx="699" cy="315" r="3" fill="#F3D5E6"/>
<text x="696" y="354" fill="#2A1635" font-family="Noto Sans, DejaVu Sans, Arial, sans-serif" font-size="20" font-weight="800" text-anchor="middle">Your keys</text>
<text x="696" y="376" fill="#77647D" font-family="Noto Sans, DejaVu Sans, Arial, sans-serif" font-size="15" font-weight="500" text-anchor="middle">Stay with you</text>
</g>
<g filter="url(#smallShadow)">
<rect x="806" y="298" width="144" height="93" rx="21" fill="#FFF8FC"/>
<circle cx="878" cy="318" r="16" fill="#E8D8F9"/>
<rect x="865" y="310" width="26" height="19" rx="7" fill="#5E3479"/>
<circle cx="872" cy="320" r="2.6" fill="#F7EFFB"/>
<circle cx="878" cy="320" r="2.6" fill="#F7EFFB"/>
<circle cx="884" cy="320" r="2.6" fill="#F7EFFB"/>
<text x="878" y="354" fill="#2A1635" font-family="Noto Sans, DejaVu Sans, Arial, sans-serif" font-size="19" font-weight="800" text-anchor="middle">Google can't</text>
<text x="878" y="376" fill="#77647D" font-family="Noto Sans, DejaVu Sans, Arial, sans-serif" font-size="15" font-weight="500" text-anchor="middle">decrypt them</text>
</g>
<g>
<rect x="408" y="410" width="432" height="44" rx="22" fill="#7B568E"/>
<circle cx="432" cy="432" r="15" fill="#FFD3E9"/>
<path d="M432 420 L441 424 V434 C441 442 436 447 432 449 C428 447 423 442 423 434 V424 Z" fill="#6B3C82"/>
<text x="458" y="439" fill="#FFFFFF" font-family="Noto Sans, DejaVu Sans, Arial, sans-serif" font-size="18" font-weight="800">Only your devices can decrypt</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.6 KiB