vmprint remains a fully usable standalone repository.
You do not need sibling repos such as vmcanvas or vmprint-engine-shared
in order to build, test, or develop VMPrint itself.
This document only matters for maintainers working in the broader multi-repo shared-engine workflow.
If you cloned only vmprint, you can ignore the shared-engine workflow and
work in this repo normally.
Typical standalone work includes:
- CLI changes
- print/bootstrap/runtime behavior
- font-management behavior
- VMPrint-specific renderer behavior
- ordinary bug fixes and maintenance inside this repo
When working across the full local workspace:
vmprint-engine-sharedis the source of truth for the shared neutral engine kernelvmcanvasis currently the primary active product repovmprintpulls in shared-core changes when it should catch up
- Print/bootstrap/renderer/font-management behavior: edit
vmprint - Shared layout/runtime/text/simulation kernel logic: edit
vmprint-engine-shared - Browser/product behavior: edit
vmcanvas
Do not treat vmprint/engine/src as the permanent origin for shared-kernel
changes unless you immediately promote them back into vmprint-engine-shared.
The preferred flow is:
- change shared kernel code in
vmprint-engine-shared - sync into
vmcanvasand verify there - sync into
vmprintwhen this repo should catch up
Pull the current shared snapshot into this repo:
npm run sync:shared-engineCheck whether this repo matches the current shared snapshot:
npm run sync:shared-engine:checkThese commands are only relevant if the sibling shared repo exists locally.