Commit Graph

30 Commits

Author SHA1 Message Date
Christian Semmler
c0edf6a105
Remove unused UI components 2026-01-31 15:27:01 -08:00
Christian Semmler
bd4ffd80f9
Remove unused ScoreColorButton component 2026-01-31 15:22:44 -08:00
Christian Semmler
a71693436c
Refactor opfs.js to reduce code duplication
- Consolidate getFileHandle to use getOpfsRoot internally
- Add writeTextFile helper that uses writeBinaryFile
- Extract showToast helper for toast notifications
- Simplify saveConfig to use writeTextFile instead of duplicate worker
- Simplify fileExists and readBinaryFile to use getFileHandle
2026-01-31 15:22:21 -08:00
Christian Semmler
c50ea0aee5
Add missing January 2026 changelog entries for Safari and mobile fixes 2026-01-31 15:16:49 -08:00
Christian Semmler
2755fc11ad
Add February 2026 changelog entry for Save Editor 2026-01-31 15:15:33 -08:00
Christian Semmler
88aae6083a
Add save slot carousel and improve empty states
- Add reusable Carousel component with arrow navigation, drag-to-scroll,
  and click-to-scroll-into-view functionality
- Replace static save slot list with horizontal carousel
- Add empty state with image when no save files exist
- Add prompt state when saves exist but none is selected
- Reset selected slot when entering Save Editor page
2026-01-31 15:10:39 -08:00
Christian Semmler
aac1b63b7c
Fix score cube overflow on mobile
Add max-width constraints to prevent the score cube from expanding
its container on narrow viewports while preserving its natural
200x200 size on desktop.
2026-01-31 14:33:12 -08:00
Christian Semmler
eb5604f1de Add spinning loader while loading score cube 2026-01-31 13:59:59 -08:00
Christian Semmler
257ebd9d58 Add spacing below score cube canvas 2026-01-31 13:52:11 -08:00
Christian Semmler
960a4c078e Improve score cube lighting to match in-game appearance
- Use flat, even lighting (high ambient + soft front light)
- Remove harsh directional shadows from edges
- Adjust camera position slightly for better framing
2026-01-31 13:50:38 -08:00
Christian Semmler
9c9b0e5599 Save editor UI improvements
- Make save slot cards fixed width (85px) to prevent resizing with name length
- Make save slot cards more compact (smaller icons, padding, font)
- Remove Act selection from Character section
- Remove box-shadow from selected character to fix collapsed section bleed
2026-01-31 13:44:07 -08:00
Christian Semmler
2083dfb569 Refactor: Consolidate formats and genericize WDB rendering
- Move parsing/serialization code to src/core/formats/:
  - BinaryReader.js, BinaryWriter.js (shared utilities)
  - SaveGameParser.js, SaveGameSerializer.js
  - PlayersParser.js, PlayersSerializer.js
  - Create formats/index.js as barrel export

- Extract generic WdbModelRenderer from ScoreCubeRenderer:
  - WdbModelRenderer handles D3DRM geometry and paletted textures
  - ScoreCubeRenderer extends it with score-specific logic
  - Prepares for rendering other WDB models in the future

- Keep savegame/constants.js for domain-specific constants
- savegame/index.js remains as high-level API facade
2026-01-31 13:36:57 -08:00
Christian Semmler
f45831a4b4
Conditionally render ScoreCube to properly clean up WebGL canvas
Only mount the ScoreCube component when on the save-editor page.
This ensures onDestroy is called when navigating away, properly
disposing of the WebGL renderer and removing the canvas from DOM.
2026-01-31 13:26:37 -08:00
Christian Semmler
3b02784c81
WIP: Interactive 3D score cube for save editor 2026-01-31 13:18:19 -08:00
Christian Semmler
41688393a9
Merge branch 'master' into save 2026-01-31 12:02:21 -08:00
Christian Semmler
15169c3ec5
Fix transition animation in config section
Some checks are pending
Build / build (push) Waiting to run
2026-01-30 16:32:51 -08:00
Christian Semmler
0cc1b8dbdf
stuff 2026-01-30 16:02:48 -08:00
Christian Semmler
5bfe237d7b
Merge branch 'master' into save 2026-01-30 15:12:52 -08:00
Christian Semmler
ff379338f9
Fix issue on Safari: audio not playing on first toggle 2026-01-30 15:01:30 -08:00
Christian Semmler
b5389b2685
Fix tooltip CSS issues on Config page
Some checks failed
Build / build (push) Has been cancelled
- Allow tooltips to overflow container when section is open
- Expand touch target for tooltip triggers on mobile devices

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 16:31:45 -08:00
Christian Semmler
f2b3469530
WIP 2026-01-25 12:56:02 -08:00
Christian Semmler
1703e0ec73
Improve development mode experience
- Show "DEVELOPMENT MODE" in footer instead of timestamp
- Disable offline install/uninstall when service worker unavailable
- Set __BUILD_TIME__ to null in dev mode for conditional rendering
2026-01-11 21:11:32 -07:00
Christian Semmler
adfea5e91b
Skip service worker in dev mode and copy isle.js/isle.wasm on build
- Skip service worker registration when running in dev mode to avoid 404 errors
- Add isle.js and isle.wasm copy step to production build
- Add build:ci script for CI builds without required wasm files
2026-01-11 20:59:55 -07:00
Christian Semmler
894546a468
Test CI 2026-01-11 19:51:08 -07:00
Christian Semmler
abe2b70871
Test CI 2026-01-11 19:50:20 -07:00
Christian Semmler
bb1deef26a Add complete animation list and fix select styling in debug panel 2026-01-11 19:28:45 -07:00
Christian Semmler
92d90de61b
Rename serviceWorker.js to service-worker.js 2026-01-11 19:15:18 -07:00
Christian Semmler
804a87e687
Migrate frontend to Svelte 5
- Replace vanilla JS with Svelte 5 components
- Add Vite build system with Terser optimization
- Reorganize assets into src/ and public/ directories
- Update README with setup instructions
2026-01-11 19:10:16 -07:00
Christian Semmler
65fb5a46cb
Add Widescreen Backgrounds extension 2025-08-10 19:37:40 -07:00
Christian Semmler
300af0a71f
Add HD Texture download progress 2025-07-25 16:02:54 -07:00