Add core-powered web sculpting studio with tablet controls

Add pressure-aware worker sculpting, bounded shared input, project files and history, and compact icon navigation with an XYZ orbit gizmo.

Amp-Thread-ID: https://ampcode.com/threads/T-01a0b4b4-202c-73f1-984d-9a55c88f9c83
Co-authored-by: Heaust Azure <heaust.azure@gmail.com>
This commit is contained in:
Amp
2026-09-28 08:53:50 +00:00
co-authored by heaust
parent eb8aa0e9dc
commit 347b676cf1
25 changed files with 5468 additions and 1 deletions
+3 -1
View File
@@ -36,7 +36,7 @@ func newApplication(store *playgroundStore, packages map[string]memoryAsset, mon
return nil, err
}
pages := make(map[string][]byte)
for _, name := range []string{"home.html", "docs.html", "playground.html", "gltf.html"} {
for _, name := range []string{"home.html", "docs.html", "playground.html", "gltf.html", "assets/sculpt/index.html"} {
content, err := webFiles.ReadFile("web/" + name)
if err != nil {
return nil, err
@@ -89,6 +89,8 @@ func (app *application) routes() http.Handler {
mux.HandleFunc("/playground/", app.servePlayground)
mux.HandleFunc("/view/gltf", app.servePage("gltf.html"))
mux.HandleFunc("/view/gltf/", app.servePage("gltf.html"))
mux.HandleFunc("/view/sculpt", app.servePage("assets/sculpt/index.html"))
mux.HandleFunc("/view/sculpt/", app.servePage("assets/sculpt/index.html"))
mux.HandleFunc("/", app.serveHome)
return app.headers(mux)
}