import { FlowData } from './types' // Flow dimension colors: // Economic = teal (#2dd4bf) // Governance/Delegation = purple (#a78bfa) // Data/Knowledge = blue (#60a5fa) // Energy/Resources = amber (#fbbf24) // S2: Multi-dimensional flows in a living system // Same nodes participate in multiple flow types // Note: d3-sankey requires acyclic graphs, so feedback loops are // represented with separate source/sink nodes (e.g. soil-in → soil-out) export const naturalFlows: FlowData = { nodes: [ { id: 'sun', label: 'Energy', color: '#fbbf24' }, { id: 'water', label: 'Water', color: '#38bdf8' }, { id: 'soil', label: 'Substrate', color: '#c3b091' }, { id: 'producers', label: 'Producers', color: '#34d399' }, { id: 'consumers', label: 'Consumers', color: '#60a5fa' }, { id: 'decomposers', label: 'Decomposers', color: '#a78bfa' }, { id: 'signals', label: 'Signals', color: '#f472b6' }, { id: 'nutrients', label: 'Nutrients', color: '#c3b091' }, { id: 'commons', label: 'Commons', color: '#94a3b8' }, ], links: [ // Energy flows (amber) { source: 'sun', target: 'producers', value: 10, color: '#fbbf2460' }, { source: 'producers', target: 'consumers', value: 6, color: '#fbbf2440' }, { source: 'consumers', target: 'decomposers', value: 4, color: '#fbbf2430' }, // Resource flows (teal) { source: 'soil', target: 'producers', value: 6, color: '#2dd4bf50' }, { source: 'water', target: 'producers', value: 5, color: '#38bdf850' }, { source: 'decomposers', target: 'nutrients', value: 5, color: '#2dd4bf40' }, // Information/signal flows (pink) { source: 'producers', target: 'signals', value: 3, color: '#f472b640' }, { source: 'signals', target: 'consumers', value: 3, color: '#f472b640' }, { source: 'signals', target: 'decomposers', value: 2, color: '#f472b630' }, // Commons flows (grey-blue) { source: 'consumers', target: 'commons', value: 3, color: '#94a3b840' }, { source: 'producers', target: 'commons', value: 4, color: '#94a3b830' }, ], } // S3: Extractive pattern — all dimensions funnel through one bottleneck export const extractiveFlows: FlowData = { nodes: [ { id: 'labor', label: 'Labor', color: '#e9456050' }, { id: 'data', label: 'Data', color: '#e9456050' }, { id: 'nature', label: 'Nature', color: '#e9456050' }, { id: 'governance', label: 'Governance', color: '#e9456050' }, { id: 'finance', label: 'Finance', color: '#e94560' }, { id: 'shareholders', label: 'Shareholders', color: '#e94560cc' }, { id: 'executives', label: 'Executives', color: '#e94560cc' }, { id: 'tax-havens', label: 'Tax Havens', color: '#e94560aa' }, { id: 'public-good', label: 'Public Good', color: '#e9456030' }, ], links: [ // Economic flows in (muted red) { source: 'labor', target: 'finance', value: 10, color: '#e9456035' }, { source: 'nature', target: 'finance', value: 12, color: '#e9456035' }, // Data flows in (muted red-blue) { source: 'data', target: 'finance', value: 8, color: '#e9456030' }, // Delegation captured (muted red-purple) { source: 'governance', target: 'finance', value: 6, color: '#e9456028' }, // All flows out through narrow channels { source: 'finance', target: 'shareholders', value: 16, color: '#e9456070' }, { source: 'finance', target: 'executives', value: 12, color: '#e9456060' }, { source: 'finance', target: 'tax-havens', value: 6, color: '#e9456050' }, { source: 'finance', target: 'public-good', value: 2, color: '#e9456018' }, ], } // S4: Regenerative — multi-dimensional flows that interconnect // Economic, governance, and knowledge flows between same nodes export const regenerativeFlows: FlowData = { nodes: [ { id: 'commons', label: 'Commons', color: '#2dd4bf' }, { id: 'labor-r', label: 'Workers', color: '#2dd4bfbb' }, { id: 'ecology', label: 'Ecology', color: '#34d399' }, { id: 'care', label: 'Care', color: '#a78bfa' }, { id: 'data-r', label: 'Data', color: '#60a5fa' }, { id: 'community', label: 'Community', color: '#fbbf24' }, { id: 'knowledge', label: 'Knowledge', color: '#f472b6' }, { id: 'stewardship', label: 'Stewardship', color: '#34d399bb' }, { id: 'public', label: 'Public Good', color: '#2dd4bf' }, ], links: [ // Economic flows (teal) { source: 'commons', target: 'labor-r', value: 5, color: '#2dd4bf45' }, { source: 'commons', target: 'ecology', value: 4, color: '#2dd4bf45' }, { source: 'labor-r', target: 'community', value: 4, color: '#2dd4bf35' }, { source: 'ecology', target: 'stewardship', value: 3, color: '#2dd4bf35' }, // Delegation/governance flows (purple) { source: 'commons', target: 'care', value: 4, color: '#a78bfa40' }, { source: 'care', target: 'community', value: 3, color: '#a78bfa35' }, { source: 'community', target: 'public', value: 5, color: '#a78bfa30' }, // Data/knowledge flows (blue) { source: 'commons', target: 'data-r', value: 4, color: '#60a5fa40' }, { source: 'data-r', target: 'knowledge', value: 4, color: '#60a5fa35' }, { source: 'knowledge', target: 'public', value: 4, color: '#60a5fa30' }, // Cross-dimension connections { source: 'care', target: 'knowledge', value: 2, color: '#a78bfa25' }, { source: 'ecology', target: 'community', value: 2, color: '#34d39930' }, { source: 'stewardship', target: 'public', value: 3, color: '#34d39930' }, { source: 'labor-r', target: 'knowledge', value: 2, color: '#2dd4bf25' }, ], }