perf: reduce 3D runtime artifacts (#7)

This commit is contained in:
2026-07-29 11:04:42 +09:00
parent fc2871ce4c
commit 0c656808e0
20 changed files with 148 additions and 309 deletions
+2 -3
View File
@@ -104,7 +104,7 @@
<tr><td>지오메트리 압축</td><td>Draco</td><td>~73% 축소 검증됨</td></tr>
<tr><td>텍스처 압축</td><td>WebP(런타임) / KTX2·Basis(고급)</td><td>KTX2는 별도 CLI 단계(<code>toktx</code>)</td></tr>
<tr><td>빌드</td><td>Vite + TypeScript (strict)</td><td>three vendor + 포맷별 로더 청크 분리</td></tr>
<tr><td>디코더 호스팅</td><td><code>public/draco</code> + <code>public/basis</code> + <code>public/web-ifc</code></td><td>postinstall로 자동 복사</td></tr>
<tr><td>디코더 호스팅</td><td>Vite hashed Draco·Basis asset + <code>public/web-ifc</code></td><td>Three.js import로 생성, single-thread IFC WASM만 postinstall 복사</td></tr>
<tr><td>에셋 파이프라인</td><td>gltf-transform + draco3d</td><td><code>tools/preprocess.mjs</code> (GLB 전용)</td></tr>
</table>
@@ -122,13 +122,12 @@
progress.ts # showProgress/hideProgress/setProgress/setStatus
fps.ts # ★ 화면 FPS 오버레이 (EMA, 색상코딩)
public/
draco/ basis/ # 디코더 WASM (자동 복사)
web-ifc/ # ★ web-ifc.wasm (단일스레드, 자동 복사)
samples/ # Box/Duck/Avocado/Duck.optimized + Cube.obj/dae/fbx/ifc
previews/ # Duck.webp + Cube.{obj,dae,fbx,ifc}.webp (24프레임 360°)
tools/
preprocess.mjs # gltf-transform Draco+WebP 압축 (GLB 전용)
copy-decoders.mjs # postinstall: draco+basis+web-ifc 복사
copy-decoders.mjs # postinstall: single-thread web-ifc WASM 복사
prerender.mjs # 360° 턴테이블 → Animated WebP (포맷 무관)
perf-smoke.mjs # 헤드리스 체감 로드 측정 (&lt;3s)
adaptive-smoke.mjs # ★ CPU 스로틀로 60fps↓ 강등 실증