27 lines
820 B
Markdown
27 lines
820 B
Markdown
# W-013 Status
|
|
|
|
status: done
|
|
task: 建立 Three.js 视口烟测
|
|
|
|
## Evidence
|
|
|
|
- Adapter: `web/app/src/three-adapter/viewport.ts`
|
|
- Uses vendored Three.js `0.185.1` from `web/app/src/vendor/three/`,
|
|
`WebGLRenderer`, `Scene`, `PerspectiveCamera`,
|
|
`OrbitControls`, `GridHelper`, lights, resize observer and disposal.
|
|
- No runtime CDN request is required; Playwright asserts all requests stay on
|
|
the local dev origin.
|
|
- Screenshot: `tests/golden/W-013/three-viewport-1440x900.png`
|
|
|
|
## Verification
|
|
|
|
```text
|
|
npm run typecheck # passed
|
|
npm run lint # passed
|
|
npm run build # passed
|
|
Chrome headless --use-gl=swiftshader --virtual-time-budget=60000 # rendered cube/grid
|
|
```
|
|
|
|
The renderer failure path is contained in the viewport component, so browsers
|
|
without a WebGL context keep the editor shell available.
|