뷰어 준비 완료 여부
뷰어 해제 여부
WebGL 렌더러
Three.js 씬
카메라
컨테이너 엘리먼트
events 시스템
ErrorSystem 인스턴스
뷰어 너비
뷰어 높이
현재 Up 축 방향
Up 벡터 고정 여부
현재 선택된 오브젝트
SceneGraphManager 인스턴스
외곽선 활성화 여부 조회
Returns the HealthCheck instance for direct access. HealthCheck 인스턴스를 반환합니다.
GLTF 폴더가 선택되었는지 여부
선택된 GLTF 폴더 이름
배치 렌더링 활성화 여부
Transform Gizmo 활성화 여부
사용 가능한 텍스처 슬롯 목록
선택된 마크업 정보
마크업 개수
현재 텍스처 상태
렌더링 루프 시작
렌더링 루프 중지
단일 프레임 렌더링
Requests a render on the next animation frame. 다음 애니메이션 프레임에서 렌더링을 요청합니다.
Sets continuous rendering mode. 연속 렌더링 모드를 설정합니다.
true for always-on rendering, false for on-demand true이면 항상 렌더링, false이면 변경 시에만 렌더링
뷰어 resize
Optionalwidth: numberOptionalheight: numberScene 설정 일괄 조회
Scene 설정 일괄 적용
변경할 설정 (부분 적용 가능)
Scene 테마 적용
'light' 또는 'dark'
background color config
background color 조회
grid size config
grid 전체 size (기본: 20)
축 size config
축 길이 (기본: 5)
그리드 표시/숨김 설정
표시 여부
축 헬퍼 표시/숨김 설정
표시 여부
카메라 FOV 설정
시야각 (도 단위)
Up 벡터 반전
씬 내 모든 모델에 카메라를 맞춤
Optionaloffset: number(선택적) 여백 배수 (기본: 1.5)
특정 오브젝트에 카메라를 포커싱
대상 오브젝트
Optionaloffset: number(선택적) 여백 배수 (기본: 1.5)
현재 선택된 오브젝트에 카메라를 포커싱
Optionaloffset: number(선택적) 여백 배수 (기본: 1.5)
자동 회전 설정
활성화 여부
자동 회전 속도 설정
회전 속도
댐핑 팩터 설정
댐핑 계수
Up 벡터 고정 설정
true이면 카메라 뒤집힘 방지, false이면 자유 회전
Returns the current camera projection mode. 현재 카메라 투영 모드를 반환합니다.
Current projection mode 현재 투영 모드
Switches the camera projection mode (perspective/orthographic). 카메라 투영 모드를 전환합니다 (perspective/orthographic).
Target projection mode 대상 투영 모드
Returns the current navigation mode. 현재 내비게이션 모드를 반환합니다.
Current navigation mode 현재 내비게이션 모드
Switches the navigation mode (turntable/trackball). 내비게이션 모드를 전환합니다 (turntable/trackball).
Target navigation mode 대상 내비게이션 모드
Returns the current mouse control mode. 현재 마우스 컨트롤 모드를 반환합니다.
Current mouse control mode 현재 마우스 컨트롤 모드
Switches the mouse button mapping preset (default/catia). 마우스 버튼 매핑 프리셋을 전환합니다 (default/catia).
Target mouse control mode 대상 마우스 컨트롤 모드
Moves the camera to a standard view (front/top/iso, edges, corners). 카메라를 표준 뷰로 이동합니다 (면/모서리/코너/iso).
Standard view identifier 표준 뷰 식별자
(optional) Whether to animate the transition (default: true) (선택적) 전환 애니메이션 여부 (기본: true)
Sets the camera up vector to a signed world axis. 카메라 Up 벡터를 부호 있는 월드 축으로 설정합니다.
Up vector direction ('x' | 'y' | 'z' | '-x' | '-y' | '-z') Up 벡터 방향
(optional) Whether to animate the re-orientation (default: true) (선택적) 재정렬 애니메이션 여부 (기본: true)
오브젝트에 BVH 생성 (비동기, Worker 사용)
BVH를 생성할 3D 오브젝트
Optionaloptions: { onProgress?: (progress: number) => void; filter?: (mesh: Mesh) => boolean }BVH 생성 통계
오브젝트의 BVH 제거
BVH를 제거할 3D 오브젝트
BVH 옵션 설정
BVH 생성 옵션
BVH 통계 조회
BVH 생성 통계
선택 기능 활성화/비활성화
활성화 여부
선택 해제
하이라이트 색상 설정
하이라이트 색상
하이라이트 강도 설정
강도 (0~1)
하이라이트 해제
외곽선 활성화/비활성화
활성화 여부
외곽선 색상 설정
색상 값
외곽선 두께 설정
두께 값 (기본: 2.0)
외곽선 강도 설정
강도 값 (기본: 3.0)
외곽선 글로우 설정
글로우 값 (0-1)
숨겨진 외곽선 색상 설정
색상 값
외곽선 펄스 주기 설정
펄스 주기 (초, 0이면 비활성화)
FXAA 안티앨리어싱 활성화 설정
활성화 여부
클리핑 플레인 삭제
플레인 ID
모든 클리핑 플레인 삭제
클리핑 활성화/비활성화
활성화 여부
클리핑 활성화 여부 조회
플레인 constant 설정
플레인 ID
constant 값
Nudges a clipping plane's constant by a signed step from its current value. 클리핑 플레인 constant를 현재값에서 부호 있는 step만큼 증분합니다.
Plane ID 플레인 ID
Signed increment applied to the current constant 현재 constant에 더할 부호 있는 증분값
Reuses setPlaneConstant internally, so the dynamic normal-projected bounds clamp and 'viewer:clipping:change' event apply. Positive steps move along the plane normal, negative steps move against it. 내부적으로 setPlaneConstant를 재사용하므로 normal 투영 동적 bounds 클램프와 'viewer:clipping:change' 이벤트가 적용됩니다. 양수 step은 평면 normal 방향, 음수 step은 반대 방향으로 이동합니다.
Snaps a clipping plane's normal and constant to a world face (programmatic align). 클리핑 플레인의 normal과 constant를 월드 면에 스냅합니다 (프로그램적 정렬).
Plane ID 플레인 ID
World-space face normal (normalized internally) 월드 좌표 면 법선 (내부에서 정규화)
World-space point the plane must pass through 평면이 지나야 하는 월드 좌표 점
Sets the plane flush on the given face (baseNormal = worldNormal, constant = -normal·point). The plane's current clip side decides which side is cut. For interactive picking use enterClippingAlignMode() instead, which snaps on the next model click. Emits 'viewer:clipping:change' and 'viewer:clipping:align'. 주어진 면에 평면을 밀착시킵니다 (baseNormal = worldNormal, constant = -normal·point). 평면의 현재 절단 방향이 자르는 쪽을 결정합니다. 인터랙티브 픽킹은 다음 모델 클릭에 스냅하는 enterClippingAlignMode()를 사용하세요. 'viewer:clipping:change'와 'viewer:clipping:align' 이벤트를 발행합니다.
Enters one-shot face-align mode: the next model click snaps the plane to that face. 1회성 면 정렬 모드로 진입합니다: 다음 모델 클릭이 평면을 그 면에 스냅합니다.
Target plane ID 대상 플레인 ID
Sets a crosshair cursor and locks plane-body picking so the align click reaches the model surface. On a successful surface click the plane's normal + constant snap to the face and the mode auto-exits. Emits 'viewer:clipping:alignModeChange'. 십자선 커서를 설정하고 평면 body 픽킹을 잠가 정렬 클릭이 모델 표면에 닿게 합니다. 표면 클릭이 성공하면 평면의 normal + constant가 그 면에 스냅되고 모드가 자동 종료됩니다. 'viewer:clipping:alignModeChange' 이벤트를 발행합니다.
Exits face-align mode (restores the cursor and unlocks plane-body picking). 면 정렬 모드를 종료합니다 (커서 복원, 평면 body 픽킹 잠금 해제).
Returns the plane ID currently in face-align mode, or null when inactive. 현재 면 정렬 모드인 플레인 ID를 반환합니다 (비활성이면 null).
Align-mode target plane ID, or null 면 정렬 모드 대상 플레인 ID, 비활성이면 null
교차선 표시 설정
표시 여부
교차선 색상 설정
색상 값
교차선 굵기 설정
굵기 (픽셀)
교차선 표시 여부 조회
교차선 색상 조회 (hex)
교차선 굵기 조회
Enables or disables the GPU shader edge preview during gizmo drag. 기즈모 드래그 중 GPU 셰이더 엣지 프리뷰 사용 여부를 설정합니다.
Whether to use the shader edge preview 셰이더 엣지 프리뷰 사용 여부
The always-on shader edge is now the default clipping edge representation, so this gate has no effect on the default path. It only gates the drag-time preview of the precise edge mode (setClippingPreciseEdge). 셰이더 상시 엣지가 기본 클리핑 엣지 표현이 되면서 이 게이트는 기본 경로에 영향을 주지 않습니다. 정밀 엣지 모드(setClippingPreciseEdge)의 드래그 중 프리뷰 게이트로만 동작합니다.
Returns whether the GPU shader edge preview is enabled. GPU 셰이더 엣지 프리뷰 사용 여부를 반환합니다.
True when the shader edge preview is enabled (default: true) 셰이더 엣지 프리뷰가 활성화되어 있으면 true (기본: true)
Enables or disables the precise edge mode (BVH geometry lines). 정밀 엣지 모드(BVH 지오메트리 라인)를 설정합니다.
Whether to use precise (BVH line) edges 정밀(BVH 라인) 엣지 사용 여부
Off by default: clipping edges are drawn by an always-on GPU shader edge whose line width is a screen-space pixel value (uniform-only updates when planes move, no regeneration). When enabled, the legacy hybrid path is used instead - BVH intersection lines with a shader preview during gizmo drag and a handoff when the lines are finalized. Use this as an opt-in when exact geometric intersection lines are required. 기본값은 비활성이며 클리핑 엣지는 스크린 공간 픽셀 폭의 GPU 셰이더 상시 엣지로 표현됩니다 (평면 이동 시 유니폼만 갱신, 재생성 없음). 활성화하면 종전 하이브리드 경로(BVH 교차선 + 드래그 중 셰이더 프리뷰 + 완료 시 핸드오프)가 대신 사용됩니다. 정확한 기하학적 교차선이 필요한 경우에만 opt-in으로 사용하세요.
Returns whether the precise edge mode (BVH geometry lines) is enabled. 정밀 엣지 모드(BVH 지오메트리 라인) 사용 여부를 반환합니다.
True when precise edge mode is enabled (default: false) 정밀 엣지 모드가 활성화되어 있으면 true (기본: false)
클리핑 대상 메시 다중 설정 (부분 스코프 클리핑)
클리핑 대상 메시 배열 (null이나 빈 배열이면 전체 모델)
현재 클리핑 대상 메시 반환 (단일 대상일 때만, 다중/전체면 null)
Gizmo 표시 설정
표시 여부
모든 클리핑 Gizmo 선택 해제
클리핑 Gizmo 표시 여부 반환
전체 클리핑 모드 반환
Sets the clip side mode of a specific clipping plane. 특정 클리핑 플레인의 절단 방향 모드를 설정합니다.
Plane ID 플레인 ID
Clip side mode ('far' | 'near' | 'both') 절단 방향 모드 ('far' | 'near' | 'both')
Returns the clip side mode of a specific clipping plane. 특정 클리핑 플레인의 절단 방향 모드를 반환합니다.
Plane ID 플레인 ID
Clip side mode, or null if the plane does not exist 절단 방향 모드 (평면이 없으면 null)
Sets the clipping plane position as a percentage of its normal-projected range. 클리핑 플레인 위치를 normal 투영 범위 기준 퍼센트(0~100)로 설정합니다.
Plane ID 플레인 ID
Position percentage (0~100, clamped) 위치 퍼센트 (0~100, 범위 밖 값은 클램핑)
Returns the clipping plane position as a percentage of its normal-projected range. 클리핑 플레인 위치를 normal 투영 범위 기준 퍼센트(0~100)로 반환합니다.
Plane ID 플레인 ID
Position percentage (0~100), or null if the plane or model bounds are unavailable 위치 퍼센트 (0~100), 평면 또는 모델 경계가 없으면 null
클리핑 바운딩박스 헬퍼 표시 설정
표시 여부
클리핑 바운딩박스 헬퍼 표시 여부 반환
Shows or hides all clipping UI (gizmos, cross-section helpers, bounds helper) at once. 모든 클리핑 UI(기즈모, 교차 단면 헬퍼, 바운딩박스 헬퍼)를 일괄로 표시/숨김합니다.
Whether all clipping UI is visible 모든 클리핑 UI 표시 여부
Bundles setClippingGizmoVisible and setClippingBoundsVisible for capture use cases (snapshot/thumbnail): hide the UI, capture, then restore. It keeps no prior-state backup, so read isClippingGizmoVisible()/isClippingBoundsVisible() beforehand to restore an asymmetric UI state after the capture. 캡처(스냅샷/썸네일) 유스케이스를 위해 setClippingGizmoVisible과 setClippingBoundsVisible를 묶습니다(숨김→캡처→복원). 이전 상태를 백업하지 않으므로, 비대칭 UI 상태를 복원하려면 캡처 전에 isClippingGizmoVisible()/isClippingBoundsVisible()를 읽어 두세요.
클리핑 플레인 목록 반환
Creates (or refits) the section box from the current model bounds and enables it. 현재 모델 바운드로 섹션 박스를 생성(또는 재맞춤)하고 활성화합니다.
A section box clips the model with 6 axis-aligned planes, keeping only the region inside the box (professional CAD "section box"). It is initialized to the visible model bounding box and coexists with individual planes/scope (all merged as an intersection). No-op with a warning when no model mesh exists. Master clipping is auto-enabled so the box takes effect immediately. 섹션 박스는 6개 축정렬 평면으로 모델을 잘라 박스 안쪽만 남깁니다(전문 CAD의 "섹션 박스"). 표시 중인 모델 바운딩박스로 초기화되며 개별 평면/스코프와 공존합니다(교집합으로 병합). 모델 메시가 없으면 경고 후 no-op이며, 박스가 즉시 반영되도록 마스터 클리핑을 자동 활성화합니다.
Sets the section box to an explicit min/max region (creates it if absent). 섹션 박스를 명시적 min/max 영역으로 설정합니다 (없으면 생성).
Minimum corner (world space) 최소 코너 (월드 좌표)
Maximum corner (world space) 최대 코너 (월드 좌표)
Enables or disables the section box clip (auto-creates from bounds if none exists). 섹션 박스 클립을 활성/비활성합니다 (박스가 없으면 바운드로 자동 생성).
Whether the section box clip is active 섹션 박스 클립 활성 여부
Pushes a single section box face to a new coordinate value. 섹션 박스의 한 면을 새 좌표값으로 밉니다.
Face to move ('minX' | 'maxX' | 'minY' | 'maxY' | 'minZ' | 'maxZ') 이동할 면
New world-space coordinate for that face 해당 면의 새 월드 좌표값
Deletes the section box (removes its wireframe helper and disables the clip). 섹션 박스를 삭제합니다 (와이어프레임 헬퍼 제거 및 클립 비활성).
Returns the current section box state, or null when no box exists. 현재 섹션 박스 상태를 반환합니다 (박스가 없으면 null).
Section box data with cloned corners, or null 복제된 코너를 담은 섹션 박스 데이터, 또는 null
Creates (or reorients) the thin-slab inspection slice and enables it. 얇은 슬랩 인스펙션 단면을 생성(또는 재정렬)하고 활성화합니다.
Preset axis ('x' | 'y' | 'z') or an arbitrary world normal 프리셋 축('x' | 'y' | 'z') 또는 임의 월드 법선
A slab keeps only a thin slice between two parallel planes along the given axis/normal (default thickness 5% of the model bounds diagonal), letting you scan through the model interior. It coexists with individual planes and the section box (all merged as an intersection). No-op with a warning when no model mesh exists. Master clipping is auto-enabled. Use stepClippingSlab() to scan the slice along its normal. 슬랩은 주어진 축/법선 방향으로 평행한 두 평면 사이의 얇은 한 겹(기본 두께: 모델 바운드 대각선의 5%)만 남겨 모델 내부를 스캔하듯 검사하게 합니다. 개별 평면·섹션 박스와 공존하며(교집합으로 병합), 모델 메시가 없으면 경고 후 no-op입니다. 마스터 클리핑을 자동 활성화하며, 법선 방향 스캔은 stepClippingSlab()을 사용하세요.
Sets the slab center position along its normal (n·p value at the slice center). 슬랩 중심 위치를 법선 방향으로 설정합니다 (단면 중심의 n·p 값).
Signed distance of the slab center along the normal 법선 방향 슬랩 중심의 부호 있는 거리
Scans the slab along its normal by a signed delta (position += delta). 슬랩을 법선 방향으로 부호 있는 증분만큼 스캔 이동합니다 (position += delta).
Signed step added to the current center (positive: normal direction) 현재 중심에 더할 부호 있는 증분 (양수: 법선 방향)
Sets the slab thickness (clamped to a small positive minimum). 슬랩 두께를 설정합니다 (작은 양의 최소값으로 클램프).
Slab thickness in world units (values <= 0 are clamped) 슬랩 두께 (월드 단위, 0 이하는 클램프됨)
Enables or disables the slab clip (auto-creates an X-axis slab if none exists). 슬랩 클립을 활성/비활성합니다 (슬랩이 없으면 X축 슬랩으로 자동 생성).
Whether the slab clip is active 슬랩 클립 활성 여부
Deletes the slab (disables the clip and clears its state). 슬랩을 삭제합니다 (클립 비활성 및 상태 초기화).
Returns the current slab state, or null when no slab exists. 현재 슬랩 상태를 반환합니다 (슬랩이 없으면 null).
Slab data with a cloned normal, or null 복제된 법선을 담은 슬랩 데이터, 또는 null
Serializes the full clipping state into a plain-JSON snapshot. 전체 클리핑 상태를 순수 JSON 스냅샷으로 직렬화합니다.
Clipping snapshot, or null when the viewer is not initialized 클리핑 스냅샷 (뷰어 미초기화 시 null)
Restores the clipping state from a snapshot. 스냅샷으로 클리핑 상태를 복원합니다.
Clipping snapshot to restore 복원할 클리핑 스냅샷
측정 시작
측정 취소
모든 측정 삭제
특정 측정 삭제
측정 ID
측정 데이터 반환
측정 데이터 내보내기
Initializes mesh analysis for arc/circle measurement. 호/원 측정을 위한 mesh 분석을 초기화합니다.
(optional) Re-run analysis even when already ready or running (선택적) 분석이 완료/진행 중이어도 강제로 재실행
애니메이션 클립 등록
애니메이션이 포함된 Object3D
AnimationClip 배열
애니메이션 클립 등록 해제
Object3D
애니메이션이 있는 모델 목록 반환
애니메이션 재생
OptionalclipName: string클립 이름 (생략 시 현재 또는 첫 번째 클립)
OptionalobjectUuid: string애니메이션 일시정지
애니메이션 정지 (처음으로 되돌림)
애니메이션 특정 시간으로 이동
시간 (초)
애니메이션 재생 속도 설정
속도 (1.0 = 정상)
애니메이션 재생 중 보이지 않는 오브젝트 강제 표시 설정
활성화 여부
다른 애니메이션으로 crossfade 전환
전환할 클립 이름
Optionalduration: number전환 시간 (초, 기본: 0.5)
현재 애니메이션 상태 반환
PLMXML 파일 로드 및 파싱
PLMXML 파일
파싱된 데이터
PLMXML 애니메이션 재생
PLMXML 애니메이션 일시정지
PLMXML 애니메이션 정지
PLMXML 애니메이션 특정 프레임으로 이동
프레임 번호
PLMXML 애니메이션 특정 시간으로 이동
시간 (초)
PLMXML 애니메이션 재생 속도 설정
속도 (1.0 = 정상)
PLMXML 애니메이션 루프 설정
루프 여부
PLMXML 시퀀스 전환
시퀀스 인덱스
PLMXML 애니메이션 상태 반환
PLMXML 현재 transform 값들 반환
entityId -> transform 맵
PLMXML 재생 중 여부
PLMXML 총 재생 시간 반환 (초)
PLMXML 파싱된 데이터 반환
PLMXML 자동 transform 적용 활성화/비활성화
활성화 여부
PLMXML 현재 transform을 수동으로 적용
PLMXML 바인딩된 오브젝트들을 초기 상태로 리셋
PLMXML 오브젝트 바인딩 해제
전체 조명 설정
추가 조명 제거
RoomEnvironment 프리셋 적용
외부 HDR 파일 로드
HDR 파일 URL
환경맵 제거
환경맵을 배경으로 표시할지 설정
배경 표시 여부
환경맵 강도 설정
강도 값
배경 블러 정도 설정
블러 정도 (0~1)
배경 강도 설정
강도 값
캔버스 엘리먼트 조회
스크린샷 캡처
Base64 인코딩된 이미지 데이터 URL
현재 뷰어 상태를 스냅샷으로 저장
스냅샷 이름
(선택적) 설명
생성된 스냅샷 데이터
스냅샷 적용 (저장된 상태 완전 복원)
스냅샷 ID
적용 성공 여부
스냅샷 삭제
스냅샷 ID
삭제 성공 여부
스냅샷 메타데이터 업데이트
스냅샷 ID
변경할 필드
업데이트 성공 여부
스냅샷 목록 반환
현재 활성 스냅샷 ID
스냅샷 세션 초기화 (모든 스냅샷 삭제)
Returns a complete performance report snapshot. 전체 성능 리포트 스냅샷을 반환합니다.
Performance report with renderer stats, scene stats, GPU info, memory info 렌더러 통계, 씬 통계, GPU 정보, 메모리 정보가 포함된 성능 리포트
Prints a formatted performance report to the console. 성능 리포트를 콘솔에 포맷팅하여 출력합니다.
Prints the current health status to console. 현재 건강 상태를 콘솔에 출력합니다.
Returns the last import session report. 마지막 임포트 세션 리포트를 반환합니다.
Returns the last import performance report collected during a bulk node load. 대량 노드 로드 중 수집된 마지막 임포트 성능 리포트를 반환합니다.
The last performance report, or null if none has been produced 마지막 성능 리포트 또는 null (생성된 적 없을 때)
Prints the last import performance report to console and returns it as markdown. 마지막 임포트 성능 리포트를 콘솔에 출력하고 마크다운 문자열로 반환합니다.
Markdown-formatted report string, or empty string if no report exists 마크다운 형식 리포트 문자열 또는 빈 문자열 (리포트 없을 때)
Prints the last worker-loading step-1 profile as markdown and returns it. 마지막 워커 로딩 1단계 프로파일을 마크다운으로 출력하고 반환합니다.
Markdown-formatted profile string, or empty string if none exists 마크다운 형식 프로파일 문자열 또는 빈 문자열 (프로파일 없을 때)
워커 이관 go/no-go의 핵심 숫자인 syncCPU/wallclock 비율을 포함하여, 로드 중
loadOptimized가 소비한 메인스레드 동기 CPU 구간과 async I/O 대기를 분리해 보여줍니다.
copy(window.viewer.printImportProfile())로 클립보드 복사할 수 있습니다.
Includes the syncCPU/wallclock ratio (the worker-offload go/no-go number),
splitting main-thread synchronous CPU spans from async I/O wait consumed during
load. Copy via copy(window.viewer.printImportProfile()).
Runs an automated render benchmark and returns a markdown report. 자동 렌더 벤치마크를 실행하고 마크다운 리포트를 반환합니다.
(optional) Benchmark duration in seconds (default: 5) (선택적) 측정 시간 (초, 기본: 5)
Promise that resolves with the markdown report (empty when not ready) 마크다운 리포트로 resolve되는 Promise (뷰어 미준비 시 빈 문자열)
For reproducibility the camera orbits the controls target exactly once over
the duration, forcing a render every frame while sampling frame times and
renderer.info (draw calls/triangles accumulated across all passes of a
frame). Controls are disabled during the run and the camera, controls and
renderer info settings are restored afterwards. Copy the result from the
console via copy(await viewer.benchRender()).
재현성을 위해 카메라가 컨트롤 타깃을 중심으로 측정 시간 동안 정확히 1회전하며,
매 프레임 렌더를 강제하고 프레임 시간과 renderer.info(한 프레임의 전 패스
누적 드로우콜/삼각형)를 수집합니다. 실행 중 컨트롤은 비활성화되며 종료 시
카메라/컨트롤/renderer info 설정이 복원됩니다. 콘솔에서
copy(await viewer.benchRender())로 결과를 복사할 수 있습니다.
이벤트 구독
이벤트 이름
콜백 함수
구독 해제 함수
모델 계층 구조를 SceneGraph에 등록
루트 Object3D
모델 이름
생성된 루트 노드 ID
SceneGraph에서 노드 삭제
노드 ID
SceneGraph 노드 visible 설정
노드 ID
visible 여부
SceneGraph 트리를 콘솔에 출력
JSON 트리 구조를 import
JSON 객체 또는 JSON 파일 URL
GLTF 파일의 기본 경로
생성된 루트 노드 ID
체크된 노드 중 미로드된 모델들을 일괄 로드
로드 결과
GLTF 폴더 선택 (File System Access API)
선택 성공 여부
파일 목록 로드 (3D 모델 또는 JSON 트리)
FileList 객체
로드 결과 배열
특정 노드 로드 (JSON 트리에서 filePath 기반)
노드 ID
Returns textures the loaded model declares but whose files were not supplied. 로드된 모델이 선언했으나 파일이 제공되지 않은 텍스처 목록을 반환합니다.
Snapshot array of missing entries; empty when nothing is missing 누락 항목 스냅샷 배열. 누락이 없으면 빈 배열
Fills missing texture slots by matching supplied image files on file name. 제공된 이미지 파일을 파일명으로 매칭하여 누락 텍스처 슬롯을 채웁니다.
Image files (File[] or FileList). Matching is by basename,
case-insensitive. Extra files are ignored.
이미지 파일. 매칭은 basename 기준 대소문자 무시. 여분 파일은 무시됩니다
Promise resolving with which entries were resolved and which remain 어떤 항목이 해결되고 어떤 항목이 남았는지로 resolve되는 Promise
Clears the missing texture list without filling any slot. 슬롯을 채우지 않고 누락 텍스처 목록을 비웁니다.
Clears the model cache. 모델 캐시를 초기화합니다.
Whether clear succeeded 초기화 성공 여부
Returns model cache statistics. 모델 캐시 통계를 반환합니다.
Cache statistics or null if cache is not available 캐시 통계 또는 null (캐시 미사용 시)
Enables or disables the file-overlap optimization path used during GLTF import. GLTF 임포트 시 사용되는 파일 오버랩 최적화 경로를 켜거나 끕니다.
Whether to enable the overlap optimization path 오버랩 최적화 경로 활성화 여부
When enabled the importer takes the overlap-optimized load path; when disabled
it falls back to the legacy loadWithFiles path. This is a stable rollout toggle
(not a temporary debug flag) intended to ease import performance benchmarking.
활성화 시 임포터는 오버랩 최적화 로드 경로를 사용하며, 비활성화 시 기존
loadWithFiles 경로로 폴백합니다. 이 설정은 임시 디버그 플래그가 아니라
롤아웃 기간 동안 유지되는 정식 토글로, import 성능 측정을 돕기 위한 것입니다.
Returns whether the GLTF import file-overlap optimization path is enabled. GLTF 임포트 파일 오버랩 최적화 경로의 활성화 여부를 반환합니다.
true if the overlap optimization path is enabled, otherwise false.
Defaults to true when the importer is not initialized.
오버랩 최적화 경로가 활성화되어 있으면 true, 아니면 false.
임포터가 초기화되지 않은 경우 기본값 true를 반환합니다.
Enables or disables the BIN cache injection path used during GLTF import. GLTF 임포트 시 사용되는 BIN 캐시 주입 경로를 켜거나 끕니다.
Whether to enable the BIN cache injection path BIN 캐시 주입 경로 활성화 여부
When enabled the GLTF loader injects decoded BIN buffers into the shared Three.js cache to skip redundant fetch/decode work. Disabling it isolates the cache-injection contribution for import performance benchmarking (perf item #1). No-op when the importer is not initialized. 활성화 시 GLTF 로더는 디코드된 BIN 버퍼를 공유 Three.js 캐시에 주입하여 중복 fetch/decode 작업을 건너뜁니다. 비활성화하면 캐시 주입의 기여도를 분리하여 import 성능(perf #1)을 측정할 수 있습니다. 임포터가 초기화되지 않은 경우 아무 동작도 하지 않습니다.
Returns whether the GLTF import BIN cache injection path is enabled. GLTF 임포트 BIN 캐시 주입 경로의 활성화 여부를 반환합니다.
true if the BIN cache injection path is enabled, otherwise false.
Defaults to true when the importer is not initialized.
BIN 캐시 주입 경로가 활성화되어 있으면 true, 아니면 false.
임포터가 초기화되지 않은 경우 기본값 true를 반환합니다.
Enables or disables worker-based GLTF parsing used during import. 임포트 시 사용되는 Worker 기반 GLTF 파싱을 켜거나 끕니다.
Whether to enable worker-based GLTF parsing Worker 기반 GLTF 파싱 활성화 여부
When enabled the JSON node-load path offloads GLTF/GLB parsing to a Worker pool, packing external-resource GLTF into an in-memory GLB first (decision A). Inputs the lightweight worker parser cannot handle (compression/skin/morph/ sparse) silently fall back to the main thread with byte-identical results. Disabling it forces main-thread parsing, isolating the worker-parse contribution for import performance benchmarking. No-op when the importer is not initialized. 활성화 시 JSON 노드 로드 경로는 GLTF/GLB 파싱을 Worker 풀로 오프로딩하며, 외부 리소스 GLTF는 먼저 in-memory GLB로 팩합니다(결정 A). 경량 worker 파서가 처리할 수 없는 입력(압축/스킨/morph/sparse)은 바이트 단위로 동일한 결과로 조용히 메인스레드로 폴백합니다. 비활성화하면 메인스레드 파싱을 강제하여 worker 파싱의 기여도를 분리해 측정할 수 있습니다. 임포터가 초기화되지 않은 경우 아무 동작도 하지 않습니다.
Returns whether worker-based GLTF parsing for import is enabled. 임포트 시 Worker 기반 GLTF 파싱의 활성화 여부를 반환합니다.
true if worker-based GLTF parsing is enabled, otherwise false.
Defaults to false when the importer is not initialized.
Worker 기반 GLTF 파싱이 활성화되어 있으면 true, 아니면 false.
임포터가 초기화되지 않은 경우 기본값 false를 반환합니다.
Enables or disables the worker/main-thread 1:1 parse comparison mode. worker/메인스레드 1:1 파싱 비교 모드를 켜거나 끕니다.
Whether to enable the parse comparison mode 파싱 비교 모드 활성화 여부
Debug-only verification mode (design §4.3). When enabled and the worker path is taken, the same packed GLB is also parsed on the main thread and the two results (mesh/vertex/material/animation counts) are compared, logging any mismatch to the console. The worker result is still adopted. Intended to detect fidelity differences (e.g. color space); off by default and not for production. No-op when the importer is not initialized. 디버그 전용 검증 모드(설계 §4.3). 활성화 후 worker 경로를 타면 동일한 팩 GLB를 메인스레드에서도 파싱하여 두 결과(메시/정점/머티리얼/애니메이션 수)를 비교하고 불일치를 콘솔에 로깅합니다. worker 결과는 그대로 채택됩니다. 충실도 차이(예: 색공간) 탐지용이며 기본 off, 운영 비권장입니다. 임포터가 초기화되지 않은 경우 아무 동작도 하지 않습니다.
Returns whether the worker/main-thread parse comparison mode is enabled. worker/메인스레드 파싱 비교 모드의 활성화 여부를 반환합니다.
true if the comparison mode is enabled, otherwise false.
Defaults to false when the importer is not initialized.
비교 모드가 활성화되어 있으면 true, 아니면 false.
임포터가 초기화되지 않은 경우 기본값 false를 반환합니다.
Enables or disables the worker-loading PoC decode path used during import. 임포트 시 사용되는 워커 로딩 PoC 디코드 경로를 켜거나 끕니다.
Whether to enable the worker-loading decode path 워커 로딩 디코드 경로 활성화 여부
Worker-loading gate (workerLoadPoC, default ON). When enabled,
external-resource GLTF files are decoded on a robust LoadWorkerPool off the
main thread (file handles read inside the worker, zero main-to-worker copy)
and assembled on the main thread; any unsupported/failed input silently falls
back to main-thread parsing with no loss. Promoted to default ON after
measurement (365 files/314MB: 8.0s to 1.74s, 4.6x). No-op when the importer
is not initialized.
워커 로딩 게이트(workerLoadPoC, 기본 ON). 활성화 시 외부 리소스 GLTF 파일을
견고 LoadWorkerPool에서 메인 스레드 밖으로 디코드(파일 핸들을 워커가 직접
읽음, 메인→워커 복사 0)하고 메인에서 조립합니다. 미지원/실패 입력은 메인스레드
파싱으로 무손실 폴백합니다. 실측(365파일/314MB: 8.0s→1.74s, 4.6배) 후 기본
ON으로 승격. 임포터가 초기화되지 않은 경우 아무 동작도 하지 않습니다.
Returns whether the worker-loading decode path for import is enabled. 임포트 시 워커 로딩 디코드 경로의 활성화 여부를 반환합니다.
true if enabled, otherwise false.
Defaults to true (engine default) when the importer is not initialized.
활성화되어 있으면 true, 아니면 false.
임포터가 초기화되지 않은 경우 엔진 기본값 true를 반환합니다.
Overrides the concurrency used by the JSON node-load path. JSON 노드 로드 경로의 동시성을 오버라이드합니다.
Concurrency level, or null to use the default
동시성 값, 또는 기본값 사용 시 null
import 병목이 I/O-bound인지 CPU(parse)-bound인지 가리기 위한 계측용 노브입니다.
동시성을 올렸을 때 wall-clock이 줄면 I/O-bound, 변화가 없으면 parse-bound입니다.
null을 전달하면 기본값(IMPORTER_DEFAULTS.maxConcurrent)으로 복원합니다.
Benchmark knob to distinguish I/O-bound vs CPU(parse)-bound import. If raising
concurrency reduces wall-clock, the load is I/O-bound; otherwise parse-bound.
Pass null to restore the default.
Returns the effective node-load concurrency. 노드 로드의 유효 동시성을 반환합니다.
The override value if set, otherwise the default concurrency. 오버라이드가 설정되어 있으면 그 값, 아니면 기본 동시성.
Enables or disables render suppression while a model is loading. 모델 로드 중 렌더 억제를 켜거나 끕니다.
Whether to enable render suppression during load 로드 중 렌더 억제 활성화 여부
When enabled the batch render queue defers intermediate batch renders to
the on-demand RAF loop (requestRender) instead of rendering each batch
synchronously. Disabling it forces synchronous per-batch rendering, which
isolates the suppression contribution for import performance benchmarking
(perf item #2). No-op when the batch render queue is not initialized.
활성화 시 배치 렌더 큐는 중간 배치 렌더를 동기 렌더 대신 on-demand RAF
루프(requestRender)로 지연시킵니다. 비활성화하면 배치마다 동기 렌더를
강제하여 억제의 기여도를 분리하고 import 성능(perf #2)을 측정할 수
있습니다. 배치 렌더 큐가 초기화되지 않은 경우 아무 동작도 하지 않습니다.
Returns whether render suppression during load is enabled. 로드 중 렌더 억제의 활성화 여부를 반환합니다.
true if render suppression during load is enabled, otherwise false.
Defaults to true when the batch render queue is not initialized.
로드 중 렌더 억제가 활성화되어 있으면 true, 아니면 false.
배치 렌더 큐가 초기화되지 않은 경우 기본값 true를 반환합니다.
Returns the current scene add mode. 현재 씬 추가 모드를 반환합니다.
'progressive' | '1/2' | '1/3' | '1/5' | 'onComplete' 'progressive' | '1/2' | '1/3' | '1/5' | 'onComplete'
Sets the scene add mode. Takes effect on the next import. 씬 추가 모드를 설정합니다. 다음 import부터 적용됩니다.
Scene add mode ('progressive' | '1/2' | '1/3' | '1/5' | 'onComplete') 씬 추가 모드 ('progressive' | '1/2' | '1/3' | '1/5' | 'onComplete')
'progressive' adds each loaded root object to the scene as its file completes. 'onComplete' buffers them and adds everything in one pass at load completion, before the camera fit and the BatchedMesh swap. The fractional modes ('1/2' | '1/3' | '1/5') buffer objects and drain the buffer each time overall progress (completedFiles/totalFiles) crosses a 1/n boundary; the final remainder is added at load completion. An in-flight import keeps the mode it started with. 'progressive'는 파일 완료마다 로드된 루트 오브젝트를 씬에 즉시 추가합니다. 'onComplete'는 버퍼에 축적했다가 로드 완료 시점에 일괄 추가합니다 (카메라 맞춤·BatchedMesh 스왑보다 먼저). 분수 모드 ('1/2' | '1/3' | '1/5')는 버퍼에 축적하다가 전체 진행률 (completedFiles/totalFiles)이 1/n 경계를 넘을 때마다 일괄 추가하며, 마지막 잔여분은 로드 완료 시점에 추가됩니다. 진행 중인 import는 시작 시점의 모드를 유지합니다.
배치 렌더링 활성화 (또는 배치 크기 변경)
OptionalbatchSize: number배치 크기 (기본: 30)
배치 렌더 큐 통계 반환
Returns whether BatchedMesh-based draw-call merging is enabled. BatchedMesh 기반 드로우 콜 병합 활성화 여부를 반환합니다.
true if the batched rendering gate is on
배치 렌더링 게이트가 켜져 있으면 true
Enables or disables BatchedMesh-based draw-call merging (default: on). BatchedMesh 기반 드로우 콜 병합을 켜거나 끕니다 (기본: on).
Whether to enable the batched rendering gate 배치 렌더링 게이트 활성화 여부
Takes effect on the next load completion. Disabling does not restore already-batched meshes (source geometries are disposed at swap time); reload the models to return to the per-mesh path. 다음 로드 완료 시점부터 적용됩니다. 비활성화해도 이미 배치된 메시는 복원되지 않습니다(스왑 시점에 소스 지오메트리를 dispose). per-mesh 경로로 돌아가려면 모델을 다시 로드해야 합니다.
Transform Gizmo 비활성화
Transform 대상 오브젝트 설정
대상 오브젝트 (null이면 해제)
Transform Undo
Transform Redo
Transform 스냅 설정
스냅 설정 객체
Optionaltranslation?: number | null이동 스냅 단위 (null이면 비활성)
Optionalrotation?: number | null회전 스냅 단위 (라디안, null이면 비활성)
Optionalscale?: number | null스케일 스냅 단위 (null이면 비활성)
Transform Gizmo 표시 여부 반환
Material 편집 대상 해제
Material 색상 설정
새 색상
Material Roughness 설정
Roughness 값 (0-1)
OptionalrecordHistory: boolean히스토리 기록 여부 (기본: true)
Material Metalness 설정
Metalness 값 (0-1)
OptionalrecordHistory: boolean히스토리 기록 여부 (기본: true)
Material EnvMap 강도 설정
EnvMap 강도 값 (0-3)
OptionalrecordHistory: boolean히스토리 기록 여부 (기본: true)
Material HSL 조정
HSL 조정값 (hue, saturation, brightness)
OptionalrecordHistory: boolean히스토리 기록 여부 (기본: true)
Material Undo
성공 여부
Material Redo
성공 여부
Texture 편집 대상 해제
파일에서 텍스처 로드
텍스처 슬롯
이미지 파일
로드된 텍스처 정보
URL에서 텍스처 로드
텍스처 슬롯
이미지 URL
로드된 텍스처 정보
텍스처 UV 설정 변경
텍스처 슬롯
UV 설정
텍스처 필터/래핑 설정 변경
텍스처 슬롯
필터 설정
마크업 시스템 활성화/비활성화
활성화 여부
마크업 시스템 활성화 상태 확인
마크업 추가 모드 종료
현재 마크업 추가 모드 확인
마크업 선택
마크업 ID
마크업 선택 해제
마크업 삭제
마크업 ID
삭제 성공 여부
모든 마크업 삭제
ViewCube 표시 여부 설정
표시 여부
ViewCube 활성화 여부 설정
활성화 여부
ViewCube 코너 위치 설정
코너 위치
ViewCube 크기 설정
크기 (px)
ViewCube 면 라벨 설정
면 라벨
ViewCube 코너 기준 오프셋 설정
X축 오프셋 (px, 안쪽 방향)
Y축 오프셋 (px, 안쪽 방향)
리소스 cleanup
현재 viewer state