DoorNroll/GEMINI.md

2.1 KiB

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:
    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:
    & "C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" --build build --config Release