chore: add GEMINI.md project guidelines with mandatory git protocol

This commit is contained in:
Игорь Федосеев 2026-10-07 17:01:18 +03:00
parent 4cad719290
commit 24885ef7bc

37
GEMINI.md Normal file
View file

@ -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
```