File size: 29,555 Bytes
db0177d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
## **Specifikační Dokument Modulu: Založení Projektu, Struktura Adresářů a Technologie**

Série Nových Promptů \- Číslo: 01  
Datum Vytvoření: 2025-05-27  
Cíl Dokumentu: Tento dokument slouží jako direktiva pro AI agenta (např. Lovable.dev) pro založení základní struktury projektu hry "Star Dust Voyager: Galaxy Wanderer". Definuje hlavní cíle projektu, použitý technologický stack, detailní adresářovou strukturu, konvence pojmenování a seznam základních knihoven a nástrojů k instalaci. V této fázi se nebude implementovat žádná herní logika do souborů, pouze se vytvoří jejich struktura a základní konfigurace.

### **1\. Celková Filozofie a Cíle Projektu**

Hra "Star Dust Voyager: Galaxy Wanderer" je koncipována jako 2D top-down vesmírná explorační roguelike hra\[cite: 5, 41\]. Klade důraz na:

* Vizuální Styl: Extrémně detailní fotorealistický pixel art s retro nádechem\[cite: 5, 11, 49\]. Každý vizuální prvek, od nebeských těles po UI, musí být propracovaný a plný detailů, s využitím pokročilých pixel artových technik.  
* Herní Svět: Procedurálně generovaná galaxie obsahující 100-200 hvězdných systémů\[cite: 5, 41, 57\]. Každý systém s realisticky škálovanými a rozmístěnými nebeskými tělesy (hvězdy 500-1500px, planety 200-800px, měsíce 50-300px, s minimální mezerou 2000px mezi tělesy)\[cite: 6, 49, 50, 56\].  
* Hratelnost: Hluboké herní mechaniky zahrnující průzkum, dynamický boj v reálném čase, správu zdrojů (palivo, energie, integrita trupu, náklad, kredity, teplota, kyslík)\[cite: 44\], rozsáhlou customizaci lodí\[cite: 5, 47\], diplomacii s frakcemi\[cite: 5, 52\], správu posádky\[cite: 5, 52\], dynamické události a příběh ovlivněný hráčovými volbami\[cite: 5, 42, 52\].  
* Cílové Platformy: PC (Windows, Linux, macOS), mobilní zařízení (iOS, Android) a gamepad podpora, s volitelnou budoucí podporou pro AR/VR\[cite: 5, 51\].  
* Modding: Podpora pro komunitní modifikace\[cite: 5, 52\].

AI musí adresovat a opravit specifické problémy zmíněné v Sd.txt, jako je pohyb lodí a zajištění správného škálování a rozmístění nebeských těles\[cite: 6, 7\].

### **2\. Základní Technologický Stack**

Pro vývoj hry bude použit následující technologický stack, vycházející z poskytnutých dokumentů\[cite: 336, 387, 392, 411, 412, 413, 414, 420\]:

