solid-three
solid-three copied to clipboard
port of @react-three/fiber for solid
solid-three
Solid-three is a port of React-three-fiber to SolidJS, originally created by Nikhil Saraf. It allows you to declaratively construct a Three.js scene, with reactive primitives, just as you would construct a DOM tree in SolidJS.
Note This library has just been published to NPM from this repo. It is still in early development, and is not yet ready for production use. Please feel free to try it out and report any issues you find!
Quick start
Install it:
npm i solid-three
# or
yarn add solid-three
# or
pnpm add solid-three
Use it:
import { Canvas } from 'solid-three'
Dev Container
If you are using VSCode on windows (or just prefer to develope in a container), you can use the included dev container to get started quickly.
- Clone this repo to a directory inside of your wsl instance such as
~/Github
- Navigate to the
solid-three
directory and runcode .
- Open the workspace from the provided file.
- Make sure the DevContainers extension is installed Click the bottom left corner of the window and select
Reopen in Container
- if the extension is installed, vscode should prompt you to open the project in a dev container when you open the workspace file.
Dev Container Notes
- We clone into the
wsl
instance because the dev container is running a linux container, and the windows filesystem will cause extreme performance loss due to IO overhead. - If you are using a different shell, you may need to modify the
devcontainer.json
file to use your shell of choice. - A port will automatically be forwarded when you run the project in dev mode, so you can access the dev server from your browser on windows at
localhost:<port>
- the port will be displayed in the terminal when you run the project. This can be configured by you as well.
Documentation
Note: Coming Soon!
Sample Applications
Note: More Coming Soon!
solid-three-template
This is a template for a SolidJS application that uses solid-three.
This project is a bare-bones Vite
project that has been configured to use SolidJS
, solid-three
, and ESLint
with Prettier
for formatting.
Contributing
Note: Coming Soon!