Polymodel#
Polymodel is an AT Protocol-native model/project sharing app: roughly “Thingiverse on atproto.”
The initial concept is intentionally small:
- a lexicon for printable/model projects;
- a profile-oriented publishing surface;
- likes/saves and basic social feedback;
- feeds for recent projects, hot projects, and per-profile project streams;
- an in-browser STL viewer.
It is also a workplace demo for a highly integrated agent workflow built around Polytoken, Jira, Confluence, jj workspaces, and strong review gates.
Jira project/Confluence space key: PM.
STL viewer#
Decision: three-d.
three-d: chosen STL viewer. Renders on a Dioxus-owned canvas via WebGL2; the renderer session is retained across model switches and STL assets load on demand frompublic/models/.kiss3d: rejected — no WebGL2/WebGPU adapter surfaced at runtime in the browser target (PM-21).
The viewer choice should be decided with a small spike that loads an STL, renders orbit controls, and fits cleanly into Dioxus.
Development#
Use Nix/direnv when available:
nix develop
Common commands:
just fix # format and apply safe clippy fixes
just check # native, server, and wasm checks
just test # unit tests via nextest
just test-all # pre-review local validation
just serve # Dioxus dev server
Workflow#
- Jira is both the human source of truth and the agent working truth for implementation tasks.
- Confluence is the durable design/demo narrative space.
- jj workspaces are the default isolation mechanism for agent work.
- Polytoken skills and project vars live under
.polytoken/.
Stack#
- Rust 2024 / nightly
- Dioxus 0.7
- Jacquard 0.12
- Nix flake dev shell
- just command runner