한국어 가이드는 docs/ko/contributing.html을 참고하세요.
English HTML guide: docs/en/contributing.html
Open Plant WSI is a performance-focused rendering engine for pathology WSI. Contributions are welcome in:
- Rendering/runtime performance
- ROI/draw pipeline correctness
- Type safety and API stability
- Tests/benchmarks and docs quality
- Check
engine-build-process.md,performance-optimization.md, anddocs/README.mdbefore larger changes. - Open an issue first for non-trivial behavior changes.
- Keep changes small and reviewable.
npm install
npm run dev:exampleOpen http://localhost:5174.
- Create a feature branch from
main. - Implement with focused commits.
- Run release gate locally:
npm run release:gate- Update docs when API/runtime behavior changes.
- Open PR with:
- problem statement
- design/approach
- before/after behavior
- perf impact
- Keep strict TypeScript; do not add
@ts-nocheck. - Preserve backward compatibility in minor versions.
- If behavior changes, update:
docs/en/*docs/ko/*CHANGELOG.md(when release-facing)
- Avoid unnecessary dependencies in runtime path.
- Prefer typed arrays and buffer reuse.
- Measure impact for hot-path changes.
- For ROI/clip/render changes, include:
- timing numbers (
onStats/onClipStatsor perf script) - dataset assumptions
- timing numbers (
Perf script:
npm run test:perfRelease is blocked unless all checks pass:
npm run typecheck
npm run test:ws9
npm run build:libUnified command:
npm run release:gateCI workflow: .github/workflows/release-gate.yml
- Keep EN/KO docs in sync for public API and behavior.
- Use concrete defaults and constraints.
- Include migration notes for breaking changes.
- Scope is clear and minimal
- Typecheck passes
- Tests pass (
test:ws9) - Build passes (
build:lib) - EN/KO docs updated (if needed)
- Migration notes added (if breaking)
Do not open a public issue for sensitive vulnerabilities. Use a private disclosure channel with maintainers.