Three paths in the 3D stage dropped objects without releasing what they
held on the GPU:
- Scene.clear() (New Scene) assigned `scene.children = []`, which
disposed nothing and left each child parented to the scene. Every New
Scene leaked all geometries, materials, textures and splat buffers of
the previous one.
- SceneUtils.deleteObject disposed geometries and materials but not the
textures they reference (Material.dispose() does not free its maps),
so deleting a textured GLB leaked every map.
- _create_skybox replaced scene.background without disposing the
previous cube texture.
Add disposeObject3D(), which frees geometries, materials and their
textures (deduplicated), skeleton bone textures and Spark splat buffers,
and use it in clear() and deleteObject. clear() now uses Object3D.clear()
so children are actually unparented. The old deleteObject also checked a
custom `.texture` field that nothing in the codebase sets; that branch
is dropped.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- Regenerate the desktop app icons (Windows, macOS, Store, Android, iOS)
from the new angular ArtCraft mark in the website logo blue
- Replace favicon.ico, the 16/32 favicons, and the apple-touch icon
- Add the SVG icon as the primary favicon, same as the webapp
The entire repo was purged of ancillary code (backend, frontend, models,
tools, etc.) and subsequently reset.
This is a no-op version that guarantees builds can continue on the new
repo state.
This is a fresh start for the `artcraft` repo.
The old monorepo, which included our web API gateway, job services, SRE
tools, various frontends, and more has moved to `artcraft-services`
You can find the full git history here:
https://github.com/storytold/artcraft-services
This change was motivated by the fact that the entire git history was
hundreds of gigabytes in size, which is unwieldy for anyone not in the
core team that doesn't care about support services outside of the core
artcraft app.
We wanted to keep this repo in its well-known place since we already
have users and activity here.
Please update your remotes to either `artcraft-services` or make a fresh
clone of this repo.
History can be found at the artcraft-services repo.