Open Plant WSI
Open Source Workflow

기여 가이드

코드, 문서, 테스트 기여를 위한 실무 흐름입니다. Markdown 원본은 저장소 루트 CONTRIBUTING.md를 참고하세요.

1. 기여 범위

런타임: tile/point/draw 렌더 정확성 및 성능 개선.
안정성: 타입 안전성, API 일관성, 마이그레이션 가능성 유지.
DX: 문서, 테스트, 재현 가능한 벤치마크 개선.

2. 로컬 실행

npm install
npm run dev:example
# http://localhost:5174
큰 변경을 시작하기 전에 engine-roadmap.md 우선 확인.

3. 브랜치 + PR 흐름

  1. main에서 기능 브랜치를 생성합니다.
  2. 커밋은 작고 목적이 명확하게 유지합니다.
  3. 로컬에서 release gate를 먼저 통과시킵니다.
  4. API/동작 변경 시 EN/KO 문서를 함께 갱신합니다.
  5. PR에 문제/접근/성능 변화를 명시합니다.
npm run release:gate

4. 품질 규칙

타입 우선: strict TypeScript 유지, 엔진 경로에 @ts-nocheck 금지.
무통보 변경 금지: 사용자 영향 변경은 API 문서/마이그레이션 가이드 동시 갱신.
런타임 경량화: 핫패스에서 불필요 의존성 추가 금지.

5. 성능 가드레일

TypedArray 우선: 객체 할당보다 버퍼 재사용.
수치 첨부: 렌더/클립 변경 시 시간 측정값 포함.
가정 명시: 데이터셋 크기/clip 모드를 함께 기록.
npm run test:perf

6. 릴리스 게이트

배포 전 아래 검증이 반드시 통과해야 합니다.

npm run release:gate
# typecheck + test:ws9 + build:lib

CI 워크플로우: .github/workflows/release-gate.yml

7. PR 체크리스트

  • [ ] Typecheck 통과
  • [ ] 테스트 통과(test:ws9)
  • [ ] 라이브러리 빌드 통과
  • [ ] EN/KO 문서 갱신(필요 시)
  • [ ] 브레이킹 변경 시 migration 노트 갱신