feat(device): B07 CAD 손가락 — 한 손가락 화면 옮기기 · 두 손가락 확대 · 길게 누름 정밀 십자선(손가락 위 70px) · 고름 반경 = 접촉 크기(최소 24px) · 자판 없는 명령 단추(Esc · Enter · 지움 · 되돌리기 · 다시 · 스냅) · user-scalable=no 뺌 · 100vh → 100dvh (기기대응 4-1)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ji4nuyLVHcxrXWHTdb5nRD
This commit is contained in:
@@ -2,10 +2,21 @@
|
||||
* 집기 반경 — 화면에서 몇 픽셀 안쪽을 "그 객체를 가리킨 것"으로 볼지.
|
||||
* 상수는 화면 픽셀이므로 월드 거리로 쓰려면 확대율로 나눠야 한다. 나누지 않으면
|
||||
* 확대할수록 반경이 같이 커져서(2000%에서 15 → 300px 넘음) 엉뚱한 객체가 잡힌다.
|
||||
* 손가락으로 누른 동안은 접촉 크기(최소 24px)까지 넓힘(기기대응 4-4 · `input-touch.ts` 가 정함).
|
||||
*/
|
||||
import { HIGHLIGHT_ENTITY_DISTANCE } from '../App.consts';
|
||||
import { getScreenCanvasDrawController } from '../state';
|
||||
|
||||
let touchPickPx = 0;
|
||||
|
||||
/** 0 = 마우스(원래 반경) */
|
||||
export function setTouchPickPx(px: number): void {
|
||||
touchPickPx = px;
|
||||
}
|
||||
|
||||
export function pickRadius(): number {
|
||||
return HIGHLIGHT_ENTITY_DISTANCE / getScreenCanvasDrawController().getScreenScale();
|
||||
return (
|
||||
Math.max(HIGHLIGHT_ENTITY_DISTANCE, touchPickPx) /
|
||||
getScreenCanvasDrawController().getScreenScale()
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user