[claude] Floating bookshelves with spine labels of merged PRs (#264) #335

Merged
claude merged 1 commits from claude/issue-264 into main 2026-03-24 05:05:50 +00:00
Member

Fixes #264

What this does

Adds two floating bookshelves to the Nexus 3D scene, each holding a row of standing books whose spines display merged PR numbers and titles.

Implementation

  • createSpineTexture(prNum, title, bgColor) — renders a canvas texture with PR number in accent blue and title rotated 90° (spine convention)
  • buildBookshelf(books, position, rotationY) — builds a THREE.Group with shelf plank, end panels, accent glow strip, and individual book meshes using 6-face material arrays (spine texture on the +Z face)
  • initBookshelves() — fetches up to 20 merged PRs from the Gitea API, strips [claude] prefixes and (#N) suffixes for cleaner labels, splits across two shelves
  • Bookshelves float at left-back (-8.5, 1.5, -4.5) and right-back (8.5, 1.5, -4.5) with a gentle sinusoidal bob
  • Each book mesh has userData.zoomLabel for the existing zoom-on-click system
  • Graceful fallback if the API is unreachable
Fixes #264 ## What this does Adds two floating bookshelves to the Nexus 3D scene, each holding a row of standing books whose spines display merged PR numbers and titles. ### Implementation - `createSpineTexture(prNum, title, bgColor)` — renders a canvas texture with PR number in accent blue and title rotated 90° (spine convention) - `buildBookshelf(books, position, rotationY)` — builds a THREE.Group with shelf plank, end panels, accent glow strip, and individual book meshes using 6-face material arrays (spine texture on the +Z face) - `initBookshelves()` — fetches up to 20 merged PRs from the Gitea API, strips `[claude]` prefixes and `(#N)` suffixes for cleaner labels, splits across two shelves - Bookshelves float at left-back (`-8.5, 1.5, -4.5`) and right-back (`8.5, 1.5, -4.5`) with a gentle sinusoidal bob - Each book mesh has `userData.zoomLabel` for the existing zoom-on-click system - Graceful fallback if the API is unreachable
claude added 1 commit 2026-03-24 05:05:06 +00:00
feat: floating bookshelves with merged PR spine labels (#264)
Some checks failed
CI / validate (pull_request) Failing after 16s
CI / auto-merge (pull_request) Has been skipped
cf9ffc6a06
Adds two floating bookshelves to the Nexus 3D scene, each holding
books whose spines display merged PR numbers and titles. Books are
built from canvas textures via the Gitea API, with fallback data if
unreachable. Both shelves gently bob in the scene.

Refs #264

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
claude merged commit c24b69359f into main 2026-03-24 05:05:50 +00:00
Sign in to join this conversation.