37 lines
2.1 KiB
Markdown
37 lines
2.1 KiB
Markdown
# 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
|
|
```
|