From e0e6db3ae83ca564ccf283ef4fee46bfe82e1c3d Mon Sep 17 00:00:00 2001 From: Bastian Wagner Date: Wed, 19 Aug 2026 10:50:00 +0200 Subject: [PATCH] chore: move unreferenced source art out of the served web assets apps/web/public/images was shipping ~90 MB of source art (enemies, npc, combat status icons, HUD icon originals/difficulty badges, unused background paintings) that no component, template, or stylesheet actually references, since Angular copies public/ verbatim into every browser build. Moved everything not referenced under apps/web/src to a new art/ directory at the repo root, preserving the original subfolder layout; only the 11 files actually loaded by the app (runtime HUD/ background derivatives and their PNG fallbacks) remain under apps/web/public/images. Documented the split in README.md. --- README.md | 14 ++++++++++++++ {apps/web/public/images => art}/Items.png | Bin {apps/web/public/images => art}/Sprites.png | Bin .../images => art}/backgrounds/Aschengrube.png | Bin .../images => art}/backgrounds/Graufurt.png | Bin .../images => art}/backgrounds/Wachturm.png | Bin .../ChatGPT Image 18. Aug. 2026, 19_46_33 (1).png | Bin .../ChatGPT Image 18. Aug. 2026, 19_46_34 (2).png | Bin .../ChatGPT Image 18. Aug. 2026, 19_46_34 (3).png | Bin .../ChatGPT Image 18. Aug. 2026, 19_46_34 (4).png | Bin .../enemies/AnführerDerBandeIcon.png | Bin .../public/images => art}/enemies/Aschenratte.png | Bin .../images => art}/enemies/AschenratteIcon.png | Bin .../enemies/Hauptmann_der_Aschenbande.png | Bin .../images => art}/enemies/PluendererIcon.png | Bin .../enemies/Pluendererhauptmann.png | Bin .../enemies/PluendererhauptmannIcon.png | Bin .../images => art}/enemies/Strassenraeuber.png | Bin .../enemies/VerbrannterPluendererIcon.png | Bin .../enemies/VerkohlterPluenderer.png | Bin .../enemies/VerwilderterStrassenhundIcon.png | Bin .../enemies/Verwilderter_Strassenhund.png | Bin .../web/public/images => art}/hud/AttackIcon.png | Bin {apps/web/public/images => art}/hud/BlockIcon.png | Bin {apps/web/public/images => art}/hud/Character.png | Bin .../public/images => art}/hud/CharacterIcon.png | Bin {apps/web/public/images => art}/hud/FightIcon.png | Bin {apps/web/public/images => art}/hud/HuntIcon.png | Bin {apps/web/public/images => art}/hud/Icons.png | Bin .../public/images => art}/hud/InventoryIcon.png | Bin {apps/web/public/images => art}/hud/MapsIcon.png | Bin .../web/public/images => art}/hud/PotionIcon.png | Bin .../web/public/images => art}/hud/QuestsIcon.png | Bin .../web/public/images => art}/hud/ShieldIcon.png | Bin .../hud/difficulty_badges/strong.png | Bin .../hud/difficulty_badges/suiting.png | Bin .../hud/difficulty_badges/very_difficult.png | Bin .../images => art}/hud/difficulty_badges/weak.png | Bin .../images => art}/npc/Graufurt_Haendler.png | Bin .../images => art}/npc/Graufurt_Offizier.png | Bin .../public/images => art}/npc/Graufurt_Wache.png | Bin 41 files changed, 14 insertions(+) rename {apps/web/public/images => art}/Items.png (100%) rename {apps/web/public/images => art}/Sprites.png (100%) rename {apps/web/public/images => art}/backgrounds/Aschengrube.png (100%) rename {apps/web/public/images => art}/backgrounds/Graufurt.png (100%) rename {apps/web/public/images => art}/backgrounds/Wachturm.png (100%) rename {apps/web/public/images => art}/combat_status_icons/ChatGPT Image 18. Aug. 2026, 19_46_33 (1).png (100%) rename {apps/web/public/images => art}/combat_status_icons/ChatGPT Image 18. Aug. 2026, 19_46_34 (2).png (100%) rename {apps/web/public/images => art}/combat_status_icons/ChatGPT Image 18. Aug. 2026, 19_46_34 (3).png (100%) rename {apps/web/public/images => art}/combat_status_icons/ChatGPT Image 18. Aug. 2026, 19_46_34 (4).png (100%) rename {apps/web/public/images => art}/enemies/AnführerDerBandeIcon.png (100%) rename {apps/web/public/images => art}/enemies/Aschenratte.png (100%) rename {apps/web/public/images => art}/enemies/AschenratteIcon.png (100%) rename {apps/web/public/images => art}/enemies/Hauptmann_der_Aschenbande.png (100%) rename {apps/web/public/images => art}/enemies/PluendererIcon.png (100%) rename {apps/web/public/images => art}/enemies/Pluendererhauptmann.png (100%) rename {apps/web/public/images => art}/enemies/PluendererhauptmannIcon.png (100%) rename {apps/web/public/images => art}/enemies/Strassenraeuber.png (100%) rename {apps/web/public/images => art}/enemies/VerbrannterPluendererIcon.png (100%) rename {apps/web/public/images => art}/enemies/VerkohlterPluenderer.png (100%) rename {apps/web/public/images => art}/enemies/VerwilderterStrassenhundIcon.png (100%) rename {apps/web/public/images => art}/enemies/Verwilderter_Strassenhund.png (100%) rename {apps/web/public/images => art}/hud/AttackIcon.png (100%) rename {apps/web/public/images => art}/hud/BlockIcon.png (100%) rename {apps/web/public/images => art}/hud/Character.png (100%) rename {apps/web/public/images => art}/hud/CharacterIcon.png (100%) rename {apps/web/public/images => art}/hud/FightIcon.png (100%) rename {apps/web/public/images => art}/hud/HuntIcon.png (100%) rename {apps/web/public/images => art}/hud/Icons.png (100%) rename {apps/web/public/images => art}/hud/InventoryIcon.png (100%) rename {apps/web/public/images => art}/hud/MapsIcon.png (100%) rename {apps/web/public/images => art}/hud/PotionIcon.png (100%) rename {apps/web/public/images => art}/hud/QuestsIcon.png (100%) rename {apps/web/public/images => art}/hud/ShieldIcon.png (100%) rename {apps/web/public/images => art}/hud/difficulty_badges/strong.png (100%) rename {apps/web/public/images => art}/hud/difficulty_badges/suiting.png (100%) rename {apps/web/public/images => art}/hud/difficulty_badges/very_difficult.png (100%) rename {apps/web/public/images => art}/hud/difficulty_badges/weak.png (100%) rename {apps/web/public/images => art}/npc/Graufurt_Haendler.png (100%) rename {apps/web/public/images => art}/npc/Graufurt_Offizier.png (100%) rename {apps/web/public/images => art}/npc/Graufurt_Wache.png (100%) diff --git a/README.md b/README.md index eae5a61..9285b33 100644 --- a/README.md +++ b/README.md @@ -96,6 +96,20 @@ POST /api/travel { "targetLocationId": "" } pipe rejects any other property (e.g. a client-supplied `arrivesAt`) with `400 Bad Request`, since `arrivesAt` is always server-derived. +## Assets + +`apps/web/public/images` holds only the derivative image files the Angular +build actually serves (resized `runtime/*-128.png` HUD icons, `runtime/*-960.jpg` +and `runtime/*-1440.jpg` background variants, and the small set of PNG +fallbacks referenced directly by source/styles). Everything under `apps/web/public` +is copied verbatim into the browser build, so keep that folder limited to +files a component, template, or stylesheet actually references. + +Original/unresized source art (enemy, NPC, and combat-status artwork, HUD icon +originals, difficulty badges, etc.) that isn't loaded by the app lives in +`art/` at the repository root instead, mirroring the same subfolder layout +(e.g. `art/enemies`, `art/npc`, `art/hud`). It is not part of any build output. + ## Scripts Run these from the repository root unless noted otherwise. diff --git a/apps/web/public/images/Items.png b/art/Items.png similarity index 100% rename from apps/web/public/images/Items.png rename to art/Items.png diff --git a/apps/web/public/images/Sprites.png b/art/Sprites.png similarity index 100% rename from apps/web/public/images/Sprites.png rename to art/Sprites.png diff --git a/apps/web/public/images/backgrounds/Aschengrube.png b/art/backgrounds/Aschengrube.png similarity index 100% rename from apps/web/public/images/backgrounds/Aschengrube.png rename to art/backgrounds/Aschengrube.png diff --git a/apps/web/public/images/backgrounds/Graufurt.png b/art/backgrounds/Graufurt.png similarity index 100% rename from apps/web/public/images/backgrounds/Graufurt.png rename to art/backgrounds/Graufurt.png diff --git a/apps/web/public/images/backgrounds/Wachturm.png b/art/backgrounds/Wachturm.png similarity index 100% rename from apps/web/public/images/backgrounds/Wachturm.png rename to art/backgrounds/Wachturm.png diff --git a/apps/web/public/images/combat_status_icons/ChatGPT Image 18. Aug. 2026, 19_46_33 (1).png b/art/combat_status_icons/ChatGPT Image 18. Aug. 2026, 19_46_33 (1).png similarity index 100% rename from apps/web/public/images/combat_status_icons/ChatGPT Image 18. Aug. 2026, 19_46_33 (1).png rename to art/combat_status_icons/ChatGPT Image 18. Aug. 2026, 19_46_33 (1).png diff --git a/apps/web/public/images/combat_status_icons/ChatGPT Image 18. Aug. 2026, 19_46_34 (2).png b/art/combat_status_icons/ChatGPT Image 18. Aug. 2026, 19_46_34 (2).png similarity index 100% rename from apps/web/public/images/combat_status_icons/ChatGPT Image 18. Aug. 2026, 19_46_34 (2).png rename to art/combat_status_icons/ChatGPT Image 18. Aug. 2026, 19_46_34 (2).png diff --git a/apps/web/public/images/combat_status_icons/ChatGPT Image 18. Aug. 2026, 19_46_34 (3).png b/art/combat_status_icons/ChatGPT Image 18. Aug. 2026, 19_46_34 (3).png similarity index 100% rename from apps/web/public/images/combat_status_icons/ChatGPT Image 18. Aug. 2026, 19_46_34 (3).png rename to art/combat_status_icons/ChatGPT Image 18. Aug. 2026, 19_46_34 (3).png diff --git a/apps/web/public/images/combat_status_icons/ChatGPT Image 18. Aug. 2026, 19_46_34 (4).png b/art/combat_status_icons/ChatGPT Image 18. Aug. 2026, 19_46_34 (4).png similarity index 100% rename from apps/web/public/images/combat_status_icons/ChatGPT Image 18. Aug. 2026, 19_46_34 (4).png rename to art/combat_status_icons/ChatGPT Image 18. Aug. 2026, 19_46_34 (4).png diff --git a/apps/web/public/images/enemies/AnführerDerBandeIcon.png b/art/enemies/AnführerDerBandeIcon.png similarity index 100% rename from apps/web/public/images/enemies/AnführerDerBandeIcon.png rename to art/enemies/AnführerDerBandeIcon.png diff --git a/apps/web/public/images/enemies/Aschenratte.png b/art/enemies/Aschenratte.png similarity index 100% rename from apps/web/public/images/enemies/Aschenratte.png rename to art/enemies/Aschenratte.png diff --git a/apps/web/public/images/enemies/AschenratteIcon.png b/art/enemies/AschenratteIcon.png similarity index 100% rename from apps/web/public/images/enemies/AschenratteIcon.png rename to art/enemies/AschenratteIcon.png diff --git a/apps/web/public/images/enemies/Hauptmann_der_Aschenbande.png b/art/enemies/Hauptmann_der_Aschenbande.png similarity index 100% rename from apps/web/public/images/enemies/Hauptmann_der_Aschenbande.png rename to art/enemies/Hauptmann_der_Aschenbande.png diff --git a/apps/web/public/images/enemies/PluendererIcon.png b/art/enemies/PluendererIcon.png similarity index 100% rename from apps/web/public/images/enemies/PluendererIcon.png rename to art/enemies/PluendererIcon.png diff --git a/apps/web/public/images/enemies/Pluendererhauptmann.png b/art/enemies/Pluendererhauptmann.png similarity index 100% rename from apps/web/public/images/enemies/Pluendererhauptmann.png rename to art/enemies/Pluendererhauptmann.png diff --git a/apps/web/public/images/enemies/PluendererhauptmannIcon.png b/art/enemies/PluendererhauptmannIcon.png similarity index 100% rename from apps/web/public/images/enemies/PluendererhauptmannIcon.png rename to art/enemies/PluendererhauptmannIcon.png diff --git a/apps/web/public/images/enemies/Strassenraeuber.png b/art/enemies/Strassenraeuber.png similarity index 100% rename from apps/web/public/images/enemies/Strassenraeuber.png rename to art/enemies/Strassenraeuber.png diff --git a/apps/web/public/images/enemies/VerbrannterPluendererIcon.png b/art/enemies/VerbrannterPluendererIcon.png similarity index 100% rename from apps/web/public/images/enemies/VerbrannterPluendererIcon.png rename to art/enemies/VerbrannterPluendererIcon.png diff --git a/apps/web/public/images/enemies/VerkohlterPluenderer.png b/art/enemies/VerkohlterPluenderer.png similarity index 100% rename from apps/web/public/images/enemies/VerkohlterPluenderer.png rename to art/enemies/VerkohlterPluenderer.png diff --git a/apps/web/public/images/enemies/VerwilderterStrassenhundIcon.png b/art/enemies/VerwilderterStrassenhundIcon.png similarity index 100% rename from apps/web/public/images/enemies/VerwilderterStrassenhundIcon.png rename to art/enemies/VerwilderterStrassenhundIcon.png diff --git a/apps/web/public/images/enemies/Verwilderter_Strassenhund.png b/art/enemies/Verwilderter_Strassenhund.png similarity index 100% rename from apps/web/public/images/enemies/Verwilderter_Strassenhund.png rename to art/enemies/Verwilderter_Strassenhund.png diff --git a/apps/web/public/images/hud/AttackIcon.png b/art/hud/AttackIcon.png similarity index 100% rename from apps/web/public/images/hud/AttackIcon.png rename to art/hud/AttackIcon.png diff --git a/apps/web/public/images/hud/BlockIcon.png b/art/hud/BlockIcon.png similarity index 100% rename from apps/web/public/images/hud/BlockIcon.png rename to art/hud/BlockIcon.png diff --git a/apps/web/public/images/hud/Character.png b/art/hud/Character.png similarity index 100% rename from apps/web/public/images/hud/Character.png rename to art/hud/Character.png diff --git a/apps/web/public/images/hud/CharacterIcon.png b/art/hud/CharacterIcon.png similarity index 100% rename from apps/web/public/images/hud/CharacterIcon.png rename to art/hud/CharacterIcon.png diff --git a/apps/web/public/images/hud/FightIcon.png b/art/hud/FightIcon.png similarity index 100% rename from apps/web/public/images/hud/FightIcon.png rename to art/hud/FightIcon.png diff --git a/apps/web/public/images/hud/HuntIcon.png b/art/hud/HuntIcon.png similarity index 100% rename from apps/web/public/images/hud/HuntIcon.png rename to art/hud/HuntIcon.png diff --git a/apps/web/public/images/hud/Icons.png b/art/hud/Icons.png similarity index 100% rename from apps/web/public/images/hud/Icons.png rename to art/hud/Icons.png diff --git a/apps/web/public/images/hud/InventoryIcon.png b/art/hud/InventoryIcon.png similarity index 100% rename from apps/web/public/images/hud/InventoryIcon.png rename to art/hud/InventoryIcon.png diff --git a/apps/web/public/images/hud/MapsIcon.png b/art/hud/MapsIcon.png similarity index 100% rename from apps/web/public/images/hud/MapsIcon.png rename to art/hud/MapsIcon.png diff --git a/apps/web/public/images/hud/PotionIcon.png b/art/hud/PotionIcon.png similarity index 100% rename from apps/web/public/images/hud/PotionIcon.png rename to art/hud/PotionIcon.png diff --git a/apps/web/public/images/hud/QuestsIcon.png b/art/hud/QuestsIcon.png similarity index 100% rename from apps/web/public/images/hud/QuestsIcon.png rename to art/hud/QuestsIcon.png diff --git a/apps/web/public/images/hud/ShieldIcon.png b/art/hud/ShieldIcon.png similarity index 100% rename from apps/web/public/images/hud/ShieldIcon.png rename to art/hud/ShieldIcon.png diff --git a/apps/web/public/images/hud/difficulty_badges/strong.png b/art/hud/difficulty_badges/strong.png similarity index 100% rename from apps/web/public/images/hud/difficulty_badges/strong.png rename to art/hud/difficulty_badges/strong.png diff --git a/apps/web/public/images/hud/difficulty_badges/suiting.png b/art/hud/difficulty_badges/suiting.png similarity index 100% rename from apps/web/public/images/hud/difficulty_badges/suiting.png rename to art/hud/difficulty_badges/suiting.png diff --git a/apps/web/public/images/hud/difficulty_badges/very_difficult.png b/art/hud/difficulty_badges/very_difficult.png similarity index 100% rename from apps/web/public/images/hud/difficulty_badges/very_difficult.png rename to art/hud/difficulty_badges/very_difficult.png diff --git a/apps/web/public/images/hud/difficulty_badges/weak.png b/art/hud/difficulty_badges/weak.png similarity index 100% rename from apps/web/public/images/hud/difficulty_badges/weak.png rename to art/hud/difficulty_badges/weak.png diff --git a/apps/web/public/images/npc/Graufurt_Haendler.png b/art/npc/Graufurt_Haendler.png similarity index 100% rename from apps/web/public/images/npc/Graufurt_Haendler.png rename to art/npc/Graufurt_Haendler.png diff --git a/apps/web/public/images/npc/Graufurt_Offizier.png b/art/npc/Graufurt_Offizier.png similarity index 100% rename from apps/web/public/images/npc/Graufurt_Offizier.png rename to art/npc/Graufurt_Offizier.png diff --git a/apps/web/public/images/npc/Graufurt_Wache.png b/art/npc/Graufurt_Wache.png similarity index 100% rename from apps/web/public/images/npc/Graufurt_Wache.png rename to art/npc/Graufurt_Wache.png