kotlin-multiplatform-imagevector-generator
Hard Rules (never violated)
Rule 1 — NEVER hand-write ImageVector path data. You are FORBIDDEN from writing
moveTo/lineTo/curveTo/quadTocoordinates or anyImageVector.Builderbody yourself. Float coordinates hallucinated in-context produce broken art and burn tokens. Path data comes ONLY fromscripts/convert_image_to_imagevector.py. If the script cannot run, stop and report — do not approximate.
Rule 2 — Never read generated icon file bodies. Generated
*.kticon files are opaque artifacts (like Roborazzi PNGs). Read only the script's report line. Wire the icon by its property name (Icon(imageVector = BrandLogo, …)).
Rule 3 — Regenerate, never edit. Generated files carry a
// GENERATED by convert_image_to_imagevectorheader and are audit-enforced. Changes go through re-tracing the source, never manual tweaks.
The architecture audit enforces these: handwritten imagevector [HIGH] flags builder
blocks without the GENERATED header; raster asset in commonMain [MEDIUM] flags PNG/JPG
icons that should be vectors (photos under assets/photos/ are exempt).