Skip to content

feat: add swatch-grid example with smoke-gate coverage#15

Merged
TMHSDigital merged 1 commit into
mainfrom
feat/swatch-grid-example
Jun 20, 2026
Merged

feat: add swatch-grid example with smoke-gate coverage#15
TMHSDigital merged 1 commit into
mainfrom
feat/swatch-grid-example

Conversation

@TMHSDigital

Copy link
Copy Markdown
Owner

Stage 1 of 3 — promote the functional swatch-grid example, smoke-gated

Adds examples/swatch-grid/ (a runnable, dependency-light demo) and wires the shipped file into the blender-smoke gate on both matrix builds.

Decisions applied (defaults from the task; not contentious)

  • Model: examples/ is smoke-gated content but not added to validate-counts. The README aggregate (12 skills, 6 rules, 2 templates, 17 snippets) is unchanged.
  • Version: a feat: cuts 0.3.0 under the gate. Renumbered the ROADMAP version-theme table (editable rows only, not the **Current:** line): v0.3.0 = Examples and demos (smoke-gated), and moved the 5.2 LTS sweep → v0.4.0. Candidate-pool heading renumbered to match.

What it teaches / proves

  • Procedural-materials patterns end to end: Principled metal (gold/copper) + dielectric (red/blue plastic, white rough), the emission pattern, and the set_specular shim (SpecularSpecular IOR Level), via string socket lookups and 4-tuple colors.
  • Doubles as the EEVEE engine-id proof: asserts BLENDER_EEVEE on 5.x / BLENDER_EEVEE_NEXT on 4.2–4.5 before rendering.

Smoke coverage (runs the real example file)

blender-smoke.yml adds a step that runs examples/swatch-grid/swatch_grid.py --engine cycles --samples 8 --width 640 on each build. The example self-verifies non-black AND distinct-region-count == material-count and exits non-zero on failure. Cycles (CPU) for pixels on the GPU-less runner; the EEVEE id is still asserted (frame-independent).

Verified locally (Blender 4.5.10 LTS + 5.1.1)

  • CI-mode (Cycles): both builds → id OK, set_specular=Specular IOR Level, 6 distinct regions, exit 0.
  • Default EEVEE: 5.1.1 → BLENDER_EEVEE, 6 regions, exit 0.

No screenshot here (Stage 3). No HDRI/network dependency (Stage 2 is the hero variant).

🤖 Generated with Claude Code

examples/swatch-grid/ is a runnable, dependency-light demo of the procedural-materials patterns (Principled metal+dielectric, emission, set_specular shim) that also proves the EEVEE engine-id mapping (BLENDER_EEVEE on 5.x, BLENDER_EEVEE_NEXT on 4.2-4.5) by asserting the version-correct id before rendering. It accepts --output, self-verifies the render (non-black AND distinct-region-count == material-count) and exits non-zero on failure. blender-smoke.yml now runs the SHIPPED file on both matrix builds (Cycles on the GPU-less runner; the EEVEE id is still asserted). examples/ is smoke-gated content, NOT added to validate-counts, so the README aggregate (12/6/2/17) is unchanged. ROADMAP version-theme table renumbered: v0.3.0 = Examples and demos (this), 5.2 LTS sweep moved to v0.4.0 (Current line untouched, release-owned). Verified headless on Blender 4.5.10 LTS and 5.1.1.

Signed-off-by: fOuttaMyPaint <TMhospitalitystrategies@gmail.com>
@github-actions github-actions Bot added documentation Improvements or additions to documentation ci labels Jun 20, 2026
@TMHSDigital TMHSDigital merged commit f8cc567 into main Jun 20, 2026
8 checks passed
@TMHSDigital TMHSDigital deleted the feat/swatch-grid-example branch June 20, 2026 02:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant