deepsite / Pr3.md
Mara6's picture
Upload 5 files
db0177d verified
|
raw
history blame
22.9 kB
### **NS\_Prompt\_03.txt**
' STAR DUST VOYAGER: GALAXY WANDERER \- TRANSITION LOADING SCREEN AND NEW GAME SETUP MODULE
' CREATED BY GROK 3 (XAI) \- 02:15 PM CEST, MONDAY, JULY 21, 2025
' SPECIFIES DESIGN, VISUALS, LAYOUT, FUNCTIONALITY, ANIMATIONS, AND ASSETS FOR TRANSITIONLOADINGSCREEN AND NEWGAMESETUPSCREEN
' TARGETED FOR TRAE AI AGENT (LOVABLE.DEV)
' PURPOSE: DEVELOP TRANSITION LOADING SCREENS AND A MULTI-STEP NEW GAME SETUP WITH PILOT CREATION, SHIP SELECTION, CREW CHOICE, AND DIFFICULTY SETTINGS IN COMPLEX PIXELART STYLE, WITH CZECH LOCALIZATION
' GOALS
' \- Design and implement the TransitionLoadingScreen for smooth scene transitions, featuring animated warp lines and a pulsating nexus symbol, rendered with PixiJS.
' \- Create a multi-step NewGameSetupScreen with detailed UI for difficulty selection, pilot creation (with procedural portraits), ship selection, optional crew and scenario choices, and a summary step, all in retro-futuristic pixelart style.
' \- Ensure all player-facing text is in Czech using i18next, with dynamic updates and tooltips for enhanced UX.
' \- Generate high-quality pixelart assets (backgrounds, sprites, icons) and sound effects, optimized for PixiJS rendering and the game’s aesthetic from NS\_Prompt\_01 and Prompt 35\.
' \- Integrate with SceneManager for seamless transitions and gameSessionStore for saving player choices.
' \- Prepare for subsequent prompts (e.g., NS\_Prompt\_04 for InSystemScene) by establishing reusable UI patterns and procedural generation logic.
' PROJECT CONTEXT
' \- BUILDS ON: NS\_Prompt\_01 (project structure, tech stack), NS\_Prompt\_02 (InitialLoadingScreen, MainMenuScreen), and references Prompt 35 (global visual style) and Prompt 27/40 (alien races, portrait generation).
' \- ASSUMPTIONS: PixiApplication, AssetManager, and SceneManager are functional; placeholder assets and localization (cs.json) are available.
' \- DEPENDENCIES: client/src/game/rendering/PixiApplication.ts, client/src/game/core/AssetManager.ts, client/src/game/core/SceneManager.ts, client/public/locales/cs.json.
' 0\. ASSUMPTIONS AND GLOBAL STYLES
' \- PIXEL ART STYLE: Strict adherence to "Complex Detailed Pixel Art Style with Retro Touch" (Prompt 1, 35), 16x16px base tile, with 3D depth via parallax and lighting effects.
' \- ASSET DIRECTORY: Follows NS\_Prompt\_01 structure (e.g., client/public/assets/).
' \- UI COMPONENTS: Uses global styles (ButtonStyle\_Standard\_PixelArt, FontStyle\_PixelArt\_DefaultText) from NS\_Prompt\_01.
' \- LOCALIZATION: All text uses i18next keys with Czech defaults.
' 1\. TRANSITIONLOADINGSCREEN
' \- PURPOSE: Short loading screen between main scenes (e.g., MainMenu to NewGameSetup), displaying contextual text and animations.
' \- SPECIFICATION (TransitionLoadingScreenConfig):
\`\`\`json
{
"id": "TransitionLoadingScreen",
"screenName\_cz": "Načítání...",
"background": {
"type": "Subtle\_Animated\_PixelArt",
"assetPath": "client/public/assets/images/ui/loading\_screens/transition\_warp\_lines\_subtle\_pixel\_anim\_sheet.png",
"animationParams": { "frameCount": 32, "speed": 5, "loop": true },
"overlayColor": "\#000000B0"
},
"loadingIndicator": {
"type": "Pulsating\_Nexus\_Symbol\_Small\_PixelArt",
"assetPath": "client/public/assets/images/ui/icons/nexus\_symbol\_loading\_pulsate\_pixelart\_anim.png",
"animationParams": { "frameCount": 16, "speed": 2, "loop": true },
"position": { "x\_percent": 50, "y\_percent": 45, "anchor\_x": 0.5, "anchor\_y": 0.5 },
"sizePx": { "x": 48, "y": 48 }
},
"loadingText": {
"display": true,
"dynamicKey\_cz": "loading.text.contextual\_cz",
"defaultText\_cz": "PROSÍM ČEKEJTE...",
"fontStyleKey": "FontStyle\_PixelArt\_Loading\_Transition",
"position": { "x\_percent": 50, "y\_percent": 55, "anchor\_x": 0.5, "anchor\_y": 0.5 }
},
"displayDuration\_IfNoRealTask\_ms": 300,
"fadeInOut\_Animation": { "type": "FadeToFromBlack", "durationMs": 200 }
}
’ \- DESCRIPTION: ’ \- Displays animated warp lines and a pulsating nexus symbol during scene transitions or data loading. ’ \- Text updates dynamically (e.g., “Generování Postavy…”) via SceneManager. ’ \- PIXIJS IMPLEMENTATION: ’ \- Use PixiApplication with a Container for background (AnimatedSprite) and indicator (AnimatedSprite). ’ \- Apply overlay with Graphics and Text for loading message. ’ \- Animate via ticker with fade-in/out using PixiJS AlphaFilter. ’ \- REQUIRED ASSETS: ’ \- client/public/assets/images/ui/loading\_screens/transition\_warp\_lines\_subtle\_pixel\_anim\_sheet.png: 1280x720px, 32-frame spritesheet, warp effect with \#3388ff lines on \#050510. ’ \- client/public/assets/images/ui/icons/nexus\_symbol\_loading\_pulsate\_pixelart\_anim.png: 48x48px, 16-frame spritesheet, pulsating \#FFD700 symbol on \#050510. ’ \- FontStyle\_PixelArt\_Loading\_Transition: 16px, white \#FFFFFF with \#00AACC outline.
’ 2\. NEWGAMESETUPSCREEN ’ \- PURPOSE: Multi-step screen for configuring a new game, including difficulty, pilot creation, ship selection, crew choice, scenario, and summary. ’ \- SPECIFICATION (NewGameSetupScreenConfig):
{
"id": "NewGameSetupScreen",
"screenName\_cz": "Nová Hra \- Nastavení",
"panelStyle": {
"backgroundImageAsset\_Subtle\_Path": "client/public/assets/images/ui/backgrounds/new\_game\_setup\_bg\_blueprint\_grid\_animated.png",
"backgroundColor": "\#080A18F8",
"borderColor": "\#00AACC",
"borderWidthPx": 2,
"widthPercentOfScreen": 90,
"heightPercentOfScreen": 90,
"paddingPx": 30
},
"steps": \[
{ "stepId": "difficulty\_selection", "titleKey\_cz": "newgame.step1.title\_cz", "defaultTitle\_cz": "Nastavení Obtížnosti a Módů Hry", "ui\_Component\_Key": "NewGameStep\_Difficulty" },
{ "stepId": "pilot\_creation", "titleKey\_cz": "newgame.step2.title\_cz", "defaultTitle\_cz": "Vytvoření Pilota", "ui\_Component\_Key": "NewGameStep\_PilotCreation" },
{ "stepId": "ship\_selection", "titleKey\_cz": "newgame.step3.title\_cz", "defaultTitle\_cz": "Výběr Počáteční Lodi", "ui\_Component\_Key": "NewGameStep\_ShipSelection" },
{ "stepId": "crew\_selection", "titleKey\_cz": "newgame.step4.title\_cz", "defaultTitle\_cz": "Sestavení Počáteční Posádky (Volitelné)", "ui\_Component\_Key": "NewGameStep\_CrewSelection" },
{ "stepId": "scenario\_selection", "titleKey\_cz": "newgame.step5.title\_cz", "defaultTitle\_cz": "Zvolte Počáteční Scénář (Volitelné)", "ui\_Component\_Key": "NewGameStep\_ScenarioSelection" },
{ "stepId": "summary", "titleKey\_cz": "newgame.step6.title\_cz", "defaultTitle\_cz": "Souhrn Vašich Voleb", "ui\_Component\_Key": "NewGameStep\_Summary" }
\],
"navigationButtons": {
"nextButton\_TextKey\_cz": "newgame.next\_cz", "defaultNextButton\_Text\_cz": "Další \>",
"previousButton\_TextKey\_cz": "newgame.previous\_cz", "defaultPreviousButton\_Text\_cz": "\< Zpět",
"startGameButton\_TextKey\_cz": "newgame.start\_cz", "defaultStartGameButton\_Text\_cz": "Zahájit Dobrodružství\!",
"buttonStyleKey": "ButtonStyle\_Large\_Confirm\_PixelArt",
"layout\_Position": "Bottom\_Center\_Spread"
},
"stepIndicator\_UI": {
"displayType": "DotSequence\_Highlighted",
"dotStyle\_Active\_Asset": "assets/images/ui/dot\_active\_gold\_pixelart.png",
"dotStyle\_Inactive\_Asset": "assets/images/ui/dot\_inactive\_gray\_pixelart.png",
"position": "TopCenter"
},
"music\_NewGameSetup\_AssetPath": "client/public/assets/audio/music/themes/new\_game\_setup\_theme\_contemplative\_tech\_loop.ogg",
"transitionTo\_OnStartGame\_ScreenId": "TransitionLoadingScreen\_To\_InGame"
}
’ 2.1 STEP 1: DIFFICULTY AND GAME MODE SELECTION ’ \- SPECIFICATION (NewGame\_Step\_DifficultyConfig):
{
"ui\_Component\_Key": "NewGameStep\_Difficulty",
"titleKey\_cz": "newgame.step1.title\_cz", "defaultTitle\_cz": "Nastavení Obtížnosti a Módů Hry",
"layout\_Columns": 2,
"difficultySelection\_UI": {
"labelKey\_cz": "newgame.difficulty.label\_cz", "defaultLabel\_cz": "Zvolte Obtížnost:",
"options": \[
{ "value": "Easy", "labelKey\_cz": "difficulty.easy\_cz", "defaultLabel\_cz": "Lehká (Tulák Začátečník)", "description\_cz": "Mírnější nepřátelé, více zdrojů, menší postihy.", "iconAsset": "assets/images/icons/ui/difficulty\_easy\_shield.png" },
{ "value": "Normal", "labelKey\_cz": "difficulty.normal\_cz", "defaultLabel\_cz": "Normální (Ostřílený Poutník)", "description\_cz": "Vyvážený zážitek.", "iconAsset": "assets/images/icons/ui/difficulty\_normal\_sword\_shield.png" },
{ "value": "Hard", "labelKey\_cz": "difficulty.hard\_cz", "defaultLabel\_cz": "Těžká (Vesmírný Vlk Samotář)", "description\_cz": "Silnější nepřátelé, méně zdrojů.", "iconAsset": "assets/images/icons/ui/difficulty\_hard\_skull.png" },
{ "value": "Roguelike", "labelKey\_cz": "difficulty.roguelike\_cz", "defaultLabel\_cz": "Nemilosrdná (Legenda Prázdnoty)", "description\_cz": "Trvalá smrt, extrémní výzva.", "iconAsset": "assets/images/icons/ui/difficulty\_roguelike\_broken\_skull.png" }
\],
"displayType": "LargeButtons\_With\_IconAndDescription",
"selectedOption\_HighlightStyleKey": "SelectionHighlight\_GoldBorder\_Animated",
"defaultSelection": "Normal"
},
"gameModes\_UI": {
"labelKey\_cz": "newgame.gamemodes.label\_cz", "defaultLabel\_cz": "Speciální Herní Módy:",
"options": \[
{ "id": "permadeath\_mode", "labelKey\_cz": "gamemode.permadeath\_cz", "defaultLabel\_cz": "Trvalá Smrt", "tooltip\_cz": "Hra končí při explozi lodi (pouze pro 'Nemilosrdná').", "checkboxStyleKey": "Checkbox\_RetroTech\_Large", "isEnabled\_Condition": "difficulty \=== 'Roguelike'" },
{ "id": "ironman\_mode", "labelKey\_cz": "gamemode.ironman\_cz", "defaultLabel\_cz": "Režim Ironman", "tooltip\_cz": "Zakázané manuální ukládání.", "checkboxStyleKey": "Checkbox\_RetroTech\_Large" }
\]
},
"galaxySeed\_UI": {
"labelKey\_cz": "newgame.galaxyseed.label\_cz", "defaultLabel\_cz": "Seed Galaxie (volitelné):",
"inputField\_StyleKey": "TextInput\_PixelArt\_Retro\_Medium",
"randomizeButton\_Text\_cz": "Náhodný", "randomizeButton\_IconAsset": "assets/images/icons/ui/dice\_random\_icon.png", "randomizeButton\_StyleKey": "Button\_Small\_IconOnly\_PixelArt"
}
}
’ \- PIXIJS: Render buttons as Sprites with AnimatedSprite highlights, text via Text objects.
’ 2.2 STEP 2: PILOT CREATION ’ \- SPECIFICATION (NewGame\_Step\_PilotCreationConfig):
{
"ui\_Component\_Key": "NewGameStep\_PilotCreation",
"titleKey\_cz": "newgame.step2.title\_cz", "defaultTitle\_cz": "Vytvoření Pilota",
"layout\_Columns": 2,
"pilotName\_Input\_UI": {
"labelKey\_cz": "newgame.pilot.name\_cz", "defaultLabel\_cz": "Jméno Pilota:",
"inputField\_StyleKey": "TextInput\_PixelArt\_Retro\_Large",
"maxLength": 24
},
"pilotRace\_Selection\_UI": {
"labelKey\_cz": "newgame.pilot.race\_cz", "defaultLabel\_cz": "Rasa:",
"displayType": "Dropdown\_With\_RaceIcons\_And\_InfoTooltip",
"options\_Source\_AlienRaceDefinitions\_Playable": true,
"onRaceChange\_Action": "UpdatePortraitGenerator\_WithRaceParts\_And\_ResetAppearance"
},
"pilotPortrait\_Customization\_UI": {
"previewArea\_SizePx": { "x": 256, "y": 256 },
"previewBackground\_AssetPath": "assets/images/ui/new\_game\_setup/portrait\_preview\_bg\_tech.png",
"componentCategories\_cz": \[
{ "categoryId": "HeadShape", "label\_cz": "Tvar Hlavy", "partType\_Reference": "HeadShape" },
{ "categoryId": "HairStyle", "label\_cz": "Účes/Hlavové Útvary", "partType\_Reference": "HairOrHeadFeature" },
{ "categoryId": "Eyes", "label\_cz": "Oči", "partType\_Reference": "Eyes" },
{ "categoryId": "Mouth", "label\_cz": "Ústa", "partType\_Reference": "Mouth" },
{ "categoryId": "SkinPatterns", "label\_cz": "Vzory Kůže", "partType\_Reference": "SkinPattern" },
{ "categoryId": "Clothing", "label\_cz": "Oblečení \- Trup", "partType\_Reference": "Clothing" },
{ "categoryId": "Accessories", "label\_cz": "Doplňky", "partType\_Reference": "Accessory" }
\],
"partSelection\_UI\_Type": "Horizontal\_IconStrip\_With\_Arrows",
"colorSelection\_UI\_Type\_ForColorableParts": "PaletteGrid\_SmallSwatches",
"randomizeAppearance\_Button\_cz": {
"text\_cz": "Náhodný Vzhled", "iconAsset": "assets/images/icons/ui/dice\_random\_icon\_large.png",
"styleKey": "Button\_Standard\_PixelArt\_WithIcon",
"action": "Call\_ProceduralPortraitGenerator\_RandomizeForCurrentRace"
},
"genderOrEquivalent\_Selection\_IfRaceHasMultiple\_cz": true
},
"pilotOrigin\_Selection\_UI\_Optional": {
"labelKey\_cz": "newgame.pilot.origin\_cz", "defaultLabel\_cz": "Původ:",
"options\_Path": "assets/data/player\_setup/pilot\_origins\_cz.json",
"displayType": "Dropdown\_With\_DescriptionTooltip"
}
}
’ \- PIXIJS: Render preview as Sprite, use AnimatedSprite for part changes, Text for labels.
’ 2.3 STEP 3: SHIP SELECTION ’ \- SPECIFICATION (NewGame\_Step\_ShipSelectionConfig):
{
"ui\_Component\_Key": "NewGameStep\_ShipSelection",
"titleKey\_cz": "newgame.step3.title\_cz", "defaultTitle\_cz": "Výběr Počáteční Lodi",
"layout\_Type": "Horizontal\_ShipCarousel\_With\_StatsDisplay",
"availableStartingShips\_Ids": \["explorer\_scout\_nomad\_player\_start", "fighter\_light\_arrow\_starter", "transport\_small\_hauler\_starter", "corvette\_stealth\_shadow\_starter"\],
"shipDisplay\_InUI": {
"sprite\_AssetPath\_From\_ShipClassDefinition": true,
"sprite\_ScaleFactor": 1.0,
"animation\_Idle\_SubtleRotation\_Or\_EngineFlicker": { "frameCount": 8, "speed": 3, "loop": true },
"background\_ForShipSprite\_AssetPath": "assets/images/ui/new\_game\_setup/ship\_display\_hangar\_bay\_bg.png"
},
"shipStats\_Display\_KeyElements\_cz": \["Název Třídy", "Role", "Max. Trup", "Max. Štíty", "Rychlost", "Obratnost", "Nákladový Prostor", "Počet Zbraňových Slotů", "Stručný Popis Výhod/Nevýhod"\],
"shipStats\_Comparison\_UI\_Optional": true,
"shipName\_Input\_UI": {
"labelKey\_cz": "newgame.ship.name\_cz", "defaultLabel\_cz": "Pojmenujte Svou Loď:",
"inputField\_StyleKey": "TextInput\_PixelArt\_Retro\_Medium"
},
"shipColor\_Selection\_UI\_Basic": {
"labelKey\_cz": "newgame.ship.color\_cz", "defaultLabel\_cz": "Primární Barva Lodi:",
"colorPalette\_Options\_Path": "assets/data/player\_setup/ship\_starting\_colors.json",
"displayType": "ColorSwatch\_Buttons\_Selectable"
}
}
’ \- PIXIJS: Use Carousel with AnimatedSprite for ships, Text for stats.
’ 2.4 STEP 4: CREW SELECTION (OPTIONAL) ’ \- SPECIFICATION (NewGame\_Step\_CrewSelectionConfig):
{
"ui\_Component\_Key": "NewGameStep\_CrewSelection",
"titleKey\_cz": "newgame.step4.title\_cz", "defaultTitle\_cz": "Sestavení Počáteční Posádky (Volitelné)",
"allowSkip\_Button\_Text\_cz": "Začít Sám",
"maxSelectableCrew\_Initial": 2,
"candidatePool\_Generation\_Logic\_cz": "4-6 random candidates with procedural portraits and traits.",
"candidateDisplay\_UI\_ListItem": {
"layout\_cz": "Portrét vlevo, Jméno/Rasa/Hlavní Dovednost/Rys vpravo.",
"portraitSizePx": { "x": 48, "y": 48 },
"fontStyle\_NameKey": "StandardText\_Bold",
"fontStyle\_InfoKey": "SmallText\_Default",
"selectionCheckbox\_StyleKey": "Checkbox\_RetroTech\_Small"
},
"selectedCrew\_Summary\_Panel\_cz": "Small panel with portraits and names."
}
’ \- PIXIJS: Render candidates as Sprites, use Text for details.
’ 2.5 STEP 5: SCENARIO SELECTION (OPTIONAL) ’ \- SPECIFICATION (NewGame\_Step\_ScenarioSelectionConfig):
{
"ui\_Component\_Key": "NewGameStep\_ScenarioSelection",
"titleKey\_cz": "newgame.step5.title\_cz", "defaultTitle\_cz": "Zvolte Počáteční Scénář (Volitelné)",
"allowSkip\_Button\_Text\_cz": "Standardní Začátek",
"scenarioOptions\_Path": "assets/data/player\_setup/starting\_scenarios\_cz.json",
"displayType": "SelectableCards\_With\_ImageAndDescription",
"cardStyle\_AssetPath\_Template": "assets/images/ui/new\_game\_setup/scenario\_card\_{scenarioId}.png"
}
’ \- PIXIJS: Render cards as Sprites with Text overlays.
’ 2.6 STEP 6: SUMMARY ’ \- SPECIFICATION (NewGame\_Step\_SummaryConfig):
{
"ui\_Component\_Key": "NewGameStep\_Summary",
"titleKey\_cz": "newgame.step6.title\_cz", "defaultTitle\_cz": "Souhrn Vašich Voleb",
"layout\_Display\_ReadAllChoices\_cz": "Display all choices: Difficulty, Pilot Name/Race/Portrait, Origin, Ship, Crew, Scenario.",
"confirmationText\_cz": "Jste připraveni zahájit své vesmírné dobrodružství?",
"startGame\_Button\_Reference": "NewGameSetupScreenConfig.navigationButtons.startGameButton"
}
’ \- PIXIJS: Use Container for summary layout, Text for details.
’ 3\. REQUIRED GRAPHIC ASSETS ’ \- BACKGROUND: client/public/assets/images/ui/backgrounds/new\_game\_setup\_bg\_blueprint\_grid\_animated.png: 1280x720px, animated grid, \#00AACC lines. ’ \- DIFFICULTY ICONS: assets/images/icons/ui/difficulty\_easy\_shield.png, difficulty\_normal\_sword\_shield.png, difficulty\_hard\_skull.png, difficulty\_roguelike\_broken\_skull.png: 32x32px each. ’ \- GAME MODE ICONS: assets/images/icons/ui/gamemode\_permadeath\_icon.png, gamemode\_ironman\_icon.png: 24x24px. ’ \- RANDOMIZE BUTTONS: assets/images/icons/ui/dice\_random\_icon.png (24x24px), dice\_random\_icon\_large.png (48x48px). ’ \- PORTRAIT PARTS: client/public/assets/images/portraits/procedural/{raceId}/{partType}/: 64x64px PNGs for 3-4 races \+ Humans (e.g., human/HeadShape\_01.png). ’ \- PORTRAIT PREVIEW: assets/images/ui/new\_game\_setup/portrait\_preview\_bg\_tech.png: 256x256px, tech frame. ’ \- SHIP SPRITES: assets/images/ships/player\_starters/explorer\_nomad\_detailed\_preview.png, etc.: 128x256px, animated. ’ \- SHIP DISPLAY: assets/images/ui/new\_game\_setup/ship\_display\_hangar\_bay\_bg.png: 300x200px. ’ \- SCENARIO CARDS: assets/images/ui/new\_game\_setup/scenario\_card\_{scenarioId}.png: 200x150px each.
’ 4\. REQUIRED SOUND ASSETS ’ \- MUSIC: client/public/assets/audio/music/themes/new\_game\_setup\_theme\_contemplative\_tech\_loop.ogg: 3-min loop, 44.1kHz. ’ \- UI SOUNDS: sfx/ui/new\_game\_step\_next\_confirm.wav, previous\_click.wav, start\_adventure\_confirm\_epic.wav, dropdown\_select\_option\_click.wav, checkbox\_toggle\_tech\_click.wav, text\_input\_keypress\_pixel.wav, portrait\_part\_change\_click.wav, ship\_select\_confirm\_chime.wav, crew\_candidate\_select\_click.wav, randomize\_button\_dice\_roll.wav: 0.5-2s each.
’ 5\. AI DIRECTIVES FOR TRAE ’ \- IMPLEMENT TRANSITIONLOADINGSCREEN: ’ \- Create TransitionLoadingScreen.tsx with PixiJS logic (AnimatedSprite for background/indicator, Text for loading). ’ \- Ensure display during SceneManager transitions, update text dynamically. ’ \- Generate assets (warp lines, nexus symbol, font). ’ \- IMPLEMENT NEWGAMESETUPSCREEN: ’ \- Create NewGameSetupScreen.tsx to manage steps and navigation. ’ \- Implement each step (NewGameStep\_\*.tsx) with PixiJS rendering: ’ \- Step 1: Difficulty selection with buttons and checkboxes. ’ \- Step 2: Pilot creation with input, dropdown, and portrait customization (procedural generation). ’ \- Step 3: Ship selection with carousel and stats. ’ \- Step 4: Crew selection with random candidates. ’ \- Step 5: Scenario selection with cards. ’ \- Step 6: Summary with all choices. ’ \- Store choices in gameSessionStore.newGameConfig. ’ \- Generate all specified assets (pixelart sprites, sounds). ’ \- ENSURE: ’ \- Pixelart style with retro touch, Czech localization, smooth transitions. ’ \- Test with Vite, log FPS and transitions. ’ \- OUTPUT: ’ \- List of new files and assets. ’ \- Screenshots of each step and transition screen. ’ \- Full code of TransitionLoadingScreen.tsx and NewGameSetupScreen.tsx with subcomponents.
’ DIAGRAM UPDATE ’ graph TD A\[Spuštění Aplikace\] –\> B(NS\_Prompt\_02: Úvodní Načítací Obrazovka); B –\> C{NS\_Prompt\_02: Hlavní Menu Hry}; C –\> |“NOVÁ HRA”| D(NS\_Prompt\_03: Přechodová Načítací Obrazovka); D –\> E\[NS\_Prompt\_03: Tvorba Nové Hry (Vícekroková)\]; E –\> |Zahájit Hru| D2(NS\_Prompt\_03: Přechodová Načítací Obrazovka
“Generuji Galaxii…”); D2 –\> F\_GAME\[NS\_Prompt\_42: Hlavní Herní Scéna\]; C –\> |“NAČÍST HRU”| G(NS\_Prompt\_03: Přechodová Načítací Obrazovka); G –\> H\[Obrazovka Načtení Uložené Hry\]; H –\> |Načíst| G2(NS\_Prompt\_03: Přechodová Načítací Obrazovka
“Načítám Hru…”); G2 –\> F\_GAME; C –\> |“NASTAVENÍ”| I\[NS\_Prompt\_13: Nastavení Hry\]; C –\> |“KNIHOVNA”| J\[NS\_Prompt\_19 & 47: Knihovna Znalostí\]; C –\> |“TVŮRCI”| K\[Obrazovka Tvůrců\]; C –\> |“UKONČIT HRU”| L\[Potvrzovací Dialog Ukončení\]; style D fill:\#ff9900,stroke:\#fff,stroke-width:2px style E fill:\#ff9900,stroke:\#fff,stroke-width:2px style D2 fill:\#ff9900,stroke:\#fff,stroke-width:2px style G fill:\#ff9900,stroke:\#fff,stroke-width:2px style G2 fill:\#ff9900,stroke:\#fff,stroke-width:2px
\#\#\# Podrobnosti pro Trae
1\. \*\*TransitionLoadingScreen\*\*:
\- Animated background and indicator with PixiJS, short duration for fluidity.
2\. \*\*NewGameSetupScreen\*\*:
\- Multi-step UI with detailed customization (portraits, ships, crew), all rendered with PixiJS.
\- Procedural generation for portraits and crew, integrated with race data.
3\. \*\*Assets\*\*:
\- Extensive pixelart library for portraits, ships, and UI, generated with Aseprite.
4\. \*\*Code\*\*:
\- React components with PixiJS for each step, managed by a parent component.