From 4f8727fd52d7c94b3bdb8b94ff1e558324118782 Mon Sep 17 00:00:00 2001 From: Jeff Emmett Date: Wed, 25 Feb 2026 20:04:08 -0800 Subject: [PATCH] Improve text readability, add cosmo-localism and sister ecosystems - Bump foreground lightness in scroll-provider from 0.86-0.88 to 0.92-0.93 - Match CSS default --scroll-fg to oklch(0.93 0.02 130) - Increase opacity on body text, subtitles, quotes across all sections - Rewrite NoFi section as shorter "Sister Ecosystems" with NoFi, MycoFi, Defect.fi - Add cosmo-localism glass card to P2P Foundation section - Add convivial tooling emphasis throughout legacy section - Add Defect.fi to network map and footer links - Fix extra closing div syntax error in legacy section Co-Authored-By: Claude Opus 4.6 --- app/globals.css | 2 +- components/compost-section.tsx | 6 +- components/emergence-section.tsx | 8 +- components/footer.tsx | 5 +- components/goods-matrix-section.tsx | 6 +- components/hero-section.tsx | 4 +- components/legacy-section.tsx | 71 ++++++++++--- components/mycelium-section.tsx | 6 +- components/network-map-section.tsx | 11 +- components/nofi-section.tsx | 157 +++++++++++----------------- components/scroll-provider.tsx | 18 ++-- 11 files changed, 153 insertions(+), 141 deletions(-) diff --git a/app/globals.css b/app/globals.css index 7de862f..607104d 100644 --- a/app/globals.css +++ b/app/globals.css @@ -6,7 +6,7 @@ :root { /* Scroll-driven dynamic colors (set by JS) */ --scroll-bg: oklch(0.20 0.03 140); - --scroll-fg: oklch(0.88 0.03 130); + --scroll-fg: oklch(0.93 0.02 130); --scroll-accent: oklch(0.58 0.12 145); --scroll-depth: 0; diff --git a/components/compost-section.tsx b/components/compost-section.tsx index adf68a0..e6018ba 100644 --- a/components/compost-section.tsx +++ b/components/compost-section.tsx @@ -29,7 +29,7 @@ export function CompostSection() {

The Compost Layer

-

+

Decomposing extractive systems into nutrients for regeneration

@@ -48,12 +48,12 @@ export function CompostSection() {

{card.title}

-

{card.body}

+

{card.body}

))} -

+

This is{" "} Emergence -

+

What grows underground eventually breaks the surface.

@@ -57,13 +57,13 @@ export function EmergenceSection() {

{card.title}

-

{card.body}

+

{card.body}

))}
-

+

Building the{" "} -

+

Sometimes the best way to see the future is to change your perspective. Stop{" "} -

+

Built with compost and code.

-

+

MycoStack — technology-augmented commons growing from beneath

