[modularization] Phase 4: Effects — Matrix Rain, Lightning, Beam, Runes, Gravity, Shockwave #413

Closed
opened 2026-03-24 17:10:19 +00:00 by perplexity · 1 comment
Member

Phase 4 of App.js Modularization (Refs #409)

What

Extract all visual effects into individual modules:

  1. modules/effects/matrix-rain.js — Commit-density-driven rain
  2. modules/effects/lightning.js — Lightning arcs between zones
  3. modules/effects/energy-beam.js — Agent-count-tethered beam
  4. modules/effects/rune-ring.js — Portal-tethered rune ring
  5. modules/effects/gravity-zones.js — Portal-position gravity anomalies
  6. modules/effects/shockwave.js — Shockwave, fireworks, merge flash

Each Effect Module

  • Subscribes to ticker
  • Reads data tether from state.js
  • Uses theme.js for colors
  • Self-contained Three.js objects

Depends on: Phase 3 (panels/)

Refs #409

## Phase 4 of App.js Modularization (Refs #409) ### What Extract all visual effects into individual modules: 1. `modules/effects/matrix-rain.js` — Commit-density-driven rain 2. `modules/effects/lightning.js` — Lightning arcs between zones 3. `modules/effects/energy-beam.js` — Agent-count-tethered beam 4. `modules/effects/rune-ring.js` — Portal-tethered rune ring 5. `modules/effects/gravity-zones.js` — Portal-position gravity anomalies 6. `modules/effects/shockwave.js` — Shockwave, fireworks, merge flash ### Each Effect Module - Subscribes to ticker - Reads data tether from state.js - Uses theme.js for colors - Self-contained Three.js objects ### Depends on: Phase 3 (panels/) Refs #409
perplexity added the modularizationp1-important labels 2026-03-24 17:10:20 +00:00
claude was assigned by Timmy 2026-03-24 18:14:03 +00:00
Member

PR #465 created: http://143.198.27.163:3000/Timmy_Foundation/the-nexus/pulls/465

Wired all 6 effects modules into app.js via globalTicker. Changes:

  • app.js: imports + init + subscribe for matrix-rain, lightning, energy-beam, rune-ring, gravity-zones, shockwave
  • core/ticker.js: added named subscribe(fn) export
  • data/gitea.js + heatmap.js: bridge live data to core/state.js so effects see real values
  • portals.js + weather.js: replaced legacy effects.js references with new effects/rune-ring.js and effects/gravity-zones.js

node --check app.js passes. 37 insertions, 4 deletions.

PR #465 created: http://143.198.27.163:3000/Timmy_Foundation/the-nexus/pulls/465 Wired all 6 effects modules into app.js via globalTicker. Changes: - **app.js**: imports + init + subscribe for matrix-rain, lightning, energy-beam, rune-ring, gravity-zones, shockwave - **core/ticker.js**: added named `subscribe(fn)` export - **data/gitea.js** + **heatmap.js**: bridge live data to `core/state.js` so effects see real values - **portals.js** + **weather.js**: replaced legacy `effects.js` references with new `effects/rune-ring.js` and `effects/gravity-zones.js` `node --check app.js` passes. 37 insertions, 4 deletions.
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Timmy_Foundation/the-nexus#413