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:
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."
|
||||
Reference in New Issue
Block a user