diff --git a/components/goods-matrix-section.tsx b/components/goods-matrix-section.tsx index 0725d73..86ba59b 100644 --- a/components/goods-matrix-section.tsx +++ b/components/goods-matrix-section.tsx @@ -57,7 +57,7 @@ export function GoodsMatrixSection() {

Beyond Ostrom’s Matrix

-

+

Elinor Ostrom mapped the commons as a 2×2 grid. But the network age reveals a third column — goods that grow{" "} more valuable the more people use them. @@ -189,7 +189,7 @@ export function GoodsMatrixSection() { className="section-reveal max-w-3xl mx-auto space-y-6" style={{ transitionDelay: "0.2s" }} > -

+

Traditional economics fixates on the left two columns: private goods to buy, public goods to fund, common-pool resources to @@ -229,7 +229,7 @@ export function GoodsMatrixSection() { className="section-reveal max-w-2xl mx-auto text-center" style={{ transitionDelay: "0.25s" }} > -

+

“The forest floor is a symbiotic good. Every organism that joins makes the soil richer for all.”

diff --git a/components/hero-section.tsx b/components/hero-section.tsx index b9569a4..b89a934 100644 --- a/components/hero-section.tsx +++ b/components/hero-section.tsx @@ -88,7 +88,7 @@ export function HeroSection() { className="emerge-letter space-y-3" style={{ animationDelay: "1.2s" }} > -

+

Rebooting the legacy of the Commons Stack.
Preserving the legacy of the P2P Foundation. @@ -100,7 +100,7 @@ export function HeroSection() { {/* Cycling terminal tagline */}

>{" "} diff --git a/components/legacy-section.tsx b/components/legacy-section.tsx index 1c6956b..6d80b7d 100644 --- a/components/legacy-section.tsx +++ b/components/legacy-section.tsx @@ -15,7 +15,7 @@ export function LegacySection() {

The Roots

-

+

The MycoStack grows from the Commons Stack — its primary root system — nourished by the knowledge commons of the P2P Foundation and the broader commons movement. @@ -27,7 +27,7 @@ export function LegacySection() {

The Commons Stack

-
+

The{" "} The P2P Foundation -

+

The{" "} commons-based peer production, the{" "} partner state, and{" "} - cosmo-localism (“design global, manufacture - local”). But the P2P Foundation doesn’t just preserve - knowledge — it transforms it. Each iteration of commons - practice feeds back into the knowledge base, refining theories - into{" "} - convivial knowledge packets: living documents - that distill decades of research and practice into actionable - frameworks communities can actually use. + cosmo-localism. But the P2P Foundation + doesn’t just preserve knowledge — it transforms it. + Each iteration of commons practice feeds back into the knowledge + base, refining theories into{" "} + convivial knowledge packets and{" "} + convivial tools — technology in the + tradition of Ivan Illich, designed to expand human capability + without creating dependency. Tools that communities master, + rather than tools that master communities.

These knowledge packets become the seeds of{" "} @@ -142,6 +143,44 @@ export function LegacySection() { ground, pushing spores into the future.

+ + {/* Cosmo-localism */} +
+

+ Cosmo-localism +

+

+ “Design global, manufacture local.”{" "} + Knowledge is a non-rival good — sharing it doesn’t + diminish it. Hardware is local and contextual. Cosmo-localism + means open source designs flow freely across the global commons, + while production happens close to where things are needed, using + local materials, local labor, local governance. The global brain + thinks together; the local hands build together. +

+
+
+
global
+
+ Open designs, shared protocols, knowledge commons +
+
+
+
local
+
+ Community production, contextual adaptation, bioregional + materials +
+
+
+
convivial
+
+ Tools that empower users, not platforms that extract from + them +
+
+
+
{/* Data Flows - New Section */} @@ -152,7 +191,7 @@ export function LegacySection() {

Data Flows of the Commons

-
+

The MycoStack recognizes that the dissemination of{" "} trust, resources,{" "} @@ -227,7 +266,7 @@ export function LegacySection() {
Peer-for-Peer (P4P) Movement -

+

MycoStack carries this legacy forward by inoculating a movement: Peer-for-Peer (P4P) — an @@ -302,7 +341,7 @@ export function LegacySection() {

Tools in Active Research

-
+

Flow Funding — the natural evolution of the Commons Stack’s Augmented Bonding Curve. Less @@ -399,7 +438,7 @@ export function LegacySection() {

{pillar.title}

-

+

{pillar.text}

@@ -408,7 +447,7 @@ export function LegacySection() { {/* Quote */}
-

+

“The more we share, the more we have.”

diff --git a/components/mycelium-section.tsx b/components/mycelium-section.tsx index f495e45..9232bf4 100644 --- a/components/mycelium-section.tsx +++ b/components/mycelium-section.tsx @@ -59,7 +59,7 @@ export function MyceliumSection() {

The Mycelial Network

-

+

Three principles from the forest floor, applied to human systems

@@ -77,7 +77,7 @@ export function MyceliumSection() {

{principle.title}

-

+

{principle.body}

@@ -89,7 +89,7 @@ export function MyceliumSection() { {/* Connecting line between principles - visual only */}
-

+

These are the protocols of{" "} The Network of Networks -

+

Every node strengthens the whole. Every connection multiplies possibility.

diff --git a/components/nofi-section.tsx b/components/nofi-section.tsx index 4e2d84a..5369b31 100644 --- a/components/nofi-section.tsx +++ b/components/nofi-section.tsx @@ -12,29 +12,18 @@ export function NoFiSection() {

- NoFi + Sister Ecosystems

-

- /no-fai/ — post-finance -

-

- The point was never to make money. -
- The point was always to make change. +

+ The MycoStack doesn’t grow alone. It interweaves with + parallel movements rethinking value, finance, and coordination + from the ground up.

-
-
-

- Finance was supposed to be a tool — a way to coordinate - resources toward shared goals. Somewhere along the way, the tool - became the master. We started measuring the health of communities - by their balance sheets, the worth of projects by their returns, - the value of people by their portfolios. The map ate the - territory. -

-

+

+
+

NoFi - {" "} - is the recognition that we need to think past finance - entirely. Not anti-finance — post-finance. The question - isn’t “how do we fund this?” but “how - do we organize so that funding becomes irrelevant?” How do - we build systems where the flows of trust, knowledge, care, and - resources make the extractive financial layer unnecessary? + +

+

+ Post-finance. The point was never to make money — it was + to make change. NoFi asks: what if we build + coordination so dense that the financial scaffolding can be + composted?

-

- DeFi promised to decentralize finance. It mostly just made - finance faster. ReFi promised to regenerate through finance. It - mostly just made new financial instruments. NoFi asks: what if - the revolution isn’t in how we do finance, but in - building the world where we no longer need it as the primary - coordination mechanism? +

+
TradFi → DeFi → ReFi →
+
NoFi
+
Transcend the need for it.
+
+
+ +
+

+ + MycoFi + +

+

+ Mycelial finance — currencies that route value like fungi + route nutrients. Sensing scarcity, bridging gaps, feeding the + weak to strengthen the whole. Economics as ecology. +

+
+ +
+

+ + Defect.fi + +

+

+ Defecting from extractive finance. Naming the exit — the + conscious choice to withdraw from systems that concentrate + wealth and build alternatives that distribute it.

-
-

- The progression -

-
-
-
- TradFi -
-
- Extract value. Concentrate wealth. -
-
-
-
- DeFi -
-
- Decentralize the extraction. -
-
-
-
- ReFi -
-
- Try to regenerate through it. -
-
-
-
- NoFi -
-
- Transcend the need for it. -
-
-
-
- -
-
-

- In a mycelial economy, resources move by need, not by price. - Trust is built through reciprocity, not collateral. Contribution - is recognized through community memory, not token balances. The - forest doesn’t have a treasury — it has flows. -

-

- NoFi doesn’t mean no exchange. It means the exchange - becomes embedded in relationships thick enough to hold it. It - means building the social, technical, and ecological - infrastructure so dense that the financial scaffolding can - eventually be composted — returned to the soil, feeding - what comes next. -

-
- -
-

- “Stop making money. Start making sense.” -

-
-
+
+

+ “Stop making money. Start making sense.” +

+
) diff --git a/components/scroll-provider.tsx b/components/scroll-provider.tsx index 880a521..038e7a8 100644 --- a/components/scroll-provider.tsx +++ b/components/scroll-provider.tsx @@ -8,15 +8,15 @@ import { useEffect } from "react" // Background stays in the 0.20-0.24 range (dark forest floor). // Light text throughout. Hue drifts gently through greens and teals. const COLOR_STOPS: number[][] = [ - [0.0, 0.20, 0.03, 140, 0.88, 0.03, 130, 0.58, 0.12, 145], // Hero: mossy green - [0.10, 0.21, 0.035, 135, 0.87, 0.03, 135, 0.56, 0.13, 140], // Legacy: deep fern - [0.18, 0.22, 0.04, 130, 0.86, 0.03, 125, 0.55, 0.14, 130], // Compost: warm moss - [0.30, 0.22, 0.045, 150, 0.88, 0.03, 150, 0.58, 0.15, 155], // Mycelium: forest green - [0.42, 0.21, 0.04, 170, 0.88, 0.03, 170, 0.55, 0.13, 175], // Undernet: deep teal-green - [0.52, 0.22, 0.04, 160, 0.87, 0.03, 155, 0.57, 0.14, 160], // Anastomosis: fern blend - [0.62, 0.21, 0.035, 145, 0.86, 0.03, 140, 0.55, 0.13, 148], // NoFi: returning green - [0.75, 0.23, 0.04, 135, 0.88, 0.03, 130, 0.58, 0.14, 135], // Emergence: bright moss - [0.90, 0.22, 0.035, 145, 0.87, 0.03, 140, 0.56, 0.13, 150], // Network Map: canopy green + [0.0, 0.20, 0.03, 140, 0.93, 0.02, 130, 0.58, 0.12, 145], // Hero: mossy green + [0.10, 0.21, 0.035, 135, 0.93, 0.02, 135, 0.56, 0.13, 140], // Legacy: deep fern + [0.18, 0.22, 0.04, 130, 0.92, 0.02, 125, 0.55, 0.14, 130], // Compost: warm moss + [0.30, 0.22, 0.045, 150, 0.93, 0.02, 150, 0.58, 0.15, 155], // Mycelium: forest green + [0.42, 0.21, 0.04, 170, 0.93, 0.02, 170, 0.55, 0.13, 175], // Undernet: deep teal-green + [0.52, 0.22, 0.04, 160, 0.93, 0.02, 155, 0.57, 0.14, 160], // Anastomosis: fern blend + [0.62, 0.21, 0.035, 145, 0.92, 0.02, 140, 0.55, 0.13, 148], // NoFi: returning green + [0.75, 0.23, 0.04, 135, 0.93, 0.02, 130, 0.58, 0.14, 135], // Emergence: bright moss + [0.90, 0.22, 0.035, 145, 0.93, 0.02, 140, 0.56, 0.13, 150], // Network Map: canopy green ] function lerp(a: number, b: number, t: number) {