three-stdlib
by
pmndrs

Description: 📚 Stand-alone library of threejs examples designed to run without transpilation in node & browser

View on GitHub ↗

Summary Information

Updated 29 minutes ago
Added to GitGenius on January 8th, 2022
Created on February 24th, 2021
Open Issues & Pull Requests: 32 (+0)
Number of forks: 144
Total Stargazers: 852 (+0)
Total Subscribers: 15 (+0)

Issue Activity (beta)

Open issues: 17
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 513 days
Stale 30+ days: 16
Stale 90+ days: 16

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (78)
  • released (50)
  • enhancement (22)
  • question (9)
  • typescript (5)
  • v1 (4)
  • good first issue (2)
  • help wanted (2)

Most active issues this week

No issue events were indexed in the last 7 days.

Repository Insights (GitGenius)

Median issue/PR response: N/A
Mean response time: 104.9 days
90th percentile: 598.6 days
Tracked items: 37

Most active contributors

Detailed Description

The three-stdlib repository is a standalone, TypeScript-written library that extracts and modernizes the examples from the official three.js repository. Rather than requiring developers to copy and paste example code directly from three.js, three-stdlib provides these utilities as a properly maintained, versioned npm package compatible with both ESM and CJS module systems. The library is designed to run without transpilation in both Node.js and browser environments, making it immediately usable across different JavaScript runtime contexts.

The core motivation behind three-stdlib addresses a longstanding problem in the three.js ecosystem. The official three.js examples have traditionally been treated as reference code meant for copying and adapting rather than as a reusable library. This approach created maintenance challenges and inconsistencies as developers modified examples independently. Three-stdlib solves this by establishing a proper build system, semantic versioning through npm, and a structured contribution process that allows multiple maintainers to share responsibility for these foundational utilities.

The library implements several architectural improvements over the original examples. It uses class-based structures optimized for tree-shaking, avoiding global variables and instead relying on explicit exports. This design philosophy ensures that developers only bundle the code they actually use. The codebase includes type safety through TypeScript annotations, providing developers with better IDE support and compile-time error checking. The build system generates both ESM and CJS outputs, ensuring compatibility across different module systems and environments including browsers, web workers, and Node.js.

According to GitGenius activity tracking, the repository maintains active development with 37 tracked issues and pull requests. The median response latency for these items is 0.0 hours, indicating rapid community engagement. The most frequently applied labels are bug with 27 occurrences, released with 10, and enhancement with 6, showing a healthy balance between bug fixes and feature additions. CodyJasonBennett leads contributor activity with 35 tracked events, followed by rosskevin with 9 events and DennisSmolek with 6 events, demonstrating concentrated but collaborative maintenance.

The repository follows conventional commits specification for commit messages, with automated semantic versioning through semantic-release-action. This means fix commits trigger patch version bumps, feat commits trigger minor version bumps, and commits with BREAKING CHANGE trigger major version bumps. Chore commits do not trigger releases, allowing for housekeeping without version changes.

The contribution process is designed to be accessible, requiring only a fork, dependency installation via yarn, and a properly named branch following the pattern pr-type/issue-number-your-branch-name. The repository is classified across multiple domains including lighting, scene management, assets, WebGL, rendering, shaders, animations, materials, and effects, reflecting the breadth of three.js utilities it encompasses. This comprehensive coverage makes three-stdlib a central resource for developers building 3D graphics applications with three.js, providing reliable, versioned access to commonly needed examples and utilities rather than scattered copy-paste implementations.

three-stdlib
by
pmndrspmndrs/three-stdlib

Repository Details

Fetching additional details & charts...