https://github.com/tcoppex/cljs-r3f-projects
:last_quarter_moon_with_face: A collection of samples using a ClojureScript & React-Three-Fiber stack.
https://github.com/tcoppex/cljs-r3f-projects
clojurescript react-three-drei react-three-fiber shadow-cljs
Last synced: 3 months ago
JSON representation
:last_quarter_moon_with_face: A collection of samples using a ClojureScript & React-Three-Fiber stack.
- Host: GitHub
- URL: https://github.com/tcoppex/cljs-r3f-projects
- Owner: tcoppex
- License: mit
- Created: 2022-04-21T19:50:03.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2022-04-28T19:39:39.000Z (about 3 years ago)
- Last Synced: 2025-01-17T00:50:53.564Z (5 months ago)
- Topics: clojurescript, react-three-drei, react-three-fiber, shadow-cljs
- Language: Clojure
- Homepage:
- Size: 37.4 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# :last_quarter_moon_with_face: cljs-r3f-projects :first_quarter_moon_with_face:
A collection of samples using a *__ClojureScript / React-Three-Fiber__* stack.
## Quickstart
To create a new project, copy the `template` project directory :
```bash
cp -R template/ my-project
```A project can be started by entering its directory and running the `start` command :
```bash
cd my-project
npm run start
```This will install dependencies, build the files and start a live server. You can then visit [localhost:8080](http://localhost:8080) to run the app locally.
## Dependencies
The template use the following `npm` libraries :
- react & react-dom
- react-spring/three
- react-three (_fiber, drei, postprocessing_)
- threeand the following `Shadow-cljs` packages :
- [reagent](https://github.com/reagent-project/reagent)
- [re-frame](https://github.com/Day8/re-frame)
- [js-interop](https://github.com/applied-science/js-interop)
## Known issues1. After compilation the browser may sometimes fails to render the app. If it happens try either to refresh your browser or to trigger
the live compilation until it renders again.
2. The package `regenerator-runtime` is required for `react-spring` and `react-three/*` to work.
3. At the moment some dependencies fail to compile using a `shadow-cljs` version above `2.14.x`.## Documentations
* [ClojureJS cheatsheet](https://cljs.info/cheatsheet/)
* [ReactJS cheatsheet](https://devhints.io/react)
* [ShadowCLJS Users Guide](https://shadow-cljs.github.io/docs/UsersGuide.html)
* [Reagent](https://github.com/reagent-project/reagent)
* [Reagent React Features](https://github.com/reagent-project/reagent/blob/master/doc/ReactFeatures.md)
* [InteropWithReact](https://github.com/reagent-project/reagent/blob/master/doc/InteropWithReact.md)
* [React Spring](https://react-spring.io/guides/r3f)
* [THREE.js](https://threejs.org/) (using [v0.137.0](https://github.com/mrdoob/three.js/tree/r137))
* [THREE.js performance tips](https://discoverthreejs.com/tips-and-tricks/#performance)
* [react-three/fiber](https://github.com/pmndrs/react-three-fiber) (using [v7.0.3](https://github.com/pmndrs/react-three-fiber/tree/v7.0.3))
* [react-three/drei](https://github.com/pmndrs/drei) (using [v7.27.5](https://github.com/pmndrs/drei/tree/v7.27.5))
* [react-three/postprocessing](https://www.npmjs.com/package/@react-three/postprocessing)
* [react-three-fiber examples](https://docs.pmnd.rs/react-three-fiber/getting-started/examples#basic-examples=)
* [cljs-react-three-fiber](https://github.com/binaryage/cljs-react-three-fiber)
* [racing-game-cljs](https://github.com/ertugrulcetin/racing-game-cljs)
* [R3F in practice](https://github.com/Domenicobrz/R3F-in-practice)## License
This project is released under the *MIT License*.