isle.pizza/public
Christian Semmler 39598aa3b9
Vehicle textures (#21)
* Add vehicle texture editing

Parse and serialize Act1State textures in save files. Add a texture
picker modal with default presets (from .tex files) and custom uploads
persisted to IndexedDB per texture name. Quantize uploaded images
against the WDB palette and render texture changes in the 3D preview.
Support resetting textures to the WDB default.

* Fix vehicle texture not updating when switching save slots

Include slot number in the part key so that switching save slots
triggers a full part reload with the new slot's textures.

* Preload default textures for instant texture picker opening

Fetch and parse .tex files in the background when a textured part
loads, and pass the results to TexturePickerModal as a prop. The
modal no longer fetches on mount, eliminating the loading delay.

* Cleanup: parallel fetching, error recovery, dead code removal

- Fetch .tex files in parallel with Promise.all instead of sequentially
- Clear cached IndexedDB promise on rejection so subsequent calls retry
- Remove unused textureOrder array from Act1State parser
- Unify selectDefault/applyCustom into single applyTexture function
- Remove redundant squareTexture call on already-squared wdbTexture

* Add vehicle texture editor to February 2026 changelog

* Fix mouseenter error on non-Element targets
2026-02-07 23:34:57 +01:00
..
workbox Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
bonus.webp Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
callfail.webp Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
cancel_off.webp Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
cancel_on.webp Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
cdspin.gif Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
CHJETL1.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
CHJETL2.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
CHJETL3.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
CHJETL4.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
CHJETR1.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
CHJETR2.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
CHJETR3.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
CHJETR4.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
CHWIND1.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
CHWIND2.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
CHWIND3.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
CHWIND4.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
comic.pdf Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
configure_off.webp Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
configure_on.webp Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
congrats.webp Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
Dbfrfn1.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
Dbfrfn2.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
Dbfrfn3.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
Dbfrfn4.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
downloader.js Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
favicon.png Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
favicon.svg Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
free_stuff_off.webp Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
free_stuff_on.webp Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
getinfo.webp Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
globe1.webp Feature/island sky color editor (#13) 2026-02-01 23:42:40 +01:00
globe2.webp Feature/island sky color editor (#13) 2026-02-01 23:42:40 +01:00
globe3.webp Feature/island sky color editor (#13) 2026-02-01 23:42:40 +01:00
globe4.webp Feature/island sky color editor (#13) 2026-02-01 23:42:40 +01:00
globe5.webp Feature/island sky color editor (#13) 2026-02-01 23:42:40 +01:00
globe6.webp Feature/island sky color editor (#13) 2026-02-01 23:42:40 +01:00
install_off.webp Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
install_on.webp Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
install.mp3 Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
install.webp Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
island.webp Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
jsfrnt1.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
jsfrnt2.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
jsfrnt3.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
jsfrnt4.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
JSWNSH1.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
JSWNSH2.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
JSWNSH3.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
JSWNSH4.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
later.webp Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
laura-selected.webp Add save game editor (#12) 2026-02-01 00:28:16 +01:00
laura.webp Add save game editor (#12) 2026-02-01 00:28:16 +01:00
mama-selected.webp Add save game editor (#12) 2026-02-01 00:28:16 +01:00
mama.webp Add save game editor (#12) 2026-02-01 00:28:16 +01:00
manifest.json Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
nick-selected.webp Add save game editor (#12) 2026-02-01 00:28:16 +01:00
nick.webp Add save game editor (#12) 2026-02-01 00:28:16 +01:00
ogel.webp Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
papa-selected.webp Add save game editor (#12) 2026-02-01 00:28:16 +01:00
papa.webp Add save game editor (#12) 2026-02-01 00:28:16 +01:00
pepper-selected.webp Add save game editor (#12) 2026-02-01 00:28:16 +01:00
pepper.webp Add save game editor (#12) 2026-02-01 00:28:16 +01:00
poster.pdf Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
rcback1.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
rcback2.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
rcback3.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
rcback4.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
rcfrnt1.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
rcfrnt2.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
rcfrnt3.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
rcfrnt4.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
rctail1.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
rctail2.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
rctail3.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
rctail4.tex Vehicle textures (#21) 2026-02-07 23:34:57 +01:00
read_me_off.webp Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
read_me_on.webp Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
register.webp Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
run_game_off.webp Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
run_game_on.webp Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
save.webp Add save game editor (#12) 2026-02-01 00:28:16 +01:00
send.webp Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
shark.webp Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
sysinfo.webp Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
uninstall_off.webp Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00
uninstall_on.webp Migrate frontend to Svelte 5 2026-01-11 19:10:16 -07:00