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>
238 lines
8.2 KiB
Markdown
238 lines
8.2 KiB
Markdown
# 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."
|