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
+13
View File
@@ -0,0 +1,13 @@
MIT License
Copyright (c) 2026 La Fabrik Durable
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the software, and to permit persons to whom the software
is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of this software.
THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND.
+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.