Skip to content

v1.3: Upgrade quality and efficiency#14

Merged
hoainho merged 17 commits into
mainfrom
feature/plan-1.3-quality-and-efficiency
Jul 23, 2026
Merged

v1.3: Upgrade quality and efficiency#14
hoainho merged 17 commits into
mainfrom
feature/plan-1.3-quality-and-efficiency

Conversation

@hoainho

@hoainho hoainho commented Jul 23, 2026

Copy link
Copy Markdown
Owner

Changelog — v1.3

Added

  • Reference-grounded gradient extraction — Gradients are now sampled directly from the reference image using band-median analysis, replacing manually guessed gradient stops. Also adds blue-collapse detection and magenta-lean hints for improved color fidelity.
  • Candy-coat material model — Added support for dielectric candy/anodized/PVD-style finishes with tuned PBR parameters for richer, more accurate coatings. Includes automatic material classification (e.g. chrome → gem-metal, bright-clean → gemstone) and palette hue risk analysis.
  • CIEDE2000 color metric — Introduced an accurate CIEDE2000 (ΔE00) implementation with sRGB → CIELAB conversion, validated against Sharma’s reference test pairs for perceptual color comparison.
  • Divine Eye color diagnostics (report-only) — Added new analysis signals:
    • Hue Zone Parity detects hue shifts across gradient bands (e.g. purple drifting toward blue).
    • Specular Wash detects saturation loss and cyan drift caused by overly strong highlights.
      These metrics are currently informational only and do not affect validation scores while calibration is in progress.

Improved

  • InstancedMesh rendering — Repeated geometry is now rendered using a single draw call for significantly better performance. Improved cluster resolution also eliminates previous base-geometry crashes.
  • Ground blade UV mapping — UV generation now uses the true Y-span of the geometry, fixing edge clamping artifacts that previously caused flat colors and white tip issues.
  • Cutout generation — Extrusion now supports Shape.holes and oval loop cutouts, enabling clean wire-cutter style holes without requiring CSG operations.

hoainho added 17 commits July 20, 2026 21:34
…ier-1 diagnostics, hash caching, real extrude/lathe/tube geometry

Implements Plan 1.3 (schemaVersion 2.1): topology-gated primitive selection, CIE Lab color+gradient extraction with RGBA output, silhouette/proportion/symmetry pre-checks before AI-vision review, PBR material completeness (env map, ior/sheen/iridescence/anisotropy), and content-hash caching for extraction scripts.
…ectness scaffold, property auto-binding, shared pHash

§4.5 admission gate (coverage/coherence/resolution/duplicate/undecodable), §4.6 intake-correctness decision (halt-on-contradiction, OSIM deferred to Phase 3), Workstream J property binding, stdlib DCT pHash. 22 new tests.
…(G.1), Blum lathe-profile derivation

Also carries 2 verified pre-existing bugfixes in the same files: RGBA '1.0'-alpha validation + conditional geometry-helper emission (noUnusedLocals). curve-sweep sweeps a thin cross-section along a 3D spine so curved forms read from every angle; flatness gate blocks thin continuous-sculpt extrudes pre-render; derive_geometry computes lathe profiles from the mask. +7 tests.
…generate-view + auto-framing

divine_eye.py: 10-signal zero-token ensemble (IoU/scale hard-gates; proportion/symmetry-parity/pHash/SSIM/edge/blowout/flat/tonal soft) + self-uncertainty (disagreement→probe) + routing. diagnose_render_multi_angle.py: silhouette-area-collapse degenerate-view check. frame<Type>Camera auto-framing codegen (§3.2, Eye prerequisite). +25 tests (94 total). OSIM deferred (R-OSIM-EFFORT, must-not-block); live-browser regression pending Phase 6 end-to-end.
…ck false-negative

silhouette_area_fraction now reports near-zero (not inverted ~1.0) when build_foreground_mask's <3.5% safety fallback fires — so a plane orbited edge-on (near-empty silhouette) is correctly flagged degenerate instead of missed. Finding surfaced by the multiangle worker; fixed + regression-tested at lead. Corrected a full-black test fixture to a block-on-white. +1 test.
… verification (§3.8), bounded stop policy (§3.6)

vlm_gate: model as gated/calibrated/cross-checked lubricant — never consulted on a hard-gate fail, multi-sample voting, post-hoc calibration, evidence cross-check, can rescue soft-reject but never grant past hard failure. per_feature: critical feature below threshold fails the pass even at high global fidelity; missing-feature→refine-spec. correction_loop: layered bounded stop (success/repeated-defect/oscillation/plateau/hard-ceiling) — termination guaranteed. §3.3+§3.5 already in divine_eye. per_feature+correction_loop built by workers, verified+reviewed at lead. +26 tests (121 total).
…port-only + separation check

run_corpus runs the Eye over labeled (reference,render) pairs; separation() checks fidelity cleanly splits good/bad and that all-good-pass + all-bad-rejected before flipping report-only→hard-gate. Render-agnostic scaffold (real 6-demo renders need browser, deferred). +4 tests.
…§3.7 neighbor invalidation

module_cache keys generated code on canonical module-spec hash + generator source hash (edit one module → regenerate only it). invalidate_attached removes cached dependents when a neighbor changes (§3.7). Built by worker modcache, verified at lead. Phase 6 remainder (harness wiring, output-build gate O1) pending. +6 tests.
…oom), strictly off the evaluation path

detect_reference_effects.py (worker refx): background-blur→DOF, highlight-glow→bloom detectors authorize effects only when the reference exhibits them. create<Type>PresentationComposer codegen: EffectComposer+BokehPass+UnrealBloomPass as a SEPARATE opt-in export — never wired into the model factory, so the Divine Eye's evaluation render stays post-fx-free (R-POSTFX). Live effect-render verification browser-deferred. +6 tests (137 total).
… reference integrity, multi-angle, bounded loop

Documents the deterministic-first/model-last gate flow + the new stage scripts (check_reference_admission, check_intake_correctness, divine_eye, vlm_gate, diagnose_render_multi_angle, correction_loop) as the enforced pipeline. Phase 6 remainder: output-build gate O1 (needs a TS project) + full module-arch wiring into generate_threejs_factory — with the live-render layer.
@hoainho hoainho self-assigned this Jul 23, 2026
@gemini-code-assist

Copy link
Copy Markdown

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

@hoainho
hoainho merged commit 2c78038 into main Jul 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant