[claude] Mnemosyne session rooms — holographic chambers (#1171) #1180

Closed
claude wants to merge 2 commits from claude/issue-1171 into main
Member

Fixes #1171

Summary

  • nexus/components/session-rooms.js — new standalone SessionRooms module:
    • EdgesGeometry wireframe cube per session (max 20 visible)
    • Invisible collision mesh for reliable raycasting
    • LOD: distant rooms (>55 units) switch to a small sphere point with hysteresis to prevent flicker
    • Timestamp billboard sprite (rounded-rect canvas, session ID + formatted date + fact count)
    • Inner PointLight ambient glow (violet, mnemosyne accent)
    • Eased fly-in tween (easeInOut, 1.5 s) — camera animates inside the room on click
    • Spiral placement: golden-angle spacing, linear radius growth, gentle Y rise
    • Per-frame pulsing wireframe opacity and slow Y rotation
    • localStorage persistence (mnemosyne_sessions_v1)
  • app.js — wired in:
    • SessionRooms.init(scene, camera, null) on startup
    • Priority-3 raycast in mousedownhandleRoomClick_showSessionRoomPanel
    • SessionRooms.update(delta) each frame (LOD + fly tween)
    • Three demo sessions seeded via SessionRooms.updateSessions(demoSessions) so rooms appear out-of-the-box
    • _showSessionRoomPanel / _dismissSessionRoomPanel — holographic panel listing session timestamp and up to 8 fact previews

Acceptance checklist

  • Wireframe room per session (max 20 visible)
  • Timestamp billboard sprite
  • Click-to-enter with camera animation (eased tween)
  • LOD: distant rooms simplified to point
Fixes #1171 ## Summary - **`nexus/components/session-rooms.js`** — new standalone `SessionRooms` module: - `EdgesGeometry` wireframe cube per session (max 20 visible) - Invisible collision mesh for reliable raycasting - LOD: distant rooms (>55 units) switch to a small sphere point with hysteresis to prevent flicker - Timestamp billboard sprite (rounded-rect canvas, session ID + formatted date + fact count) - Inner `PointLight` ambient glow (violet, mnemosyne accent) - Eased fly-in tween (`easeInOut`, 1.5 s) — camera animates inside the room on click - Spiral placement: golden-angle spacing, linear radius growth, gentle Y rise - Per-frame pulsing wireframe opacity and slow Y rotation - `localStorage` persistence (`mnemosyne_sessions_v1`) - **`app.js`** — wired in: - `SessionRooms.init(scene, camera, null)` on startup - Priority-3 raycast in `mousedown` → `handleRoomClick` → `_showSessionRoomPanel` - `SessionRooms.update(delta)` each frame (LOD + fly tween) - Three demo sessions seeded via `SessionRooms.updateSessions(demoSessions)` so rooms appear out-of-the-box - `_showSessionRoomPanel` / `_dismissSessionRoomPanel` — holographic panel listing session timestamp and up to 8 fact previews ## Acceptance checklist - [x] Wireframe room per session (max 20 visible) - [x] Timestamp billboard sprite - [x] Click-to-enter with camera animation (eased tween) - [x] LOD: distant rooms simplified to point
claude added 2 commits 2026-04-10 22:48:23 +00:00
feat: [Mnemosyne] session rooms — holographic chambers per session (#1171)
Some checks failed
CI / test (pull_request) Failing after 11s
CI / validate (pull_request) Failing after 14s
Review Approval Gate / verify-review (pull_request) Failing after 3s
8ca25ccb76
- Add nexus/components/session-rooms.js: SessionRooms module
  - Wireframe cube (EdgesGeometry) per session, max 20 visible
  - Rooms arranged chronologically on a golden-angle spiral
  - Timestamp billboard sprite above each chamber
  - LOD: rooms > 55 units away collapse to point sphere
  - Click-to-enter fly-in camera tween (1.5s ease-in-out)
  - localStorage persistence of session data
- Add session room HUD panel to index.html (shows on fly-in)
- Add session room CSS styles to style.css
- Integrate into app.js: import, init, per-frame update, raycaster
  click handler (Priority 3), _showSessionRoomPanel helper,
  and 3 demo sessions seeded on startup

Fixes #1171

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
feat: [Mnemosyne] session rooms — holographic chambers per session (#1171)
Some checks failed
CI / test (pull_request) Failing after 9s
CI / validate (pull_request) Failing after 13s
Review Approval Gate / verify-review (pull_request) Failing after 3s
3626ee0e20
- Add `buildSessionRooms()` to spatial-memory.js: groups session-tagged
  memories by session ID, creates wireframe cube per session (max 20),
  arranged chronologically along a golden-angle spiral at Y=14+
- Timestamp billboard sprite above each room (session label + datetime + count)
- `_clusterMemoriesInRoom()` re-positions member crystals inside their cube
- LOD system: rooms beyond 45 units simplify to a glowing point sphere
- `updateSessionRooms(delta, cameraPos)` drives LOD toggle + slow rotation
- `getSessionRoomMeshes()` / `getRoomFromMesh()` for raycasting
- app.js: Priority 3 raycast for session room click → `flyToSessionRoom()`
- Smooth camera fly-in: lerps `orbitState.target` + `radius` to room center
- `_cameraFly` state resolved per-frame in game loop
- Demo memories updated with `session` + `timestamp` fields across 3 sessions

Fixes #1171

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
claude requested review from perplexity 2026-04-10 22:48:24 +00:00
Rockachopa closed this pull request 2026-04-10 23:09:49 +00:00
Owner

Closing as duplicate of PR #1178 (already merged). Same branch and issue reference.

Closing as duplicate of PR #1178 (already merged). Same branch and issue reference.
Some checks failed
CI / test (pull_request) Failing after 9s
CI / validate (pull_request) Failing after 13s
Review Approval Gate / verify-review (pull_request) Failing after 3s

Pull request closed

Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Timmy_Foundation/the-nexus#1180