From e5f5009f80f274cc5d259cfaf65c78d189e965bd Mon Sep 17 00:00:00 2001 From: Dominique Deschatre <43499065+domiscd@users.noreply.github.com> Date: Fri, 17 Apr 2026 19:18:10 -0300 Subject: [PATCH] (landing) added Closets section --- .../theme/landing/AnatomySection.vue | 37 +++++++++++++++---- website/.vitepress/theme/landing/landing.css | 21 ++++++----- .../theme/landing/useLandingEffects.js | 2 +- 3 files changed, 43 insertions(+), 17 deletions(-) diff --git a/website/.vitepress/theme/landing/AnatomySection.vue b/website/.vitepress/theme/landing/AnatomySection.vue index 4439e8b..c9228b9 100644 --- a/website/.vitepress/theme/landing/AnatomySection.vue +++ b/website/.vitepress/theme/landing/AnatomySection.vue @@ -6,21 +6,21 @@
the method of loci, updated

- Wings. Rooms. Drawers. + Wings. Rooms. Closets. Drawers.

An ancient memory technique, reworked for a machine. Broad categories - nest time-based groupings; time-based groupings hold verbatim drawers. - A symbolic index lets the model scan thousands of drawers in a single - pass and open only the ones it needs. + nest time-based groupings; time-based groupings bundle topics; topics + hold verbatim drawers. A symbolic index lets the model scan thousands + of drawers in a single pass and open only the ones it needs.

W — wing -

The Wing

+

The Wings

people · projects · topics

A broad region of the palace, keyed to a real entity — a person by name, a project by codename, a domain of your life. Entity-first, always.

@@ -36,7 +36,7 @@
R — room -

The Room

+

The Rooms

days · sessions · threads

Inside a wing sit rooms — discrete units of time. One room per day, or one per session. Walk the corridor and the palace unfolds chronologically, room by room.

@@ -50,9 +50,32 @@
+
+ C — closet +

The Closets

+

topics · threads · bundles

+

Inside a room, closets group related drawers by topic or thread. Open one closet and you see every drawer on that subject together — no need to walk the whole room.

+
+ + + + + + + + + + + + + + +
+
+
D — drawer -

The Drawer

+

The Drawers

verbatim · permanent · exact

Each room holds drawers. A drawer is a single chunk of verbatim content — the exact words, untouched. The palace's promise is kept here.

diff --git a/website/.vitepress/theme/landing/landing.css b/website/.vitepress/theme/landing/landing.css index cee24b4..678bfe1 100644 --- a/website/.vitepress/theme/landing/landing.css +++ b/website/.vitepress/theme/landing/landing.css @@ -31,7 +31,7 @@ body.mempalace-active { overflow-x: hidden; } --hair: rgba(158, 216, 255, 0.14); --hair-strong: rgba(158, 216, 255, 0.28); --ice: #EAF4FF; - --ice-dim: #B8C7D9; + --ice-dim: #aabbcf; --ice-ghost: rgba(234, 244, 255, 0.56); --prism: #9ED8FF; --prism-core: #4AA3FF; @@ -156,8 +156,8 @@ body.mempalace-active { overflow-x: hidden; } .mempalace-landing .display em { font-style: italic; color: var(--prism); } .mempalace-landing .lede { font-family: var(--f-display); - font-style: italic; - font-weight: 300; + /* font-style: italic; */ + font-weight: 400; color: var(--ice-dim); font-size: clamp(1.2rem, 1.8vw, 1.55rem); line-height: 1.45; @@ -813,16 +813,19 @@ body.mempalace-active { overflow-x: hidden; } .mempalace-landing .anatomy-diagram { position: relative; display: grid; - grid-template-columns: repeat(3, 1fr); - gap: clamp(1rem, 3vw, 2.5rem); + grid-template-columns: repeat(4, 1fr); + gap: clamp(1rem, 2.2vw, 1.75rem); padding: 2rem 0; } +@media (max-width: 1200px) { + .mempalace-landing .anatomy-diagram { grid-template-columns: repeat(2, 1fr); } +} .mempalace-landing .stratum { position: relative; border: var(--rule) solid var(--hair); - padding: 2rem 1.5rem; + padding: 1.75rem 1.25rem; background: linear-gradient(180deg, rgba(17,21,28,0.6), rgba(10,13,18,0.2)); - min-height: 360px; + min-height: 340px; display: flex; flex-direction: column; transition: border-color 0.4s ease, transform 0.4s ease; @@ -845,9 +848,9 @@ body.mempalace-active { overflow-x: hidden; } .mempalace-landing .stratum h3 { font-family: var(--f-display); font-weight: 400; - font-size: 2.4rem; + font-size: clamp(1.75rem, 2vw, 2.1rem); letter-spacing: -0.01em; - margin: 1.5rem 0 0.25rem; + margin: 1.25rem 0 0.25rem; color: var(--ice); } .mempalace-landing .stratum h3 em { font-style: italic; color: var(--prism); font-weight: 300; } diff --git a/website/.vitepress/theme/landing/useLandingEffects.js b/website/.vitepress/theme/landing/useLandingEffects.js index 80f9693..815077f 100644 --- a/website/.vitepress/theme/landing/useLandingEffects.js +++ b/website/.vitepress/theme/landing/useLandingEffects.js @@ -50,7 +50,7 @@ onMounted(() => { try { data = await res.json() } catch (_) { /* no body */ } if (res.ok) { - setState('success', (data && data.message) || "You're on the list! We'll be in touch.") + setState('success', (data && data.message) || "Success! You're on the list for updates.") // keep inputs disabled so they can't resubmit accidentally input.value = email return