From 919dcb9363e6c7fbe759705e49e92ad8a7651744 Mon Sep 17 00:00:00 2001 From: Orual Date: Tue, 23 Jun 2026 21:07:51 -0400 Subject: [PATCH] minor readme updates --- AGENTS.md | 14 ++++---------- README.md | 19 +------------------ 2 files changed, 5 insertions(+), 28 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 5cbc738..daab211 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,6 +1,6 @@ # Polymodel -Polymodel is an AT Protocol-native model/project sharing app — roughly Thingiverse on atproto — and a demo of a highly integrated Polytoken/Jira/Confluence agent workflow. +Polymodel is an AT Protocol-native model/project sharing app — roughly Thingiverse on atproto ## Product direction @@ -12,10 +12,7 @@ Initial product shape: - browser STL viewing as a core interaction; - Dioxus web UI backed by Rust and Jacquard 0.12. -STL viewer (decided): -- `three-d` is the chosen STL viewer (see the Confluence decision note). Renders STL on a Dioxus-owned canvas via WebGL2; the renderer session is retained across model switches and the STL loads on demand from `public/models/`. -- `kiss3d` was evaluated and rejected: no WebGL2/WebGPU adapter surfaced at runtime in the browser target (PM-21). ## Source of truth @@ -32,8 +29,7 @@ Use jj, not raw git, for normal development. This repo commits large model asset - Create isolated work with jj workspaces, and immediately start a fresh change before editing: `jj new -m "PM-12: concise summary"`. - Use ticket-derived names like `pm-12-short-summary`. - Check your own changes with `jj diff` before reporting completion. -- Use `jj describe` only to update the description of an already-isolated change; do not use it as a substitute for `jj new` at task start. -- `main` marks the default workspace head — the trunk merged work lands on. Merge a workspace's change back into the default line by rebasing it onto `main`, then advancing `main` and the default head: +- `main` usually marks the default workspace head — the trunk merged work lands on. Merge a workspace's change back into the default line by rebasing it onto `main`, then advancing `main` and the default head: ```sh jj rebase -r @ -d main # rebase the workspace change onto main jj bookmark set main -r @ # advance main to the merged change @@ -54,7 +50,7 @@ just test-all just serve ``` -Before review or handoff, run at least `just fix` and the narrowest relevant tests. Use `just test-all` for substantial changes. +Before review or handoff, run at least `just fix` and all relevant tests. Use `just test-all` for substantial changes. In a fresh checkout or jj workspace, run `just check` once before `just fix`: `src/env.rs` is generated by `build.rs` from `POLYMODEL_*`, and `cargo fmt` fails to resolve the `env` module until a build has produced it. @@ -70,7 +66,6 @@ In a fresh checkout or jj workspace, run `just check` once before `just fix`: `s - **Design guidance: use the `frontend-design` skill for any UI work** (Dioxus RSX, routes, `assets/styling/*.css`, layout/color/type/motion/state/copy). It carries the adapted Impeccable design method for Polymodel's committed blueprint identity and product register. Companions: `DESIGN.md` (repo root, the blueprint design system as machine-readable tokens mirroring `theme.css`), `tools/design-detector/` (deterministic no-install linter — `node tools/design-detector/detect.mjs --json assets/styling/` or a rendered route; scans CSS/HTML, not `.rs`), and Confluence [*Front-end design guidance*](https://radiant-industries.atlassian.net/wiki/spaces/PM/pages/655362) in space `PM` (durable human-facing version). - Dioxus asset declarations use source paths, but served asset URLs are flattened into `/assets/`. For example, declare a font with `asset!("/assets/fonts/proza-libre/ProzaLibre-Regular.woff2", ...)`, but reference it from CSS as `url("/assets/ProzaLibre-Regular.woff2")`. Verify font and model asset paths in browser network output when changing asset declarations. - Keep generated lexicon/API code out of routine formatting churn. `crates/polymodel-api` is generated and is ignored by `rustfmt.toml`; do not include generated reformatting in ordinary feature slices unless the task is explicitly about regeneration or codegen output. -- Do not commit Playwright MCP scratch output. `.playwright-mcp/` contains local browser logs/snapshots from manual checks and should stay ignored/untracked. - If a front-end slice needs a renderable primitive/demo surface, prefer a non-root route such as `/foundation`. Keep `/` as the product shell so implementation scaffolding does not become the primary product surface. - Use flex column for simple vertical page shells. Reserve CSS grid for actual two-dimensional layouts; grid containers combined with `min-height: 100vh` can create surprising stretched rows and large visual gaps. - During visual/layout debugging, use screenshots plus accessibility snapshots with boxes and computed-style inspection. Screenshots show symptoms; boxes/computed styles identify the CSS rule causing the layout. @@ -101,8 +96,7 @@ The server keeps the browser single-origin: `space.polymodel.*` reads are served - Investigate code and docs before asking factual questions. - Ask the operator for product/demo intent and workflow tradeoffs. -- Keep Jira updated at workflow gates. When adding Jira comments with restricted visibility through Atlassian MCP tools, use role visibility `{ "type": "role", "value": "Member" }`; the value is singular, and observed rejected values include `Administrators`, `Members`, and `Viewers`. -- Do not put secrets in repo files. +- Keep Jira updated at workflow gates. When adding Jira comments with restricted visibility through Atlassian MCP tools, use role visibility `{ "type": "role", "value": "Member" }`. ## Code style diff --git a/README.md b/README.md index 5c6ab34..075ba54 100644 --- a/README.md +++ b/README.md @@ -10,18 +10,8 @@ The initial concept is intentionally small: - 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. +It is also a testbed 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`](https://github.com/asny/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 from `public/models/`. -- [`kiss3d`](https://github.com/dimforge/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 @@ -41,13 +31,6 @@ 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 -- knotmirror 0.0.1