[Mnemosyne] Memory timeline scrubber — scroll through fact history #1186

Merged
Timmy merged 2 commits from feat/mnemosyne-timeline-scrubber into main 2026-04-11 00:35:07 +00:00
Owner

Closes #1169

What

Timeline scrubber overlay for scrolling through fact history in the 3D Nexus world.

Features

  • Horizontal bar at bottom of screen (fixed position, z-index 1000)
  • Draggable range selector — drag to define visible time window
  • Preset buttons: Last Hour, Last Day, Last Week, All Time
  • Crystal filtering: Crystals outside time window fade to 2% opacity
  • Date range labels showing current visible range
  • Backdrop blur for readability over 3D scene

Changes

New: nexus/components/timeline-scrubber.js

  • TimelineScrubber.init(spatialMemory) — builds DOM overlay, computes time range
  • update() — recomputes time range as new memories arrive
  • show() / hide() — toggle visibility, restore crystal opacities on hide
  • Drag interaction: mousedown on handle → mousemove updates range → filter applied
  • Preset buttons apply time windows relative to Date.now()

Modified: app.js

  • Import TimelineScrubber from components
  • Init after SpatialMemory.init(scene)
  • Update in render loop after SpatialMemory.update(delta)
Closes #1169 ## What Timeline scrubber overlay for scrolling through fact history in the 3D Nexus world. ## Features - **Horizontal bar** at bottom of screen (fixed position, z-index 1000) - **Draggable range selector** — drag to define visible time window - **Preset buttons**: Last Hour, Last Day, Last Week, All Time - **Crystal filtering**: Crystals outside time window fade to 2% opacity - **Date range labels** showing current visible range - **Backdrop blur** for readability over 3D scene ## Changes ### New: `nexus/components/timeline-scrubber.js` - `TimelineScrubber.init(spatialMemory)` — builds DOM overlay, computes time range - `update()` — recomputes time range as new memories arrive - `show()` / `hide()` — toggle visibility, restore crystal opacities on hide - Drag interaction: mousedown on handle → mousemove updates range → filter applied - Preset buttons apply time windows relative to `Date.now()` ### Modified: `app.js` - Import `TimelineScrubber` from components - Init after `SpatialMemory.init(scene)` - Update in render loop after `SpatialMemory.update(delta)`
Rockachopa added 2 commits 2026-04-10 23:49:53 +00:00
Timeline scrubber overlay for scrolling through fact history:
- Horizontal bar at bottom of screen
- Draggable range selector
- Preset buttons: Last Hour, Last Day, Last Week, All Time
- Crystals outside time window fade to 2% opacity
- Date range labels shown

Note: app.js needs import + init call for full integration.
feat(mnemosyne): wire timeline scrubber into app.js (#1169)
Some checks failed
CI / test (pull_request) Failing after 10s
CI / validate (pull_request) Failing after 15s
Review Approval Gate / verify-review (pull_request) Failing after 3s
29d2dbabd1
Rockachopa requested review from perplexity 2026-04-10 23:49:53 +00:00
ezra was assigned by Timmy 2026-04-11 00:08:17 +00:00
Timmy approved these changes 2026-04-11 00:35:02 +00:00
Timmy left a comment
Owner

Approved.

Approved.
Timmy merged commit d00adbf6cc into main 2026-04-11 00:35:07 +00:00
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#1186