master
John Lauer 0.9.340: routing tests, demo runner + evidence (arav-rog 2026-09-07), vendoring and overlay tools, release notes 25dcdaf 2mo ago
"""Build only the routing overlay; does not publish or alter release manifests."""
import ast
import json
from pathlib import Path
import sys
import zipfile
from install_routing_dev import FILES, NAMES

root=Path(__file__).resolve().parents[1]
tree=ast.parse((root/'server.py').read_text())
node=next(n for n in tree.body if isinstance(n,ast.Assign) and any(getattr(t,'id','')=='_VERB_CATALOG' for t in n.targets))
catalog=ast.literal_eval(node.value)
output=Path(sys.argv[1] if len(sys.argv)>1 else root/'kicad-routing-overlay.zip')
with zipfile.ZipFile(output,'w',zipfile.ZIP_DEFLATED) as z:
    for name in FILES: z.write(root/name,name)
    z.writestr('routing-catalog.json',json.dumps({n:catalog[n] for n in NAMES}))
print(output)