// the find
tengge1/ShadowEditor
Cross-platform 3D scene editor based on three.js, golang and mongodb for desktop and web.
ShadowEditor is a browser-based and Electron 3D scene editor built on three.js with a Go backend and MongoDB for persistence. It targets developers who want a self-hosted scene editor with built-in user auth, asset management, and scripting — closer to a lightweight Unity editor in the browser than a library. The open-source version is effectively frozen; the author has moved active development to a commercial Pro version.
The file format support is genuinely wide — FBX, GLTF, OBJ, Collada, PLY, STL, and a dozen more, all handled server-side before being passed to three.js. The Go backend is well-decomposed: each asset type (mesh, audio, texture, animation) lives in its own package with separate handler files per operation, making it easy to trace a request. The server also ships a full reimplementation of three.js math types in Go (Vector3, Matrix4, Quaternion, Euler) which are actually useful if you need server-side spatial operations. Built-in Bullet physics via ammo.js and a working VR mode round out a feature set that would take months to assemble from scratch.
The open-source branch is stalled at v0.6.0 from July 2021 — three.js r130, React without hooks, plain JavaScript throughout. Active development went commercial and you will not get the Vue3/TypeScript rewrite. MongoDB is a hard dependency with no alternative, which is an odd fit for scene graph data and rules out anyone running Postgres-only infrastructure. Building from source requires Go, Node, GCC, and MongoDB simultaneously, and the GCC requirement for a web app backend is unexplained and suspicious. The line between what is open-source and what requires the paid Pro version is never clearly stated in the README, which makes it hard to assess actual adoption risk.