From 25e3d503b241486a625af526c69e6a8b334d0633 Mon Sep 17 00:00:00 2001 From: Tom Boullay Date: Tue, 14 Apr 2026 08:39:09 +0200 Subject: [PATCH] update: add basic structure --- index.html | 8 ++++---- public/favicon.ico | Bin 0 -> 15406 bytes public/favicon.svg | 1 - public/icons.svg | 24 ------------------------ public/models/farm/README.md | 1 + public/models/map/README.md | 1 + public/models/powerGrid/README.md | 1 + public/sounds/README.md | 1 + public/textures/README.md | 1 + src/components/3d/InteractiveObject.tsx | 1 + src/components/ui/CinematicBars.tsx | 1 + src/components/ui/LoadingScreen.tsx | 1 + src/components/ui/MapHUD.tsx | 1 + src/components/ui/MissionHUD.tsx | 1 + src/components/ui/NarrativeOverlay.tsx | 1 + src/data/dialogues.ts | 1 + src/data/missions.ts | 1 + src/data/zones.ts | 1 + src/hooks/useAudio.ts | 1 + src/hooks/useCinematic.ts | 1 + src/hooks/useGameState.ts | 1 + src/hooks/useInteraction.ts | 1 + src/hooks/useLOD.ts | 1 + src/hooks/useZoneDetection.ts | 1 + src/stateManager/AudioManager.ts | 1 + src/stateManager/CinematicManager.ts | 1 + src/stateManager/GameManager.ts | 1 + src/stateManager/ZoneManager.ts | 1 + src/utils/Debug.ts | 1 + src/utils/Dispose.ts | 1 + src/utils/EventEmitter.ts | 1 + src/utils/Sizes.ts | 1 + src/utils/Time.ts | 1 + src/world/Environment.tsx | 1 + src/world/Lighting.tsx | 1 + src/world/Map.tsx | 1 + src/world/PostFX.tsx | 1 + src/world/player/Crosshair.tsx | 1 + src/world/player/FPSController.tsx | 1 + src/world/zones/FarmZone.tsx | 1 + src/world/zones/PowerGridZone.tsx | 1 + src/world/zones/ResidentialZone.tsx | 1 + src/world/zones/SchoolZone.tsx | 1 + src/world/zones/WorkshopZone.tsx | 1 + 44 files changed, 44 insertions(+), 29 deletions(-) create mode 100644 public/favicon.ico delete mode 100644 public/favicon.svg delete mode 100644 public/icons.svg create mode 100644 public/models/farm/README.md create mode 100644 public/models/map/README.md create mode 100644 public/models/powerGrid/README.md create mode 100644 public/sounds/README.md create mode 100644 public/textures/README.md create mode 100644 src/components/3d/InteractiveObject.tsx create mode 100644 src/components/ui/CinematicBars.tsx create mode 100644 src/components/ui/LoadingScreen.tsx create mode 100644 src/components/ui/MapHUD.tsx create mode 100644 src/components/ui/MissionHUD.tsx create mode 100644 src/components/ui/NarrativeOverlay.tsx create mode 100644 src/data/dialogues.ts create mode 100644 src/data/missions.ts create mode 100644 src/data/zones.ts create mode 100644 src/hooks/useAudio.ts create mode 100644 src/hooks/useCinematic.ts create mode 100644 src/hooks/useGameState.ts create mode 100644 src/hooks/useInteraction.ts create mode 100644 src/hooks/useLOD.ts create mode 100644 src/hooks/useZoneDetection.ts create mode 100644 src/stateManager/AudioManager.ts create mode 100644 src/stateManager/CinematicManager.ts create mode 100644 src/stateManager/GameManager.ts create mode 100644 src/stateManager/ZoneManager.ts create mode 100644 src/utils/Debug.ts create mode 100644 src/utils/Dispose.ts create mode 100644 src/utils/EventEmitter.ts create mode 100644 src/utils/Sizes.ts create mode 100644 src/utils/Time.ts create mode 100644 src/world/Environment.tsx create mode 100644 src/world/Lighting.tsx create mode 100644 src/world/Map.tsx create mode 100644 src/world/PostFX.tsx create mode 100644 src/world/player/Crosshair.tsx create mode 100644 src/world/player/FPSController.tsx create mode 100644 src/world/zones/FarmZone.tsx create mode 100644 src/world/zones/PowerGridZone.tsx create mode 100644 src/world/zones/ResidentialZone.tsx create mode 100644 src/world/zones/SchoolZone.tsx create mode 100644 src/world/zones/WorkshopZone.tsx diff --git a/index.html b/index.html index 69ad4aa..e1863d6 100644 --- a/index.html +++ b/index.html @@ -1,13 +1,13 @@ - + - + - la-fabrik + La Fabrik
- + \ No newline at end of file diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..23e6e2bb9f7f23899504aacc193fbe039b243ee1 GIT binary patch literal 15406 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 \ No newline at end of file diff --git a/public/icons.svg b/public/icons.svg deleted file mode 100644 index e952219..0000000 --- a/public/icons.svg +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/public/models/farm/README.md b/public/models/farm/README.md new file mode 100644 index 0000000..1a82388 --- /dev/null +++ b/public/models/farm/README.md @@ -0,0 +1 @@ +# public/models/farm/* \ No newline at end of file diff --git a/public/models/map/README.md b/public/models/map/README.md new file mode 100644 index 0000000..fa11837 --- /dev/null +++ b/public/models/map/README.md @@ -0,0 +1 @@ +# public/models/map/* \ No newline at end of file diff --git a/public/models/powerGrid/README.md b/public/models/powerGrid/README.md new file mode 100644 index 0000000..176aba1 --- /dev/null +++ b/public/models/powerGrid/README.md @@ -0,0 +1 @@ +# public/models/powerGrid/* \ No newline at end of file diff --git a/public/sounds/README.md b/public/sounds/README.md new file mode 100644 index 0000000..f5d58de --- /dev/null +++ b/public/sounds/README.md @@ -0,0 +1 @@ +# public/sounds/* \ No newline at end of file diff --git a/public/textures/README.md b/public/textures/README.md new file mode 100644 index 0000000..3e22257 --- /dev/null +++ b/public/textures/README.md @@ -0,0 +1 @@ +# public/textures/* \ No newline at end of file diff --git a/src/components/3d/InteractiveObject.tsx b/src/components/3d/InteractiveObject.tsx new file mode 100644 index 0000000..31e0b89 --- /dev/null +++ b/src/components/3d/InteractiveObject.tsx @@ -0,0 +1 @@ +// src/components/3d/InteractiveObject.tsx \ No newline at end of file diff --git a/src/components/ui/CinematicBars.tsx b/src/components/ui/CinematicBars.tsx new file mode 100644 index 0000000..26bde92 --- /dev/null +++ b/src/components/ui/CinematicBars.tsx @@ -0,0 +1 @@ +// src/components/ui/CinematicBars.tsx \ No newline at end of file diff --git a/src/components/ui/LoadingScreen.tsx b/src/components/ui/LoadingScreen.tsx new file mode 100644 index 0000000..e289e87 --- /dev/null +++ b/src/components/ui/LoadingScreen.tsx @@ -0,0 +1 @@ +// src/components/ui/LoadingScreen.tsx \ No newline at end of file diff --git a/src/components/ui/MapHUD.tsx b/src/components/ui/MapHUD.tsx new file mode 100644 index 0000000..5bf416e --- /dev/null +++ b/src/components/ui/MapHUD.tsx @@ -0,0 +1 @@ +// src/components/ui/MapHUD.tsx \ No newline at end of file diff --git a/src/components/ui/MissionHUD.tsx b/src/components/ui/MissionHUD.tsx new file mode 100644 index 0000000..05b6f41 --- /dev/null +++ b/src/components/ui/MissionHUD.tsx @@ -0,0 +1 @@ +// src/components/ui/MissionHUD.tsx \ No newline at end of file diff --git a/src/components/ui/NarrativeOverlay.tsx b/src/components/ui/NarrativeOverlay.tsx new file mode 100644 index 0000000..c8b8b57 --- /dev/null +++ b/src/components/ui/NarrativeOverlay.tsx @@ -0,0 +1 @@ +// src/components/ui/NarrativeOverlay.tsx \ No newline at end of file diff --git a/src/data/dialogues.ts b/src/data/dialogues.ts new file mode 100644 index 0000000..c53d3c2 --- /dev/null +++ b/src/data/dialogues.ts @@ -0,0 +1 @@ +// src/data/dialogues.ts \ No newline at end of file diff --git a/src/data/missions.ts b/src/data/missions.ts new file mode 100644 index 0000000..08a94e9 --- /dev/null +++ b/src/data/missions.ts @@ -0,0 +1 @@ +// src/data/missions.ts \ No newline at end of file diff --git a/src/data/zones.ts b/src/data/zones.ts new file mode 100644 index 0000000..d1a274d --- /dev/null +++ b/src/data/zones.ts @@ -0,0 +1 @@ +// src/data/zones.ts \ No newline at end of file diff --git a/src/hooks/useAudio.ts b/src/hooks/useAudio.ts new file mode 100644 index 0000000..ea1191e --- /dev/null +++ b/src/hooks/useAudio.ts @@ -0,0 +1 @@ +// src/hooks/useAudio.ts \ No newline at end of file diff --git a/src/hooks/useCinematic.ts b/src/hooks/useCinematic.ts new file mode 100644 index 0000000..8969f6e --- /dev/null +++ b/src/hooks/useCinematic.ts @@ -0,0 +1 @@ +// src/hooks/useCinematic.ts \ No newline at end of file diff --git a/src/hooks/useGameState.ts b/src/hooks/useGameState.ts new file mode 100644 index 0000000..11c4669 --- /dev/null +++ b/src/hooks/useGameState.ts @@ -0,0 +1 @@ +// src/hooks/useGameState.ts \ No newline at end of file diff --git a/src/hooks/useInteraction.ts b/src/hooks/useInteraction.ts new file mode 100644 index 0000000..d3f3f09 --- /dev/null +++ b/src/hooks/useInteraction.ts @@ -0,0 +1 @@ +// src/hooks/useInteraction.ts \ No newline at end of file diff --git a/src/hooks/useLOD.ts b/src/hooks/useLOD.ts new file mode 100644 index 0000000..94d19e3 --- /dev/null +++ b/src/hooks/useLOD.ts @@ -0,0 +1 @@ +// src/hooks/useLOD.ts \ No newline at end of file diff --git a/src/hooks/useZoneDetection.ts b/src/hooks/useZoneDetection.ts new file mode 100644 index 0000000..1cee446 --- /dev/null +++ b/src/hooks/useZoneDetection.ts @@ -0,0 +1 @@ +// src/hooks/useZoneDetection.ts \ No newline at end of file diff --git a/src/stateManager/AudioManager.ts b/src/stateManager/AudioManager.ts new file mode 100644 index 0000000..d2d535d --- /dev/null +++ b/src/stateManager/AudioManager.ts @@ -0,0 +1 @@ +// src/stateManager/AudioManager.ts \ No newline at end of file diff --git a/src/stateManager/CinematicManager.ts b/src/stateManager/CinematicManager.ts new file mode 100644 index 0000000..0e41708 --- /dev/null +++ b/src/stateManager/CinematicManager.ts @@ -0,0 +1 @@ +// src/stateManager/CinematicManager.ts \ No newline at end of file diff --git a/src/stateManager/GameManager.ts b/src/stateManager/GameManager.ts new file mode 100644 index 0000000..81ed6d2 --- /dev/null +++ b/src/stateManager/GameManager.ts @@ -0,0 +1 @@ +// src/stateManager/GameManager.ts \ No newline at end of file diff --git a/src/stateManager/ZoneManager.ts b/src/stateManager/ZoneManager.ts new file mode 100644 index 0000000..872214d --- /dev/null +++ b/src/stateManager/ZoneManager.ts @@ -0,0 +1 @@ +// src/stateManager/ZoneManager.ts \ No newline at end of file diff --git a/src/utils/Debug.ts b/src/utils/Debug.ts new file mode 100644 index 0000000..9393855 --- /dev/null +++ b/src/utils/Debug.ts @@ -0,0 +1 @@ +// src/utils/Debug.ts \ No newline at end of file diff --git a/src/utils/Dispose.ts b/src/utils/Dispose.ts new file mode 100644 index 0000000..f703aeb --- /dev/null +++ b/src/utils/Dispose.ts @@ -0,0 +1 @@ +// src/utils/Dispose.ts \ No newline at end of file diff --git a/src/utils/EventEmitter.ts b/src/utils/EventEmitter.ts new file mode 100644 index 0000000..72e67c5 --- /dev/null +++ b/src/utils/EventEmitter.ts @@ -0,0 +1 @@ +// src/utils/EventEmitter.ts \ No newline at end of file diff --git a/src/utils/Sizes.ts b/src/utils/Sizes.ts new file mode 100644 index 0000000..a5034f0 --- /dev/null +++ b/src/utils/Sizes.ts @@ -0,0 +1 @@ +// src/utils/Sizes.ts \ No newline at end of file diff --git a/src/utils/Time.ts b/src/utils/Time.ts new file mode 100644 index 0000000..16c891b --- /dev/null +++ b/src/utils/Time.ts @@ -0,0 +1 @@ +// src/utils/Time.ts \ No newline at end of file diff --git a/src/world/Environment.tsx b/src/world/Environment.tsx new file mode 100644 index 0000000..999ec5d --- /dev/null +++ b/src/world/Environment.tsx @@ -0,0 +1 @@ +// src/world/Environment.tsx \ No newline at end of file diff --git a/src/world/Lighting.tsx b/src/world/Lighting.tsx new file mode 100644 index 0000000..0b14de7 --- /dev/null +++ b/src/world/Lighting.tsx @@ -0,0 +1 @@ +// src/world/Lighting.tsx \ No newline at end of file diff --git a/src/world/Map.tsx b/src/world/Map.tsx new file mode 100644 index 0000000..a56a38e --- /dev/null +++ b/src/world/Map.tsx @@ -0,0 +1 @@ +// src/world/Map.tsx \ No newline at end of file diff --git a/src/world/PostFX.tsx b/src/world/PostFX.tsx new file mode 100644 index 0000000..8107064 --- /dev/null +++ b/src/world/PostFX.tsx @@ -0,0 +1 @@ +// src/world/PostFX.tsx \ No newline at end of file diff --git a/src/world/player/Crosshair.tsx b/src/world/player/Crosshair.tsx new file mode 100644 index 0000000..5a422a4 --- /dev/null +++ b/src/world/player/Crosshair.tsx @@ -0,0 +1 @@ +// src/world/player/Crosshair.tsx \ No newline at end of file diff --git a/src/world/player/FPSController.tsx b/src/world/player/FPSController.tsx new file mode 100644 index 0000000..d673dab --- /dev/null +++ b/src/world/player/FPSController.tsx @@ -0,0 +1 @@ +// src/world/player/FPSController.tsx \ No newline at end of file diff --git a/src/world/zones/FarmZone.tsx b/src/world/zones/FarmZone.tsx new file mode 100644 index 0000000..296a39e --- /dev/null +++ b/src/world/zones/FarmZone.tsx @@ -0,0 +1 @@ +// src/world/zones/FarmZone.tsx \ No newline at end of file diff --git a/src/world/zones/PowerGridZone.tsx b/src/world/zones/PowerGridZone.tsx new file mode 100644 index 0000000..f3a6d8f --- /dev/null +++ b/src/world/zones/PowerGridZone.tsx @@ -0,0 +1 @@ +// src/world/zones/PowerGridZone.tsx \ No newline at end of file diff --git a/src/world/zones/ResidentialZone.tsx b/src/world/zones/ResidentialZone.tsx new file mode 100644 index 0000000..a15c2ae --- /dev/null +++ b/src/world/zones/ResidentialZone.tsx @@ -0,0 +1 @@ +// src/world/zones/ResidentialZone.tsx \ No newline at end of file diff --git a/src/world/zones/SchoolZone.tsx b/src/world/zones/SchoolZone.tsx new file mode 100644 index 0000000..c9e9a51 --- /dev/null +++ b/src/world/zones/SchoolZone.tsx @@ -0,0 +1 @@ +// src/world/zones/SchoolZone.tsx \ No newline at end of file diff --git a/src/world/zones/WorkshopZone.tsx b/src/world/zones/WorkshopZone.tsx new file mode 100644 index 0000000..1b80de6 --- /dev/null +++ b/src/world/zones/WorkshopZone.tsx @@ -0,0 +1 @@ +// src/world/zones/WorkshopZone.tsx \ No newline at end of file