Skip to content

v0.17.12 — ARCH-001 internal packages, 12/18 coverage ≥80%, 13 panics→errors

Choose a tag to compare

@kolkov kolkov released this 07 May 18:50
bca2392

Enterprise Architecture Refactoring (ARCH-001)

All backends restructured following DXIL internal package pattern.

Internal packages (DXIL pattern applied to all backends)

  • glsl/, msl/, hlsl/, spirv/ → internal/codegen/
  • wgsl/ → internal/parser/ + internal/lower/
  • Shared: internal/textutil/ (IndentWriter DRY), internal/backend/ (namer, sig packing), internal/registry/ (type dedup)
  • Public API: real types, not aliases. go doc shows full struct definitions.

Test coverage (12/18 packages ≥80%)

100% textutil, dxil/module
83-97% backend, mem2reg, dce, parser, bitcode, viewid, sroa, ir, container, glsl

Error handling

  • 13 panics → error returns across all backends
  • 2 nilerr fixes (spirv silently swallowed errors)
  • Unsupported stage validation (mesh/task → clear error)
  • 11 dead functions removed (-929 LOC)

Metrics (unchanged)

  • gg production: 61/61 (100%)
  • DXC golden diff=0: 105 (55.1% parity)
  • IDxcValidator: 161/170 (94.7%)
  • golangci-lint: 0 issues