Skip to content

feat(hq): 3D office tab — WebGL (three.js) floors per project, desks per room (v0.110.43) - #185

Merged
8syncdev merged 1 commit into
mainfrom
feat/office-3d
Oct 22, 2026
Merged

8syncdev merged 1 commit into
mainfrom
feat/office-3d

Conversation

@8syncdev

Copy link
Copy Markdown
Contributor

See CHANGELOG [0.110.43]. New "3D" tab in HQ: one floor per project, one desk + avatar per room, colour = state (needs breathes, working nods, idle grey), hover tooltip, click opens the room, sidebar repo filter honoured. three.js (MIT) is a dynamic import so other tabs pay nothing; no shadows/post-processing, powerPreference: low-power, render loop only while the tab is visible, prefers-reduced-motion stops motion. Footer shows measured rooms / draw calls / ms per frame.

Not verified: chunk size after tree-shaking (CI package-hq-ui builds it; whole library ≤ 417 KB gzip), browser RAM (no token in this session).

Tests: hq-ui tsc + eslint clean, office-3d 2/2, know 2/2. Gates: /sec OK (pnpm audit: 1 high braces via shadcn CLI, pre-existing) · /rules ALLOWED · /aup-audit OK · 8sync ccc risk --release medium.

🤖 Generated with Claude Code

…per room (v0.110.43)

Owner 2026-10-22: "ui ux … 3d nhanh nhẹ đẹp"; decision 2026-10-22: WebGL in the
current HQ first. three.js loads only when the tab opens; no shadows or
post-processing, low-power GPU, loop only while visible, reduced motion honoured;
the footer prints rooms, draw calls and ms per frame. Pure layout in
lib/office-3d.ts with tests.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
@8syncdev
8syncdev merged commit b65aed7 into main Oct 22, 2026
8 checks passed
@8syncdev
8syncdev deleted the feat/office-3d branch October 24, 2026 05:58
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.

1 participant