Skip to content

chore: restructure gpu/ folder per Spec C#48

Merged
rulkens merged 5 commits intomainfrom
chore/services-folder-gpu
May 8, 2026
Merged

chore: restructure gpu/ folder per Spec C#48
rulkens merged 5 commits intomainfrom
chore/services-folder-gpu

Conversation

@rulkens
Copy link
Copy Markdown
Owner

@rulkens rulkens commented May 8, 2026

Summary

Pure relocation of src/services/gpu/ from a flat 16-file directory into the four-subfolder taxonomy from Spec C (renderers/, passes/, resources/, labels/), with tests/services/gpu/ mirrored to match. Mirrors the engine restructure that landed in #47.

No file renames, no logic changes, no new barrels, no re-export shims. Only import paths shift.

Final layout

src/services/gpu/
  renderers/   pointRenderer, pickRenderer, quadRenderer, diskRenderer,
               proceduralDiskRenderer, milkyWayRenderer, filamentRenderer
  passes/      postProcess
  resources/   textureAtlas, cloudFade
  labels/      fontMetrics, labelLayout, youAreHereVisibility
  shaders/     (untouched)
  device.ts            (root — WebGPU bootstrap)
  shaderCompileLogger.ts (root — build-time wrapper)

Commits (4, one per subfolder)

  1. chore(gpu): move resources/ + tests
  2. chore(gpu): move passes/ + tests
  3. chore(gpu): move labels/ + tests
  4. chore(gpu): move renderers/ + tests

Each commit was followed by npx tsc --noEmit && npx vitest run — all 931 tests passing at every commit boundary.

Test mirror

tests/services/gpu/passes/toneMap.test.ts keeps its legacy name per the spec (pre-Spec-A artefact, separate cleanup).

Test plan

  • npx tsc --noEmit clean at every commit
  • npx vitest run 931 tests passing at every commit
  • Manual: dev server still renders galaxies, hover/click works (visual smoke check)

🤖 Generated with Claude Code

rulkens and others added 4 commits May 8, 2026 03:40
Pure relocation per Spec C: textureAtlas.ts and cloudFade.ts move under
src/services/gpu/resources/, with their test mirror under
tests/services/gpu/resources/. Imports updated at every consumer.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Pure relocation per Spec C: postProcess.ts moves under
src/services/gpu/passes/, with postProcess.test.ts and the legacy
toneMap.test.ts mirrored under tests/services/gpu/passes/.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Pure relocation per Spec C: fontMetrics.ts, labelLayout.ts, and
youAreHereVisibility.ts move under src/services/gpu/labels/, with
matching tests under tests/services/gpu/labels/. Sibling import in
labelLayout.ts is unchanged because both files moved together.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Pure relocation per Spec C: pointRenderer, pickRenderer, quadRenderer,
diskRenderer, proceduralDiskRenderer, milkyWayRenderer, and
filamentRenderer move under src/services/gpu/renderers/, with their
test mirrors under tests/services/gpu/renderers/. Imports updated at
every consumer (engine phases/frame/subsystems/interaction, engine
GPU handles type, click handler test).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented May 8, 2026

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
skymap e48f74d Commit Preview URL

Branch Preview URL
May 08 2026, 01:54 AM

Five module-header / inline doc references still pointed at pre-Spec-C
paths.  Refresh:
- src/data/defaults.ts: milkyWayRenderer + filamentRenderer paths
- shaders/filaments/fragment.wesl: cloudFade path
- shaders/lib/cloudFade.wesl: 3 occurrences of cloudFade path

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@rulkens rulkens merged commit 1d7f9f8 into main May 8, 2026
1 of 2 checks passed
@rulkens rulkens deleted the chore/services-folder-gpu branch May 8, 2026 01:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant