The repo root README.md covers identity, install, and getting-started. Everything below is the deeper technical reference, organized by audience.
Looking for the changelog?
CHANGELOG.mdat the repo root tracks every version. The decision log below tracks architectural choices with rationale (independent of release boundaries).
Reference for "how does ShaderLab work under the hood".
- Architecture Overview — high-level diagram of the components (rendering, graph, effects, UI controllers, hosts).
- Threading Model — UI thread vs render worker, offscreen-blit composition, dispatcher, output-window sinks.
- Pipeline Format Strategy — why the pipeline is always scRGB FP16 and how DWM/ACM handles the final display conversion.
- Effect Graph Model —
EffectGraph/EffectNode/EffectEdge/PropertyValue, JSON serialization, dirty tracking. - Topological Evaluation — Kahn's algorithm, evaluation order, cycle detection.
- Display Monitoring — DXGI adapter-change events,
WM_DISPLAYCHANGE, ICC profile parsing, SDR white level. - Display Profile Mocking — simulated SDR/HDR/WCG environments and the testing harness.
- Compute Shader Analysis Pipeline — D2D compute conventions, CPU readback, analysis output schema.
- D2D / D3D11 Hybrid Compute System —
CustomComputeBridgeEffect,D3D11ComputeRunner, GPU-binding routing, COM class hierarchy. - Engine / Host Split —
ShaderLabEngine.dllABI,IEngineCommandSink, host event hooks.
Reference for the effect catalog and per-effect mechanics.
- Built-in Effect Catalog — the ~35 ShaderLab effects (Analysis, Color, Source, Tone Mapping, Parameter).
- Effect Versioning System — how
effectVersionbumps are detected on graph load. - Effect Designer — the modal window for authoring custom pixel/compute shaders.
- Numeric Expression Node (ExprTk) — single-input math expression parameter node.
- Parameter Nodes — Float / Integer / Toggle / Gamut Parameter and Clock.
- Property Bindings (Data Pins) — wiring analysis fields to downstream parameters.
- Working Space Integration — host-driven node mirroring the active display profile.
- New Effect Defaults — default property values for every newly added D2D effect.
- Graph Editor UX — keyboard / mouse shortcuts, color coding, inline data display.
- Multi-Output Windows — the secondary preview windows.
- Animation System — Clock-driven dirty propagation.
- Conditional Parameter Visibility —
visibleWhenexpressions on parameters.
- ShaderLabHeadless (Console Host) — the no-UI host for CI / batch scripting.
- MCP Server (AI Agent Integration) — JSON-RPC 2.0 server, tool catalog, route distribution.
- Build Instructions — prerequisites, configurations, dependency map.
- Project Structure — full file tree with per-file descriptions.
- Decision Log — chronological architectural decisions with rationale (60+ entries).
Back to Repo root.