add: license + v1 archi

This commit is contained in:
2026-04-13 22:24:20 +02:00
parent b55e60bb16
commit 86b889e2fc
2 changed files with 116 additions and 15 deletions
+103 -15
View File
@@ -2,20 +2,108 @@
An interactive 3D web experience for La Fabrik Durable — a low-tech repair and transformation service in Altera, a post-capitalist city rebuilt in 2039. Players step into the role of a newly onboarded technician and experience a day at the service: repairing an e-bike, fixing a power grid, and upgrading a vertical farm's irrigation system.
Built with React 19, TypeScript, and Vite.
## 📦 Tech Stack
## 🔗 Ressources
| Techno | Doc |
### Build & Language
| Package | Doc |
|--------|-----|
| Three.js | https://threejs.org/docs/ |
| React Three Fiber | https://docs.pmnd.rs/react-three-fiber/getting-started/introduction |
| Drei | https://drei.docs.pmnd.rs/getting-started/introduction |
| Rapier (physique) | https://rapier.rs/docs/ |
| R3F Rapier | https://github.com/pmndrs/react-three-rapier |
| Zustand | https://zustand.docs.pmnd.rs/learn/getting-started/introduction |
| GSAP | https://gsap.com/docs/v3/Installation/ |
| Postprocessing | https://github.com/pmndrs/postprocessing |
| r3f-perf | https://github.com/utsuboco/r3f-perf |
| Vite | https://vite.dev/guide/ |
| AnimationMixer | https://threejs.org/docs/#api/en/animation/AnimationMixer |
| [TypeScript](https://www.typescriptlang.org/docs/) | https://www.typescriptlang.org/docs/ |
| [React](https://react.dev/learn) | https://react.dev/learn |
| [Vite](https://vite.dev/guide/) | https://vite.dev/guide/ |
| [ESLint](https://eslint.org/docs/latest/) | https://eslint.org/docs/latest/ |
| [Prettier](https://prettier.io/docs/) | https://prettier.io/docs/ |
### 3D Engine
| Package | Doc |
|--------|-----|
| [Three.js](https://threejs.org/docs/) | https://threejs.org/docs/ |
| [@react-three/fiber](https://docs.pmnd.rs/react-three-fiber/getting-started/introduction) | https://docs.pmnd.rs/react-three-fiber |
| [@react-three/drei](https://pmndrs.github.io/drei) | https://pmndrs.github.io/drei |
| [@react-three/rapier](https://rapier.rs/docs/) | https://rapier.rs/docs/user_guides/javascript/ |
| [@react-three/postprocessing](https://github.com/pmndrs/postprocessing) | https://github.com/pmndrs/postprocessing |
| [GSAP](https://gsap.com/docs/v3/Installation/) | https://gsap.com/docs/v3/ |
### State
| Package | Doc |
|--------|-----|
| [Zustand](https://zustand.docs.pmnd.rs/) | https://zustand.docs.pmnd.rs/ |
### Performance & Effects
| Package | Doc |
|--------|-----|
| [r3f-perf](https://github.com/utsuboco/r3f-perf) | https://github.com/utsuboco/r3f-perf |
| [AnimationMixer](https://threejs.org/docs/#api/en/animation/AnimationMixer) | https://threejs.org/docs/#api/en/animation/AnimationMixer |
## Architecture
la-fabrik/
├── public/
│ ├── models/
│ │ ├── map/
│ ├── textures/
│ └── sounds/
└── src/
├── world/
│ ├── Map.tsx
│ ├── Environment.tsx
│ ├── PostFX.tsx
│ ├── zones/
│ │ ├── WorkshopZone.tsx
│ │ ├── PowerGridZone.tsx
│ │ └── FarmZone.tsx
│ │ └── SchoolZone.tsx
│ │ └── ResidentialZone.tsx
│ └── player/
│ ├── FPSController.tsx
│ └── Crosshair.tsx
├── components/
│ ├── 3d/
│ │ └── InteractiveObject.tsx
│ └── ui/
│ ├── NarrativeOverlay.tsx
│ ├── MissionHUD.tsx
│ ├── MapHUD.tsx
│ ├── CinematicBars.tsx
│ └── LoadingScreen.tsx
├── stores/
│ ├── useExperienceStore.ts
│ ├── usePlayerStore.ts
│ └── useAudioStore.ts
├── hooks/
│ ├── useZoneDetection.ts
│ ├── useInteraction.ts
│ └── useAudio.ts
│ ├── useCinematic.ts
│ └── useLOD.ts
├── data/
│ ├── zones.ts
│ └── dialogues.ts
├── shaders/
├── utils/
│ ├── debug.js
│ ├── sizes.js
│ ├── time.js
│ └── loadingscreen.js
├── App.tsx
└── main.tsx
## 🚀 Getting Started
```bash
git clone https://github.com/La-Fabrik-Durable/La-Fabrik.git
cd La-Fabrik
npm install
npm run dev
```
## 📜 License
See [LICENSE](./LICENSE) file.