:sparkles: An advanced 3D Gaussian Splatting renderer for THREE.js
3.4k
Stars
362
Forks
119
Open issues
25
Contributors
AI Analysis
Spark is a specialized 3D Gaussian Splatting renderer for THREE.js that enables fast, portable rendering of splat-based 3D models across devices with 98%+ WebGL2 support. It is purpose-built for developers integrating advanced 3D rendering into web applications, particularly those working with Gaussian splat file formats; it is not a general-purpose 3D engine but rather a targeted solution for a specific rendering technique.
Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.
AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.
THREE.js Gaussian Splatting renderer from World Labs, one year old, growing steadily in a emerging-but-competitive ecosystem.
Spark is a WebGL2-based 3D Gaussian Splatting renderer built atop THREE.js. Created May 2025 by World Labs, it targets developers integrating 3D splat assets into web applications, emphasizing cross-device portability and real-time editing. The project has gained 3,330 stars and 45 stars in the last week as of June 2026. Adoption remains unverified in production; growth is steady but modest relative to more established ecosystem leaders like PlayCanvas's SuperSplat (9,371 stars).
Gaussian Splatting emerged as a 3D representation technique circa 2023–2024 (the graphdeco-inria reference implementation has 22,485 stars). Spark entered the THREE.js renderer space in May 2025, approximately 1 year ago, positioning itself as a native THREE.js integration point rather than a standalone engine—a narrower but deliberate niche.
Spark began at 0 stars on 2025-05-23 and reached 3,330 by 2026-06-29, gaining 45 stars in the final 7 days (2026-06-22 to 2026-06-29). This suggests slow-but-steady organic growth, not viral adoption. The growth rate does not indicate either breakthrough momentum or stagnation; it reflects a specialized tool finding its audience incrementally. World Labs' backing and active documentation (site, examples) likely sustain baseline visibility.
Adoption not verified. No case studies, customer list, or production deployment evidence provided in README or metadata. Project includes extensive examples and CDN distribution, indicating intent to support adoption, but real-world usage at scale is not documented.
Appears to integrate as a THREE.js renderer/plugin, supporting multiple splat file formats (PLY, SPZ, SPLAT, KSPLAT, SOG). README indicates shader-graph system for GPU-side splat generation and skeletal animation support. Built with TypeScript and includes Rust WebAssembly components (referenced in build instructions). Cannot verify implementation quality from README alone; architecture decisions inferred from integration approach and format support.
Not documented in README. No mention of testing framework, test suite size, or coverage metrics.
Last push 2026-06-24 (5 days before evaluation date). Build system mentions active tooling (npm, wasm-pack, mkdocs). README includes development and contribution guidance, suggesting ongoing stewardship. Likely actively maintained, though commit frequency and issue resolution velocity are not visible from metadata alone.
ADOPT IF: You need to embed high-performance 3D Gaussian Splats into a THREE.js application, require cross-device WebGL2 support, and are willing to depend on a one-year-old library backed by a commercial team (World Labs). AVOID IF: You need proven production stability at scale, extensive third-party case studies, or a mature ecosystem of plugins and integrations; adoption is unverified. MONITOR IF: You are evaluating splat rendering for long-term web projects and want to see real-world deployment evidence and growth momentum accelerate over the next 6–12 months.
Independent dimensions
Mainstream potential
4/10
Technical importance
6/10
Adoption evidence
2/10
- Adoption unverified—no public production deployments documented. Risk of choosing a library with limited real-world validation.
- Competitive landscape remains crowded; SuperSplat (PlayCanvas) and other emerging tools may capture market share faster if they achieve similar or better portability.
- Dependency on World Labs' continued backing; commercial funding is not guaranteed indefinitely.
- WebGL2 target may be outpaced by WebGPU adoption; browser support roadmap not mentioned in README.
- Test coverage and quality assurance metrics not documented; code quality must be inferred from commit history and examples alone.
Spark will likely remain a specialized, niche THREE.js integration rather than a category leader. Steady growth (40–50 stars/week) will continue if World Labs maintains active development and case studies emerge. Adoption will be driven by (1) THREE.js developer familiarity, (2) documented real-world success, and (3) relative performance/ease vs. competitors. Without major acceleration in deployment evidence, it will plateau as a secondary option behind SuperSplat or similar.
Newsletter
Get analyses like this every Monday
Free weekly digest of the most interesting open-source discoveries.
Languages
Information
- Language
- TypeScript
- License
- MIT
- Last updated
- 3d ago
- Created
- 14mo ago
- Analyzed with
- anthropic/claude-haiku-4-5
Stars over time
Contributors over time
Top 100 contributors only — repos with more will plateau at 100.
Open issues
three.js WebGPURenderer support with `forceWebGL` enabled
the visual quality will be reduced when rendering .rad files
Make `recolor` update on the same frame
extSplats: unclamped negative colors become NaN and corrupt float render targets
Support THREE.Timer while retaining compatibility with older Three.js versions
Top contributors
Similar repos
graphdeco-inria/gaussian-splatting
This is the official reference implementation of 3D Gaussian Splatting, a...
tsparticles/tsparticles
tsParticles is a lightweight TypeScript library for creating customizable...
| Repository | Stars | Week Δ | Language | Score | Updated |
|---|---|---|---|---|---|
|
|
3.4k | +52 | TypeScript | 8/10 | 3d ago |
|
|
9.5k | — | TypeScript | 8/10 | 2d ago |
|
|
1.2k | — | TypeScript | 8/10 | 22h ago |
|
|
22.6k | — | Python | 8/10 | 9mo ago |
|
|
8.9k | — | TypeScript | 8/10 | 1d ago |
|
|
16.2k | — | JavaScript | 8/10 | 1d ago |
9,371 stars vs. Spark's 3,330. SuperSplat is a standalone editor/viewer; Spark is a library layer for THREE.js. SuperSplat likely has higher production adoption, but Spark targets developers already committed to THREE.js, not new adoption of a full platform.
16,144 stars, full WebGL/WebGPU engine. Spark is narrower in scope (splatting + THREE.js); PlayCanvas is a complete game/rendering engine. Different market segment.
8,905 stars, but focused on particle systems, not 3D splat rendering. Not a direct competitor, though both are THREE.js-adjacent libraries.
22,485 stars; reference Python implementation for training/generation. Spark is a consumer/renderer for already-generated splats, not a training framework. Different layer in the pipeline.