* Frontend (Klient):  
  * Jazyk: TypeScript (se zapnutým strict módem)\[cite: 38, 420\].  
  * UI Framework: React (pro HUD, menu, herní obrazovky a všechny UI komponenty)\[cite: 16, 22, 410\].  
  * Vykreslovací Engine: PixiJS (pro hlavní herní scénu, vykreslování spritů, částicové efekty, shadery)\[cite: 16, 32, 410\].  
  * Správa Stavu: Zustand (pro globální správu stavu hry, hráče, UI atd.)\[cite: 28, 405\].  
  * Stylování UI: Emotion (nebo jiná CSS-in-JS knihovna) pro pixel-perfect retro estetiku (např. pozadí \#050510, akcenty \#3388ff)\[cite: 22\].  
  * Routing (pro UI obrazovky): react-router-dom (nebo ekvivalent).  
  * Lokalizace: i18next s react-i18next pro podporu více jazyků (primárně čeština).  
* Backend (Server):  
  * Jazyk: Node.js s TypeScriptem\[cite: 33, 411\].  
  * Framework: Express.js (nebo výkonnější alternativa jako Fastify)\[cite: 412\].  
  * Databáze: MongoDB (pro perzistentní ukládání hráčského postupu, stavu galaxie, uživatelských účtů)\[cite: 33, 411\].  
  * ODM (Object Data Modeling): Mongoose pro MongoDB.  
  * Real-time Komunikace: WebSockets (např. pomocí knihovny Socket.IO) pro případné multiplayerové funkce nebo synchronizaci\[cite: 33, 412\].  
  * Autentifikace: JWT (jsonwebtoken) pro zabezpečení API.  
* Vývojové Nástroje a Prostředí:  
  * Verzování: Git, repozitář na GitHub (dle Sd.txt\[cite: 4\], StarDustVoyager.txt\[cite: 382\], Hvězdička.txt \[cite: 770\]).  
  * Linting a Formátování: ESLint a Prettier pro udržení kvality a konzistence kódu.  
  * Build Nástroje: Vite (nebo Create React App s Craco pro úpravy Webpacku) pro frontend, tsc pro backend.  
  * CI/CD: GitHub Actions pro automatické buildy, linting a testování při pushi\[cite: 39\].  
* Deployment:  
  * Frontend a Serverless Backend: Vercel (nebo ekvivalent jako Netlify, AWS Amplify).  
  * Databáze: MongoDB Atlas (nebo jiný cloudový poskytovatel).

### **3\. Detailní Adresářová Struktura Projektu**

Následující struktura adresářů (vycházející z Sd.txt, StarDustVoyager.txt, Hvězdička.txt) by měla být vytvořena. AI zatím nebude vytvářet obsah souborů, pouze adresáře a prázdné soubory s definovanými názvy a příponami tam, kde je to uvedeno.  
/star-dust-voyager-galaxy-wanderer  \# Kořenový adresář projektu  
|  
|-- client/                       \# Frontend aplikace (React, PixiJS, TypeScript)  
|   |-- public/                   \# Statické soubory přímo servírované web serverem  
|   |   |-- index.html            \# Hlavní HTML vstupní bod  
|   |   |-- favicon.ico  
|   |   |-- manifest.json  
|   |   |-- assets/               \# Herní grafické, zvukové a datové assety  
|   |   |   |-- images/           \# Obrázky a spritesheety  
|   |   |   |   |-- backgrounds/  \# Pozadí pro menu, hru, galaktickou mapu, panoramata  
|   |   |   |   |-- celestial\_bodies/ \# Sprity planet, hvězd, měsíců, asteroidů, komet  
|   |   |   |   |-- ships/        \# Sprity lodí (hráč, NPC, frakce, mimozemšťané)  
|   |   |   |   |   |-- player/  
|   |   |   |   |   |-- factions/ \# Podsložky pro jednotlivé frakce  
|   |   |   |   |   |-- aliens/   \# Podsložky pro mimozemské rasy  
|   |   |   |   |-- ship\_modules/ \# Vizuální reprezentace modulů lodí  
|   |   |   |   |-- projectiles/  \# Sprity/animace projektilů, paprsků  
|   |   |   |   |-- fx/           \# Spritesheety pro explózie, štíty, motory, warp, anomálie  
|   |   |   |   |-- ui/           \# Ikony, rámečky, tlačítka, prvky HUD, načítací obrazovky  
|   |   |   |   |   |-- icons/    \# Obecné UI ikony, ikony pro itemy, skilly, úspěchy, frakce atd.  
|   |   |   |   |   |-- buttons/  
|   |   |   |   |   |-- panels/  
|   |   |   |   |-- items/        \# Ikony pro předměty, suroviny, komponenty, plány  
|   |   |   |   |-- portraits/    \# Portréty postav, posádky, mimozemšťanů  
|   |   |   |   |   |-- procedural\_parts/ \# Části pro generování portrétů  
|   |   |   |   |-- codex/        \# Ilustrace pro Knižnici Znalostí  
|   |   |   |   |-- decals/       \# Nálepky a symboly pro lodě  
|   |   |   |-- audio/            \# Zvukové soubory  
|   |   |   |   |-- music/        \# Hudební stopy (ogg, mp3) \< 5MB \[cite: 20, 40\]  
|   |   |   |   |-- sfx/          \# Zvukové efekty (wav, ogg) \< 5MB \[cite: 20, 40\]  
|   |   |   |   |-- voices/       \# Krátké hlasové projevy (pokud budou)  
|   |   |   |-- fonts/            \# Pixel art fonty (ttf, woff2)  
|   |   |   |-- data/             \# JSON konfiguračné soubory pro hru (všechny s příponou \_cz.json pro české texty)  
|   |   |   |   |-- game\_setup/   \# Např. difficulty\_settings\_cz.json  
|   |   |   |   |-- ships/        \# např. ship\_classes\_cz.json, ship\_modules\_visuals\_cz.json  
|   |   |   |   |-- items/        \# např. resources\_cz.json, trade\_goods\_cz.json, consumables\_cz.json  
|   |   |   |   |-- celestial\_bodies/ \# např. planet\_types\_cz.json, star\_types\_cz.json, anomalies\_cz.json  
|   |   |   |   |-- research/     \# např. research\_tree\_main\_cz.json, tech\_definitions\_cz.json  
|   |   |   |   |-- factions/     \# např. faction\_definitions\_cz.json, alien\_races\_cz.json  
|   |   |   |   |-- quests/       \# např. main\_story\_nexus\_cz.json, side\_missions\_templates\_cz.json  
|   |   |   |   |-- codex/        \# např. codex\_entries\_planets\_cz.json, procedural\_lore\_templates\_cz.json  
|   |   |   |   |-- blueprints/   \# např. crafting\_blueprints\_all\_cz.json  
|   |   |   |   |-- player\_progression/ \# např. player\_skills\_cz.json, achievements\_cz.json  
|   |   |   |   |-- events/       \# např. dynamic\_events\_cz.json, galactic\_events\_cz.json  
|   |   |   |   |-- ui\_config/    \# např. hud\_layout\_cz.json, main\_menu\_config\_cz.json  
|   |   |   |   |-- name\_generation/ \# např. name\_syllables\_human\_cz.json, name\_patterns\_planets\_cz.json  
|   |   |   |   |-- game\_constants.json  
|   |   |-- shaders/              \# GLSL shadery (fragment .frag a vertex .vert) \- dle Sd.txt \[cite: 21, 40\]  
|   |       |-- effects/          \# např. distortion.frag, bloom.frag, heat\_haze.frag, pixelart\_gravitational\_lens.frag  
|   |       |-- celestial\_bodies/ \# např. planet\_surface\_lighting.frag, star\_corona.frag  
|   |       |-- postprocessing/   \# např. retro\_crt\_filter.frag  
|   |-- src/                      \# Zdrojový kód klienta  
|   |   |-- App.tsx               \# Hlavní React komponenta, routing, globální kontext  
|   |   |-- index.tsx             \# Vstupní bod React aplikace, renderování App  
|   |   |-- config/               \# Konfigurace klienta  
|   |   |   |-- clientConfig.ts  
|   |   |   |-- gameConstants.ts  // Fyzikální konstanty, UI rozměry, herní balanc  
|   |   |-- components/           \# Znovupoužitelné React UI komponenty \[cite: 22, 395\]  
|   |   |   |-- common/           \# Základní UI prvky (Button.tsx, Panel.tsx, Modal.tsx, Icon.tsx, ProgressBar.tsx, Slider.tsx) \[cite: 23\]  
|   |   |   |-- screens/          \# Komponenty pro hlavní herní obrazovky (MainMenuScreen.tsx, SettingsScreen.tsx, atd.)  
|   |   |   |-- hud/              \# Komponenty pro Heads-Up Display (HUD.tsx, TargetInfoPanel.tsx, MiniMap.tsx) \[cite: 22\]  
|   |   |   |-- game\_specific\_ui/ \# Specifické UI pro herní mechaniky (např. CraftingInterface.tsx, ResearchNode.tsx)  
|   |   |-- game/                 \# Hlavní herní logika (PixiJS, ECS) \[cite: 24, 396\]  
|   |   |   |-- core/             \# Základní herní systémy a manažery  
|   |   |   |   |-- GameController.ts \# Hlavní třída řídící hru, herní smyčka, správa scén  
|   |   |   |   |-- AssetManager.ts   \# Správa načítání a přístupu k assetům (obrázky, zvuky, JSON)  
|   |   |   |   |-- InputManager.ts   \# Zpracování vstupů (klávesnice, myš, gamepad, dotyk)  
|   |   |   |   |-- AudioManager.ts   \# Správa zvuku a hudby (dle Sd.txt\[cite: 19\], StarDustVoyager.txt \[cite: 391\])  
|   |   |   |   |-- SceneManager.ts   \# Správa přechodů mezi herními scénami  
|   |   |   |   |-- EventBus.ts       \# Globální event emitter  
|   |   |   |   |-- SaveLoadManager.ts \# Logika pro ukládání a načítání hry  
|   |   |   |   |-- TimeManager.ts    \# Správa herního času (G.S.R., domovský čas)  
|   |   |   |   |-- TutorialManager.ts  
|   |   |   |-- ecs/              \# Implementace Entity-Component-System  
|   |   |   |   |-- Entity.ts  
|   |   |   |   |-- Component.ts  
|   |   |   |   |-- System.ts  
|   |   |   |   |-- World.ts  
|   |   |   |-- components/       \# Herní komponenty (ECS) \- čistě datové \[cite: 25, 399\]  
|   |   |   |   |-- Transform.component.ts // Position, Rotation, Scale  
|   |   |   |   |-- PhysicsBody.component.ts // Velocity, Mass, Forces  
|   |   |   |   |-- Renderable.component.ts // SpriteKey, Tint, Alpha, ZIndex  
|   |   |   |   |-- Health.component.ts  
|   |   |   |   |-- Shield.component.ts  
|   |   |   |   |-- WeaponSystem.component.ts  
|   |   |   |   |-- AIController.component.ts  
|   |   |   |   |-- PlayerAgent.component.ts // Označuje entitu hráče  
|   |   |   |   |-- Faction.component.ts  
|   |   |   |   |-- CargoHold.component.ts  
|   |   |   |   |-- MiningTool.component.ts  
|   |   |   |   |-- WarpDrive.component.ts  
|   |   |   |   |-- CrewQuarters.component.ts  
|   |   |   |   |-- PlanetaryBaseAnchor.component.ts  
|   |   |   |   |-- QuestTarget.component.ts  
|   |   |   |   |-- DiscoveredByPlayer.component.ts  
|   |   |   |-- systems/          \# Herní systémy (ECS) \- logika \[cite: 28, 403\]  
|   |   |   |   |-- Movement.system.ts // Pohyb, rotace, warp  
|   |   |   |   |-- Physics.system.ts // Kolize, gravitace, setrvačnost  
|   |   |   |   |-- Rendering.system.ts // Vykreslování spritů, efektů, UI (PixiJS)  
|   |   |   |   |-- Combat.system.ts // Střelba, poškození, obrana  
|   |   |   |   |-- PlayerInput.system.ts  
|   |   |   |   |-- NPC\_AI.system.ts // Chování NPC lodí, frakcí  
|   |   |   |   |-- Mining.system.ts  
|   |   |   |   |-- Crafting.system.ts  
|   |   |   |   |-- Research.system.ts  
|   |   |   |   |-- Diplomacy.system.ts  
|   |   |   |   |-- Mission.system.ts  
|   |   |   |   |-- DynamicEvent.system.ts  
|   |   |   |   |-- Codex.system.ts  
|   |   |   |   |-- CrewManagement.system.ts  
|   |   |   |   |-- PlanetaryInteraction.system.ts  
|   |   |   |   |-- Animation.system.ts // Správa spritesheet animací  
|   |   |   |   |-- ParticleEffect.system.ts  
|   |   |   |   |-- SoundPlayback.system.ts  
|   |   |   |   |-- Persistence.system.ts // Pro in-session persistence  
|   |   |   |-- entities/         \# Funkce pro vytváření ("továrny") entit s předdefinovanými komponentami  
|   |   |   |   |-- createPlayerShip.ts  
|   |   |   |   |-- createAsteroid.ts  
|   |   |   |   |-- createPirateScout.ts  
|   |   |   |   |-- createPlanetVolcanic.ts  
|   |   |   |-- world\_generation/ \# Logika pro procedurální generování \[cite: 24, 397\]  
|   |   |   |   |-- GalaxyGenerator.ts  
|   |   |   |   |-- StarSystemGenerator.ts  
|   |   |   |   |-- CelestialBodyGenerator.ts // Planety, měsíce, hvězdy, asteroidy  
|   |   |   |   |-- NameGenerator.ts // Pro názvy systémů, planet, postav  
|   |   |   |   |-- PortraitGenerator.ts // Pro portréty posádky/NPC  
|   |   |   |-- utils/            \# Pomocné funkce a třídy (matematika, RNG, string utils) \[cite: 31, 408\]  
|   |   |   |-- types/            \# Globální TypeScript typy a rozhraní pro herní logiku  
|   |   |   |-- scenes/           \# Definice herních scén (každá může mít vlastní ECS World nebo sdílet)  
|   |   |       |-- InitialLoadingScene.ts  
|   |   |       |-- MainMenuScene.ts  
|   |   |       |-- NewGameSetupScene.ts  
|   |   |       |-- InSystemScene.ts  
|   |   |       |-- GalaxyMapScene.ts  
|   |   |       |-- OrbitViewScene.ts  
|   |   |-- services/             \# Služby pro komunikaci se serverem (API, WebSockets)  
|   |   |   |-- apiService.ts  
|   |   |   |-- webSocketService.ts  
|   |   |-- stores/               \# Správa globálního stavu aplikace (Zustand) \[cite: 28, 405\]  
|   |   |   |-- playerStore.ts  
|   |   |   |-- gameSessionStore.ts // Ukládá i in-session perzistentní data  
|   |   |   |-- uiStore.ts  
|   |   |   |-- settingsStore.ts  
|   |   |   |-- researchStore.ts  
|   |   |   |-- codexStore.ts  
|   |   |   |-- missionStore.ts  
|   |   |   |-- achievementStore.ts  
|   |   |-- styles/               \# Globální CSS/SCSS styly, témata (Emotion se používá pro komponenty)  
|   |   |-- hooks/                \# Vlastní React hooks  
|   |   |-- translations/         \# Soubory pro lokalizaci (i18n)  
|   |       |-- cs.json           \# České texty  
|   |       |-- en.json           \# Anglické texty (volitelně)  
|   |-- tsconfig.json             \# Konfigurace TypeScriptu pro klienta  
|   |-- package.json              \# Závislosti a skripty pro klienta  
|   |-- .env.local                \# Lokální proměnné prostředí (API URL)  
|  
|-- server/                       \# Backend (Node.js \+ TypeScript \+ MongoDB) \[cite: 33, 411\]  
|   |-- src/  
|   |   |-- config/  
|   |   |   |-- serverConfig.ts   \# Port, DB connection string, JWT secret, cesty k datům  
|   |   |   |-- corsOptions.ts  
|   |   |-- api/                  \# REST API routes (Express.js/Fastify)  
|   |   |   |-- index.ts          \# Hlavní router  
|   |   |   |-- auth.routes.ts    \# Autentifikace (registrácia, login)  
|   |   |   |-- player.routes.ts  \# Ukladanie/načítanie postupu hráča  
|   |   |   |-- game\_data.routes.ts \# Prípadné endpointy pre herné dáta (leaderboardy, mody)  
|   |   |-- ws/                   \# WebSocket handlery (Socket.IO)  
|   |   |   |-- index.ts          \# Hlavný WebSocket server  
|   |   |   |-- game\_sync.handler.ts \# Pre multiplayerové interakcie (ak budú)  
|   |   |   |-- chat.handler.ts  
|   |   |-- db/                   \# Interakcia s databázou (Mongoose)  
|   |   |   |-- models/           \# MongoDB schémy/modely  
|   |   |   |   |-- Player.model.ts  
|   |   |   |   |-- GameSave.model.ts  
|   |   |   |   |-- FactionState.model.ts // Ak je stav frakcií perzistentný na serveri  
|   |   |   |-- connection.ts     \# Pripojenie k MongoDB  
|   |   |-- services/             \# Serverové služby (logika pre autentifikáciu, validáciu, atď.)  
|   |   |   |-- auth.service.ts  
|   |   |   |-- player.service.ts  
|   |   |   |-- mod\_validation.service.ts \[cite: 34\]  
|   |   |-- middleware/           \# Express.js/Fastify middleware (napr. pre autentifikáciu JWT, rate limiting \[cite: 35\])  
|   |   |-- index.ts              \# Vstupný bod serverovej aplikácie (spustenie servera)  
|   |   |-- types/                \# TypeScript typy špecifické pre server  
|   |-- tsconfig.json             \# Konfigurácia TypeScriptu pre server  
|   |-- package.json              \# Závislosti a skripty pre server  
|   |-- .env                      \# Premenné prostredia pre server  
|  
|-- shared/                       \# Kód (hlavne typy) zdieľaný medzi klientom a serverom  
|   |-- types/                    \# Spoločné TypeScript typy a rozhrania  
|   |   |-- IPlayer.ts  
|   |   |-- IGameSave.ts  
|   |   |-- IAPIResponse.ts  
|   |   |-- ICelestialBodyData.ts // Základné typy pre planéty, hviezdy atď.  
|   |   |-- IShipModuleData.ts  
|   |   |-- IFactionData.ts  
|   |   |-- IQuestData.ts  
|   |-- utils/                    \# Spoločné pomocné funkcie (napr. validátory, formátovače)  
|   |-- constants/                \# Spoločné konštanty (napr. názvy eventov, herné limity)  
|  
|-- docs/                         \# Dokumentácia hry \[cite: 37, 418\]  
|   |-- GDD/                      \# Game Design Dokumenty (tieto prompty)  
|   |-- API\_Docs/                 \# Dokumentácia API (napr. generovaná Swaggerom/OpenAPI)  
|   |-- Modding\_Guide\_cz.md/      \# Návod pre modderov v češtině \[cite: 37, 419\]  
|   |-- Architecture\_Overview.md  \# Přehled architektury \[cite: 37, 418\]  
|  
|-- tools/                        \# Vývojové nástroje \[cite: 36, 415\]  
|   |-- sprite\_editor/            \# (Konceptuálně) Jednoduchý editor spritů nebo integrace s externím  
|   |-- galaxy\_visualizer/        \# Nástroj pro vizualizaci generované galaxie  
|   |-- mod\_builder\_cli/          \# CLI nástroj pro vytváření a balení modů  
|  
|-- tests/                        \# Testy \[cite: 37, 417\]  
|   |-- unit/                     \# Jednotkové testy (Jest)  
|   |   |-- ecs/                  \# např. movementSystem.test.ts  
|   |   |-- world\_generation/     \# např. galaxyGenerator.test.ts  
|   |-- integration/              \# Integrační testy  
|   |   |-- combatFlow.test.ts  
|   |   |-- tradeMission.test.ts  
|   |-- e2e/                      \# End-to-end testy (Cypress)  
|       |-- newGameToFirstWarp.spec.ts  
|  
|-- .gitignore                    \# Ignorované soubory a složky (node\_modules/, dist/, .env\*)  
|-- .eslintrc.js                  \# Konfigurace ESLint  
|-- .prettierrc.js                \# Konfigurace Prettier  
|-- README\_cz.md                  \# Hlavní README projektu v češtině  
|-- LICENSE                       \# Licence projektu

Popis Účelu Klíčových Složek:

* client/: Obsahuje veškerý kód a assety pro herního klienta, který běží v prohlížeči nebo jako zabalená aplikace.  
  * public/assets/: Místo pro všechny statické herní zdroje (obrázky, zvuky, data). Je důležité zde udržovat jasnou a intuitivní strukturu podsložek.  
  * src/components/: React komponenty tvořící uživatelské rozhraní.  
  * src/game/: Jádro herní logiky, implementované pomocí ECS architektury a PixiJS pro vykreslování.  
  * src/stores/: Globální správa stavu pomocí Zustand.  
* server/: Backendová část aplikace pro perzistenci dat, případné multiplayer funkce a validaci modů.  
* shared/: Kód (především TypeScript typy a rozhraní), který je sdílen mezi klientem a serverem pro zajištění konzistence.  
* docs/: Veškerá projektová a herní dokumentace.  
* tools/: Pomocné nástroje pro vývoj (např. editor spritů, vizualizér galaxie).  
* tests/: Automatizované testy pro zajištění kvality kódu.

### **4\. Konvence Pojmenování Souborů a Proměnných**

Pro udržení přehlednosti a konzistence v kódu budou dodržovány následující konvence:

* Soubory a Složky:  
  * Složky: kebab-case (např. celestial-bodies, ui-components).  
  * TypeScript/JavaScript soubory: camelCase.ts nebo PascalCase.ts (např. assetManager.ts, PlayerShip.ts).  
  * React komponenty: PascalCase.tsx (např. MainMenuScreen.tsx, Button.tsx).  
  * Konfigurační JSON soubory s českými texty: nazev\_konfigurace\_cz.json (např. planety\_typy\_cz.json).  
  * CSS/SCSS moduly (pokud by se používaly mimo Emotion): ComponentName.module.scss.  
* Proměnné a Funkce:  
  * camelCase (např. playerHealth, calculateDamage).  
* Třídy, Rozhraní, Typy, Enumy:  
  * PascalCase (např. ShipModuleData, PlayerState, enum GameScreen).  
* Konstanty:  
  * UPPER\_SNAKE\_CASE (např. MAX\_SPEED, DEFAULT\_PLANET\_SIZE).  
* Grafické Assety (Soubory):  
  * Formát: kategorie\_typ\_specifikace\_{varianta}\_{velikostPokudRelevantni}\_{animPokudRelevantni}.png (nebo jiná přípona).  
  * Příklady: ship\_fighter\_krall\_talon\_v1\_128px.png, planet\_terrestrial\_earthlike\_orbit\_800px.png, icon\_item\_medkit\_basic\_48px.png, fx\_explosion\_medium\_ship\_anim\_sheet.png, ui\_button\_confirm\_blue\_hover.png.  
  * Vše malými písmeny, odděleno podtržítky pro maximální kompatibilitu a čitelnost.  
* Zvukové Assety (Soubory):  
  * Formát: kategorie\_specifickyPopis\_{varianta}.wav (pro krátké efekty) / .ogg (pro hudbu a delší ambientní zvuky).  
  * Příklady: sfx\_weapon\_laser\_fire\_heavy\_01.wav, music\_theme\_main\_menu\_loop.ogg, ambience\_station\_tradehub\_busy\_loop.ogg.

### **5\. Požadované Základní Knihovny a Nástroje k Instalaci**

AI by měla zajistit, že package.json soubory pro klienta a server budou obsahovat následující klíčové závislosti (konkrétní verze "latest" nebo dle potřeby kompatibility):

* Klient (client/package.json):  
  * Hlavní: react, react-dom, pixi.js, zustand, typescript.  
  * Typy: @types/react, @types/react-dom, @types/node, @types/pixi.js.  
  * Stylování: @emotion/react, @emotion/styled.  
  * Routing: react-router-dom.  
  * Lokalizace: i18next, react-i18next.  
  * Utility: uuid, lodash (nebo ramda), howler.js (pro audio, pokud vestavěné nestačí).  
  * Vývojové: eslint, prettier, vite (nebo react-scripts s craco), @typescript-eslint/parser, @typescript-eslint/eslint-plugin, eslint-plugin-react.  
* Server (server/package.json):  
  * Hlavní: express (nebo fastify), mongoose, socket.io, jsonwebtoken, bcryptjs, typescript, cors.  
  * Typy: @types/express, @types/mongoose, @types/socket.io, @types/jsonwebtoken, @types/bcryptjs, @types/cors.  
  * Vývojové: ts-node, nodemon, eslint, prettier.  
* Globální (pro projekt):  
  * husky, lint-staged (pro pre-commit hooky).  
  * jest (pro jednotkové a integrační testy), ts-jest.  
  * cypress (pro E2E testy).

### **6\. Základní Konfigurační Soubory (Přehled)**

AI by měla vytvořit základní verze těchto konfiguračních souborů s doporučeným nastavením:

* client/tsconfig.json a server/tsconfig.json: Konfigurace pro TypeScript kompilátor, včetně strict: true\[cite: 38\], esModuleInterop: true, nastavení paths pro aliasy importů, jsx: "react-jsx".  
* .eslintrc.js (v kořeni projektu): Konfigurace pro ESLint s doporučenými pravidly pro TypeScript a React.  
* .prettierrc.js (v kořeni projektu): Konfigurace pro Prettier pro jednotné formátování kódu.  
* .gitignore (v kořeni projektu): Seznam ignorovaných souborů a složek (např. node\_modules/, dist/, build/, .env\*, .DS\_Store).  
* client/.env.local a server/.env: Soubory pro lokální proměnné prostředí (např. REACT\_APP\_API\_URL pro klienta, DATABASE\_URL, JWT\_SECRET, PORT pro server). Tyto soubory nebudou commitovány do Gitu. Vytvořit také .env.example soubory se šablonami.  
* client/package.json a server/package.json: AI vygeneruje základní package.json s názvem projektu, verzí a skripty jako start, dev (pro spuštění s nodemon/vite HMR), build, test, lint, format. AI také přidá výše uvedené knihovny do dependencies a devDependencies.

### **7\. Direktiva pro AI (Lovable.dev) \- Založení Projektu**

1. Vytvořit Adresářovou Strukturu: AI vygeneruje kompletní adresářovou strukturu definovanou v Sekci 3, včetně všech uvedených podsložek. Vytvoří prázdné soubory s uvedenými názvy tam, kde je to specifikováno (např. GameController.ts, clientConfig.ts).  
2. Inicializovat package.json: Pro client/ a server/ AI inicializuje package.json a přidá všechny knihovny uvedené v Sekci 5 do příslušných dependencies a devDependencies. Použít npm install nebo yarn add (konceptuálně).  
3. Vytvořit Základní Konfigurační Soubory: AI vytvoří soubory uvedené v Sekci 6 s doporučeným základním obsahem (např. tsconfig.json s strict: true, základní .gitignore).  
4. NepImplementovat Herní Logiku: V této fázi AI nebude psát žádný kód do herních logických souborů (např. do systémů ECS, React komponent pro obrazovky, atd.). Cílem tohoto promptu je pouze příprava kostry projektu. Obsah těchto souborů bude definován v následujících promptech.  
5. Nastavit Linting a Formátování: Konfigurovat ESLint a Prettier pro projekt.  
6. Inicializovat Git Repozitář: (Konceptuálně) Vytvořit .git adresář a provést první commit se základní strukturou projektu.

### **8\. Diagram Herního Toku a Propojení Komponent**

(Zde by AI vložila vylepšený diagram hry. Protože já jako textový model nemohu přímo pracovat s obrázky, AI (Lovable.dev) by měla tento diagram buď vygenerovat jako SVG/PNG na základě mého textového popisu v následujících promptech, nebo by zde byl placeholder pro manuální vložení. Prozatím popíšu, co by měl základní diagram obsahovat a jak bude rozšiřován.)  
Základní Koncept Diagramu (bude rozšiřován v každém promptu):  
Diagram bude vizualizovat hlavní komponenty a tok mezi nimi. Pro tento Prompt 01 (Založení Projektu), diagram by měl velmi zjednodušeně ukazovat:  
graph TD  
    A\[Start Aplikace\] \--\> B(InitialLoadingScreen);  
    B \--\> C{Hlavní Menu (MainMenuScreen)};  
    C \--\> |Nová Hra| D(TransitionLoadingScreen);  
    D \--\> E\[Nastavení Nové Hry (NewGameSetupScreen)\];  
    C \--\> |Načíst Hru| F(TransitionLoadingScreen);  
    F \--\> G\[Načtení Uložené Hry (LoadGameScreen)\];  
    C \--\> |Nastavení| H\[Nastavení (SettingsScreen) \- Modální\];  
    C \--\> |Knihovna| I\[Knihovna Znalostí (KnowledgeLibraryScreen) \- Modální\];  
    C \--\> |Tvůrci| J\[Tvůrci (CreditsScreen) \- Modální\];  
    C \--\> |Ukončit| K\[Potvrzovací Dialog Ukončení\];

    subgraph Projektová Struktura \[Definováno v NS\_Prompt\_01\]  
        direction LR  
        S01\[client/\]  
        S02\[server/\]  
        S03\[shared/\]  
        S04\[docs/\]  
        S05\[tools/\]  
        S06\[tests/\]  
    end

    %% Zvýraznění aktuální části diagramu pro NS\_Prompt\_01  
    style Projektová Struktura fill:\#333,stroke:\#fff,stroke-width:2px,color:\#fff  
    style A fill:\#333,stroke:\#fff,stroke-width:2px,color:\#fff

Popis Zvýrazněné Části Diagramu pro NS\_Prompt\_01:  
Tento prompt se zaměřuje na vytvoření základní Projektové Struktury (client/, server/, shared/, atd.) a definuje počáteční bod aplikace (Start Aplikace), který vede k první viditelné obrazovce (InitialLoadingScreen) a následně k Hlavnímu Menu. Ostatní propojení z Hlavního Menu jsou zde naznačena, ale jejich detailní implementace bude následovat v dalších promptech.  
(Tento diagram bude AI agent vkládat na konec každého promptu a vždy zvýrazní tu část, kterou daný prompt detailně popisuje, a přidá nová relevantní propojení.)  
Tento první prompt nové série by měl AI (Lovable.dev) poskytnout všechny potřebné informace k založení robustní a dobře organizované kostry projektu pro hru "Star Dust Voyager: Galaxy Wanderer".  
Jakmile budeš mít připravený náčrt diagramu, nebo pokud chceš, abychom začali s diagramem, který jsem zde naznačil a budeme ho postupně rozvíjet, dej vědět. Poté se můžeme pustit do druhého promptu, který se zaměří na InitialLoadingScreen a MainMenuScreen s detailním popisem jejich UI, assetů a funkcí.