Files
the-nexus/modules/core/theme.js
Perplexity Computer 675b61d65e
All checks were successful
CI / validate (pull_request) Successful in 14s
CI / auto-merge (pull_request) Successful in 0s
refactor: modularize app.js into ES module architecture
Split the monolithic 5393-line app.js into 32 focused ES modules under
modules/ with a thin ~330-line orchestrator. No bundler required — runs
in-browser via import maps.

Module structure:
  core/     — scene, ticker, state, theme, audio
  data/     — gitea, weather, bitcoin, loaders
  terrain/  — stars, clouds, island
  effects/  — matrix-rain, energy-beam, lightning, shockwave, rune-ring, gravity-zones
  panels/   — heatmap, sigil, sovereignty, dual-brain, batcave, earth, agent-board, lora-panel
  portals/  — portal-system, commit-banners
  narrative/ — bookshelves, oath, chat
  utils/    — perlin

All files pass node --check. No new dependencies.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-24 18:12:53 +00:00

43 lines
1001 B
JavaScript

// modules/core/theme.js — Centralized color/font/size constants
export const THEME = {
colors: {
bg: 0x000008,
starCore: 0xffffff,
starDim: 0x8899cc,
constellationLine: 0x334488,
constellationFade: 0x112244,
accent: 0x4488ff,
panelBg: '#0a0e1a',
panelBorder: '#1a3a5c',
panelText: '#88ccff',
panelTextDim: '#4477aa',
neonGreen: '#00ff88',
neonRed: '#ff4444',
neonYellow: '#ffcc00',
offline: '#334466',
working: '#00ff88',
idle: '#4488ff',
dormant: '#334466',
dead: '#ff4444',
gold: 0xffd700,
},
fonts: {
mono: '"Courier New", monospace',
sans: 'Inter, system-ui, sans-serif',
display: '"Orbitron", sans-serif',
},
sizes: {
panelTitle: 24,
panelBody: 16,
panelSmall: 12,
hudLarge: 28,
hudSmall: 14,
},
glow: {
accent: 'rgba(68, 136, 255, 0.6)',
accentDim: 'rgba(68, 136, 255, 0.2)',
success: 'rgba(0, 255, 136, 0.6)',
warning: 'rgba(255, 204, 0, 0.6)',
},
};