We welcome contributions to Threepipe. Please read the following guidelines to start working on the code and creating pull request.
- Clone the repository
- Run
npm install
- If changing the
src/
folder - Runnpm run dev
to start the development in watch mode - If changing the
plugins/
folder -cd
to the plugin directory and runnpm run dev
to start the development in watch mode for the package. - Run
npm run dev-examples
to start the examples build in watch mode - Run
npm run serve
to start the development server - Navigate to
http://localhost:9229/index.html
to see the examples and pick the one you are working on.
For website(vitepress) development -
- Run
npm run website:dev
to start the website server.
TBD
- Run
npm run build
to build the project, or in a specific package directory to build the package - Run
npm run build-examples
to build the examples - Run
npm run website:build
to build the website - Run
npm run docs
to build only the API docs - Run
npm run prepare
to build the project, examples and plugins - Run
npm run docs-all
to build API docs and website
For core and for each package -
- Update the package version in
package.json
and runnpm run new:publish
to publish the package to npm. - Add tag like
v0.0.1
orplugin-name-0.0.1
to the git repository. - Push/Merge to
master
on github.
Checklist
- Create a class in a subfolder at
./src/plugins
- Inherit from
AViewerPluginSync
- Set a unique
PluginType
- Write plugin
- Add jsdoc comments to the class
- Export classes, functions in
./src/plugins/index.ts
- Optionally, use plugin in
./examples/tweakpane-editor/script.ts
- Optionally, use plugin in
./examples/model-viewer/script.ts
- Optionally, use plugin in
threepipe-blueprint-editor
- Create an example in
./examples
by duplicating any existing one - Add example to
./examples/index.html
- Add example and any other tests to
tests/
- Add info to
README.md
- Add info to
./website/guide/core-plugins.md
- Add info to
./website/plugin/PluginName.md
Checklist
- Duplicate a template plugin from
plugins/
folder -plugin-template-vite
- Change
name
,description
,repository.directory
,dependencies
and any other relevant fields inpackage.json
- Change
name
intypedoc.json
- Check
globals
invite.config.js
- Write plugin/package
- Add jsdoc comments to the classes
- Export classes, functions in
index.ts
- Optionally, use plugin in
./examples/tweakpane-editor/script.ts
- Optionally, use plugin in
./examples/model-viewer/script.ts
- Optionally, use plugin in
threepipe-blueprint-editor
- Create an example in
./examples
by duplicating any existing one. Ideally one example for each exported plugin/utility. - Add example to
./examples/index.html
- Add example and any other tests to
tests/
- Add info to
README.md
- Add info to
./website/guide/threepipe-packages.md
- Add info to
./website/packages/PluginName.md
npm run build
and test with example- Publish package with
npm run new:publish
. Add tag to git likeplugin-name-v0.0.1