Commit Graph

2 Commits

Author SHA1 Message Date
Alexander Whitestone
a4400093c2 feat: add holographic metrics dashboard panel in 3D world (#6)
Create a floating 3D panel in the scene (js/metrics.js) that pulls
live Gitea stats — issues closed, PRs merged, success rate — via the
Gitea REST API. The panel renders via CanvasTexture onto a Three.js
PlaneGeometry, floats gently in world-space, and refreshes every 60 s.

Config exposed via URL params (?gitea=, ?gtoken=, ?grepo=) and Vite
env vars (VITE_GITEA_URL / VITE_GITEA_TOKEN / VITE_GITEA_REPO).

Fixes #6

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23 14:06:07 -04:00
745208f3c8 feat: Integration Phase 2 — config.js, live WS client, auth, agent hot-add (#7, #11, #12)
- js/config.js: connection config with URL param + env var override
  - WS URL, auth token, mock mode toggle
  - Computed isLive and wsUrlWithAuth getters
  - Resolves #7 (config.js)
  - Resolves #11 (Phase 1 shared-secret auth via query param)

- js/websocket.js: refactored to use Config for live/mock switching
  - Live mode: real WS with reconnection + exponential backoff
  - Auth token appended as ?token= on WS connect
  - agent_joined handler dispatches to addAgent() for hot-add
  - sendMessage() public API for UI → backend communication

- js/agents.js: dynamic agent hot-add and removal
  - addAgent(def): spawns 3D avatar at runtime without reload
  - autoPlace(): finds unoccupied circular slot (radius 8+)
  - removeAgent(id): clean dispose + connection line rebuild
  - Connection distance threshold 8→14 for larger agent rings
  - Resolves #12 (dynamic agent hot-add)
2026-03-19 01:09:59 +00:00