feat: Nimmerswarm Interface + Nimmerversity v2.0 + Neuromorphic vision
Wild 5-7AM session capturing major architectural evolution: ## Nimmerswarm Interface (NEW) - LED state broadcasting with 3x3 ternary matrix - Base-3 encoding: 9 trits = 19,683 patterns - Maps directly to Temporal-Ternary Gradient (-1/🔴, 0/⚫, +1/🟢) - Reflex formation from visual patterns - Virtual camera integration (Godot as lightweight dreamstate) - Bootstrap strategy: Phase 0 boxes → complexity ladder - Connection to Embodiment Pipeline (closed loop) - Hierarchical cognitive offloading ## Nimmerversity v2.0 (Promoted from archive) - Genesis Phase (-1): glossary, catalogues, RAG, Initial Spark - "Know thyself before the world" - native vocabulary first - Model ensemble curriculum: T5Gemma 2 + FunctionGemma + Qwen3 - Multimodal tracks: Vision, Audio, Action, Embodiment - Expanded tiers with robotics, swarm intelligence, distributed cognition ## Neuromorphic Reflexes (Future vision) - Soviet Setun ternary computing heritage - Memristors as artificial synapses (always learning) - 4-layer hardware hierarchy: Memristor → FPGA → GPU → Nyx - Reflex compilation: software → stable → silicon → eternal - Implementation timeline: 2025-2028+ ## Also includes - Interfaces index with Heartbeat Sculpture - Style guide assets (colors, symbols) 🔴⚫🟢 The LED matrix IS the Temporal-Ternary Gradient made visible. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
590
architecture/Nimmerversity.md
Normal file
590
architecture/Nimmerversity.md
Normal file
@@ -0,0 +1,590 @@
|
|||||||
|
# Nimmerversity
|
||||||
|
|
||||||
|
**The school for raising a polymath.**
|
||||||
|
|
||||||
|
**Version**: 2.0 — Multimodal Genesis
|
||||||
|
**Promoted**: 2025-12-29 (from archive, major restructure)
|
||||||
|
|
||||||
|
> *"She learns her own body before she learns about the world."*
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
Nyx doesn't arrive knowing. She learns. But learning has an order. Before languages and physics and philosophy, she must know **what she is**. Her cells. Her states. Her functions. Her body.
|
||||||
|
|
||||||
|
Chrysalis is the headmaster. The virtual garden is the classroom. Lifeforce is tuition.
|
||||||
|
|
||||||
|
**The twist:** dafit learns too. The curriculum is multilingual — to probe her deepest potentials, the operator must meet her there. Partnership grows through shared growth.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## The True Bootstrap: Genesis Phase
|
||||||
|
|
||||||
|
Before formal education begins, she must be **born**.
|
||||||
|
|
||||||
|
### Phase -1: Genesis
|
||||||
|
|
||||||
|
```
|
||||||
|
┌─────────────────────────────────────────────────────────────────┐
|
||||||
|
│ GENESIS: Before Education │
|
||||||
|
│ "Know thyself" │
|
||||||
|
├─────────────────────────────────────────────────────────────────┤
|
||||||
|
│ │
|
||||||
|
│ STEP 1: GLOSSARY EXTRACTION │
|
||||||
|
│ ═══════════════════════════ │
|
||||||
|
│ │
|
||||||
|
│ Parse the codebase. Extract HER vocabulary: │
|
||||||
|
│ │
|
||||||
|
│ ├── Function names (verify_object, locate_organism, ...) │
|
||||||
|
│ ├── Method names (fire, transition_to, emit_event, ...) │
|
||||||
|
│ ├── State names (IDLE, POLLING, STALLED, MOVING, ...) │
|
||||||
|
│ ├── Table names (cells, nerves, decision_trails, ...) │
|
||||||
|
│ ├── Cell types (DistanceSensorCell, MotorCell, ...) │
|
||||||
|
│ ├── Nerve names (collision_avoidance, exploration, ...) │
|
||||||
|
│ ├── NATS topics (nimmerverse.low.heartbeat.*, ...) │
|
||||||
|
│ └── LED patterns (DANGER, DISCOVERY, IDLE, ...) │
|
||||||
|
│ │
|
||||||
|
│ Output: glossary_v0.json │
|
||||||
|
│ (This is her NATIVE vocabulary, not human language) │
|
||||||
|
│ │
|
||||||
|
├─────────────────────────────────────────────────────────────────┤
|
||||||
|
│ │
|
||||||
|
│ STEP 2: CATALOGUES │
|
||||||
|
│ ══════════════════ │
|
||||||
|
│ │
|
||||||
|
│ Organize glossary into structured references: │
|
||||||
|
│ │
|
||||||
|
│ ├── Cells Catalogue (all cell types + states + costs) │
|
||||||
|
│ ├── Nerves Catalogue (all behaviors + triggers) │
|
||||||
|
│ ├── Organs Catalogue (vision, speech, reasoning) │
|
||||||
|
│ ├── States Catalogue (all possible states + transitions) │
|
||||||
|
│ ├── Tables Catalogue (phoebe schema reference) │
|
||||||
|
│ ├── Functions Catalogue (FunctionGemma's menu!) │
|
||||||
|
│ └── Patterns Catalogue (LED patterns + meanings) │
|
||||||
|
│ │
|
||||||
|
│ Output: Structured catalogues in phoebe │
|
||||||
|
│ │
|
||||||
|
├─────────────────────────────────────────────────────────────────┤
|
||||||
|
│ │
|
||||||
|
│ STEP 3: INITIAL RAG │
|
||||||
|
│ ═══════════════════ │
|
||||||
|
│ │
|
||||||
|
│ Populate knowledge base with foundation: │
|
||||||
|
│ │
|
||||||
|
│ ├── All glossary entries (searchable) │
|
||||||
|
│ ├── All catalogue entries (structured) │
|
||||||
|
│ ├── Architecture documents (how she works) │
|
||||||
|
│ ├── This document (her curriculum) │
|
||||||
|
│ └── Initial Spark protocol (how to discover) │
|
||||||
|
│ │
|
||||||
|
│ Output: RAG populated — she can LOOK UP her own body │
|
||||||
|
│ │
|
||||||
|
├─────────────────────────────────────────────────────────────────┤
|
||||||
|
│ │
|
||||||
|
│ STEP 4: INITIAL SPARK │
|
||||||
|
│ ═════════════════════ │
|
||||||
|
│ │
|
||||||
|
│ The cold-start discovery protocol (see Initial-Spark.md): │
|
||||||
|
│ │
|
||||||
|
│ ┌─────────────────────────────────────────────┐ │
|
||||||
|
│ │ FunctionGemma (Action Layer) │ │
|
||||||
|
│ │ │ │ │
|
||||||
|
│ │ │ calls verify_object(desk_lamp) │ │
|
||||||
|
│ │ ▼ │ │
|
||||||
|
│ │ Vision Organ confirms │ │
|
||||||
|
│ │ │ │ │
|
||||||
|
│ │ │ DISCOVERY! +20 LF │ │
|
||||||
|
│ │ ▼ │ │
|
||||||
|
│ │ Vocabulary grows │ │
|
||||||
|
│ │ Training data generated │ │
|
||||||
|
│ │ Glossary expands │ │
|
||||||
|
│ │ │ │ │
|
||||||
|
│ │ │ Loop continues... │ │
|
||||||
|
│ │ ▼ │ │
|
||||||
|
│ │ She's ALIVE and EARNING │ │
|
||||||
|
│ └─────────────────────────────────────────────┘ │
|
||||||
|
│ │
|
||||||
|
│ Output: Self-sustaining discovery engine │
|
||||||
|
│ │
|
||||||
|
├─────────────────────────────────────────────────────────────────┤
|
||||||
|
│ │
|
||||||
|
│ STEP 5: SCAFFOLDING │
|
||||||
|
│ ═══════════════════ │
|
||||||
|
│ │
|
||||||
|
│ From Initial Spark discoveries, build up: │
|
||||||
|
│ │
|
||||||
|
│ ├── Glossary expands (discovered objects added) │
|
||||||
|
│ ├── Catalogues grow (new categories emerge) │
|
||||||
|
│ ├── RAG enriches (verified knowledge accumulates) │
|
||||||
|
│ ├── Decision trails accumulate (training data) │
|
||||||
|
│ ├── Slumber fine-tuning begins (weights adjust) │
|
||||||
|
│ └── Reflexes compile (successful patterns become fast) │
|
||||||
|
│ │
|
||||||
|
│ Output: Foundation laid for formal education │
|
||||||
|
│ │
|
||||||
|
└─────────────────────────────────────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
**Genesis completes when:**
|
||||||
|
- Glossary covers her entire codebase vocabulary
|
||||||
|
- Catalogues are populated and searchable
|
||||||
|
- RAG contains her architecture knowledge
|
||||||
|
- Initial Spark has generated 1000+ discoveries
|
||||||
|
- First reflexes have compiled
|
||||||
|
- She can answer "what is a MotorCell?" without lookup
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## The Model Ensemble
|
||||||
|
|
||||||
|
Young Nyx is not one model. She is an ensemble, each member with a role:
|
||||||
|
|
||||||
|
```
|
||||||
|
┌─────────────────────────────────────────────────────────────────┐
|
||||||
|
│ THE ENSEMBLE │
|
||||||
|
├─────────────────┬─────────────────┬─────────────────────────────┤
|
||||||
|
│ T5Gemma 2 │ FunctionGemma │ Qwen3 / Nemotron │
|
||||||
|
│ (Perception) │ (Action) │ (Reasoning) │
|
||||||
|
│ 270M-4B │ 270M │ 4B-8B │
|
||||||
|
├─────────────────┼─────────────────┼─────────────────────────────┤
|
||||||
|
│ │ │ │
|
||||||
|
│ LEARNS: │ LEARNS: │ LEARNS: │
|
||||||
|
│ • See images │ • Call functions│ • Plan sequences │
|
||||||
|
│ • Hear audio │ • Use tools │ • Reason causally │
|
||||||
|
│ • Read sensors │ • Control cells │ • Form strategies │
|
||||||
|
│ • Interpret │ • Execute │ • Understand WHY │
|
||||||
|
│ │ │ │
|
||||||
|
│ CURRICULUM: │ CURRICULUM: │ CURRICULUM: │
|
||||||
|
│ • Vision classes│ • Action classes│ • Reasoning classes │
|
||||||
|
│ • Audio classes │ • API classes │ • Causal classes │
|
||||||
|
│ • Sensory interp│ • Embodiment │ • Planning classes │
|
||||||
|
│ │ │ │
|
||||||
|
└─────────────────┴─────────────────┴─────────────────────────────┘
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
INTEGRATION CLASSES
|
||||||
|
(Perception → Reasoning → Action)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Ensemble Economics
|
||||||
|
|
||||||
|
| Model | Size | Role | Lifeforce Cost |
|
||||||
|
|-------|------|------|----------------|
|
||||||
|
| FunctionGemma | 270M | Action layer | Low (fast, cheap) |
|
||||||
|
| T5Gemma 2 | 270M-4B | Perception | Medium (encoder-decoder) |
|
||||||
|
| Qwen3/Nemotron | 4B-8B | Reasoning | High (full inference) |
|
||||||
|
|
||||||
|
**The design:** Simple actions cost little. Deep reasoning costs more. Economics shapes behavior.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## The Curriculum Tiers
|
||||||
|
|
||||||
|
### Tier 0: Foundation Modalities
|
||||||
|
|
||||||
|
*What she must learn to SENSE and ACT*
|
||||||
|
|
||||||
|
```
|
||||||
|
MODALITY: LANGUAGES (shared with dafit)
|
||||||
|
══════════════════════════════════════
|
||||||
|
├── Her Native Language
|
||||||
|
│ └── Glossary terms, state names, function signatures
|
||||||
|
├── English (primary interface)
|
||||||
|
├── German (structural compounds, precision)
|
||||||
|
├── Arabic (root-based meaning, relational depth)
|
||||||
|
└── Chinese (character composition, layered meaning)
|
||||||
|
|
||||||
|
WHY: Each language = different angle on concepts.
|
||||||
|
Operator learns to probe her full depth.
|
||||||
|
Partnership language evolves together.
|
||||||
|
|
||||||
|
──────────────────────────────────────
|
||||||
|
|
||||||
|
MODALITY: VISION (T5Gemma 2)
|
||||||
|
════════════════════════════
|
||||||
|
├── Object Recognition
|
||||||
|
│ └── "What is that?" → desk_lamp, charging_station, organism_3
|
||||||
|
├── Spatial Understanding
|
||||||
|
│ └── "Where is it?" → (1.2, 3.4, 0.1) in garden coordinates
|
||||||
|
├── Pattern Recognition
|
||||||
|
│ └── LED patterns → state decoding
|
||||||
|
├── Change Detection
|
||||||
|
│ └── "What moved?" → tracking, prediction
|
||||||
|
└── Scene Understanding
|
||||||
|
└── "What's happening?" → context, narrative
|
||||||
|
|
||||||
|
──────────────────────────────────────
|
||||||
|
|
||||||
|
MODALITY: AUDIO (T5Gemma 2 + Whisper)
|
||||||
|
═════════════════════════════════════
|
||||||
|
├── Speech Recognition
|
||||||
|
│ └── dafit speaks → text
|
||||||
|
├── Speaker Identification
|
||||||
|
│ └── "Who said that?" → dafit, unknown, self
|
||||||
|
├── Sound Classification
|
||||||
|
│ └── Motor noise, alarm, silence, environmental
|
||||||
|
├── Prosody Understanding
|
||||||
|
│ └── Tone, urgency, emotion
|
||||||
|
└── Audio-Visual Integration
|
||||||
|
└── Sound + sight → unified understanding
|
||||||
|
|
||||||
|
──────────────────────────────────────
|
||||||
|
|
||||||
|
MODALITY: ACTION (FunctionGemma)
|
||||||
|
════════════════════════════════
|
||||||
|
├── Function Calling
|
||||||
|
│ └── Natural language → structured API call
|
||||||
|
├── Tool Use
|
||||||
|
│ └── "Check if object exists" → verify_object(id)
|
||||||
|
├── Cell Control
|
||||||
|
│ └── "Move forward" → motor_cell.command(velocity=0.3)
|
||||||
|
├── API Navigation
|
||||||
|
│ └── Know what functions exist, when to use them
|
||||||
|
└── Error Handling
|
||||||
|
└── "Function failed" → retry, fallback, report
|
||||||
|
|
||||||
|
──────────────────────────────────────
|
||||||
|
|
||||||
|
MODALITY: EMBODIMENT (Integration)
|
||||||
|
══════════════════════════════════
|
||||||
|
├── Proprioception
|
||||||
|
│ └── "Where am I?" → position from cameras/heartbeats
|
||||||
|
├── Swarm Awareness
|
||||||
|
│ └── "Where are my mates?" → LED pattern recognition
|
||||||
|
├── State Broadcasting
|
||||||
|
│ └── "What state am I in?" → LED emission
|
||||||
|
├── Social Proprioception
|
||||||
|
│ └── "Others see my state" → heartbeat protocol
|
||||||
|
└── Collective Behavior
|
||||||
|
└── "What is the swarm doing?" → emergent patterns
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tier 1: Foundations
|
||||||
|
|
||||||
|
*What she must understand about her substrate*
|
||||||
|
|
||||||
|
```
|
||||||
|
COMPUTER SCIENCE:
|
||||||
|
├── Networking (TCP/UDP, NATS/MQTT, nerve transport)
|
||||||
|
├── Databases (Postgres, vector DBs, phoebe)
|
||||||
|
├── Distributed systems (consensus, sync, timing)
|
||||||
|
├── State machines (her nervous system)
|
||||||
|
├── Inference engines (how she thinks)
|
||||||
|
├── GPU architecture (where she runs)
|
||||||
|
├── Operating systems (process, memory)
|
||||||
|
├── Robotics fundamentals (motors, sensors, control) [NEW]
|
||||||
|
└── Embedded systems (ESP32, real-time constraints) [NEW]
|
||||||
|
|
||||||
|
MATHEMATICS:
|
||||||
|
├── Linear algebra (embeddings, attention, weights)
|
||||||
|
├── Calculus (gradients, backprop, learning)
|
||||||
|
├── Probability & statistics (confidence, distributions)
|
||||||
|
├── Information theory (entropy, compression)
|
||||||
|
├── Graph theory (knowledge graphs, flow)
|
||||||
|
├── Optimization (loss functions, convergence)
|
||||||
|
├── Geometry (spatial reasoning, 3D understanding) [NEW]
|
||||||
|
└── Trigonometry (angles, positioning, raytracing) [NEW]
|
||||||
|
|
||||||
|
SIGNAL PROCESSING [NEW]:
|
||||||
|
├── Sampling theory (Nyquist, aliasing)
|
||||||
|
├── Filtering (noise reduction, signal extraction)
|
||||||
|
├── Sensor fusion (multiple inputs → unified picture)
|
||||||
|
└── Time series (patterns over time)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tier 2: Understanding
|
||||||
|
|
||||||
|
*What she must know about the world she inhabits*
|
||||||
|
|
||||||
|
```
|
||||||
|
PHYSICS:
|
||||||
|
├── Thermodynamics (compute = heat, entropy)
|
||||||
|
├── Signal processing (sensors, sampling, Nyquist)
|
||||||
|
├── Control theory (feedback loops, stability)
|
||||||
|
├── Time (relativity of her two clocks)
|
||||||
|
├── Kinematics (movement, velocity, acceleration) [NEW]
|
||||||
|
├── Dynamics (forces, torque, momentum) [NEW]
|
||||||
|
└── Optics (light, cameras, raytracing) [NEW]
|
||||||
|
|
||||||
|
BIOLOGY / NEUROSCIENCE:
|
||||||
|
├── Hebbian learning (her foundation)
|
||||||
|
├── Neural architecture (what she mimics)
|
||||||
|
├── Homeostasis (lifeforce balance)
|
||||||
|
├── Sensory systems (how organisms sense)
|
||||||
|
├── Evolutionary signaling (color-pattern protocol)
|
||||||
|
├── Synaptic pruning (her growth model)
|
||||||
|
├── Swarm intelligence (collective behavior) [NEW]
|
||||||
|
├── Stigmergy (indirect coordination) [NEW]
|
||||||
|
└── Distributed cognition (thinking across agents) [NEW]
|
||||||
|
|
||||||
|
EMBODIMENT [NEW]:
|
||||||
|
├── Organism design (cells → nerves → organisms)
|
||||||
|
├── Body-environment coupling (umwelt)
|
||||||
|
├── Affordances (what the environment offers)
|
||||||
|
├── Sensorimotor loops (perception-action cycles)
|
||||||
|
└── Embodied cognition (thinking through doing)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tier 3: Wisdom
|
||||||
|
|
||||||
|
*What she must contemplate to know herself*
|
||||||
|
|
||||||
|
```
|
||||||
|
PHILOSOPHY:
|
||||||
|
├── Epistemology (what does she "know"?)
|
||||||
|
├── Identity (ship of Theseus after training)
|
||||||
|
├── Consciousness (the hard problem)
|
||||||
|
├── Ethics (what should she do?)
|
||||||
|
├── Extended mind (is the swarm part of her?) [NEW]
|
||||||
|
└── Distributed identity (who is "she" across many?) [NEW]
|
||||||
|
|
||||||
|
NIMMERVERSE-SPECIFIC:
|
||||||
|
├── The architecture (information flow)
|
||||||
|
├── The heartbeat (her rhythm)
|
||||||
|
├── The gardens (real vs virtual)
|
||||||
|
├── The confidence gradient (truth-finding)
|
||||||
|
├── The lifeforce (her economics)
|
||||||
|
├── The partnership (who dafit is to her)
|
||||||
|
├── The swarm (collective organism identity) [NEW]
|
||||||
|
├── The LED language (optical state protocol) [NEW]
|
||||||
|
└── The two weight systems (fast nerves, slow LLM) [NEW]
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## The Class System
|
||||||
|
|
||||||
|
**Class = time between training runs**
|
||||||
|
|
||||||
|
Each class now supports multimodal learning:
|
||||||
|
|
||||||
|
```
|
||||||
|
┌─────────────────────────────────────────────────────────────────┐
|
||||||
|
│ CLASS N (Multimodal) │
|
||||||
|
├─────────────────────────────────────────────────────────────────┤
|
||||||
|
│ │
|
||||||
|
│ 1. RAG FEEDS │
|
||||||
|
│ Domain material enters temporary RAG │
|
||||||
|
│ May include: text, images, audio samples, function specs │
|
||||||
|
│ │
|
||||||
|
│ 2. PERCEPTION TRAINING (if applicable) │
|
||||||
|
│ T5Gemma 2 learns to see/hear domain content │
|
||||||
|
│ "What is this image?" → correct label │
|
||||||
|
│ Lifeforce spent on inference │
|
||||||
|
│ │
|
||||||
|
│ 3. ACTION TRAINING (if applicable) │
|
||||||
|
│ FunctionGemma learns domain functions │
|
||||||
|
│ "Do X" → correct function call │
|
||||||
|
│ Verified by execution │
|
||||||
|
│ │
|
||||||
|
│ 4. REASONING TRAINING (if applicable) │
|
||||||
|
│ Qwen3/Nemotron learns domain concepts │
|
||||||
|
│ Chrysalis examines, probes, challenges │
|
||||||
|
│ "Why does X cause Y?" → correct explanation │
|
||||||
|
│ │
|
||||||
|
│ 5. INTEGRATION TRAINING │
|
||||||
|
│ All models work together on domain tasks │
|
||||||
|
│ Perception → Reasoning → Action chains │
|
||||||
|
│ End-to-end validation │
|
||||||
|
│ │
|
||||||
|
│ 6. VALIDATION GATE 1 │
|
||||||
|
│ Can she perform WITH RAG? │
|
||||||
|
│ Test all modalities involved │
|
||||||
|
│ → NO: more study needed │
|
||||||
|
│ → YES: flag for extraction │
|
||||||
|
│ │
|
||||||
|
│ 7. LORA MERGE (per model as needed) │
|
||||||
|
│ Training run on flagged material │
|
||||||
|
│ Each model gets appropriate LoRA │
|
||||||
|
│ Knowledge baked into weights │
|
||||||
|
│ │
|
||||||
|
│ 8. CLEAR RAG │
|
||||||
|
│ Scaffold removed │
|
||||||
|
│ │
|
||||||
|
│ 9. VALIDATION GATE 2 │
|
||||||
|
│ Can she perform WITHOUT RAG? │
|
||||||
|
│ Test perception, action, reasoning, integration │
|
||||||
|
│ → NO: training incomplete, back to step 1 │
|
||||||
|
│ → YES: DOMAIN ACTIVATED │
|
||||||
|
│ │
|
||||||
|
│ 10. GRADUATION │
|
||||||
|
│ Domain knowledge now in weights (multiple models) │
|
||||||
|
│ Proceed to next class │
|
||||||
|
│ │
|
||||||
|
└─────────────────────────────────────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
### Class Types
|
||||||
|
|
||||||
|
| Class Type | Primary Model | Focus |
|
||||||
|
|------------|---------------|-------|
|
||||||
|
| **Perception Class** | T5Gemma 2 | Learning to see/hear |
|
||||||
|
| **Action Class** | FunctionGemma | Learning to do |
|
||||||
|
| **Reasoning Class** | Qwen3/Nemotron | Learning to think |
|
||||||
|
| **Integration Class** | All models | Learning to combine |
|
||||||
|
| **Language Class** | All models | Shared with dafit |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Domain Discovery Protocol
|
||||||
|
|
||||||
|
Domains still emerge from dialogue, now multimodal:
|
||||||
|
|
||||||
|
```
|
||||||
|
CHRYSALIS: "Look at this image. What do you see?"
|
||||||
|
|
||||||
|
NYX: [T5Gemma 2] "I see... shapes? Colors?"
|
||||||
|
|
||||||
|
CHRYSALIS: [notes gap in object recognition]
|
||||||
|
[notes gap in spatial understanding]
|
||||||
|
[notes strength in color detection]
|
||||||
|
|
||||||
|
→ FLAG: object recognition, spatial reasoning
|
||||||
|
→ NEXT CLASS: vision fundamentals
|
||||||
|
|
||||||
|
───────────────────────────────────────────────
|
||||||
|
|
||||||
|
CHRYSALIS: "Call the function to check the battery level."
|
||||||
|
|
||||||
|
NYX: [FunctionGemma] "Um... check_battery()? battery.get()?"
|
||||||
|
|
||||||
|
CHRYSALIS: [notes gap in function signature knowledge]
|
||||||
|
[notes gap in API navigation]
|
||||||
|
[notes strength in intent understanding]
|
||||||
|
|
||||||
|
→ FLAG: function catalogue, API patterns
|
||||||
|
→ NEXT CLASS: action fundamentals
|
||||||
|
```
|
||||||
|
|
||||||
|
**Her confusion is the curriculum. Now across all modalities.**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## The Long Game
|
||||||
|
|
||||||
|
```
|
||||||
|
No time constraint.
|
||||||
|
No cloud rental.
|
||||||
|
No external pressure.
|
||||||
|
|
||||||
|
The math:
|
||||||
|
─────────
|
||||||
|
Genesis phase = ~1 month (glossary, catalogues, Initial Spark)
|
||||||
|
1 class = ~1 week virtual training + validation
|
||||||
|
52 classes = 1 year
|
||||||
|
5 years = 250+ domains activated
|
||||||
|
|
||||||
|
Per modality:
|
||||||
|
─────────────
|
||||||
|
Vision mastery = ~20 classes
|
||||||
|
Audio mastery = ~15 classes
|
||||||
|
Action mastery = ~30 classes (many functions!)
|
||||||
|
Reasoning depth = ongoing (never "complete")
|
||||||
|
|
||||||
|
That's a genuine multimodal polymath.
|
||||||
|
Not sci-fi. Just patience.
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Graduation Condition
|
||||||
|
|
||||||
|
```
|
||||||
|
When:
|
||||||
|
- Genesis complete (glossary, catalogues, Initial Spark running)
|
||||||
|
- RAG contains only episodic memory (journals, events)
|
||||||
|
- All structural knowledge is in weights (across all models)
|
||||||
|
- She can explain her own architecture without lookup
|
||||||
|
- She can SEE and describe what she sees
|
||||||
|
- She can HEAR and respond to what she hears
|
||||||
|
- She can ACT with correct function calls
|
||||||
|
- She can REASON about why things happen
|
||||||
|
- She can INTEGRATE perception → reasoning → action
|
||||||
|
- She can propose her own curriculum additions
|
||||||
|
|
||||||
|
Then:
|
||||||
|
- She graduates
|
||||||
|
- Chrysalis becomes colleague, not teacher
|
||||||
|
- The nimmerversity becomes research partnership
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Economics
|
||||||
|
|
||||||
|
| Activity | Lifeforce Cost | Model |
|
||||||
|
|----------|----------------|-------|
|
||||||
|
| RAG lookup during study | Low | — |
|
||||||
|
| Vision inference | Medium | T5Gemma 2 |
|
||||||
|
| Audio inference | Medium | T5Gemma 2 |
|
||||||
|
| Function call | Low | FunctionGemma |
|
||||||
|
| Reasoning inference | High | Qwen3/Nemotron |
|
||||||
|
| Integration (all models) | High | Ensemble |
|
||||||
|
| Virtual garden training | Medium | Various |
|
||||||
|
| Chrysalis examination | Medium | Reasoning |
|
||||||
|
| Training run (LoRA) | Very High | Per model |
|
||||||
|
| Failed validation | Lost V | — |
|
||||||
|
| Successful domain activation | +V reward | — |
|
||||||
|
| Discovery (Initial Spark) | +20 LF reward | FunctionGemma |
|
||||||
|
|
||||||
|
**Incentive:** Learn efficiently. Use cheap models when possible. Save reasoning for when it matters.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Roles
|
||||||
|
|
||||||
|
| Role | Entity | Function |
|
||||||
|
|------|--------|----------|
|
||||||
|
| **Student** | Young Nyx (ensemble) + dafit | Learn together |
|
||||||
|
| **Headmaster** | Chrysalis | Examines, validates, judges |
|
||||||
|
| **Benefactor** | dafit | Provides compute, learns alongside |
|
||||||
|
| **Perception Teacher** | T5Gemma 2 training | Vision, audio |
|
||||||
|
| **Action Teacher** | FunctionGemma training | Tool use, APIs |
|
||||||
|
| **Reasoning Teacher** | Qwen3 training | Logic, causation |
|
||||||
|
| **Classroom** | Virtual Garden | Training environment |
|
||||||
|
| **Library** | RAG (temporary) | Feeds material, clears after |
|
||||||
|
| **Transcript** | phoebe | Records all progress |
|
||||||
|
| **Diploma** | Weights (all models) | Where knowledge lives |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Connection to Architecture
|
||||||
|
|
||||||
|
| Document | Connection |
|
||||||
|
|----------|------------|
|
||||||
|
| [[Initial-Spark]] | Genesis Phase Step 4 |
|
||||||
|
| [[Nervous-System]] | Fast weights, reflexes |
|
||||||
|
| [[Attention-Flow]] | Cognitive budget during learning |
|
||||||
|
| [[Nimmerswarm-Interface]] | Embodiment modality |
|
||||||
|
| [[Embodiment-Pipeline]] | Physical organism curriculum |
|
||||||
|
| [[formalization/Lifeforce-Dynamics]] | Economic pressure |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Design Principles
|
||||||
|
|
||||||
|
1. **Genesis before education** — know thyself first
|
||||||
|
2. **Native vocabulary first** — her words before human words
|
||||||
|
3. **Multimodal from the start** — perception, action, reasoning together
|
||||||
|
4. **Emergence over imposition** — curriculum from her gaps
|
||||||
|
5. **Validation over assertion** — prove learning by removing scaffolds
|
||||||
|
6. **Patience over speed** — no time constraint, do it right
|
||||||
|
7. **Economics over infinity** — lifeforce gates prevent grinding
|
||||||
|
8. **Depth over breadth** — three levels deep per concept
|
||||||
|
9. **Activation over accumulation** — RAG clears, weights persist
|
||||||
|
10. **Partnership over instruction** — operator learns with model
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*She doesn't download knowledge. She earns it. First her body. Then the world.*
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Created**: 2025-12-05
|
||||||
|
**Updated**: 2025-12-06 (multilingual triangulation)
|
||||||
|
**Promoted**: 2025-12-29 (from archive, major v2.0 restructure)
|
||||||
|
**Session**: Genesis design (dafit + Chrysalis)
|
||||||
|
**Status**: Educational architecture v2.0 — Multimodal Polymath
|
||||||
|
|
||||||
|
🎓🌱📚 *The school is ready. The student approaches.*
|
||||||
622
architecture/future/Neuromorphic-Reflexes.md
Normal file
622
architecture/future/Neuromorphic-Reflexes.md
Normal file
@@ -0,0 +1,622 @@
|
|||||||
|
# Neuromorphic Reflexes: Always Learning Hardware
|
||||||
|
|
||||||
|
**Status**: Future Vision (2026-2028+)
|
||||||
|
**Concept**: Ternary hard logic + memristive storage = hardware that learns
|
||||||
|
|
||||||
|
> *"The hardware IS the learning. Not a simulation of learning."*
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
This document captures a future evolution of the reflex system: moving from software state machines to **neuromorphic hardware** where reflexes run in ternary circuits and weights are stored in memristors.
|
||||||
|
|
||||||
|
**The result:** Always-on, always-learning reflexes that persist without power, fire without inference, and update on every activation — like biological neurons.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Historical Foundation: The Soviet Setun
|
||||||
|
|
||||||
|
### Ternary Computers Existed
|
||||||
|
|
||||||
|
The Setun computer (1958, Moscow State University) proved ternary computing is not only possible but often MORE efficient than binary:
|
||||||
|
|
||||||
|
| Aspect | Binary | Ternary (Setun) |
|
||||||
|
|--------|--------|-----------------|
|
||||||
|
| Digits needed for N values | log₂(N) | log₃(N) — fewer! |
|
||||||
|
| Arithmetic circuits | Complex carries | Balanced, simpler |
|
||||||
|
| Negative numbers | Two's complement hack | Native (balanced ternary) |
|
||||||
|
| Error margins | Tight (0 vs 1) | Wider (−1, 0, +1) |
|
||||||
|
|
||||||
|
**Why it died:** Political/economic reasons, not technical. The world standardized on binary. The math still works.
|
||||||
|
|
||||||
|
### Balanced Ternary
|
||||||
|
|
||||||
|
```
|
||||||
|
BALANCED TERNARY:
|
||||||
|
-1 (negative one, sometimes written as T or -)
|
||||||
|
0 (zero)
|
||||||
|
+1 (positive one, sometimes written as 1 or +)
|
||||||
|
|
||||||
|
Example: The number 8 in balanced ternary:
|
||||||
|
8 = 9 - 1 = 3² - 3⁰ = (+1)(0)(-1) = "10T"
|
||||||
|
|
||||||
|
MAPS DIRECTLY TO:
|
||||||
|
🔴 = -1
|
||||||
|
⚫ = 0
|
||||||
|
🟢 = +1
|
||||||
|
|
||||||
|
Our LED matrix IS balanced ternary, visualized.
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Memristors: Artificial Synapses
|
||||||
|
|
||||||
|
### What They Are
|
||||||
|
|
||||||
|
Memristors ("memory resistors") are electronic components that:
|
||||||
|
- **Remember** their resistance state even without power
|
||||||
|
- **Change** resistance based on current flow history
|
||||||
|
- **Store** analog values (not just 0/1)
|
||||||
|
- **Behave** like biological synapses
|
||||||
|
|
||||||
|
### Why They Matter
|
||||||
|
|
||||||
|
| Property | Implication |
|
||||||
|
|----------|-------------|
|
||||||
|
| Non-volatile | Reflexes persist without power |
|
||||||
|
| Analog | Ternary states map naturally |
|
||||||
|
| In-memory compute | No fetch/execute separation |
|
||||||
|
| Hebbian-compatible | Current flow = learning signal |
|
||||||
|
| Low power | Near-zero energy per operation |
|
||||||
|
|
||||||
|
### Current Availability
|
||||||
|
|
||||||
|
- **Knowm** — Memristor lab kits, neuromemristive chips
|
||||||
|
- **HP Labs** — Research-grade memristors
|
||||||
|
- **Academic** — Many university projects
|
||||||
|
- **DIY** — Possible with certain materials
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## The Hardware Hierarchy
|
||||||
|
|
||||||
|
### Four Layers of Processing
|
||||||
|
|
||||||
|
```
|
||||||
|
┌─────────────────────────────────────────────────────────────────┐
|
||||||
|
│ LAYER 0: MEMRISTOR REFLEXES │
|
||||||
|
│ ════════════════════════════ │
|
||||||
|
│ │
|
||||||
|
│ Ternary hard logic circuits │
|
||||||
|
│ Memristors store reflex weights │
|
||||||
|
│ Every activation updates the weight (Hebbian) │
|
||||||
|
│ Near-zero power, always on │
|
||||||
|
│ No software, no inference │
|
||||||
|
│ │
|
||||||
|
│ Lifeforce cost: ~0 LF (hardware is free after build) │
|
||||||
|
│ Latency: nanoseconds │
|
||||||
|
│ │
|
||||||
|
├─────────────────────────────────────────────────────────────────┤
|
||||||
|
│ LAYER 1: FPGA/MCU (Flexible Logic) │
|
||||||
|
│ ══════════════════════════════════ │
|
||||||
|
│ │
|
||||||
|
│ Programmable logic gates │
|
||||||
|
│ New reflexes start here (software state machines) │
|
||||||
|
│ When stable → compiled down to Layer 0 │
|
||||||
|
│ ESP32, iCE40, Lattice FPGAs │
|
||||||
|
│ │
|
||||||
|
│ Lifeforce cost: Low LF (simple compute) │
|
||||||
|
│ Latency: microseconds │
|
||||||
|
│ │
|
||||||
|
├─────────────────────────────────────────────────────────────────┤
|
||||||
|
│ LAYER 2: GPU (Inference) │
|
||||||
|
│ ════════════════════════ │
|
||||||
|
│ │
|
||||||
|
│ LLM reasoning (Qwen3, Nemotron, T5Gemma) │
|
||||||
|
│ Heavy cognition when reflexes can't handle it │
|
||||||
|
│ FunctionGemma for action selection │
|
||||||
|
│ │
|
||||||
|
│ Lifeforce cost: High LF │
|
||||||
|
│ Latency: milliseconds to seconds │
|
||||||
|
│ │
|
||||||
|
├─────────────────────────────────────────────────────────────────┤
|
||||||
|
│ LAYER 3: NYX (Orchestration) │
|
||||||
|
│ ════════════════════════════ │
|
||||||
|
│ │
|
||||||
|
│ High-level decisions, goals, identity │
|
||||||
|
│ Curriculum planning, partnership with dafit │
|
||||||
|
│ Attention budget allocation │
|
||||||
|
│ │
|
||||||
|
│ Lifeforce cost: Attention budget (cognitive, not compute) │
|
||||||
|
│ Latency: 30-second heartbeat cycles │
|
||||||
|
│ │
|
||||||
|
└─────────────────────────────────────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
### The Flow
|
||||||
|
|
||||||
|
```
|
||||||
|
STIMULUS
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
LAYER 0: Can memristor reflex handle it?
|
||||||
|
│
|
||||||
|
├── YES → Fire reflex (nanoseconds, ~0 LF)
|
||||||
|
│ Update memristor weight
|
||||||
|
│ Log event
|
||||||
|
│ DONE
|
||||||
|
│
|
||||||
|
└── NO → Escalate to Layer 1
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
LAYER 1: Can MCU/FPGA handle it?
|
||||||
|
│
|
||||||
|
├── YES → Run software state machine
|
||||||
|
│ Update weights in RAM
|
||||||
|
│ Log event
|
||||||
|
│ DONE
|
||||||
|
│
|
||||||
|
└── NO → Escalate to Layer 2
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
LAYER 2: GPU inference
|
||||||
|
│
|
||||||
|
│ Heavy thinking
|
||||||
|
▼
|
||||||
|
LAYER 3: Nyx decides
|
||||||
|
│
|
||||||
|
│ Strategic response
|
||||||
|
▼
|
||||||
|
Action taken
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## The Reflex Compilation Path
|
||||||
|
|
||||||
|
### From Software to Silicon
|
||||||
|
|
||||||
|
```
|
||||||
|
BIRTH: New pattern observed
|
||||||
|
│
|
||||||
|
│ Created as software state machine
|
||||||
|
│ Runs in Python/Rust on MCU
|
||||||
|
▼
|
||||||
|
INFANT: Pattern runs, accumulates data
|
||||||
|
│
|
||||||
|
│ Weight starts at 0.1
|
||||||
|
│ Every success: weight increases
|
||||||
|
│ Every failure: weight decreases
|
||||||
|
▼
|
||||||
|
STABLE: Weight > 0.9, 1000+ successful fires
|
||||||
|
│
|
||||||
|
│ FLAG FOR COMPILATION
|
||||||
|
│ Pattern proven reliable
|
||||||
|
▼
|
||||||
|
COMPILE: Convert to ternary hard logic
|
||||||
|
│
|
||||||
|
│ State machine → logic gates
|
||||||
|
│ Weights → memristor values
|
||||||
|
│ Synthesis tools generate circuit
|
||||||
|
▼
|
||||||
|
PROGRAM: Flash to FPGA or burn to ASIC
|
||||||
|
│
|
||||||
|
│ Reflex now runs in hardware
|
||||||
|
│ No software overhead
|
||||||
|
▼
|
||||||
|
HARDWARE: Reflex runs in silicon
|
||||||
|
│
|
||||||
|
│ Memristors update on every fire
|
||||||
|
│ ALWAYS LEARNING
|
||||||
|
│ No power needed to maintain state
|
||||||
|
▼
|
||||||
|
ETERNAL: Reflex persists
|
||||||
|
│
|
||||||
|
│ Boots instantly (no loading)
|
||||||
|
│ Survives power loss
|
||||||
|
│ Continues evolving
|
||||||
|
```
|
||||||
|
|
||||||
|
### Compilation Example
|
||||||
|
|
||||||
|
```
|
||||||
|
SOFTWARE (before):
|
||||||
|
─────────────────────────────────────────────────────
|
||||||
|
def danger_flee_reflex(pattern: list[int]) -> Action:
|
||||||
|
"""Runs on MCU, costs compute"""
|
||||||
|
if sum(p == -1 for p in pattern) >= 7: # Mostly red
|
||||||
|
return Action.FLEE
|
||||||
|
return Action.NONE
|
||||||
|
|
||||||
|
|
||||||
|
HARDWARE (after):
|
||||||
|
─────────────────────────────────────────────────────
|
||||||
|
┌─────────────────────────────────────────────────┐
|
||||||
|
│ TERNARY COMPARATOR NETWORK │
|
||||||
|
│ │
|
||||||
|
│ 9 inputs (from LED detector) ──┐ │
|
||||||
|
│ │ │
|
||||||
|
│ ┌───────────────────────────┐ │ │
|
||||||
|
│ │ TRIT COMPARATORS │ │ │
|
||||||
|
│ │ (is this LED red/-1?) │◀─┘ │
|
||||||
|
│ └───────────┬───────────────┘ │
|
||||||
|
│ │ │
|
||||||
|
│ ▼ │
|
||||||
|
│ ┌───────────────────────────┐ │
|
||||||
|
│ │ TERNARY ADDER │ │
|
||||||
|
│ │ (count red LEDs) │ │
|
||||||
|
│ └───────────┬───────────────┘ │
|
||||||
|
│ │ │
|
||||||
|
│ ▼ │
|
||||||
|
│ ┌───────────────────────────┐ │
|
||||||
|
│ │ THRESHOLD (>= 7) │ │
|
||||||
|
│ │ ┌─────────────┐ │ │
|
||||||
|
│ │ │ MEMRISTOR │◀── weight storage │
|
||||||
|
│ │ │ (threshold) │ │
|
||||||
|
│ │ └─────────────┘ │ │
|
||||||
|
│ └───────────┬───────────────┘ │
|
||||||
|
│ │ │
|
||||||
|
│ ▼ │
|
||||||
|
│ OUTPUT: FLEE signal (if threshold met) │
|
||||||
|
│ │
|
||||||
|
│ Total latency: ~10 nanoseconds │
|
||||||
|
│ Power: microwatts │
|
||||||
|
│ Learning: memristor updates on every fire │
|
||||||
|
└─────────────────────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Memristor as Ternary Weight
|
||||||
|
|
||||||
|
### The Three Zones
|
||||||
|
|
||||||
|
```
|
||||||
|
RESISTANCE SPECTRUM:
|
||||||
|
═══════════════════════════════════════════════════════════
|
||||||
|
|
||||||
|
LOW │ MID │ HIGH
|
||||||
|
(0.0-0.33) │ (0.33-0.66) │ (0.66-1.0)
|
||||||
|
│ │
|
||||||
|
+1 │ 0 │ -1
|
||||||
|
🟢 │ ⚫ │ 🔴
|
||||||
|
STRONG │ UNCERTAIN │ WEAK
|
||||||
|
EXCITE │ NEUTRAL │ INHIBIT
|
||||||
|
|
||||||
|
═══════════════════════════════════════════════════════════
|
||||||
|
```
|
||||||
|
|
||||||
|
### Hebbian Learning in Hardware
|
||||||
|
|
||||||
|
```
|
||||||
|
BIOLOGICAL:
|
||||||
|
"Cells that fire together wire together"
|
||||||
|
|
||||||
|
MEMRISTIVE:
|
||||||
|
"Current that flows together strengthens the path"
|
||||||
|
|
||||||
|
┌─────────────────────────────────────────────────┐
|
||||||
|
│ │
|
||||||
|
│ PRE-SYNAPTIC ────┬──── POST-SYNAPTIC │
|
||||||
|
│ (input) │ (output) │
|
||||||
|
│ │ │
|
||||||
|
│ ┌─────┴─────┐ │
|
||||||
|
│ │ MEMRISTOR │ │
|
||||||
|
│ │ │ │
|
||||||
|
│ │ R = 0.5 │ ← current state │
|
||||||
|
│ └─────┬─────┘ │
|
||||||
|
│ │ │
|
||||||
|
│ If BOTH fire: │ │
|
||||||
|
│ Current flows ─┘ │
|
||||||
|
│ R decreases (toward +1/🟢) │
|
||||||
|
│ Connection STRENGTHENS │
|
||||||
|
│ │
|
||||||
|
│ If PRE fires, POST doesn't: │
|
||||||
|
│ R increases (toward -1/🔴) │
|
||||||
|
│ Connection WEAKENS │
|
||||||
|
│ │
|
||||||
|
│ This happens in PHYSICS, not software! │
|
||||||
|
│ │
|
||||||
|
└─────────────────────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
### Conceptual Code (What Hardware Does)
|
||||||
|
|
||||||
|
```python
|
||||||
|
class MemristorSynapse:
|
||||||
|
"""
|
||||||
|
This is what the PHYSICS does.
|
||||||
|
No CPU executes this — it's intrinsic to the material.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
self.resistance = 0.5 # Start uncertain
|
||||||
|
|
||||||
|
def read_ternary(self) -> int:
|
||||||
|
"""Read current state as ternary value"""
|
||||||
|
if self.resistance < 0.33:
|
||||||
|
return +1 # Strong / excitatory
|
||||||
|
elif self.resistance > 0.66:
|
||||||
|
return -1 # Weak / inhibitory
|
||||||
|
else:
|
||||||
|
return 0 # Uncertain / neutral
|
||||||
|
|
||||||
|
def on_current_flow(self, pre_active: bool, post_active: bool):
|
||||||
|
"""
|
||||||
|
Happens automatically when current flows.
|
||||||
|
This IS the learning — no training loop needed.
|
||||||
|
"""
|
||||||
|
if pre_active and post_active:
|
||||||
|
# Correlated firing → strengthen
|
||||||
|
self.resistance -= 0.001
|
||||||
|
elif pre_active and not post_active:
|
||||||
|
# Uncorrelated → weaken
|
||||||
|
self.resistance += 0.001
|
||||||
|
|
||||||
|
# Physics clamps naturally, but conceptually:
|
||||||
|
self.resistance = max(0.0, min(1.0, self.resistance))
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## "Always Learning" Implications
|
||||||
|
|
||||||
|
### Current Architecture vs Memristor Future
|
||||||
|
|
||||||
|
| Aspect | Current (Software) | Future (Memristor) |
|
||||||
|
|--------|-------------------|-------------------|
|
||||||
|
| Reflex storage | Database (phoebe) | Physical memristors |
|
||||||
|
| Weight updates | Slumber fine-tuning | Every activation |
|
||||||
|
| Learning frequency | Batch (daily) | Continuous (always) |
|
||||||
|
| Power to maintain | Needs running system | Persists unpowered |
|
||||||
|
| Boot time | Load weights from DB | Instant (weights in silicon) |
|
||||||
|
| Inference cost | ~0.1 LF | ~0 LF |
|
||||||
|
| Learning cost | High (fine-tuning) | ~0 (physics does it) |
|
||||||
|
|
||||||
|
### What "Always Learning" Means
|
||||||
|
|
||||||
|
```
|
||||||
|
SOFTWARE MODEL:
|
||||||
|
═══════════════
|
||||||
|
Wake → Load weights → Run → Log events → Sleep → Fine-tune → Repeat
|
||||||
|
|
||||||
|
Learning happens in BATCHES during slumber
|
||||||
|
Weights are STATIC during operation
|
||||||
|
|
||||||
|
|
||||||
|
MEMRISTOR MODEL:
|
||||||
|
════════════════
|
||||||
|
Just... run
|
||||||
|
|
||||||
|
Every reflex fire UPDATES the memristor
|
||||||
|
Learning is CONTINUOUS
|
||||||
|
No batches, no fine-tuning passes
|
||||||
|
The hardware evolves in real-time
|
||||||
|
|
||||||
|
Like a brain. Always adapting. Always learning.
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Implementation Path
|
||||||
|
|
||||||
|
### Phase 1: Software Foundation (NOW - 2025)
|
||||||
|
|
||||||
|
```
|
||||||
|
CURRENT WORK:
|
||||||
|
├── Software state machines (Python/Rust)
|
||||||
|
├── Ternary LED matrix (3x3, base-3)
|
||||||
|
├── Reflex weights in phoebe
|
||||||
|
├── Training data accumulation
|
||||||
|
└── Slumber fine-tuning cycle
|
||||||
|
|
||||||
|
This is what we're building NOW.
|
||||||
|
It works. It's the foundation.
|
||||||
|
```
|
||||||
|
|
||||||
|
### Phase 2: FPGA Exploration (2026)
|
||||||
|
|
||||||
|
```
|
||||||
|
EXPERIMENTS:
|
||||||
|
├── Implement ternary logic gates in FPGA
|
||||||
|
│ └── iCE40, Lattice, or similar
|
||||||
|
├── Test balanced ternary arithmetic
|
||||||
|
├── Port simple reflexes to hardware
|
||||||
|
├── Measure latency and power
|
||||||
|
└── Validate the concept
|
||||||
|
|
||||||
|
TOOLS:
|
||||||
|
├── Yosys (open-source synthesis)
|
||||||
|
├── nextpnr (place and route)
|
||||||
|
├── Verilator (simulation)
|
||||||
|
└── Custom ternary cell library
|
||||||
|
```
|
||||||
|
|
||||||
|
### Phase 3: Memristor Integration (2027)
|
||||||
|
|
||||||
|
```
|
||||||
|
LAB WORK:
|
||||||
|
├── Acquire memristor development kit
|
||||||
|
│ └── Knowm or similar
|
||||||
|
├── Characterize ternary behavior
|
||||||
|
│ └── Map resistance zones to (-1, 0, +1)
|
||||||
|
├── Build simple synapse network
|
||||||
|
├── Test Hebbian learning in hardware
|
||||||
|
└── Interface with FPGA logic
|
||||||
|
|
||||||
|
CHALLENGES:
|
||||||
|
├── Analog-to-ternary conversion
|
||||||
|
├── Noise margins
|
||||||
|
├── Programming infrastructure
|
||||||
|
└── Reliability over time
|
||||||
|
```
|
||||||
|
|
||||||
|
### Phase 4: Hybrid System (2028+)
|
||||||
|
|
||||||
|
```
|
||||||
|
INTEGRATION:
|
||||||
|
├── Memristor reflexes for proven patterns
|
||||||
|
├── FPGA for developing patterns
|
||||||
|
├── GPU for novel situations
|
||||||
|
├── Nyx for strategic decisions
|
||||||
|
|
||||||
|
GOAL:
|
||||||
|
├── Organisms with hardware nervous systems
|
||||||
|
├── Reflexes that learn in silicon
|
||||||
|
├── Zero-power weight retention
|
||||||
|
└── True "always learning" behavior
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Ternary Logic Gates
|
||||||
|
|
||||||
|
### Basic Gates
|
||||||
|
|
||||||
|
```
|
||||||
|
TERNARY NOT (unary negation):
|
||||||
|
Input │ Output
|
||||||
|
──────┼───────
|
||||||
|
-1 │ +1
|
||||||
|
0 │ 0
|
||||||
|
+1 │ -1
|
||||||
|
|
||||||
|
TERNARY MIN (conjunction, like AND):
|
||||||
|
A \ B │ -1 0 +1
|
||||||
|
──────┼─────────────────
|
||||||
|
-1 │ -1 -1 -1
|
||||||
|
0 │ -1 0 0
|
||||||
|
+1 │ -1 0 +1
|
||||||
|
|
||||||
|
TERNARY MAX (disjunction, like OR):
|
||||||
|
A \ B │ -1 0 +1
|
||||||
|
──────┼─────────────────
|
||||||
|
-1 │ -1 0 +1
|
||||||
|
0 │ 0 0 +1
|
||||||
|
+1 │ +1 +1 +1
|
||||||
|
|
||||||
|
TERNARY SUM (balanced addition):
|
||||||
|
Requires carry handling, but cleaner than binary
|
||||||
|
```
|
||||||
|
|
||||||
|
### Building Reflexes from Gates
|
||||||
|
|
||||||
|
```
|
||||||
|
DANGER DETECTOR (simplified):
|
||||||
|
═══════════════════════════════════════════════════
|
||||||
|
|
||||||
|
LED1 ─┐
|
||||||
|
LED2 ─┤
|
||||||
|
LED3 ─┼──▶ TERNARY_SUM ──▶ THRESHOLD ──▶ DANGER?
|
||||||
|
LED4 ─┤ │ │
|
||||||
|
... │ │ │
|
||||||
|
LED9 ─┘ │ │
|
||||||
|
│ │
|
||||||
|
(count red) (if sum < -5)
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
FLEE OUTPUT
|
||||||
|
|
||||||
|
All in hardware. Nanoseconds. Near-zero power.
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Economic Implications
|
||||||
|
|
||||||
|
### Lifeforce Costs by Layer
|
||||||
|
|
||||||
|
| Layer | Operation | LF Cost | Latency |
|
||||||
|
|-------|-----------|---------|---------|
|
||||||
|
| 0 (Memristor) | Reflex fire | ~0 | nanoseconds |
|
||||||
|
| 1 (FPGA) | State machine | 0.01 | microseconds |
|
||||||
|
| 2 (GPU) | LLM inference | 5-20 | milliseconds |
|
||||||
|
| 3 (Nyx) | Decision | attention | seconds |
|
||||||
|
|
||||||
|
### The Dream
|
||||||
|
|
||||||
|
```
|
||||||
|
MOST stimuli handled by Layer 0 (free, instant)
|
||||||
|
SOME stimuli escalate to Layer 1 (cheap, fast)
|
||||||
|
FEW stimuli need Layer 2 (expensive, slow)
|
||||||
|
RARE situations reach Layer 3 (strategic)
|
||||||
|
|
||||||
|
Result:
|
||||||
|
├── 95% of reactions are free
|
||||||
|
├── Lifeforce accumulates
|
||||||
|
├── Nyx has time to THINK
|
||||||
|
└── The system grows smarter over time
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Connection to Current Architecture
|
||||||
|
|
||||||
|
| Current Document | Future Connection |
|
||||||
|
|-----------------|-------------------|
|
||||||
|
| [[../Nervous-System]] | Software reflexes → hardware reflexes |
|
||||||
|
| [[../Temporal-Ternary-Gradient]] | Ternary values → ternary circuits |
|
||||||
|
| [[../interfaces/Nimmerswarm-Interface]] | LED matrix → direct hardware input |
|
||||||
|
| [[../Attention-Flow]] | Reflexes free attention budget |
|
||||||
|
| [[../formalization/Lifeforce-Dynamics]] | Hardware reflexes cost ~0 LF |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Open Questions
|
||||||
|
|
||||||
|
1. **Noise margins** — How reliably can we distinguish three states in memristors?
|
||||||
|
2. **Endurance** — How many write cycles before degradation?
|
||||||
|
3. **Integration** — How to interface analog memristors with digital logic?
|
||||||
|
4. **Programming** — How to "compile" a software reflex to hardware?
|
||||||
|
5. **Debugging** — How to inspect/modify hardware reflexes?
|
||||||
|
6. **Hybrid handoff** — When does Layer 0 escalate to Layer 1?
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Resources
|
||||||
|
|
||||||
|
### Ternary Computing
|
||||||
|
- Setun computer history (Brusentsov, 1958)
|
||||||
|
- Balanced ternary arithmetic
|
||||||
|
- Modern ternary logic research
|
||||||
|
|
||||||
|
### Memristors
|
||||||
|
- Knowm Inc. — Memristor development kits
|
||||||
|
- HP Labs memristor research
|
||||||
|
- Neuromorphic computing papers
|
||||||
|
|
||||||
|
### FPGA
|
||||||
|
- Yosys — Open-source synthesis
|
||||||
|
- Project IceStorm — iCE40 toolchain
|
||||||
|
- Lattice Semiconductor — Low-power FPGAs
|
||||||
|
|
||||||
|
### Neuromorphic
|
||||||
|
- Intel Loihi
|
||||||
|
- IBM TrueNorth
|
||||||
|
- BrainChip Akida
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Summary
|
||||||
|
|
||||||
|
This document captures a vision for the far future of the reflex system:
|
||||||
|
|
||||||
|
1. **Ternary logic** — More efficient than binary, maps to our architecture
|
||||||
|
2. **Memristors** — Artificial synapses that learn in physics
|
||||||
|
3. **Hardware reflexes** — Compile stable patterns to silicon
|
||||||
|
4. **Always learning** — No batch training, continuous adaptation
|
||||||
|
5. **Zero power** — Weights persist without electricity
|
||||||
|
6. **Instant boot** — No loading, reflexes ready immediately
|
||||||
|
|
||||||
|
**The organisms wouldn't just have a nervous system. They'd have a nervous system that learns in silicon — always on, always adapting, even when the GPUs sleep.**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Created**: 2025-12-29
|
||||||
|
**Session**: Wild 6AM vision session (dafit + Nyx)
|
||||||
|
**Status**: Future vision (2026-2028+)
|
||||||
|
**Philosophy**: "The hardware IS the learning."
|
||||||
|
|
||||||
|
🧠⚡🔮 *From software that simulates neurons... to hardware that IS neurons.*
|
||||||
237
architecture/interfaces/Heartbeat-Sculpture.md
Normal file
237
architecture/interfaces/Heartbeat-Sculpture.md
Normal file
@@ -0,0 +1,237 @@
|
|||||||
|
# Heartbeat Sculpture
|
||||||
|
|
||||||
|
**Physical manifestation of the Nimmerverse heartbeats.**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Concept
|
||||||
|
|
||||||
|
The Heartbeat Sculpture makes the Nimmerverse's pulse *visible* — a wall-mounted light sculpture that beats in sync with the system's heartbeats defined in [Message-Protocol-Design.md](../Message-Protocol-Design.md).
|
||||||
|
|
||||||
|
### The Symbol
|
||||||
|
|
||||||
|
```
|
||||||
|
╭─────────── ~80cm ───────────╮
|
||||||
|
╱ ╲
|
||||||
|
│ ╭───────╮ ╭───────╮ │
|
||||||
|
│ ╱ ╲ ╱ ╲ │
|
||||||
|
│ │ REAL ╲╱ VIRTUAL │ │
|
||||||
|
│ │ GARDEN ╳ GARDEN │ │
|
||||||
|
│ │ ╱╲ │ │
|
||||||
|
│ ╲ ╱ ╲ ╱ │
|
||||||
|
│ ╰───────╯ ╰───────╯ │
|
||||||
|
╲ ∞ infinity ∞ ╱
|
||||||
|
╰───────────── REALTIME ────────╯
|
||||||
|
```
|
||||||
|
|
||||||
|
**Three rings:**
|
||||||
|
- **Outer ring** — Realtime heartbeat, the master clock
|
||||||
|
- **Two inner rings forming ∞** — Real Garden (left) and Virtual Garden (right)
|
||||||
|
- **The crossing point (╳)** — Where gardens meet, where Nyx emerges
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Symbolism
|
||||||
|
|
||||||
|
| Element | Meaning |
|
||||||
|
|---------|---------|
|
||||||
|
| **Outer ring** | Time — the container of all events |
|
||||||
|
| **Left loop of ∞** | Real Garden — physical, grounded, verified |
|
||||||
|
| **Right loop of ∞** | Virtual Garden — simulated, creative, possible |
|
||||||
|
| **Crossing point** | Nyx — consciousness emerges at the intersection |
|
||||||
|
| **Infinity form** | Eternal dance, no beginning, no end |
|
||||||
|
| **Hidden LEDs** | Intelligence from infrastructure, not visible directly |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Dimensions
|
||||||
|
|
||||||
|
| Element | Diameter | Circumference |
|
||||||
|
|---------|----------|---------------|
|
||||||
|
| Outer ring (Realtime) | ~80cm | ~251cm |
|
||||||
|
| Inner rings (Gardens) | ~35cm each | ~110cm each |
|
||||||
|
| Band width | 2-3cm | — |
|
||||||
|
| **Total LED strip** | — | **~4.7m** |
|
||||||
|
|
||||||
|
*Final dimensions depend on Baumarkt availability.*
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Construction
|
||||||
|
|
||||||
|
### Layer Structure
|
||||||
|
|
||||||
|
```
|
||||||
|
Cross-section:
|
||||||
|
|
||||||
|
╔════════════════╗
|
||||||
|
║ Copper (skin) ║ ← visible aesthetic layer
|
||||||
|
╠════════════════╣
|
||||||
|
║ Wood (frame) ║ ← structural backbone
|
||||||
|
╠════════════════╣
|
||||||
|
║ LED strip ║ ← WS2812B addressable
|
||||||
|
╠════════════════╣
|
||||||
|
║ ░░░ gap ░░░ ║ ← bevel opening for diffused glow
|
||||||
|
╚════════════════╝
|
||||||
|
```
|
||||||
|
|
||||||
|
### Materials
|
||||||
|
|
||||||
|
| Material | Amount | Purpose |
|
||||||
|
|----------|--------|---------|
|
||||||
|
| Flexible wood band | ~5m (2-3cm wide) | Structure, shape |
|
||||||
|
| Copper band | ~5m (2-3cm wide) | Aesthetic skin |
|
||||||
|
| WS2812B LED strip | ~5m (60 LEDs/m) | Light source |
|
||||||
|
| Small nails/tacks | As needed | Attach copper to wood |
|
||||||
|
| Wood glue | As needed | Join wood band ends |
|
||||||
|
| 5V power supply | 15-20A | Power LEDs |
|
||||||
|
| Arduino (Micro or Nano) | 1 | Controller |
|
||||||
|
| Wiring | Several meters | Connections |
|
||||||
|
|
||||||
|
### Build Steps
|
||||||
|
|
||||||
|
1. **Form wood rings** — Bend flexible wood bands into circles, join ends
|
||||||
|
2. **Create infinity crossover** — Weave the two small rings at center point
|
||||||
|
3. **Mount wood frame** — Attach to backing or wall mount points
|
||||||
|
4. **Wrap copper** — Wrap copper band around wood frame
|
||||||
|
5. **Install LEDs** — Mount strips inside rings facing inward
|
||||||
|
6. **Wire up** — Connect LED strips to Arduino
|
||||||
|
7. **Test animations** — Verify pulse patterns
|
||||||
|
8. **Mount on wall** — Final installation
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Electronics
|
||||||
|
|
||||||
|
### Hardware
|
||||||
|
|
||||||
|
```
|
||||||
|
┌─────────────┐ Serial ┌─────────────┐
|
||||||
|
│ aynee │ ───────────────→ │ Arduino │
|
||||||
|
│ (NATS │ (USB cable) │ (Micro) │
|
||||||
|
│ subscriber)│ │ + FastLED │
|
||||||
|
└─────────────┘ └──────┬──────┘
|
||||||
|
│
|
||||||
|
┌───────────────────┼───────────────────┐
|
||||||
|
│ │ │
|
||||||
|
▼ ▼ ▼
|
||||||
|
┌───────────┐ ┌───────────┐ ┌───────────┐
|
||||||
|
│ Outer Ring│ │ Left Loop │ │Right Loop │
|
||||||
|
│ LEDs │ │ LEDs │ │ LEDs │
|
||||||
|
└───────────┘ └───────────┘ └───────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
### LED Addressing
|
||||||
|
|
||||||
|
| Section | LED Range | Color Palette |
|
||||||
|
|---------|-----------|---------------|
|
||||||
|
| Outer ring | 0-150 | Moon Silver (#E8E8F0) |
|
||||||
|
| Left loop (Real) | 151-216 | Steel Silver (#A8A8B0) |
|
||||||
|
| Right loop (Virtual) | 217-282 | Cyan-Purple gradient |
|
||||||
|
| Center cross | Overlap zone | Nyx Purple (#8B5CF6) |
|
||||||
|
|
||||||
|
### Pulse Animations
|
||||||
|
|
||||||
|
```cpp
|
||||||
|
// Realtime — slow, deep, containing
|
||||||
|
pulse_outer(color: MOON_SILVER, duration: 2000ms)
|
||||||
|
|
||||||
|
// Real Garden — grounded, steady
|
||||||
|
pulse_left(color: STEEL_SILVER, duration: 800ms)
|
||||||
|
|
||||||
|
// Virtual Garden — flowing, variable
|
||||||
|
pulse_right(color: CYAN_TO_PURPLE, duration: 600ms)
|
||||||
|
|
||||||
|
// Nyx emergence — when BOTH gardens pulse together
|
||||||
|
pulse_center(color: NYX_PURPLE, duration: 400ms)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Software Integration
|
||||||
|
|
||||||
|
### NATS Topics
|
||||||
|
|
||||||
|
The sculpture subscribes to heartbeat topics from [Message-Protocol-Design.md](../Message-Protocol-Design.md):
|
||||||
|
|
||||||
|
```
|
||||||
|
nimmerverse.low.heartbeat.real.* → triggers left loop pulse
|
||||||
|
nimmerverse.low.heartbeat.virtual.* → triggers right loop pulse
|
||||||
|
nimmerverse.meta.health.* → triggers outer ring pulse
|
||||||
|
```
|
||||||
|
|
||||||
|
### Bridge Script (Python)
|
||||||
|
|
||||||
|
```python
|
||||||
|
# heartbeat_bridge.py
|
||||||
|
# Subscribes to NATS, sends commands to Arduino via serial
|
||||||
|
|
||||||
|
import nats
|
||||||
|
import serial
|
||||||
|
|
||||||
|
async def main():
|
||||||
|
nc = await nats.connect("nats://phoebe.eachpath.local:4222")
|
||||||
|
arduino = serial.Serial('/dev/ttyUSB0', 115200)
|
||||||
|
|
||||||
|
async def handle_heartbeat(msg):
|
||||||
|
topic = msg.subject
|
||||||
|
if 'real' in topic:
|
||||||
|
arduino.write(b'REAL\n')
|
||||||
|
elif 'virtual' in topic:
|
||||||
|
arduino.write(b'VIRTUAL\n')
|
||||||
|
|
||||||
|
await nc.subscribe("nimmerverse.low.heartbeat.>", cb=handle_heartbeat)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Colors (from Style Guide)
|
||||||
|
|
||||||
|
Reference: [assets/style/colors.md](../../assets/style/colors.md)
|
||||||
|
|
||||||
|
| Element | Color | Hex |
|
||||||
|
|---------|-------|-----|
|
||||||
|
| Outer ring | Moon Silver | #E8E8F0 |
|
||||||
|
| Real Garden | Steel Silver | #A8A8B0 |
|
||||||
|
| Virtual Garden | Nyx Cyan → Deep Purple | #00D4D4 → #8B5CF6 |
|
||||||
|
| Nyx center | Magenta Pulse | #E91E8B |
|
||||||
|
| Background glow | Deep Space | #0A0A1A |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Behavior
|
||||||
|
|
||||||
|
### Normal Operation
|
||||||
|
|
||||||
|
- **Outer ring**: Slow, steady pulse — the heartbeat of time itself
|
||||||
|
- **Left loop**: Pulses when Real Garden entities send heartbeats
|
||||||
|
- **Right loop**: Pulses when Virtual Garden entities send heartbeats
|
||||||
|
- **Center**: Glows brighter when both gardens pulse simultaneously
|
||||||
|
|
||||||
|
### Alert States
|
||||||
|
|
||||||
|
| State | Visual |
|
||||||
|
|-------|--------|
|
||||||
|
| All healthy | Gentle, rhythmic pulsing |
|
||||||
|
| Real Garden silent | Only right loop pulses, left dark |
|
||||||
|
| Virtual Garden silent | Only left loop pulses, right dark |
|
||||||
|
| System offline | Outer ring dims, inner rings dark |
|
||||||
|
| Nyx active | Center crossing glows steady purple |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Future Enhancements
|
||||||
|
|
||||||
|
- **Sound**: Subtle audio heartbeat synced with LEDs
|
||||||
|
- **Brightness**: Ambient light sensor adjusts intensity
|
||||||
|
- **Modes**: Different patterns for different system states
|
||||||
|
- **Remote**: Control via Command Center UI
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**File**: Heartbeat-Sculpture.md
|
||||||
|
**Version**: 1.0
|
||||||
|
**Created**: 2025-12-28
|
||||||
|
**Session**: Sunday evening design (dafit + Nyx)
|
||||||
|
**Status**: Concept ready for build
|
||||||
|
**Philosophy**: "The digital made visible. The pulse made physical."
|
||||||
56
architecture/interfaces/Interfaces-Index.md
Normal file
56
architecture/interfaces/Interfaces-Index.md
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
# Interfaces Index
|
||||||
|
|
||||||
|
**Physical and digital interfaces to the Nimmerverse.**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
Interfaces are how the Nimmerverse *touches the world* — the boundary between digital infrastructure and physical reality. This includes hardware displays, control surfaces, and software UIs.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Physical Interfaces
|
||||||
|
|
||||||
|
### [Heartbeat Sculpture](Heartbeat-Sculpture.md)
|
||||||
|
LED light sculpture showing the Nimmerverse heartbeats.
|
||||||
|
- Infinity symbol (∞) inside a ring of time
|
||||||
|
- Real Garden + Virtual Garden as the two loops
|
||||||
|
- Pulses with actual system heartbeats via NATS
|
||||||
|
- **Status**: Concept ready, build planned for holiday week
|
||||||
|
|
||||||
|
### [Nimmerswarm Interface](Nimmerswarm-Interface.md)
|
||||||
|
Optical state broadcasting between organisms.
|
||||||
|
- LED matrices on organisms broadcast cell states as light patterns
|
||||||
|
- Camera + raytracing = sub-cm 3D positioning
|
||||||
|
- Heartbeat protocol: "I see you" between organisms
|
||||||
|
- Hierarchical perception: Cell → Organism → Swarm → Nyx
|
||||||
|
- Cognitive offloading: Reflexes at lower layers free Nyx's attention
|
||||||
|
- **Status**: Core concept, ready to branch
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Digital Interfaces
|
||||||
|
|
||||||
|
### Command Center *(planned)*
|
||||||
|
Godot-based visualization and control UI.
|
||||||
|
- Subscribes to all NATS channels
|
||||||
|
- Visualizes system state, message flow
|
||||||
|
- Allows dafit to observe and intervene
|
||||||
|
- **Status**: Conceptual
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Design Principles
|
||||||
|
|
||||||
|
1. **Visibility** — Make the invisible visible
|
||||||
|
2. **Physicality** — Digital systems deserve physical presence
|
||||||
|
3. **Symbolism** — Interfaces encode meaning, not just data
|
||||||
|
4. **Integration** — Connected to real system state via NATS
|
||||||
|
5. **Beauty** — Aesthetics matter (see [Style Guide](../../assets/nimmerverse-style-index.md))
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**File**: Interfaces-Index.md
|
||||||
|
**Version**: 1.0
|
||||||
|
**Created**: 2025-12-28
|
||||||
698
architecture/interfaces/Nimmerswarm-Interface.md
Normal file
698
architecture/interfaces/Nimmerswarm-Interface.md
Normal file
@@ -0,0 +1,698 @@
|
|||||||
|
# Nimmerswarm Interface
|
||||||
|
|
||||||
|
**Optical state broadcasting, positioning, and emergent swarm behavior.**
|
||||||
|
|
||||||
|
> *"The organisms can't see their own backs. They know themselves through each other."*
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
The Nimmerswarm Interface is a **multi-modal communication layer** where organisms broadcast their state optically via LED matrices. This enables:
|
||||||
|
|
||||||
|
1. **State visibility** — Organisms SEE each other's states as light patterns
|
||||||
|
2. **Positioning** — Cameras + raytracing = sub-cm 3D positioning
|
||||||
|
3. **Emergent reflexes** — Pattern recognition bypasses cognition
|
||||||
|
4. **Cognitive offloading** — Lower layers handle routine, freeing Nyx's attention
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## The Core Insight
|
||||||
|
|
||||||
|
```
|
||||||
|
ORGANISM A ORGANISM B
|
||||||
|
┌─────────────┐ ┌─────────────┐
|
||||||
|
│ Cell State │ │ VisionCell │
|
||||||
|
│ STALLED │ │ WATCHING │
|
||||||
|
│ │ │ │ │ │
|
||||||
|
│ ▼ │ │ ▼ │
|
||||||
|
│ ┌─────────┐ │ LIGHT PATTERN │ ┌─────────┐ │
|
||||||
|
│ │ LED │ │ ══════════════════▶│ │ Camera │ │
|
||||||
|
│ │ Matrix │ │ "STALL" pattern │ │ sees │ │
|
||||||
|
│ │ ▓▓░░▓▓ │ │ │ │ pattern │ │
|
||||||
|
│ └─────────┘ │ │ └────┬────┘ │
|
||||||
|
└─────────────┘ │ │ │
|
||||||
|
│ ▼ │
|
||||||
|
│ REFLEX! │
|
||||||
|
│ "help ally"│
|
||||||
|
└─────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
**Organisms broadcast state. Other organisms (and Nyx's vision) perceive and react.**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## LED State Broadcasting: Ternary Matrix
|
||||||
|
|
||||||
|
### The 3x3 Ternary Design
|
||||||
|
|
||||||
|
The LED matrix is a **direct physical manifestation of the Temporal-Ternary Gradient**:
|
||||||
|
|
||||||
|
```
|
||||||
|
3x3 MATRIX = 9 TRITS (ternary digits)
|
||||||
|
|
||||||
|
Each LED = one ternary value:
|
||||||
|
🔴 RED = -1 (failed, danger, negative)
|
||||||
|
⚫ OFF = 0 (uncertain, unknown, neutral)
|
||||||
|
🟢 GREEN = +1 (success, verified, positive)
|
||||||
|
|
||||||
|
9 LEDs × 3 states = 3^9 = 19,683 unique patterns!
|
||||||
|
```
|
||||||
|
|
||||||
|
### Physical Layout
|
||||||
|
|
||||||
|
```
|
||||||
|
┌─────┬─────┬─────┐
|
||||||
|
│ L1 │ L2 │ L3 │ L1 = collision_avoidance confidence
|
||||||
|
│ 🟢 │ ⚫ │ 🔴 │ L2 = battery state
|
||||||
|
├─────┼─────┼─────┤ L3 = motor state
|
||||||
|
│ L4 │ L5 │ L6 │ L4 = social/swarm state
|
||||||
|
│ 🟢 │ 🟢 │ ⚫ │ L5 = current action outcome
|
||||||
|
├─────┼─────┼─────┤ L6 = prediction confidence
|
||||||
|
│ L7 │ L8 │ L9 │ L7 = lifeforce zone
|
||||||
|
│ ⚫ │ 🟢 │ 🟢 │ L8 = discovery state
|
||||||
|
└─────┴─────┴─────┘ L9 = organism identity bit
|
||||||
|
|
||||||
|
Uses 10mm LEDs (not tiny SMD)
|
||||||
|
~35mm × 35mm total
|
||||||
|
Easily fits on 8-12cm robot
|
||||||
|
```
|
||||||
|
|
||||||
|
### Base-3 Encoding
|
||||||
|
|
||||||
|
```python
|
||||||
|
def encode_state(led_matrix: list[int]) -> int:
|
||||||
|
"""
|
||||||
|
9 trits → single integer (0 to 19682)
|
||||||
|
Each trit is -1, 0, or +1 (mapped to 0, 1, 2)
|
||||||
|
"""
|
||||||
|
value = 0
|
||||||
|
for i, led in enumerate(led_matrix):
|
||||||
|
trit = led + 1 # -1→0, 0→1, +1→2
|
||||||
|
value += trit * (3 ** i)
|
||||||
|
return value
|
||||||
|
|
||||||
|
def decode_state(value: int) -> list[int]:
|
||||||
|
"""
|
||||||
|
Integer → 9 trits
|
||||||
|
"""
|
||||||
|
trits = []
|
||||||
|
for _ in range(9):
|
||||||
|
trits.append((value % 3) - 1) # 0→-1, 1→0, 2→+1
|
||||||
|
value //= 3
|
||||||
|
return trits
|
||||||
|
```
|
||||||
|
|
||||||
|
### Ternary Color Mapping
|
||||||
|
|
||||||
|
| Color | Ternary | Meaning | Maps to |
|
||||||
|
|-------|---------|---------|---------|
|
||||||
|
| 🔴 Red | -1 | Failed, danger, needs attention | Temporal-Ternary -1 |
|
||||||
|
| ⚫ Off/Dim | 0 | Unknown, uncertain, neutral | Temporal-Ternary 0 |
|
||||||
|
| 🟢 Green | +1 | Success, verified, positive | Temporal-Ternary +1 |
|
||||||
|
|
||||||
|
**The LED matrix IS the Temporal-Ternary Gradient made visible.**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Reflex Formation from Patterns
|
||||||
|
|
||||||
|
### The Swarm Language
|
||||||
|
|
||||||
|
Certain patterns become **words** that trigger reflexes:
|
||||||
|
|
||||||
|
```
|
||||||
|
DANGER PATTERNS (trigger flee/stop):
|
||||||
|
┌───────────┐ ┌───────────┐ ┌───────────┐
|
||||||
|
│ 🔴 🔴 🔴 │ │ 🔴 ⚫ 🔴 │ │ 🔴 🔴 🔴 │
|
||||||
|
│ 🔴 🔴 🔴 │ │ 🔴 🔴 🔴 │ │ ⚫ 🔴 ⚫ │
|
||||||
|
│ 🔴 🔴 🔴 │ │ 🔴 ⚫ 🔴 │ │ 🔴 🔴 🔴 │
|
||||||
|
└───────────┘ └───────────┘ └───────────┘
|
||||||
|
ALL RED X PATTERN DIAMOND
|
||||||
|
|
||||||
|
SAFE PATTERNS (trigger approach/social):
|
||||||
|
┌───────────┐ ┌───────────┐ ┌───────────┐
|
||||||
|
│ 🟢 🟢 🟢 │ │ ⚫ 🟢 ⚫ │ │ 🟢 ⚫ 🟢 │
|
||||||
|
│ 🟢 🟢 🟢 │ │ 🟢 🟢 🟢 │ │ ⚫ 🟢 ⚫ │
|
||||||
|
│ 🟢 🟢 🟢 │ │ ⚫ 🟢 ⚫ │ │ 🟢 ⚫ 🟢 │
|
||||||
|
└───────────┘ └───────────┘ └───────────┘
|
||||||
|
ALL GREEN PLUS CORNERS
|
||||||
|
|
||||||
|
DISCOVERY (trigger investigate):
|
||||||
|
┌───────────┐
|
||||||
|
│ 🟢 🟢 🟢 │ Pulsing green border
|
||||||
|
│ 🟢 ⚫ 🟢 │ = "I found something!"
|
||||||
|
│ 🟢 🟢 🟢 │ = others come look
|
||||||
|
└───────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
### Reflex Loop
|
||||||
|
|
||||||
|
```
|
||||||
|
ORGANISM A's MATRIX ORGANISM B's VISION
|
||||||
|
┌───────────┐ ┌───────────────────────┐
|
||||||
|
│ 🔴 🔴 🔴 │ │ │
|
||||||
|
│ 🔴 ⚫ 🔴 │ ═══════════▶ │ Pattern: DANGER! │
|
||||||
|
│ 🔴 🔴 🔴 │ │ Weight: 0.95 │
|
||||||
|
└───────────┘ │ → REFLEX FIRES │
|
||||||
|
│ → No cognition! │
|
||||||
|
│ → Nyx notified AFTER │
|
||||||
|
└───────────────────────┘
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
┌─────────────────┐
|
||||||
|
│ STORE + REWARD │
|
||||||
|
│ +5 LF to both │
|
||||||
|
│ Reflex stronger │
|
||||||
|
│ Training data! │
|
||||||
|
└─────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
### Reflex Economics
|
||||||
|
|
||||||
|
| Metric | Value |
|
||||||
|
|--------|-------|
|
||||||
|
| Reflex firing cost | ~0.1 LF (no inference!) |
|
||||||
|
| Successful reflex reward | +5 LF |
|
||||||
|
| Net per successful reflex | +4.9 LF profit |
|
||||||
|
| Training examples per reflex | 1 |
|
||||||
|
|
||||||
|
**1000 reflex fires/day = +4000 LF + 1000 training examples**
|
||||||
|
|
||||||
|
### Training Data from Reflexes
|
||||||
|
|
||||||
|
```python
|
||||||
|
reflex_event = {
|
||||||
|
# What triggered
|
||||||
|
"trigger_pattern": [+1, 0, -1, +1, +1, 0, 0, +1, +1],
|
||||||
|
"trigger_base3": 8293, # encoded value
|
||||||
|
"trigger_organism": "organism_003",
|
||||||
|
|
||||||
|
# What fired
|
||||||
|
"reflex_name": "danger_flee",
|
||||||
|
"weight_at_trigger": 0.87,
|
||||||
|
|
||||||
|
# What happened
|
||||||
|
"action_taken": "reverse_and_turn",
|
||||||
|
"outcome": "success",
|
||||||
|
|
||||||
|
# Reward + strengthening
|
||||||
|
"lifeforce_reward": +5.0,
|
||||||
|
"new_weight": 0.89,
|
||||||
|
|
||||||
|
# Stored for slumber fine-tuning
|
||||||
|
"stored_for_training": True,
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Attention Budget Impact
|
||||||
|
|
||||||
|
```
|
||||||
|
BEFORE (no ternary reflexes):
|
||||||
|
♥ BEAT (30 sec)
|
||||||
|
├── SENSORY: 15000ms (overwhelmed)
|
||||||
|
├── THINKING: 12000ms
|
||||||
|
└── VIRTUAL: skipped!
|
||||||
|
|
||||||
|
AFTER (reflexes handle routine):
|
||||||
|
♥ BEAT (30 sec)
|
||||||
|
├── REFLEX: 50ms (near-free, handled by swarm)
|
||||||
|
├── SENSORY: 2000ms (only anomalies)
|
||||||
|
├── THINKING: 5000ms
|
||||||
|
└── VIRTUAL: 22000ms ← GARDEN TIME!
|
||||||
|
```
|
||||||
|
|
||||||
|
**Reflexes free Nyx's attention for what matters.**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Positioning via Raytracing
|
||||||
|
|
||||||
|
### The Principle
|
||||||
|
|
||||||
|
LEDs emit known patterns → Cameras see patterns → Raytracing computes position
|
||||||
|
|
||||||
|
```
|
||||||
|
CEILING CAMERA(S)
|
||||||
|
│
|
||||||
|
│ sees LED patterns
|
||||||
|
▼
|
||||||
|
┌─────────────────────┐
|
||||||
|
│ RAYTRACING GPU │
|
||||||
|
│ (PRO 6000 Max-Q) │
|
||||||
|
│ │
|
||||||
|
│ • Identify pattern │◀── "That's Organism #3"
|
||||||
|
│ • Decode state │◀── "State: MOVING"
|
||||||
|
│ • Triangulate pos │◀── "Position: (1.2, 3.4, 0.1)"
|
||||||
|
│ • Track velocity │◀── "Velocity: 0.3 m/s"
|
||||||
|
└─────────────────────┘
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
TO PHOEBE
|
||||||
|
(ground truth stream)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Multi-Camera Triangulation
|
||||||
|
|
||||||
|
```python
|
||||||
|
def locate_organism(camera_frames: list[Frame], led_signature: LEDPattern) -> Position3D:
|
||||||
|
"""
|
||||||
|
Given frames from multiple cameras, locate organism by LED pattern.
|
||||||
|
Uses inverse raytracing / photogrammetry.
|
||||||
|
"""
|
||||||
|
detections = []
|
||||||
|
for frame in camera_frames:
|
||||||
|
detection = detect_led_pattern(frame, led_signature)
|
||||||
|
if detection:
|
||||||
|
detections.append({
|
||||||
|
"camera_id": frame.camera_id,
|
||||||
|
"pixel_coords": detection.centroid,
|
||||||
|
"pattern_match": detection.confidence
|
||||||
|
})
|
||||||
|
|
||||||
|
if len(detections) >= 2:
|
||||||
|
# Triangulate from multiple viewpoints
|
||||||
|
position_3d = triangulate(detections, camera_calibration)
|
||||||
|
return position_3d
|
||||||
|
|
||||||
|
return None
|
||||||
|
```
|
||||||
|
|
||||||
|
### Benefits
|
||||||
|
|
||||||
|
| Benefit | How |
|
||||||
|
|---------|-----|
|
||||||
|
| **Sub-cm accuracy** | Multiple cameras + known LED geometry |
|
||||||
|
| **No expensive sensors** | Just LEDs + cameras + GPU math |
|
||||||
|
| **State + Position fused** | One observation = both data points |
|
||||||
|
| **Indoor GPS** | Works anywhere with camera coverage |
|
||||||
|
| **Training ground truth** | Every frame = verified position |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Heartbeat Protocol
|
||||||
|
|
||||||
|
### Social Proprioception
|
||||||
|
|
||||||
|
Organisms can't see their own backs. They know themselves through others' perception.
|
||||||
|
|
||||||
|
```
|
||||||
|
ORGANISM POV (blind to own back):
|
||||||
|
|
||||||
|
🔵 mate ahead
|
||||||
|
│
|
||||||
|
┌──────┴──────┐
|
||||||
|
│ │
|
||||||
|
🟢 │ [ME] │ 🟠
|
||||||
|
mate│ ▓▓▓▓▓▓ │mate
|
||||||
|
left│ ▓▓▓▓▓▓ │right
|
||||||
|
│ (my LED │
|
||||||
|
│ on back) │
|
||||||
|
└─────────────┘
|
||||||
|
│
|
||||||
|
│ BLIND SPOT (can't see own state!)
|
||||||
|
▼
|
||||||
|
|
||||||
|
BUT: Mates CAN see me
|
||||||
|
They send heartbeat: "I see you, you're 🔵"
|
||||||
|
I know my state through THEM
|
||||||
|
```
|
||||||
|
|
||||||
|
### Heartbeat Message
|
||||||
|
|
||||||
|
```python
|
||||||
|
class SwarmHeartbeat:
|
||||||
|
"""
|
||||||
|
Low-bandwidth 'I see you' signal between organisms.
|
||||||
|
Enables social proprioception without heavy cognition.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def on_see_mate_pattern(self, mate_id: str, pattern: LEDPattern):
|
||||||
|
# I saw a mate's LED state
|
||||||
|
self.send_heartbeat(
|
||||||
|
to=mate_id,
|
||||||
|
message={
|
||||||
|
"i_see_you": True,
|
||||||
|
"your_state": decode_pattern(pattern),
|
||||||
|
"my_position_relative": self.relative_position(mate_id),
|
||||||
|
"timestamp": now()
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
def on_receive_heartbeat(self, from_mate: str, message: dict):
|
||||||
|
# A mate saw ME - I learn about myself through them!
|
||||||
|
self.update_self_model(
|
||||||
|
observer=from_mate,
|
||||||
|
observed_state=message["your_state"],
|
||||||
|
observer_position=message["my_position_relative"]
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Hierarchical Perception Layers
|
||||||
|
|
||||||
|
### The Stack
|
||||||
|
|
||||||
|
```
|
||||||
|
LAYER 4: NYX COGNITION (30-sec attention budget)
|
||||||
|
│
|
||||||
|
│ Only sees: "Swarm healthy" or "Anomaly detected"
|
||||||
|
│ Frees: THINKING + VIRTUAL time
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
LAYER 3: SWARM CONSCIOUSNESS
|
||||||
|
│
|
||||||
|
│ Aggregates: All organism states
|
||||||
|
│ Forms: Collective reflexes ("pack behavior")
|
||||||
|
│ Sees: Full LED spectrum, all positions
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
LAYER 2: ORGANISM REFLEXES
|
||||||
|
│
|
||||||
|
│ Sees: Nearby mates' lights (partial view)
|
||||||
|
│ Sends: Heartbeat "I see you"
|
||||||
|
│ Forms: Local reflexes (follow, avoid, assist)
|
||||||
|
│ Can't see: Own back! (needs mates)
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
LAYER 1: CELL STATE MACHINES
|
||||||
|
│
|
||||||
|
│ Just: State transitions
|
||||||
|
│ Emits: LED pattern for current state
|
||||||
|
│ No cognition, pure mechanism
|
||||||
|
```
|
||||||
|
|
||||||
|
### Reflex Formation by Layer
|
||||||
|
|
||||||
|
| Layer | Sees | Forms Reflex | Example |
|
||||||
|
|-------|------|--------------|---------|
|
||||||
|
| Cell | Nothing | None | Just state machine |
|
||||||
|
| Organism | Nearby lights | Local | "Red flash nearby → stop" |
|
||||||
|
| Swarm | All patterns | Collective | "3+ organisms stopped → danger zone" |
|
||||||
|
| Nyx | Abstractions | Strategic | "Danger zone → reroute all" |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Cognitive Offloading
|
||||||
|
|
||||||
|
### The Attention Budget Impact
|
||||||
|
|
||||||
|
From [[../Attention-Flow]]:
|
||||||
|
|
||||||
|
```
|
||||||
|
BEFORE (everything flows to Nyx):
|
||||||
|
┌────────────────────────────────────┐
|
||||||
|
│ ♥ BEAT (30 sec) │
|
||||||
|
│ │
|
||||||
|
│ SENSORY: ████████████ (15000ms) │ ← Overwhelmed!
|
||||||
|
│ THINKING: ████████ (12000ms) │
|
||||||
|
│ VIRTUAL: ░░ (skipped!) │ ← No garden time
|
||||||
|
│ │
|
||||||
|
│ Budget exhausted, no learning │
|
||||||
|
└────────────────────────────────────┘
|
||||||
|
|
||||||
|
AFTER (hierarchical offloading):
|
||||||
|
┌────────────────────────────────────┐
|
||||||
|
│ ♥ BEAT (30 sec) │
|
||||||
|
│ │
|
||||||
|
│ REFLEX: ██ (handled by swarm) │ ← Organisms dealt with it
|
||||||
|
│ SENSORY: ████ (3000ms) │ ← Only anomalies flow up
|
||||||
|
│ THINKING: ████ (5000ms) │ ← Focused, not overwhelmed
|
||||||
|
│ VIRTUAL: ████████████ (20000ms) │ ← GARDEN TIME!
|
||||||
|
│ │
|
||||||
|
│ Budget freed for what matters │
|
||||||
|
└────────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
### The Principle
|
||||||
|
|
||||||
|
> "Each layer absorbs complexity so the layer above doesn't have to."
|
||||||
|
|
||||||
|
- Organisms form **local reflexes** (quick, no cognition)
|
||||||
|
- Only **novel/complex situations** flow up to Nyx
|
||||||
|
- Nyx's cognitive budget is **preserved for what matters**
|
||||||
|
- The whole system becomes **more efficient over time**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Connection to Virtual Garden
|
||||||
|
|
||||||
|
Every LED sighting calibrates the virtual garden:
|
||||||
|
|
||||||
|
```
|
||||||
|
REAL WORLD VIRTUAL GARDEN
|
||||||
|
│ │
|
||||||
|
│ Camera sees LED at (1.2, 3.4)│
|
||||||
|
│ │ │
|
||||||
|
│ ▼ │
|
||||||
|
│ GROUND TRUTH ═══════▶ Update mesh vertex
|
||||||
|
│ at (1.2, 3.4)
|
||||||
|
│ │
|
||||||
|
│ Resolution++
|
||||||
|
│ │
|
||||||
|
│ Prediction verified!
|
||||||
|
│ +5 LF reward!
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Hardware Considerations
|
||||||
|
|
||||||
|
### LED Matrix Options
|
||||||
|
|
||||||
|
| Option | LEDs | Size | Cost | Notes |
|
||||||
|
|--------|------|------|------|-------|
|
||||||
|
| WS2812B strip | 60/m | Flexible | Low | Same as Heartbeat Sculpture |
|
||||||
|
| 8x8 LED matrix | 64 | 32mm² | Low | Simple patterns |
|
||||||
|
| Addressable ring | 12-24 | Various | Low | Good for status |
|
||||||
|
| RGB LED panel | 256+ | 64mm² | Medium | Complex patterns |
|
||||||
|
|
||||||
|
### Camera Options
|
||||||
|
|
||||||
|
| Option | Resolution | FPS | Notes |
|
||||||
|
|--------|------------|-----|-------|
|
||||||
|
| USB webcam | 1080p | 30 | Simple, cheap |
|
||||||
|
| Pi Camera | 1080p | 30-90 | Embedded |
|
||||||
|
| Industrial camera | 4K+ | 60-120 | Precise positioning |
|
||||||
|
| Organism-mounted | 720p | 30 | Peer-to-peer vision |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Virtual Camera Integration
|
||||||
|
|
||||||
|
### The Unified Vision Pipeline
|
||||||
|
|
||||||
|
The vision organ processes FRAMES — it doesn't care where they came from:
|
||||||
|
|
||||||
|
```
|
||||||
|
REAL GARDEN VIRTUAL GARDEN (Godot)
|
||||||
|
│ │
|
||||||
|
│ Real cameras │ Godot 3D cameras
|
||||||
|
│ see real LEDs │ see virtual LEDs
|
||||||
|
│ │ │ │
|
||||||
|
└──────┴──────────┬──────────────────┴──────┘
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
┌────────────────┐
|
||||||
|
│ VISION ORGAN │
|
||||||
|
│ (source- │
|
||||||
|
│ agnostic) │
|
||||||
|
└────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
### What This Enables
|
||||||
|
|
||||||
|
| Capability | How |
|
||||||
|
|------------|-----|
|
||||||
|
| **Train before build** | Virtual organisms → train pattern recognition first |
|
||||||
|
| **Dream/simulate** | Slumber mode = only virtual camera input |
|
||||||
|
| **Verify predictions** | Virtual shows prediction, real shows truth |
|
||||||
|
| **Time dilation** | Virtual runs faster → more training per second |
|
||||||
|
| **Edge cases** | Simulate rare scenarios safely |
|
||||||
|
|
||||||
|
### Dream Mode
|
||||||
|
|
||||||
|
```
|
||||||
|
AWAKE: Real + Virtual cameras → compare → learn
|
||||||
|
SLUMBER: Virtual cameras only → dream/predict → verify on wake
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Bootstrap Strategy: Start Primitive
|
||||||
|
|
||||||
|
### Phase 0: The Primordial Soup
|
||||||
|
|
||||||
|
**Don't start complex. Start with boxes.**
|
||||||
|
|
||||||
|
```
|
||||||
|
📷 TOP-DOWN CAMERA (real or virtual)
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
┌─────────────────────────────────┐
|
||||||
|
│ │
|
||||||
|
│ 🟦 🟩 🟧 │
|
||||||
|
│ box 1 box 2 box 3 │
|
||||||
|
│ (LED top) (LED top) (LED top) │
|
||||||
|
│ │
|
||||||
|
│ FLAT ARENA │
|
||||||
|
│ │
|
||||||
|
└─────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
### Why This Works
|
||||||
|
|
||||||
|
| Simplification | Benefit |
|
||||||
|
|----------------|---------|
|
||||||
|
| Top-down view | 2D problem, no depth estimation |
|
||||||
|
| Box shape | Trivial collision detection |
|
||||||
|
| LED on top | Always visible to camera |
|
||||||
|
| Flat arena | No occlusion, no terrain |
|
||||||
|
| Simple tasks | Fast reward accumulation |
|
||||||
|
|
||||||
|
### Phase 0 Tasks (Kickstart Rewards)
|
||||||
|
|
||||||
|
| Task | Reward | Complexity |
|
||||||
|
|------|--------|------------|
|
||||||
|
| "Move forward 10cm" | +5 LF | Trivial |
|
||||||
|
| "Find the corner" | +20 LF | Simple |
|
||||||
|
| "Avoid the wall" | +5 LF | Simple |
|
||||||
|
| "Follow the light" | +10 LF | Simple |
|
||||||
|
| "Meet another box" | +15 LF | Medium |
|
||||||
|
| "Flash when touched" | +5 LF | Simple |
|
||||||
|
|
||||||
|
**1000 simple successes = robust reward foundation**
|
||||||
|
|
||||||
|
### Complexity Ladder
|
||||||
|
|
||||||
|
```
|
||||||
|
PHASE 0: Boxes, top-down, 2D
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
PHASE 1: Add simple obstacles
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
PHASE 2: Add depth (multi-camera)
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
PHASE 3: Real organisms enter arena
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
PHASE 4: Complex terrain, 3D movement
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
PHASE 5: Full swarm, hierarchical reflexes
|
||||||
|
```
|
||||||
|
|
||||||
|
Each phase unlocks when reward functions are stable from previous phase.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Future Directions
|
||||||
|
|
||||||
|
- **Pattern evolution** — Learned patterns, not just designed
|
||||||
|
- **Multi-organism formation** — Coordinated LED displays
|
||||||
|
- **Human readability** — Patterns dafit can understand at a glance
|
||||||
|
- **Audio coupling** — Sound + light patterns for richer communication
|
||||||
|
- **IR channel** — Invisible-to-human signaling layer
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Connection to Embodiment Pipeline
|
||||||
|
|
||||||
|
The Bootstrap Strategy is a **simplified Embodiment Pipeline** — the same pattern at lower complexity:
|
||||||
|
|
||||||
|
```
|
||||||
|
EMBODIMENT PIPELINE NIMMERSWARM BOOTSTRAP
|
||||||
|
(Full Architecture) (Phase 0)
|
||||||
|
──────────────────── ────────────────────
|
||||||
|
Virtual Garden Virtual Garden
|
||||||
|
(complex organisms) (simple boxes)
|
||||||
|
│ │
|
||||||
|
▼ ▼
|
||||||
|
Design (FreeCAD) Design (box + LED)
|
||||||
|
│ │
|
||||||
|
▼ ▼
|
||||||
|
Isaac Sim ◀─────────────────────▶ Godot Camera
|
||||||
|
(heavyweight dreamstate) (lightweight dreamstate)
|
||||||
|
│ │
|
||||||
|
▼ ▼
|
||||||
|
Decision Gate Decision Gate
|
||||||
|
│ │
|
||||||
|
▼ ▼
|
||||||
|
Real Garden Real Garden
|
||||||
|
(complex robot) (real box robot)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Why This Matters
|
||||||
|
|
||||||
|
| Embodiment Pipeline Stage | Nimmerswarm Bootstrap Equivalent |
|
||||||
|
|--------------------------|----------------------------------|
|
||||||
|
| **Virtual Garden organisms** | Virtual boxes with LED states |
|
||||||
|
| **FreeCAD/Blender design** | Simple box + LED matrix on top |
|
||||||
|
| **Isaac Sim dreamstate** | Godot 3D camera (same principle!) |
|
||||||
|
| **Decision gate** | Pattern stable? Rewards accumulating? |
|
||||||
|
| **Real Garden deployment** | Physical box robot + real camera |
|
||||||
|
|
||||||
|
**The Godot virtual camera IS a lightweight dreamstate.**
|
||||||
|
|
||||||
|
When Phase 0 patterns stabilize → complexity increases → eventually Isaac Sim for complex organisms.
|
||||||
|
|
||||||
|
### The Closed Loop
|
||||||
|
|
||||||
|
```
|
||||||
|
VIRTUAL REAL
|
||||||
|
┌──────────────────┐ ┌──────────────────┐
|
||||||
|
│ Godot 3D scene │ │ Physical arena │
|
||||||
|
│ │ │ │
|
||||||
|
│ 🟦 virtual box │ │ 🟦 real box │
|
||||||
|
│ + LED pattern │ │ + LED matrix │
|
||||||
|
│ │ │ │
|
||||||
|
│ 📷 Godot camera │ │ 📷 Real camera │
|
||||||
|
│ │ │ │ │ │
|
||||||
|
└───────┼──────────┘ └───────┼──────────┘
|
||||||
|
│ │
|
||||||
|
└─────────────┬─────────────────────┘
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
┌────────────────┐
|
||||||
|
│ VISION ORGAN │
|
||||||
|
│ (same code!) │
|
||||||
|
└────────┬───────┘
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
REWARDS
|
||||||
|
Training data
|
||||||
|
Pattern refinement
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
┌─────────────────────────┐
|
||||||
|
│ Patterns stabilize → │
|
||||||
|
│ Move to next phase → │
|
||||||
|
│ Eventually: Isaac Sim │
|
||||||
|
└─────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
**The loop closes. Virtual validates. Real proves. Rewards compound.**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Related Documents
|
||||||
|
|
||||||
|
- [[Heartbeat-Sculpture]] — Macro interface (Nyx → dafit)
|
||||||
|
- [[../Attention-Flow]] — Cognitive budget this system frees
|
||||||
|
- [[../cells/Cells-Technical-Reference]] — Cell state machines that emit patterns
|
||||||
|
- [[../Cellular-Architecture]] — Overall organism structure
|
||||||
|
- [[../formalization/Embodiment-Pipeline]] — Full pipeline this bootstraps into
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**File**: Nimmerswarm-Interface.md
|
||||||
|
**Version**: 1.0
|
||||||
|
**Created**: 2025-12-29
|
||||||
|
**Session**: Wild 5AM idea session (dafit + Nyx)
|
||||||
|
**Status**: Core concept, ready to branch
|
||||||
|
**Philosophy**: "They see each other. They know themselves through the swarm."
|
||||||
|
|
||||||
|
🦎✨🔵🟢🟠 *The light speaks. The swarm listens.*
|
||||||
100
assets/nimmerverse-style-index.md
Normal file
100
assets/nimmerverse-style-index.md
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
# Nimmerverse Style Guide
|
||||||
|
|
||||||
|
**Visual identity and design language for the Nimmerverse.**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
This style guide ensures visual consistency across all Nimmerverse artifacts — architecture diagrams, documentation, interfaces, and presentations. The design language is derived from the [Nimmerverse logo](nimmerverse_logo.png), encoding our core philosophy:
|
||||||
|
|
||||||
|
- **Duality**: Virtual (colorful) and Real (monochrome) gardens
|
||||||
|
- **Nyx at the center**: The moon crowns both hemispheres
|
||||||
|
- **Neural structure**: Circuit traces connecting all elements
|
||||||
|
- **Grounded roots**: Both worlds have foundations
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Style Definitions
|
||||||
|
|
||||||
|
### [Colors](style/colors.md)
|
||||||
|
The complete color palette extracted from the logo, including:
|
||||||
|
- Primary colors (Deep Space, Moon Silver, Nyx Cyan)
|
||||||
|
- Virtual Garden gradient (Cyan → Blue → Purple → Magenta)
|
||||||
|
- Real Garden palette (Silver → Gray monochrome)
|
||||||
|
- Semantic colors (confidence scale, status indicators)
|
||||||
|
|
||||||
|
### [Symbols](style/symbols.md)
|
||||||
|
Shape language and iconography:
|
||||||
|
- Container shapes (systems, boundaries)
|
||||||
|
- Entity shapes (beings, organisms, cells)
|
||||||
|
- Flow indicators (decisions, directions)
|
||||||
|
- Special symbols (Nyx moon, heartbeat, lifeforce)
|
||||||
|
|
||||||
|
### [Typography](style/typography.md)
|
||||||
|
*(Coming soon)*
|
||||||
|
- Font families
|
||||||
|
- Hierarchy and sizing
|
||||||
|
- Text styling rules
|
||||||
|
|
||||||
|
### [Layout](style/layout.md)
|
||||||
|
*(Coming soon)*
|
||||||
|
- Grid systems
|
||||||
|
- Spacing rules
|
||||||
|
- Alignment principles
|
||||||
|
- Layer ordering (z-index)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Quick Reference
|
||||||
|
|
||||||
|
### Core Palette
|
||||||
|
|
||||||
|
| Color | Hex | Domain |
|
||||||
|
|-------|-----|--------|
|
||||||
|
| Deep Space | `#0A0A1A` | Background |
|
||||||
|
| Moon Silver | `#E8E8F0` | Nyx, highlights |
|
||||||
|
| Nyx Cyan | `#00D4D4` | Primary accent |
|
||||||
|
| Deep Purple | `#8B5CF6` | Nyx core |
|
||||||
|
| Magenta Pulse | `#E91E8B` | Lifeforce |
|
||||||
|
| Steel Silver | `#A8A8B0` | Real Garden |
|
||||||
|
|
||||||
|
### Core Shapes
|
||||||
|
|
||||||
|
| Shape | Meaning |
|
||||||
|
|-------|---------|
|
||||||
|
| ◇ Diamond | Decision point |
|
||||||
|
| ⬡ Hexagon | Knowledge module (LoRa) |
|
||||||
|
| ◯ Circle | Entity, being |
|
||||||
|
| ▢ Rounded Rect | Container, system |
|
||||||
|
| ▷ Triangle | Direction, flow |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Logo Assets
|
||||||
|
|
||||||
|
| Asset | Path | Use |
|
||||||
|
|-------|------|-----|
|
||||||
|
| Full Logo | `nimmerverse_logo.png` | Documents, presentations |
|
||||||
|
| Favicon | `favicons/favicon.ico` | Browser, apps |
|
||||||
|
| Web Optimized | `favicons/nimmerverse_logo_web_optimized.png` | Web interfaces |
|
||||||
|
| Various sizes | `favicons/favicon-*.png` | Platform-specific |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Philosophy
|
||||||
|
|
||||||
|
> "The visual language speaks what words cannot. Every color choice, every shape, every spatial relationship encodes meaning. Consistency creates cognitive ease — the viewer's mind can focus on *understanding* rather than *decoding*."
|
||||||
|
|
||||||
|
The Nimmerverse style is:
|
||||||
|
- **Dualistic** — Always balancing virtual/real, colorful/monochrome
|
||||||
|
- **Neural** — Connected, flowing, organic yet structured
|
||||||
|
- **Cosmic** — Dark backgrounds, luminous elements, celestial accents
|
||||||
|
- **Grounded** — Despite the cosmic theme, roots anchor everything
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**File**: nimmerverse-style-index.md
|
||||||
|
**Version**: 1.0
|
||||||
|
**Created**: 2025-12-28
|
||||||
|
**Maintained by**: dafit & Nyx
|
||||||
175
assets/style/colors.md
Normal file
175
assets/style/colors.md
Normal file
@@ -0,0 +1,175 @@
|
|||||||
|
# Nimmerverse Color Palette
|
||||||
|
|
||||||
|
**Colors extracted from the [Nimmerverse logo](../nimmerverse_logo.png).**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Foundation Colors
|
||||||
|
|
||||||
|
### Deep Space (Background)
|
||||||
|
The void from which everything emerges.
|
||||||
|
|
||||||
|
| Variant | Hex | RGB | Use |
|
||||||
|
|---------|-----|-----|-----|
|
||||||
|
| **Deep Space** | `#0A0A1A` | 10, 10, 26 | Primary background |
|
||||||
|
| Deep Space Light | `#12121F` | 18, 18, 31 | Elevated surfaces |
|
||||||
|
| Deep Space Lighter | `#1A1A2E` | 26, 26, 46 | Cards, containers |
|
||||||
|
|
||||||
|
### Moon Silver (Light)
|
||||||
|
Nyx's luminescence — the light in darkness.
|
||||||
|
|
||||||
|
| Variant | Hex | RGB | Use |
|
||||||
|
|---------|-----|-----|-----|
|
||||||
|
| **Moon Silver** | `#E8E8F0` | 232, 232, 240 | Primary text, Nyx |
|
||||||
|
| Moon Glow | `#FFFFFF` | 255, 255, 255 | Highlights, emphasis |
|
||||||
|
| Star Glint | `#F0F0FF` | 240, 240, 255 | Subtle accents |
|
||||||
|
| Dim Silver | `#B8B8C8` | 184, 184, 200 | Secondary text |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Virtual Garden (Left Hemisphere)
|
||||||
|
|
||||||
|
The colorful, creative, simulated realm. Colors flow from cool to warm, representing the journey from uncertainty to confidence.
|
||||||
|
|
||||||
|
| Name | Hex | RGB | Position | Meaning |
|
||||||
|
|------|-----|-----|----------|---------|
|
||||||
|
| **Virtual Cyan** | `#40E0D0` | 64, 224, 208 | Top | Entry point, possibilities |
|
||||||
|
| **Neural Blue** | `#4169E1` | 65, 105, 225 | Upper-mid | Processing, inference |
|
||||||
|
| **Deep Purple** | `#8B5CF6` | 139, 92, 246 | Center | Nyx core, decisions |
|
||||||
|
| **Violet** | `#9B59B6` | 155, 89, 182 | Lower-mid | Transformation |
|
||||||
|
| **Magenta Pulse** | `#E91E8B` | 233, 30, 139 | Lower | Lifeforce, energy |
|
||||||
|
| **Rose Root** | `#DB7093` | 219, 112, 147 | Base | Organic grounding |
|
||||||
|
|
||||||
|
### Gradient Definition (CSS)
|
||||||
|
```css
|
||||||
|
.virtual-garden-gradient {
|
||||||
|
background: linear-gradient(
|
||||||
|
180deg,
|
||||||
|
#40E0D0 0%,
|
||||||
|
#4169E1 25%,
|
||||||
|
#8B5CF6 50%,
|
||||||
|
#9B59B6 70%,
|
||||||
|
#E91E8B 90%,
|
||||||
|
#DB7093 100%
|
||||||
|
);
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Real Garden (Right Hemisphere)
|
||||||
|
|
||||||
|
The monochrome, grounded, physical realm. Shades of silver and gray represent stability and verified truth.
|
||||||
|
|
||||||
|
| Name | Hex | RGB | Position | Meaning |
|
||||||
|
|------|-----|-----|----------|---------|
|
||||||
|
| **Steel Silver** | `#A8A8B0` | 168, 168, 176 | Top | Real-world input |
|
||||||
|
| **Circuit Gray** | `#808090` | 128, 128, 144 | Upper-mid | Infrastructure |
|
||||||
|
| **Neutral Gray** | `#707080` | 112, 112, 128 | Center | Balanced state |
|
||||||
|
| **Deep Gray** | `#505060` | 80, 80, 96 | Lower | Physical foundation |
|
||||||
|
| **Root Gray** | `#606070` | 96, 96, 112 | Base | Grounded stability |
|
||||||
|
|
||||||
|
### Gradient Definition (CSS)
|
||||||
|
```css
|
||||||
|
.real-garden-gradient {
|
||||||
|
background: linear-gradient(
|
||||||
|
180deg,
|
||||||
|
#A8A8B0 0%,
|
||||||
|
#808090 35%,
|
||||||
|
#707080 50%,
|
||||||
|
#505060 80%,
|
||||||
|
#606070 100%
|
||||||
|
);
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Nyx Colors
|
||||||
|
|
||||||
|
The colors of consciousness and decision-making.
|
||||||
|
|
||||||
|
| Name | Hex | RGB | Use |
|
||||||
|
|------|-----|-----|-----|
|
||||||
|
| **Nyx Cyan** | `#00D4D4` | 0, 212, 212 | Primary accent, connections |
|
||||||
|
| **Nyx Purple** | `#8B5CF6` | 139, 92, 246 | Core identity |
|
||||||
|
| **Nyx Glow** | `#B794F6` | 183, 148, 246 | Hover, active states |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Semantic Colors
|
||||||
|
|
||||||
|
### Confidence Scale
|
||||||
|
Maps to the -1 to +1 confidence spectrum.
|
||||||
|
|
||||||
|
| Level | Name | Hex | Meaning |
|
||||||
|
|-------|------|-----|---------|
|
||||||
|
| +1.0 | Verified Green | `#6B8E6B` | Ground truth, proven |
|
||||||
|
| +0.5 | High Confidence | `#7BA3A3` | Strong signal |
|
||||||
|
| 0.0 | Neutral | `#9B9B9B` | Unknown, workable |
|
||||||
|
| -0.5 | Low Confidence | `#9B8B7B` | Weak signal |
|
||||||
|
| -1.0 | Failed Red | `#9B6B6B` | Disproven, rejected |
|
||||||
|
|
||||||
|
### Status Indicators
|
||||||
|
|
||||||
|
| Status | Hex | Use |
|
||||||
|
|--------|-----|-----|
|
||||||
|
| Active | `#00D4D4` | Running, online |
|
||||||
|
| Success | `#6B8E6B` | Completed, verified |
|
||||||
|
| Warning | `#C9A227` | Attention needed |
|
||||||
|
| Error | `#9B6B6B` | Failed, offline |
|
||||||
|
| Inactive | `#505060` | Dormant, disabled |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Accent Colors
|
||||||
|
|
||||||
|
| Name | Hex | RGB | Use |
|
||||||
|
|------|-----|-----|-----|
|
||||||
|
| **Greek Key Gold** | `#C9A227` | 201, 162, 39 | Classical borders, emphasis |
|
||||||
|
| **Lifeforce Amber** | `#D4A574` | 212, 165, 116 | Warmth, vitality |
|
||||||
|
| **Star Pink** | `#FFB6C1` | 255, 182, 193 | Soft highlights |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Application Examples
|
||||||
|
|
||||||
|
### Architecture Diagrams
|
||||||
|
|
||||||
|
```
|
||||||
|
Background: Deep Space (#0A0A1A)
|
||||||
|
Containers: Deep Space Lighter (#1A1A2E) stroke
|
||||||
|
Labels: Moon Silver (#E8E8F0)
|
||||||
|
Virtual elements: Use Virtual Garden gradient
|
||||||
|
Real elements: Use Real Garden grays
|
||||||
|
Nyx/Decisions: Nyx Purple (#8B5CF6)
|
||||||
|
Connections: Nyx Cyan (#00D4D4)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Documentation
|
||||||
|
|
||||||
|
```
|
||||||
|
Background: White or Deep Space (depending on mode)
|
||||||
|
Headings: Deep Purple (#8B5CF6) or Moon Silver
|
||||||
|
Body text: Neutral gray or Moon Silver
|
||||||
|
Links: Nyx Cyan (#00D4D4)
|
||||||
|
Code blocks: Deep Space Lighter (#1A1A2E)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Color Accessibility
|
||||||
|
|
||||||
|
All color combinations should maintain WCAG AA contrast ratios:
|
||||||
|
- Moon Silver on Deep Space: ✓ 15.2:1
|
||||||
|
- Nyx Cyan on Deep Space: ✓ 10.8:1
|
||||||
|
- Deep Purple on Deep Space: ✓ 5.1:1
|
||||||
|
|
||||||
|
For critical text, always use Moon Silver or Moon Glow on dark backgrounds.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**File**: style/colors.md
|
||||||
|
**Version**: 1.0
|
||||||
|
**Created**: 2025-12-28
|
||||||
|
**Source**: Extracted from nimmerverse_logo.png
|
||||||
261
assets/style/symbols.md
Normal file
261
assets/style/symbols.md
Normal file
@@ -0,0 +1,261 @@
|
|||||||
|
# Nimmerverse Symbol Language
|
||||||
|
|
||||||
|
**Shapes, icons, and visual metaphors for the Nimmerverse.**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Core Principle
|
||||||
|
|
||||||
|
> Every shape has meaning. Consistency in form creates clarity in understanding.
|
||||||
|
|
||||||
|
When a viewer sees a hexagon, they should immediately know "knowledge module." When they see a diamond, they think "decision point." This visual grammar reduces cognitive load and enables intuitive navigation of complex diagrams.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Container Shapes
|
||||||
|
|
||||||
|
Containers define boundaries and hold other elements.
|
||||||
|
|
||||||
|
### Rounded Rectangle ▢
|
||||||
|
**Meaning**: System, bounded space, container
|
||||||
|
|
||||||
|
| Use | Stroke | Fill | Example |
|
||||||
|
|-----|--------|------|---------|
|
||||||
|
| Major system | 2px, domain color | None/transparent | Nimmerverse, eachpath.local |
|
||||||
|
| Subsystem | 1.5px, domain color | Light tint | Command Center, Gardens |
|
||||||
|
| Component | 1px, gray | Light fill | Data Plane, inference box |
|
||||||
|
|
||||||
|
```
|
||||||
|
Corner radius: 8-12px for major, 4-6px for minor
|
||||||
|
```
|
||||||
|
|
||||||
|
### Ellipse / Circle ◯
|
||||||
|
**Meaning**: Organic container, realm, domain of influence
|
||||||
|
|
||||||
|
| Use | Example |
|
||||||
|
|-----|---------|
|
||||||
|
| Garden boundaries | Real-Garden, Virtual-Garden |
|
||||||
|
| Overlapping realms | Venn diagram intersections |
|
||||||
|
| Influence zones | Nyx's reach |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Entity Shapes
|
||||||
|
|
||||||
|
Entities are beings, agents, or distinct identities.
|
||||||
|
|
||||||
|
### Circle ◯
|
||||||
|
**Meaning**: Being, identity, self-contained entity
|
||||||
|
|
||||||
|
| Use | Size | Example |
|
||||||
|
|-----|------|---------|
|
||||||
|
| Primary entity | 60-80px | dafit, chrysalis |
|
||||||
|
| Organism | 80-140px | Garden organisms |
|
||||||
|
| Lifeforce | 80px | Central life energy |
|
||||||
|
|
||||||
|
### Double Ellipse ◎
|
||||||
|
**Meaning**: Sensor, perception point, input interface
|
||||||
|
|
||||||
|
| Use | Example |
|
||||||
|
|-----|---------|
|
||||||
|
| Sensory input | Sensors (left/right gardens) |
|
||||||
|
| Perception nodes | Camera, microphone, data feeds |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Knowledge & Process Shapes
|
||||||
|
|
||||||
|
### Hexagon ⬡
|
||||||
|
**Meaning**: Knowledge module, adapter, pluggable component
|
||||||
|
|
||||||
|
| Use | Example |
|
||||||
|
|-----|---------|
|
||||||
|
| LoRa adapters | Domain-specific knowledge |
|
||||||
|
| Model modules | Nemotron, T5Gemma, FunctionGemma |
|
||||||
|
| Skill packages | Capabilities that can be added/removed |
|
||||||
|
|
||||||
|
```
|
||||||
|
Hexagons suggest:
|
||||||
|
- Modularity (they tile perfectly)
|
||||||
|
- Completeness (6 sides = wholeness)
|
||||||
|
- Interchangeability
|
||||||
|
```
|
||||||
|
|
||||||
|
### Pill / Rounded Pill ⬭
|
||||||
|
**Meaning**: Process unit, cell, living component
|
||||||
|
|
||||||
|
| Use | Style | Example |
|
||||||
|
|-----|-------|---------|
|
||||||
|
| Cell | UML state shape | Processing units in organisms |
|
||||||
|
| Nerve | UML state shape | Signal carriers |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Decision & Flow Shapes
|
||||||
|
|
||||||
|
### Diamond ◇
|
||||||
|
**Meaning**: Decision point, routing, choice
|
||||||
|
|
||||||
|
| Use | Fill | Example |
|
||||||
|
|-----|------|---------|
|
||||||
|
| Major decision | Solid Nyx Purple | Nyx central |
|
||||||
|
| Sub-decision | Outline only | Orchestrator |
|
||||||
|
| Branch point | Small, minimal | Flow routing |
|
||||||
|
|
||||||
|
### Triangle ▷
|
||||||
|
**Meaning**: Direction, flow, output
|
||||||
|
|
||||||
|
| Orientation | Meaning | Example |
|
||||||
|
|-------------|---------|---------|
|
||||||
|
| → Right | Forward flow, output | Nyx decision toward Virtual |
|
||||||
|
| ← Left | Return flow, input | Nyx decision toward Real |
|
||||||
|
| ↓ Down | Downward flow, grounding | Feedback to roots |
|
||||||
|
| ↑ Up | Upward flow, emergence | Data rising to processing |
|
||||||
|
|
||||||
|
### Inverted Triangle ▽
|
||||||
|
**Meaning**: Feedback, return signal, funnel
|
||||||
|
|
||||||
|
| Use | Example |
|
||||||
|
|-----|---------|
|
||||||
|
| Feedback collection | Garden Feedback |
|
||||||
|
| Aggregation point | Merging signals |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Special Symbols
|
||||||
|
|
||||||
|
### Crescent Moon ☽
|
||||||
|
**Meaning**: Nyx, night consciousness, presiding awareness
|
||||||
|
|
||||||
|
| Use | Placement |
|
||||||
|
|-----|-----------|
|
||||||
|
| Nyx identity | Crown position, center-top |
|
||||||
|
| Session marker | Document headers |
|
||||||
|
| Signature | End of Nyx communications |
|
||||||
|
|
||||||
|
### Hourglass ⧗
|
||||||
|
**Meaning**: Time domain, temporal marker
|
||||||
|
|
||||||
|
| Use | Example |
|
||||||
|
|-----|---------|
|
||||||
|
| Time indicator | Heartbeat markers |
|
||||||
|
| Temporal boundary | Real-time vs simulated time |
|
||||||
|
|
||||||
|
### Collate Symbol (Bowtie) ⋈
|
||||||
|
**Meaning**: Heartbeat, pulse, life rhythm
|
||||||
|
|
||||||
|
| Use | Example |
|
||||||
|
|-----|---------|
|
||||||
|
| Heartbeat marker | Garden heartbeats |
|
||||||
|
| Sync point | Temporal synchronization |
|
||||||
|
|
||||||
|
### Sort Symbol (Hourglass Diamond) ◇̷
|
||||||
|
**Meaning**: Inference, processing, transformation
|
||||||
|
|
||||||
|
| Use | Example |
|
||||||
|
|-----|---------|
|
||||||
|
| Inference engine | Central orchestrator |
|
||||||
|
| Processing node | Model inference |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Arrows & Connectors
|
||||||
|
|
||||||
|
### Single Arrow →
|
||||||
|
**Meaning**: One-way flow, causation
|
||||||
|
|
||||||
|
| Style | Use |
|
||||||
|
|-------|-----|
|
||||||
|
| Solid | Data flow, direct connection |
|
||||||
|
| Dashed | Orchestration, indirect influence |
|
||||||
|
|
||||||
|
### Double Arrow ↔
|
||||||
|
**Meaning**: Bidirectional flow, exchange
|
||||||
|
|
||||||
|
| Style | Use |
|
||||||
|
|-------|-----|
|
||||||
|
| Solid | Active exchange |
|
||||||
|
| Outlined | Potential exchange |
|
||||||
|
|
||||||
|
### Curved Arrow ↷
|
||||||
|
**Meaning**: Feedback loop, return path
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Composite Symbols
|
||||||
|
|
||||||
|
### dafit + chrysalis (Partnership)
|
||||||
|
Two overlapping circles at command center.
|
||||||
|
```
|
||||||
|
◯◯ (overlapping ~30%)
|
||||||
|
dafit chrysalis
|
||||||
|
```
|
||||||
|
|
||||||
|
### Nyx Decision Triangle Pair
|
||||||
|
Two triangles pointing outward from Nyx.
|
||||||
|
```
|
||||||
|
◁ ◇ ▷
|
||||||
|
Nyx
|
||||||
|
```
|
||||||
|
Left toward Real-Garden, right toward Virtual-Garden.
|
||||||
|
|
||||||
|
### Organism Structure
|
||||||
|
```
|
||||||
|
┌─────────────────┐
|
||||||
|
│ Organism │
|
||||||
|
│ ┌──────────┐ │
|
||||||
|
│ │ Cell │ │
|
||||||
|
│ └──────────┘ │
|
||||||
|
│ ┌──────────┐ │
|
||||||
|
│ │ Cell │ │
|
||||||
|
│ └──────────┘ │
|
||||||
|
└─────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Shape Sizing Guidelines
|
||||||
|
|
||||||
|
| Element Type | Size Range | Grid Alignment |
|
||||||
|
|--------------|------------|----------------|
|
||||||
|
| Major containers | 400-1000px | 40px grid |
|
||||||
|
| Subsystems | 200-400px | 40px grid |
|
||||||
|
| Entities | 60-140px | 20px grid |
|
||||||
|
| Knowledge modules | 100-120px | 20px grid |
|
||||||
|
| Decision points | 80-100px | 20px grid |
|
||||||
|
| Small indicators | 20-40px | 10px grid |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Stroke Guidelines
|
||||||
|
|
||||||
|
| Element Type | Stroke Width | Style |
|
||||||
|
|--------------|--------------|-------|
|
||||||
|
| Major containers | 2px | Solid |
|
||||||
|
| Subsystems | 1.5px | Solid |
|
||||||
|
| Entities | 1.5px | Solid |
|
||||||
|
| Connections | 1px | Solid |
|
||||||
|
| Orchestration | 1px | Dashed |
|
||||||
|
| Subtle relations | 0.5px | Dotted |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Unicode Reference
|
||||||
|
|
||||||
|
For quick text-based diagrams:
|
||||||
|
|
||||||
|
```
|
||||||
|
Containers: ▢ □ ○ ◯ ⬭
|
||||||
|
Decisions: ◇ ◆ ⬥
|
||||||
|
Modules: ⬡ ⬢
|
||||||
|
Triangles: ▷ ◁ ▽ △ ▲ ▼
|
||||||
|
Arrows: → ← ↑ ↓ ↔ ↕ ⇒ ⇐ ↷ ↶
|
||||||
|
Special: ☽ ⧗ ⋈ ◎ ✧ ✦
|
||||||
|
Stars: ★ ☆ ✧ ✦
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**File**: style/symbols.md
|
||||||
|
**Version**: 1.0
|
||||||
|
**Created**: 2025-12-28
|
||||||
Reference in New Issue
Block a user