"""Run a bounded synthetic Vulkan K model smoke. No NGX, CUDA or game inference. Authentic captured weights do not make the generated scene a quality reference. Reports GPU dispatch validity separately from model provenance and game parity. """ import argparse import hashlib import json import os from pathlib import Path import struct import subprocess import sys def main(): repo = Path(__file__).resolve().parents[2] parser = argparse.ArgumentParser(description=__doc__) for name in ('runner', 'model', 'output'): parser.add_argument('--' + name, required=True, type=lambda p: Path(p).resolve()) args = parser.parse_args() if args.output.exists() or not args.output.is_relative_to((repo / 'build').resolve()): parser.error('use fresh output under ignored build/') cache = json.loads((args.model / 'windows-k-model-cache.json').read_text()) for name, expected in cache['products'].items(): if Path(name).name != name or hashlib.sha256((args.model / name).read_bytes()).hexdigest() != expected: raise RuntimeError('Compiled K model product changed') args.output.mkdir(parents=True) rw = rh = 128 ow = oh = 256 color, depth = bytearray(), bytearray() for y in range(rh): for x in range(rw): u, v = x / (rw - 1), y / (rh - 1) color += struct.pack('<4e', .1 + .7 * u, .1 + .6 * v, .2 + .3 * u * v, 1) depth += struct.pack('