|
|
||
|---|---|---|
| .. | ||
| _polyfill | ||
| animation | ||
| cameras | ||
| controls | ||
| csm | ||
| curves | ||
| deprecated | ||
| effects | ||
| environments | ||
| exporters | ||
| geometries | ||
| helpers | ||
| interactive | ||
| libs | ||
| lights | ||
| lines | ||
| loaders | ||
| math | ||
| misc | ||
| modifiers | ||
| node_modules/potpack | ||
| objects | ||
| physics | ||
| postprocessing | ||
| renderers | ||
| shaders | ||
| textures | ||
| types | ||
| utils | ||
| webxr | ||
| LICENSE | ||
| README.md | ||
| index.cjs | ||
| index.cjs.map | ||
| index.d.ts | ||
| index.js | ||
| index.js.map | ||
| package.json | ||
README.md
three-stdlib
Stand-alone version of threejs/examples/jsm written in Typescript & built for ESM & CJS.
Basic usage
npm install three-stdlib
// Export collection
import * as STDLIB from 'three-stdlib'
// Flatbundle
import { OrbitControls, ... } from 'three-stdlib'
Problem
three/examples are usually regarded as something that you copy/paste into your project and adapt to your needs. That's not how people use it, and this has caused numerous issues in the past.
Solution
- A build system for ESM and CJS, compatible with browser, workers, and Node
- Class based, optimized for tree-shaking, no globals, exports instead of collections
- Typesafety with simple annotation-like types
- SemVer and NPM managed dependencies
But most importantly, allowing more people that use and rely on these primitives to hold a little stake, and to share the weight of maintaining it.
How to Contribute
- Fork and clone the repo
- Run
yarn installto install dependencies - Create a branch for your PR with `git checkout -b pr-type/issue-number-your-branch-name beta
- Let's get cooking! 👨🏻🍳🥓
Commit Guidelines
Be sure your commit messages follow this specification: https://conventionalcommits.org/en/v1.0.0-beta.4
Publishing
We use semantic-release-action to deploy the package. Because of this only certain commits will trigger the action of creating a release:
chorewill not release a new versionfix:will create a0.0.xversionfeat:will create a0.x.0versionBREAKING CHANGE:will create ax.0.0version