Open Source Workflow
Contribution Guide
This page is the practical workflow for contributing code, docs, and tests.
For markdown version, see repository root CONTRIBUTING.md.
1. Scope
Runtime: tile/point/draw rendering correctness and performance.
Stability: type safety, API consistency, migration readiness.
DX: docs, tests, and reproducible benchmarks.
2. Local setup
npm install
npm run dev:example
# http://localhost:5174
Check
engine-roadmap.md before starting larger changes.
3. Branch + PR flow
- Create a feature branch from
main. - Keep commits focused and small.
- Run release gate locally.
- Update docs if API or behavior changes.
- Open PR with problem/design/perf notes.
npm run release:gate
4. Quality rules
Type-first: keep strict TypeScript, no
@ts-nocheck in engine paths.No silent breakage: update EN/KO API docs and migration guide for user-facing changes.
Minimal runtime overhead: avoid unnecessary dependencies in hot paths.
5. Performance guardrails
Typed arrays first: prefer buffer reuse over object allocations.
Measure changes: include timing metrics for rendering/clip changes.
Report assumptions: mention dataset size and clip mode when sharing numbers.
npm run test:perf
6. Release gate
Publish is blocked unless this passes:
npm run release:gate
# typecheck + test:ws9 + build:lib
CI workflow: .github/workflows/release-gate.yml
7. PR checklist
- [ ] Typecheck passed
- [ ] Tests passed (
test:ws9) - [ ] Library build passed
- [ ] EN/KO docs updated (if needed)
- [ ] Migration notes updated (if breaking)