diff --git a/GEMINI.md b/GEMINI.md new file mode 100644 index 0000000..3d3c67c --- /dev/null +++ b/GEMINI.md @@ -0,0 +1,37 @@ +# DoorNroll Project Guidelines & Rules + +## 1. Mandatory Git Protocol (CRITICAL) +- **Always Commit**: Any modifications, features, refactors, or bugfixes must be committed to Git as soon as they are implemented and verified. +- **Always Push**: Every commit must be pushed immediately to the remote repository: + ```bash + git push origin main + # Remote: https://git.silverstone.crazedns.ru/iker_ad/DoorNroll.git + ``` +- **Working Tree**: Keep the Git working tree clean after every task. + +## 2. Visual & Geometric Design Rules (Zero-Rounding) +- **Zero Rounding**: Absolutely NO circles, rounded corners, or smooth curved UI primitives (`DrawCircle`, `DrawCircleLines`, `DrawSphere`, `DrawRing`, `DrawRectangleRounded`). +- **Tactical Industrial Aesthetic**: All shapes must be angular, faceted, rectangular, or polygon-based (hard-surface, military electronics, cyber-noir). +- **Color Palette**: High-contrast monochrome, gunmetal, dark slate graphite, and smoked wood base, with saturated functional accents: + - Kinetic: `KIN` Titanium White + - EMP: `EMP` Cobalt Blue + - Overheat: `THM` Amber + - Corrosive: `ACD` Acid Green + - Glitch: `GLT` Neon Violet + - Nanite: `NAN` Carmine / Crimson + - Active Firing Pin / Critical HUD: Pure White & Crimson + +## 3. 3D Rendering Architecture +- **Pipeline Order in Rooms**: + 1. Opaque geometry rendered first (floor, walls, ceiling, furniture). + 2. Flush opaque batch (`rlDrawRenderBatchActive()`). + 3. Translucent pass with `BeginBlendMode(BLEND_ALPHA)`, `rlDisableDepthMask()`, `rlDisableBackfaceCulling()` (godrays, glass, light pools, energy fields). + 4. Flush translucent batch (`rlDrawRenderBatchActive()`), restore depth mask & blend mode. + 5. Post-process shader pass (`beginPostProcess` / `endPostProcess`). + +## 4. Build & Environment +- **Platform**: Windows, MSVC C++20, CMake 3.20+, Raylib 5.5. +- **Verification**: Always run CMake build in Release mode before concluding work: + ```powershell + & "C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" --build build --config Release + ```