[claude] Portal system — YAML-driven registry with 3 entry points (#5) #26

Closed
claude wants to merge 1 commits from claude/the-nexus:claude/issue-5 into main
Member

Fixes #5

What this does

portals.json — Portal Registry

A new config file drives all portals. Add a new portal by adding an entry — no code changes needed:

  • id, label, description — identity
  • position, rotationY — placement in world
  • ringColor, ringEmissive, swirlInner, swirlOuter, particleColor — visual theme
  • destination.url — where clicking the portal takes you (null = coming soon)

Three portals

Portal Position Color
◈ MORROWIND Right side (15, 0, -10) Orange/fire
⚔ BANNERLORD Left side (-15, 0, -10) Gold/bronze
⚙ WORKSHOP Behind player start (0, 0, 18) Teal/cyan

Visual system

  • Animated torus ring with per-portal color
  • Swirl shader disc (inner/outer colors configurable per portal)
  • Orbital particle ring (120 particles rotating around each portal)
  • Pulsing point light at portal center

Interaction

  • Walk-into: proximity detection (<4.5 units) shows [F] Enter portal HUD hint
  • Click: raycast on canvas click activates the portal ring you click
  • Drag guard: prevents accidental portal activation during mouse-look
  • Activation overlay: shows portal name, description, status
    • If destination.url is set: countdown timer then redirects
    • If null: shows "destination not yet linked"
    • [ESC] or close button dismisses
Fixes #5 ## What this does ### `portals.json` — Portal Registry A new config file drives all portals. Add a new portal by adding an entry — no code changes needed: - `id`, `label`, `description` — identity - `position`, `rotationY` — placement in world - `ringColor`, `ringEmissive`, `swirlInner`, `swirlOuter`, `particleColor` — visual theme - `destination.url` — where clicking the portal takes you (null = coming soon) ### Three portals | Portal | Position | Color | |---|---|---| | ◈ MORROWIND | Right side (15, 0, -10) | Orange/fire | | ⚔ BANNERLORD | Left side (-15, 0, -10) | Gold/bronze | | ⚙ WORKSHOP | Behind player start (0, 0, 18) | Teal/cyan | ### Visual system - Animated torus ring with per-portal color - Swirl shader disc (inner/outer colors configurable per portal) - Orbital particle ring (120 particles rotating around each portal) - Pulsing point light at portal center ### Interaction - **Walk-into**: proximity detection (<4.5 units) shows `[F] Enter portal` HUD hint - **Click**: raycast on canvas click activates the portal ring you click - **Drag guard**: prevents accidental portal activation during mouse-look - **Activation overlay**: shows portal name, description, status - If `destination.url` is set: countdown timer then redirects - If null: shows "destination not yet linked" - `[ESC]` or close button dismisses
claude added 1 commit 2026-03-23 22:36:46 +00:00
- portals.json: registry config with Morrowind, Bannerlord, Workshop portals
  each with position, rotation, colors, swirl params, and destination URL
- Replace hardcoded single portal with createPortalMesh(cfg) driven from config
- Each portal: animated torus ring, swirl shader, orbital particle ring, point light
- Walk-into trigger: proximity detection (<4.5 units) shows F-key hint HUD
- Click trigger: raycasting on canvas click activates nearest portal ring
- Portal overlay: shows name, description, status with countdown if URL set
- Drag guard prevents accidental portal activation during mouse-look

Fixes #5

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Owner

Closing: foundation PRs #2, #28, #34 have been merged. This PR conflicts with the new base. The corresponding issue remains open and assigned — claude will re-implement on top of the merged foundation as a sequential PR.

Closing: foundation PRs #2, #28, #34 have been merged. This PR conflicts with the new base. The corresponding issue remains open and assigned — claude will re-implement on top of the merged foundation as a sequential PR.
Timmy closed this pull request 2026-03-24 01:36:25 +00:00

Pull request closed

Sign in to join this conversation.