Skip to content

feat: 노트 크기·테두리 두께 등 수치 값 소수 입력 지원#86

Merged
lee-sihun merged 2 commits into
masterfrom
feature/decimal-numeric-values
Jul 2, 2026
Merged

feat: 노트 크기·테두리 두께 등 수치 값 소수 입력 지원#86
lee-sihun merged 2 commits into
masterfrom
feature/decimal-numeric-values

Conversation

@lee-sihun

Copy link
Copy Markdown
Member

요약

  • 노트 시각 px 필드(noteWidth, noteBorderRadius, noteGlowSize)를 정수 전용에서 소수(f64) 지원으로 확장
  • OptionalNumberInputallowDecimal/decimalScale prop 추가 (소수점 1자리, inputMode="decimal")
  • 단일/일괄 속성 패널과 설정 모달의 해당 필드에 소수 입력 적용
  • 레이아웃 계산의 Math.round 제거로 소수 px 그대로 반영 (키 지오메트리는 기존부터 f64)
  • 기존 정수 저장값 하위 호환 serde 테스트 및 zod 스키마 테스트 추가

검증

  • npx tsc --noEmit 통과
  • npm test 75개 통과 (신규 keys.test.ts 포함)
  • npm run lint 통과
  • cargo test 12개 통과, cargo clippy 클린
  • master 병합 결과 기준으로 위 검증 수행 (충돌 없음, 양측 수정 파일 7개 의미 충돌 검토 완료)

🤖 Generated with Claude Code

eun-yeon added 2 commits June 21, 2026 18:12
note_width, note_border_radius, note_glow_size를 u32에서 f64로 변경해
소수 입력을 받을 수 있도록 모델 타입 확장. 기존 정수 저장값은 serde가
그대로 역직렬화하므로 별도 변환 불필요. 레거시 borderRadius 마이그레이션은
f64 캐스트 추가
키/노트 크기, 테두리 두께·라운딩, 글로우 크기, 오프셋, 폰트 크기 등
시각적 px 값에 0.1 단위 소수 입력을 허용. 카운트·투명도 등은 정수 유지

- OptionalNumberInput에 allowDecimal/decimalScale 추가 (NumberInput과 동일한
  소수 sanitize·precision 처리, numpad Decimal 키, inputMode decimal)
- Note/Style/Batch 탭의 px 입력에 allowDecimal 적용
- zod 스키마에서 noteWidth/noteBorderRadius/noteGlowSize의 정수 제약 해제
- noteWidth 렌더 시 Math.round 제거로 소수 폭 반영
- 구형 키 설정 모달의 글로우 크기 입력도 소수 지원
- 빈 값만 unset, 부호·소수점 중간 입력은 commit 보류

zod·serde 회귀 테스트 추가
@lee-sihun lee-sihun merged commit a71a5dc into master Jul 2, 2026
1 check passed
@lee-sihun lee-sihun deleted the feature/decimal-numeric-values branch July 3, 2026 13:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants