docs(context-curation,shaders): add Structural File Editor (Phase 7) and NERV theme effects sections
This commit is contained in:
@@ -31,3 +31,33 @@ To ensure cross-platform compatibility and avoid brittle Win32 hook collisions w
|
||||
|
||||
## 3. Integration with Event Metrics
|
||||
Both the shader uniforms (time, resolution) and window control events will be hooked into the existing `dag_engine` and `events` systems to ensure minimal performance overhead and centralized configuration via `config.toml`.
|
||||
|
||||
---
|
||||
|
||||
## 4. NERV Theme Effects
|
||||
|
||||
The [NERV Technical Console](https://en.wikipedia.org/wiki/Nerv) theme (`src/theme_nerv.py`, `src/theme_nerv_fx.py`) is a selectable high-density visual variant that uses the shader and window-frame infrastructure above to produce a CRT-style "Tactical Console" aesthetic.
|
||||
|
||||
### Visual Characteristics
|
||||
|
||||
- **Black Void Palette:** Near-black backgrounds with sharp, high-contrast accents.
|
||||
- **Zero-Rounding Geometry:** No rounded corners on panels, buttons, or frames. Sharp rectangles.
|
||||
- **CRT Scanlines:** A repeating horizontal line overlay applied via the `custom_background` callback. The scanline intensity is configurable via `config.toml` → `[nerv].scanline_alpha`.
|
||||
- **Status Flickering:** The active tier indicator and other "operational status" elements flicker at a low frequency (configurable rate) to simulate a tactical display.
|
||||
- **Alert Animations:** When MMA state transitions to "blocked" or "error", a red border pulse animation runs for ~1.5 seconds.
|
||||
|
||||
### Implementation Files
|
||||
|
||||
- `src/theme_nerv.py` — Color palette, geometry overrides, font selection.
|
||||
- `src/theme_nerv_fx.py` — Scanline overlay, status flickering, alert animations.
|
||||
- `src/bg_shader.py` — Custom background shader (uses the FBO pipeline described in Section 1).
|
||||
|
||||
### Activation
|
||||
|
||||
The NERV theme is selected via the GUI's theme picker (User Menu → Theme → NERV). When activated, `theme_nerv.py` swaps the active color set, geometry style, and font. The FX layer is enabled/disabled via the `[nerv].fx_enabled` config flag.
|
||||
|
||||
### Performance Considerations
|
||||
|
||||
CRT scanlines use the FBO pipeline and run at full window resolution. On a 1920×1080 display, the scanline pass adds ~1-2ms per frame. For lower-end GPUs, reduce `[nerv].scanline_alpha` (cheaper blending) or disable FX entirely (`[nerv].fx_enabled = false`).
|
||||
|
||||
See [guide_nerv_theme.md](guide_nerv_theme.md) (placeholder; written in Task 10) for the full theme API, configuration keys, and customization options.
|
||||
|
||||
Reference in New Issue
Block a user