Hero Forge slice issue viewer — Vite/React + Three.js | Demo at https://itchbox.tail018ac4.ts.net/game/hero-forge-slice-issue
https://itchbox.tail018ac4.ts.net/game/hero-forge-slice-issue
| .forgejo/workflows | ||
| docs | ||
| public | ||
| src | ||
| .gitignore | ||
| components.json | ||
| eslint.config.js | ||
| index.html | ||
| lefthook.yml | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.js | ||
| README.md | ||
| run.sh | ||
| tailwind.config.js | ||
| tsconfig.app.json | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vite.config.ts | ||
Kimi_Agent_Hero Forge Slice Issue
A browser-based 3D character creator and kitbashing tool built with React, Three.js, and Tailwind CSS. Import GLTF/GLB models, slice them into parts, and assemble new characters with smart joints and skeleton-based posing.
Tech Stack
- React 19 + TypeScript
- Vite 7
- Tailwind CSS 3.4 + shadcn/ui
- Three.js + React Three Fiber + Drei
- Zustand (state management)
- React Router (HashRouter)
- GSAP + Lenis (animations)
Getting Started
git clone https://forgejo.tail018ac4.ts.net/Mark/kimi_agent_hero_forge_slice_issue.git
cd kimi_agent_hero_forge_slice_issue
npm install
npm run dev
Project Structure
src/
components/ # Shared components (Navbar, Footer, Layout)
components/ui/ # shadcn/ui components (40+)
pages/ # Route pages (Home, Editor, Library, etc.)
pages/sections/ # Home page sections
pages/editor/ # 3D editor components
pages/community/ # Community page components
pages/docs/ # Documentation page components
pages/library/ # Library page components
pages/pricing/ # Pricing page components
hooks/ # Custom hooks
lib/ # Utilities
__tests__/ # Top-level tests (e.g. App.test.tsx)
pages/**/__tests__/ # Co-located component/store tests
test/ # Vitest setup (setup.ts)
App.tsx # Router setup
main.tsx # Entry point
Scripts
| Command | Description |
|---|---|
npm run dev |
Start dev server (port 3000) |
npm run build |
Production build |
npm run lint |
Run ESLint |
npm run preview |
Preview production build |
npm test |
Run vitest once |
npm run test:watch |
Run vitest in watch mode |
npm run test:coverage |
Run vitest with coverage |
Performance
See docs/PERFORMANCE.md for patterns and conventions around:
- Three.js bundle splitting
- Memory leak prevention (event listeners, intervals)
- Rendering optimizations for bone hierarchies and keyframe filters