This repo is a radically minimal, skia-native, headless DrawBot CLI.
vendor/— bundled upstreamdrawbot-skiasource we can inspect and modifydrawbot_cli/— active CLI codetests/— active v2 tests only
Key active modules:
drawbot_cli/runtime/skia.py— runtime import boundary into bundled upstream codedrawbot_cli/commands/— CLI command groups (doctor,run,new,api,spec)drawbot_cli/spec/core.py— minimal YAML spec validation and rendering
_archive/contains the old brownfield implementation- Treat
_archive/as reference only unless explicitly porting something small
drawbot doctor
drawbot run script.py -o output.png
drawbot new name
drawbot api list
drawbot api show SYMBOL
drawbot api gaps
drawbot spec validate poster.yaml
drawbot spec explain poster.yaml
drawbot spec render poster.yaml -o poster.pdf- Prefer deleting complexity over preserving legacy abstractions
- Keep the command surface small and honest
- Add one real capability at a time
- Extend the current spec layer incrementally instead of reviving the old brownfield spec system wholesale
- Do not reintroduce backend selection or native DrawBot compatibility unless explicitly requested
drawbot doctornow reports bundled source paths, module name, version, and statusdrawbot apiintrospects the exporteddrawbot_skia.drawbotsurface directlydrawbot specis intentionally small right now: page presets plusrect,oval,line,text, andimagedrawbot spec renderdefaults to writing<spec>.pdfbeside the YAML file when--outputis omitted