diff --git a/site/.impeccable/surfaces/app-catalog-page-tsx.md b/site/.impeccable/surfaces/app-catalog-page-tsx.md index ddb6a44..2a7066a 100644 --- a/site/.impeccable/surfaces/app-catalog-page-tsx.md +++ b/site/.impeccable/surfaces/app-catalog-page-tsx.md @@ -18,12 +18,13 @@ The first viewport is a guide, not merely an introduction. It names all nine sub ## Content and actions - Twenty Thariq HTML references, grouped by the nine source categories and linked to the original live files, each paired with an Effective SVG subject in locally served static and animated versions. -- Six native Effective HTML artifacts: the featured architecture request-path explorer, two release-readiness studies, and three standalone product-interface studies. +- Twelve first-party Effective HTML artifacts: the featured architecture request-path explorer, two release-readiness studies, three new wireframe-and-mockup pairs, and three standalone product-interface studies. - The featured explorer is the interactive diagram from the Effective HTML README. Its live HTML is the source artifact; a 30.5-second recording, poster, and four-flow animated SVG are supporting previews of the same work, not additional catalog entries. - The standalone studies are a Linear-like issue workspace, a Notion-like connected project document, and a Vercel-like deployment ledger. All three use synthetic data, are explicitly unaffiliated, and make no commercial product claims or use product logos. -- The five Effective HTML skills as the methods behind the catalog. -- Thirty-one catalog entries total: twenty HTML + SVG pairs, six native examples, and five skills. The collection is intentionally too small to justify free-text search or intersecting taxonomies, so discovery uses the nine-subject guide plus one Collection control: All, References, Hi-fi mockups, or Skills. Hi-fi mockups is the direct showcase path to the Linear-like, Notion-like, and Vercel-like studies; primary actions are Open HTML, Static SVG, and Animated SVG. -- One global SVG Preview control switches all twenty paired SVG previews together. Preview defaults to Animated, and individual specimen cards do not carry their own animation toggles. +- The three new pairs cover an Effective HTML catalog decision, a Plannotator review workspace, and a product-change review. Each pair keeps the system and decision fixed while moving from a rough wireframe to a product-specific mockup. +- The six Effective HTML skills as the methods behind the catalog. +- Thirty-eight catalog entries total: twenty HTML + SVG references, twelve first-party artifacts, and six skills. The collection is intentionally too small to justify free-text search or intersecting taxonomies, so discovery uses the nine-subject guide plus one Collection control: All, References, Wireframes & mockups, or Skills. Wireframes & mockups is the direct showcase path to ten practical design artifacts. +- One global Preview control switches the twenty paired references and six new design artifacts between static and animated SVGs. Preview defaults to Animated; first-party entries without SVG media keep their screenshot, and individual cards do not carry their own animation toggles. - Expanded and Compact are two presentations of this same filtered collection. Switching modes must preserve every result, preview state, source link, and action rather than routing to a second catalog. ## Direction and memorable moment @@ -44,10 +45,11 @@ Expanded is the expressive, full-width reading mode. Its category heading occupi | Featured architecture request-path explorer | Live standalone HTML with six selectable flows; supporting video, poster, and four-flow animated SVG synopsis | | Nine category bands | Full-width editorial fields in Expanded; contained colored shelves in Compact | | Twenty artifact specimens | Data-driven HTML; local SVG `` previews and verified external links | -| Global static/animated preview state | One accessible Preview control swaps all twenty paired local SVG assets together; Animated is the default and cards have no individual animation toggles | -| Six native worked examples | Featured request-path explorer, two release-readiness studies, and three product-interface studies, all with same-origin live HTML | +| Global static/animated preview state | One accessible Preview control swaps the twenty references and six new design artifacts together; Animated is the default and cards have no individual animation toggles | +| Twelve first-party artifacts | Featured request-path explorer, two release-readiness studies, three wireframe-and-mockup pairs, and three product-interface studies, all with same-origin live HTML | | Product-interface discovery media | Three local 1440×900 PNG images that link into the live Linear-like, Notion-like, and Vercel-like studies | -| Five skills rail | Ruled semantic links to local guide chapters and GitHub source files | +| Wireframe and mockup discovery media | Six local 1440×900 PNG screenshots plus six self-contained static and animated SVG previews | +| Six skills rail | Ruled semantic links to local guide chapters and GitHub source files | ## Featured artifact behavior @@ -58,8 +60,8 @@ Expanded is the expressive, full-width reading mode. Its category heading occupi ## Catalog view behavior -- The sticky control bar uses one content taxonomy: All, References, Hi-fi mockups, or Skills. Subject discovery stays in the nine-subject guide rather than becoming a second intersecting filter. -- SVG Preview defaults to Animated and switches all twenty paired SVG specimens as a group. It appears only for All and References, where it applies; Hi-fi mockups and Skills do not carry an irrelevant preview control. +- The sticky control bar uses one content taxonomy: All, References, Wireframes & mockups, or Skills. Subject discovery stays in the nine-subject guide rather than becoming a second intersecting filter. +- Preview defaults to Animated and switches supported SVG specimens as a group. It appears for All, References, and Wireframes & mockups. Entries without SVG media keep their screenshot. - Expanded is the initial mode and retains the spacious, staggered editorial bands. - Compact is a denser scan of the same visible results. It compresses the featured explorer, category bands, native examples, and skills without removing their content or actions. - View buttons expose their current state with `aria-pressed`; the live result summary names the active mode and current result count. @@ -77,13 +79,21 @@ Expanded is the expressive, full-width reading mode. Its category heading occupi - Every study carries a visible standalone disclosure that it is an unaffiliated interface study using synthetic data. No study uses a product logo or makes a commercial claim. - The research basis is recorded in `public/examples/product-studies/README.md` using official Linear, Notion, and Vercel sources. +## Shipped wireframe and mockup pairs + +- **Effective HTML catalog:** three low-fidelity browsing directions lead into a branded comparison mockup that can switch its artifact previews between desktop and mobile widths. +- **Plannotator review:** a grayscale canvas/comments/queue wireframe leads into a dark product-aligned review workspace with width switching, annotation selection, and send feedback. +- **Product change review:** a rough current/proposed/states comparison leads into a vivid decision artifact with current, proposed, compare, and mobile modes. +- All six are standalone, responsive HTML files with keyboard-operable controls, visible focus, reduced-motion support, 1440×900 screenshots, static SVGs, animated SVGs, and direct source links. +- Their creative direction comes from the system being discussed. They are not normalized into one generic dashboard template. + ## Responsive constraints Desktop Expanded may stagger two or three sheets within a band; Compact uses contained shelves with a category rail and concise specimen grid. At every desktop and large-tablet width, the hero title and each expanded category heading retain reserved, non-overlapping rails. Explicit regression checkpoints are 1033px, 1375px, and 1728px, plus adjacent widths where the layout changes. Tablet reduces each expanded band to a label rail plus one or two columns. On mobile, the nine-subject guide remains before the artifact folio so the visitor sees the catalog map first. Expanded becomes a vertical sequence with full-width previews and persistent readable actions. Compact keeps each colored category band contained and lets its specimen shelf scroll horizontally inside the band; the document itself must remain overflow-free. The featured explorer stacks copy, video, and animated synopsis in that order. Reduced-motion preferences disable the view-change animation at every breakpoint. -The three product-interface studies are verified at 1440×900 and 390×844. At both sizes they have no document-level horizontal overflow and keep the unaffiliated synthetic-data disclosure visible. Linear and Notion expose complete tab semantics with roving focus plus Arrow Left, Arrow Right, Home, and End keyboard behavior; all studies preserve keyboard access, visible focus, and reduced-motion support. +The three product-interface studies and six new wireframe/mockup artifacts are verified at 1440×900 and 390×844. At both sizes they have no document-level horizontal overflow. Linear and Notion expose complete tab semantics with roving focus plus Arrow Left, Arrow Right, Home, and End keyboard behavior; all studies preserve keyboard access, visible focus, and reduced-motion support. ## Validation notes diff --git a/site/app/catalog/page.tsx b/site/app/catalog/page.tsx index 8f7fa70..cdce49b 100644 --- a/site/app/catalog/page.tsx +++ b/site/app/catalog/page.tsx @@ -141,9 +141,9 @@ export default function CatalogPage() { The twenty reference examples accompany Thariq Shihipar’s essay on using HTML to stay engaged with agent work. Effective SVG reinterprets those same subjects as static and animated vector artifacts. The - native collection adds the featured request-path explorer, two - release-readiness studies, and three unaffiliated product-interface - studies built with synthetic data. + first-party collection adds the request-path explorer, the + release-readiness pair, three new wireframe-and-mockup pairs, and + three product-interface studies built with synthetic data.

diff --git a/site/components/catalog-explorer.tsx b/site/components/catalog-explorer.tsx index 079c502..394f536 100644 --- a/site/components/catalog-explorer.tsx +++ b/site/components/catalog-explorer.tsx @@ -8,6 +8,7 @@ import { nativeExamples, type CatalogArtifact, type CatalogCategory, + type NativeExample, } from "@/lib/catalog-data"; import { FeaturedSequence } from "@/components/featured-sequence"; import { @@ -28,7 +29,7 @@ import { useEffect, useState } from "react"; import { flushSync } from "react-dom"; import styles from "./catalog-explorer.module.css"; -type CollectionFilter = "all" | "pairs" | "mockups" | "skills"; +type CollectionFilter = "all" | "pairs" | "design" | "skills"; type CatalogView = "expanded" | "compact"; type PreviewMode = "static" | "animated"; @@ -36,8 +37,8 @@ type ViewTransitionDocument = Document & { startViewTransition?: (update: () => void) => unknown; }; -const highFidelityMockups = nativeExamples.filter((example) => - example.mode.startsWith("Interface study"), +const wireframesAndMockups = nativeExamples.filter( + (example) => example.stage !== "Prototype", ); const collectionOptions: Array<{ @@ -52,9 +53,9 @@ const collectionOptions: Array<{ }, { id: "pairs", label: "References", count: 20 }, { - id: "mockups", - label: "Hi-fi mockups", - count: highFidelityMockups.length, + id: "design", + label: "Wireframes & mockups", + count: wireframesAndMockups.length, }, { id: "skills", label: "Skills", count: catalogSkills.length }, ]; @@ -65,7 +66,8 @@ const catalogCategoryIds = new Set( ); function parseCollection(value: string | null): CollectionFilter { - return value === "pairs" || value === "mockups" || value === "skills" + if (value === "mockups") return "design"; + return value === "pairs" || value === "design" || value === "skills" ? value : "all"; } @@ -184,6 +186,57 @@ function CategoryBand({ ); } +function NativeExampleCard({ + example, + previewMode, +}: { + example: NativeExample; + previewMode: PreviewMode; +}) { + const activePreview = + previewMode === "animated" && example.animatedSvg + ? example.animatedSvg + : previewMode === "static" && example.staticSvg + ? example.staticSvg + : example.screenshot; + const usesSvgPreview = activePreview.endsWith(".svg"); + + return ( +
+ + {`${previewMode + +
+ + {example.stage} · {example.mode} + +

{example.title}

+

{example.description}

+
+ + Open live HTML +
+
+
+ ); +} + export function CatalogExplorer() { const [collection, setCollection] = useState("all"); const [previewMode, setPreviewMode] = useState("animated"); @@ -263,22 +316,22 @@ export function CatalogExplorer() { }, [collection, pendingAnchor]); const visibleArtifacts = - collection === "mockups" || collection === "skills" + collection === "design" || collection === "skills" ? [] : catalogArtifacts; const visibleNativeExamples = collection === "pairs" || collection === "skills" ? [] - : collection === "mockups" - ? highFidelityMockups + : collection === "design" + ? wireframesAndMockups : nativeExamples; const featuredSequenceVisible = collection === "all"; const visibleSkills = - collection === "pairs" || collection === "mockups" + collection === "pairs" || collection === "design" ? [] : catalogSkills; @@ -368,7 +421,7 @@ export function CatalogExplorer() {
- {(collection === "all" || collection === "pairs") && ( + {(collection === "all" || + collection === "pairs" || + collection === "design") && (

- {collection === "mockups" - ? "High-fidelity product mockups." + {collection === "design" + ? "Wireframes and mockups." : "Built here, open in place."}

- {collection === "mockups" - ? "Three responsive, interactive HTML studies that borrow the information density and interaction grammar of familiar products." - : "Agents can build high-fidelity HTML alternatives that match the real product. Open them at realistic screen sizes, try the interactions, and compare possible changes before touching production."} + {collection === "design" + ? "Open the HTML, resize it, and inspect the source." + : "First-party wireframes, mockups, prototypes, and interface studies. Open the HTML, resize it, and inspect the source."}

{visibleNativeExamples.map((example) => ( -
- - {`Screenshot - -
- {example.mode} -

{example.title}

-

{example.description}

-
- - Open live HTML -
-
-
+ ))}
@@ -522,7 +557,7 @@ export function CatalogExplorer() {

The methods behind the artifacts.

- Five focused skills turn a broad request into an artifact with + Six focused skills turn a broad request into an artifact with the right fidelity, behavior, and verification boundary.

diff --git a/site/design.md b/site/design.md index ca7b064..6793ec1 100644 --- a/site/design.md +++ b/site/design.md @@ -196,7 +196,7 @@ The system has two coordinated registers. The Catalog opens as a compact Ink fol Imperfection is controlled and material, never careless. Paper tooth, slight sheet rotation, tape, overlap, and offset depth live around artifact surfaces, while text, controls, navigation, and diagrams stay crisp. The resulting character is editorial rather than institutional, playful inside the examples, and restrained in the surrounding chrome. -Catalog utility stays practical inside that expression. Search, collection, and subject controls remain persistent and compact; original HTML sources stay visibly paired with local static and animated SVG interpretations; and native examples and skill-ledger rows expose the work and methods without a marketplace layer. +Catalog utility stays practical inside that expression. One collection control and one Expanded/Compact control remain persistent and compact; original HTML sources stay visibly paired with local static and animated SVG interpretations; and first-party examples and skill-ledger rows expose the work and methods without a marketplace layer. **Key Characteristics:** @@ -346,7 +346,7 @@ The Catalog header is a thin Ink rail. Its geometric wordmark uses two Paper blo ### Catalog Controls -The controls form one persistent utility rail rather than a floating filter card. Four collection segments—All, References, Hi-fi mockups, and Skills—show a label and tabular count; the selected segment turns Action Green with Working Ink text. The separate presentation group changes Expanded/Compact, while Static/Animated appears only when SVG references are visible. Because segmented wrappers clip overflow, focus uses a 2px inset outline with a -3px offset: Bright Paper on inactive Ink controls and Working Ink on active Green or Lilac segments. At 820px the groups stack with presentation before SVG preview; at 540px counts disappear before labels compress and the rail stops sticking. +The controls form one persistent utility rail rather than a floating filter card. Four collection segments—All, References, Wireframes & mockups, and Skills—show a label and tabular count; the selected segment turns Action Green with Working Ink text. The separate presentation group changes Expanded/Compact, while Static/Animated appears whenever the visible collection includes SVG previews and defaults to Animated. Because segmented wrappers clip overflow, focus uses a 2px inset outline with a -3px offset: Bright Paper on inactive Ink controls and Working Ink on active Green or Lilac segments. At 820px the groups stack with presentation before SVG preview; at 540px counts disappear before labels compress and the rail stops sticking. ### Artifact Links diff --git a/site/lib/catalog-data.ts b/site/lib/catalog-data.ts index 28bb4e7..0109482 100644 --- a/site/lib/catalog-data.ts +++ b/site/lib/catalog-data.ts @@ -38,13 +38,17 @@ export type NativeExample = { id: string; category: CatalogCategoryId; title: string; + stage: "Wireframe" | "Mockup" | "Prototype"; mode: string; description: string; screenshot: string; screenshotWidth: number; screenshotHeight: number; + staticSvg?: string; + animatedSvg?: string; liveUrl: string; guideUrl: string; + sourceUrl: string; }; /** A first-party HTML artifact with media that previews, but does not replace, the live work. */ @@ -414,6 +418,7 @@ export const nativeExamples: NativeExample[] = [ id: "release-readiness-wireframe", category: "exploration", title: "Release readiness wireframe", + stage: "Wireframe", mode: "Structure", description: "Three deliberately unfinished directions for deciding hierarchy, evidence, navigation, and responsive structure.", @@ -422,11 +427,14 @@ export const nativeExamples: NativeExample[] = [ screenshotHeight: 1000, liveUrl: "/examples/release-readiness/wireframe.html", guideUrl: "/docs/wireframes", + sourceUrl: + "https://github.com/plannotator/effective-html/blob/main/examples/release-readiness/wireframe.html", }, { id: "release-readiness-prototype", category: "prototyping", title: "Release readiness prototype", + stage: "Prototype", mode: "Behavior", description: "A working blocked-to-ready flow with validation, status changes, recovery, keyboard support, and mobile behavior.", @@ -435,11 +443,140 @@ export const nativeExamples: NativeExample[] = [ screenshotHeight: 1428, liveUrl: "/examples/release-readiness/prototype.html", guideUrl: "/docs/prototypes", + sourceUrl: + "https://github.com/plannotator/effective-html/blob/main/examples/release-readiness/prototype.html", + }, + { + id: "effective-html-compare-wireframe", + category: "exploration", + title: "Effective HTML comparison wireframe", + stage: "Wireframe", + mode: "Three directions · low fidelity", + description: + "Three ways to organize the same artifact catalog, kept rough so the hierarchy and browsing model are the decision.", + screenshot: + "/examples/product-design/screenshots/effective-html-compare-wireframe.png", + screenshotWidth: 1440, + screenshotHeight: 900, + staticSvg: + "/examples/product-design/previews/static/effective-html-compare-wireframe.svg", + animatedSvg: + "/examples/product-design/previews/animated/effective-html-compare-wireframe.svg", + liveUrl: "/examples/product-design/effective-html-compare-wireframe.html", + guideUrl: "/docs/wireframes", + sourceUrl: + "https://github.com/plannotator/effective-html/blob/main/site/public/examples/product-design/effective-html-compare-wireframe.html", + }, + { + id: "effective-html-compare-mockup", + category: "prototyping", + title: "Effective HTML catalog mockup", + stage: "Mockup", + mode: "Chosen direction · branded", + description: + "The same catalog decision carried into the Effective HTML visual system, with working density and responsive controls.", + screenshot: + "/examples/product-design/screenshots/effective-html-compare-mockup.png", + screenshotWidth: 1440, + screenshotHeight: 900, + staticSvg: + "/examples/product-design/previews/static/effective-html-compare-mockup.svg", + animatedSvg: + "/examples/product-design/previews/animated/effective-html-compare-mockup.svg", + liveUrl: "/examples/product-design/effective-html-compare-mockup.html", + guideUrl: "/docs/designing-artifacts", + sourceUrl: + "https://github.com/plannotator/effective-html/blob/main/site/public/examples/product-design/effective-html-compare-mockup.html", + }, + { + id: "plannotator-review-wireframe", + category: "review", + title: "Plannotator review wireframe", + stage: "Wireframe", + mode: "Review structure · low fidelity", + description: + "A rough review workspace for testing the balance between the document, annotation tools, comments, and approval actions.", + screenshot: + "/examples/product-design/screenshots/plannotator-review-wireframe.png", + screenshotWidth: 1440, + screenshotHeight: 900, + staticSvg: + "/examples/product-design/previews/static/plannotator-review-wireframe.svg", + animatedSvg: + "/examples/product-design/previews/animated/plannotator-review-wireframe.svg", + liveUrl: "/examples/product-design/plannotator-review-wireframe.html", + guideUrl: "/docs/wireframes", + sourceUrl: + "https://github.com/plannotator/effective-html/blob/main/site/public/examples/product-design/plannotator-review-wireframe.html", + }, + { + id: "plannotator-review-mockup", + category: "review", + title: "Plannotator review mockup", + stage: "Mockup", + mode: "Product-aligned · interactive", + description: + "A product-specific review surface using Plannotator’s dark shell, annotation language, and approval flow without copying a screenshot.", + screenshot: + "/examples/product-design/screenshots/plannotator-review-mockup.png", + screenshotWidth: 1440, + screenshotHeight: 900, + staticSvg: + "/examples/product-design/previews/static/plannotator-review-mockup.svg", + animatedSvg: + "/examples/product-design/previews/animated/plannotator-review-mockup.svg", + liveUrl: "/examples/product-design/plannotator-review-mockup.html", + guideUrl: "/docs/designing-artifacts", + sourceUrl: + "https://github.com/plannotator/effective-html/blob/main/site/public/examples/product-design/plannotator-review-mockup.html", + }, + { + id: "product-change-review-wireframe", + category: "exploration", + title: "Product change review wireframe", + stage: "Wireframe", + mode: "Current and proposed · low fidelity", + description: + "A rough side-by-side review that keeps the current state, proposed change, and unresolved questions in one frame.", + screenshot: + "/examples/product-design/screenshots/product-change-review-wireframe.png", + screenshotWidth: 1440, + screenshotHeight: 900, + staticSvg: + "/examples/product-design/previews/static/product-change-review-wireframe.svg", + animatedSvg: + "/examples/product-design/previews/animated/product-change-review-wireframe.svg", + liveUrl: "/examples/product-design/product-change-review-wireframe.html", + guideUrl: "/docs/wireframes", + sourceUrl: + "https://github.com/plannotator/effective-html/blob/main/site/public/examples/product-design/product-change-review-wireframe.html", + }, + { + id: "product-change-review-mockup", + category: "prototyping", + title: "Product change review mockup", + stage: "Mockup", + mode: "Decision artifact · interactive", + description: + "A vivid review artifact for comparing a product change, changing the viewport, and recording a direction before implementation.", + screenshot: + "/examples/product-design/screenshots/product-change-review-mockup.png", + screenshotWidth: 1440, + screenshotHeight: 900, + staticSvg: + "/examples/product-design/previews/static/product-change-review-mockup.svg", + animatedSvg: + "/examples/product-design/previews/animated/product-change-review-mockup.svg", + liveUrl: "/examples/product-design/product-change-review-mockup.html", + guideUrl: "/docs/designing-artifacts", + sourceUrl: + "https://github.com/plannotator/effective-html/blob/main/site/public/examples/product-design/product-change-review-mockup.html", }, { id: "linear-issue-workspace", category: "prototyping", title: "Linear issue workspace", + stage: "Mockup", mode: "Interface study · Linear", description: "A calm, dense issue workspace with active and backlog filters, keyboard-ready rows, and a focused issue detail rail.", @@ -448,11 +585,14 @@ export const nativeExamples: NativeExample[] = [ screenshotHeight: 900, liveUrl: "/examples/product-studies/linear-issue-workspace.html", guideUrl: "/docs/prototypes", + sourceUrl: + "https://github.com/plannotator/effective-html/blob/main/site/public/examples/product-studies/linear-issue-workspace.html", }, { id: "notion-project-space", category: "prototyping", title: "Notion project space", + stage: "Mockup", mode: "Interface study · Notion", description: "A connected project document that keeps strategy, properties, tasks, progress, and a timeline in one navigable surface.", @@ -461,11 +601,14 @@ export const nativeExamples: NativeExample[] = [ screenshotHeight: 900, liveUrl: "/examples/product-studies/notion-project-space.html", guideUrl: "/docs/prototypes", + sourceUrl: + "https://github.com/plannotator/effective-html/blob/main/site/public/examples/product-studies/notion-project-space.html", }, { id: "vercel-deployment-dashboard", category: "prototyping", title: "Vercel deployment ledger", + stage: "Mockup", mode: "Interface study · Vercel", description: "A chronological deployment ledger with environment filters, expandable build evidence, and explicit promotion actions.", @@ -474,6 +617,8 @@ export const nativeExamples: NativeExample[] = [ screenshotHeight: 900, liveUrl: "/examples/product-studies/vercel-deployment-dashboard.html", guideUrl: "/docs/prototypes", + sourceUrl: + "https://github.com/plannotator/effective-html/blob/main/site/public/examples/product-studies/vercel-deployment-dashboard.html", }, ]; diff --git a/site/public/examples/product-design/README.md b/site/public/examples/product-design/README.md new file mode 100644 index 0000000..75ae216 --- /dev/null +++ b/site/public/examples/product-design/README.md @@ -0,0 +1,42 @@ +# Wireframes and mockups + +Six standalone HTML artifacts built to show how an agent can use real product +context instead of applying a generic interface style. + +## Effective HTML comparison + +- `effective-html-compare-wireframe.html` tests three structures for comparing + two live artifacts: split, stacked, and focused review. +- `effective-html-compare-mockup.html` applies the Effective HTML Working Atlas + system to the selected split comparison. +- Source context: `site/DESIGN.md`, `site/PRODUCT.md`, the current catalog, and + the existing same-origin artifacts. +- Skill use: `html-wireframe` for the structural directions, then + `design-artifact` with `html-prototype` in mockup mode for the finished view. + +## Plannotator review workspace + +- `plannotator-review-wireframe.html` tests canvas-first, comments-first, and + review-queue structures for annotating rendered HTML. +- `plannotator-review-mockup.html` follows Plannotator's current dark review + surface, annotation rail, selected-comment treatment, and send-feedback + action. +- Source context: the public Plannotator repository, current HTML annotation + and code-review screenshots, and the review UI components. +- Skill use: `html-wireframe` for the structure, then `design-artifact` with + `html-prototype` in mockup mode for system alignment. + +## Product change review + +- `product-change-review-wireframe.html` compares current and proposed member + role behavior across direct comparison, states, and mobile views. +- `product-change-review-mockup.html` turns the same synthetic brief into a + polished review artifact. It is not a production product or a product claim. +- Source context: a bounded synthetic brief about moving role actions out of an + overflow menu and showing permission limits before submission. +- Skill use: `html-wireframe` for the evidence layout, then `design-artifact` + with `html-prototype` in mockup mode for the finished review surface. + +Every artifact is self-contained and requires no network connection or build +step. Catalog screenshots and static and animated SVG previews sit beside these +files. diff --git a/site/public/examples/product-design/effective-html-compare-mockup.html b/site/public/examples/product-design/effective-html-compare-mockup.html new file mode 100644 index 0000000..a85603f --- /dev/null +++ b/site/public/examples/product-design/effective-html-compare-mockup.html @@ -0,0 +1,218 @@ + + + + + + Effective HTML artifact comparison mockup + + + + +
+
+
Effective HTML
+ +
+
+
+

Put the work side by side.

+

Compare the actual HTML artifacts at the same width. Keep their source, purpose, and live behavior one click away.

+
+ +
+
2
Artifacts selectedRelease readiness · Architecture request paths
+
+ + +
+ +
+ +
+
+

Release readiness

Tests hierarchy, evidence, and responsive structure

Wireframe
+
+
+
+
+
+
+
+
+
+ +
+ +
+

Architecture request paths

Traces six flows through one interactive system map

Diagram
+
+
+
+
+
Request paths
+
BrowserWorkerRoomStorage
+
+
+
+ +
+
+
Reviewing structure and behavior. Visual finish differs because each artifact answers a different question.Clear comparison
+
+
+ + + diff --git a/site/public/examples/product-design/effective-html-compare-wireframe.html b/site/public/examples/product-design/effective-html-compare-wireframe.html new file mode 100644 index 0000000..213ccad --- /dev/null +++ b/site/public/examples/product-design/effective-html-compare-wireframe.html @@ -0,0 +1,235 @@ + + + + + + Effective HTML artifact comparison wireframe + + + + +
+
+
Effective HTML
+
+
+
+
+
+

Compare the artifacts, not the descriptions.

+

Review the same decision in two HTML artifacts. The structure below is intentionally unfinished; this pass is about comparison, not styling.

+
+
+ + + +
+
+ +
+
+
2 selectedRelease readiness wireframe · Architecture request-path explorer
+
+ + + +
+
+
+
+

Release readiness

Wireframe · structure
+
+
+
+
+
+
+
+
+
+
HierarchyResponsive3 directions
+
+
+

Request paths

Diagram · interaction
+
+
+
+
+
+
+
+
+
+
Sequence6 pathsInteractive
+
+
+ +
+

Review question: Which structure makes differences easiest to inspect without losing the artifacts themselves?

+
+
Wireframe · visual design and production behavior intentionally deferred
+
+ + + diff --git a/site/public/examples/product-design/plannotator-review-mockup.html b/site/public/examples/product-design/plannotator-review-mockup.html new file mode 100644 index 0000000..d626ae0 --- /dev/null +++ b/site/public/examples/product-design/plannotator-review-mockup.html @@ -0,0 +1,197 @@ + + + + + + Plannotator artifact review mockup + + + + +
+
+
Plannotator HTML review
+
plannotator/effective-html · effective-html-compare-mockup.html
+
+
+
+ +
+
Rendered HTML · local sample data
+
+
+ +
+

Put the work side by side.

Compare the actual HTML artifacts at the same width. Keep their source, purpose, and live behavior one click away.

+
+
+ +
+
+
+ +
+
+
3 annotations ready for the agent.
+ + + diff --git a/site/public/examples/product-design/plannotator-review-wireframe.html b/site/public/examples/product-design/plannotator-review-wireframe.html new file mode 100644 index 0000000..b37950e --- /dev/null +++ b/site/public/examples/product-design/plannotator-review-wireframe.html @@ -0,0 +1,157 @@ + + + + + + Plannotator artifact review wireframe + + + + +
+
+
Plannotator HTML artifact review · wireframe
+
+
+
+
+

Where should review attention live?

Compare three structures for reviewing an agent-built HTML artifact. The content and actions stay the same while the workspace emphasis changes.

+
+ + + +
+
+
+ +
+
effective-html-compare-mockup.htmlRendered HTML · 1280px
+
+
+

Put the work side by side.

+ + +
+
+
+
+ +
+
+
+ + + diff --git a/site/public/examples/product-design/previews/animated/effective-html-compare-mockup.svg b/site/public/examples/product-design/previews/animated/effective-html-compare-mockup.svg new file mode 100644 index 0000000..cff46d0 --- /dev/null +++ b/site/public/examples/product-design/previews/animated/effective-html-compare-mockup.svg @@ -0,0 +1,18 @@ + + Animated Effective HTML comparison mockup + A lilac focus frame moves between the two warm-paper HTML specimens. + + + + + + diff --git a/site/public/examples/product-design/previews/animated/effective-html-compare-wireframe.svg b/site/public/examples/product-design/previews/animated/effective-html-compare-wireframe.svg new file mode 100644 index 0000000..ff14516 --- /dev/null +++ b/site/public/examples/product-design/previews/animated/effective-html-compare-wireframe.svg @@ -0,0 +1,15 @@ + + Animated Effective HTML comparison wireframe + Focus moves once between two compared grayscale browser wireframes. + + + + + diff --git a/site/public/examples/product-design/previews/animated/plannotator-review-mockup.svg b/site/public/examples/product-design/previews/animated/plannotator-review-mockup.svg new file mode 100644 index 0000000..af096e1 --- /dev/null +++ b/site/public/examples/product-design/previews/animated/plannotator-review-mockup.svg @@ -0,0 +1,17 @@ + + Animated Plannotator review mockup + The annotation pin and matching comment receive one restrained review pulse. + + + + + + diff --git a/site/public/examples/product-design/previews/animated/plannotator-review-wireframe.svg b/site/public/examples/product-design/previews/animated/plannotator-review-wireframe.svg new file mode 100644 index 0000000..191640a --- /dev/null +++ b/site/public/examples/product-design/previews/animated/plannotator-review-wireframe.svg @@ -0,0 +1,15 @@ + + Animated Plannotator review wireframe + Review focus moves from the document canvas to the comment sidebar. + + + + + diff --git a/site/public/examples/product-design/previews/animated/product-change-review-mockup.svg b/site/public/examples/product-design/previews/animated/product-change-review-mockup.svg new file mode 100644 index 0000000..2db1292 --- /dev/null +++ b/site/public/examples/product-design/previews/animated/product-change-review-mockup.svg @@ -0,0 +1,17 @@ + + Animated product change review mockup + An orange review mark moves from the proposed member action to the corresponding note. + + + + + + diff --git a/site/public/examples/product-design/previews/animated/product-change-review-wireframe.svg b/site/public/examples/product-design/previews/animated/product-change-review-wireframe.svg new file mode 100644 index 0000000..dc6c512 --- /dev/null +++ b/site/public/examples/product-design/previews/animated/product-change-review-wireframe.svg @@ -0,0 +1,16 @@ + + Animated product change review wireframe + Focus moves from the current screen to the proposed screen and then to the decision notes. + + + + + + diff --git a/site/public/examples/product-design/previews/static/effective-html-compare-mockup.svg b/site/public/examples/product-design/previews/static/effective-html-compare-mockup.svg new file mode 100644 index 0000000..051fa36 --- /dev/null +++ b/site/public/examples/product-design/previews/static/effective-html-compare-mockup.svg @@ -0,0 +1,44 @@ + + Effective HTML comparison mockup + Two warm-paper HTML specimens compared on a dark Effective HTML field. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/site/public/examples/product-design/previews/static/effective-html-compare-wireframe.svg b/site/public/examples/product-design/previews/static/effective-html-compare-wireframe.svg new file mode 100644 index 0000000..4f9a27b --- /dev/null +++ b/site/public/examples/product-design/previews/static/effective-html-compare-wireframe.svg @@ -0,0 +1,40 @@ + + Effective HTML comparison wireframe + Two grayscale browser wireframes shown side by side with a comparison control. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/site/public/examples/product-design/previews/static/plannotator-review-mockup.svg b/site/public/examples/product-design/previews/static/plannotator-review-mockup.svg new file mode 100644 index 0000000..450599e --- /dev/null +++ b/site/public/examples/product-design/previews/static/plannotator-review-mockup.svg @@ -0,0 +1,43 @@ + + Plannotator review mockup + A dark Plannotator review surface surrounding a warm rendered HTML artifact and annotations. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/site/public/examples/product-design/previews/static/plannotator-review-wireframe.svg b/site/public/examples/product-design/previews/static/plannotator-review-wireframe.svg new file mode 100644 index 0000000..64df143 --- /dev/null +++ b/site/public/examples/product-design/previews/static/plannotator-review-wireframe.svg @@ -0,0 +1,34 @@ + + Plannotator review wireframe + A grayscale review workspace with tool rail, document canvas, and comment sidebar. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/site/public/examples/product-design/previews/static/product-change-review-mockup.svg b/site/public/examples/product-design/previews/static/product-change-review-mockup.svg new file mode 100644 index 0000000..4ebaaf2 --- /dev/null +++ b/site/public/examples/product-design/previews/static/product-change-review-mockup.svg @@ -0,0 +1,64 @@ + + Product change review mockup + A blue product-change brief above current and proposed member role screens with review notes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/site/public/examples/product-design/previews/static/product-change-review-wireframe.svg b/site/public/examples/product-design/previews/static/product-change-review-wireframe.svg new file mode 100644 index 0000000..01d21c6 --- /dev/null +++ b/site/public/examples/product-design/previews/static/product-change-review-wireframe.svg @@ -0,0 +1,54 @@ + + Product change review wireframe + Current and proposed member role screens compared in a grayscale review board. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/site/public/examples/product-design/product-change-review-mockup.html b/site/public/examples/product-design/product-change-review-mockup.html new file mode 100644 index 0000000..ee21b3a --- /dev/null +++ b/site/public/examples/product-design/product-change-review-mockup.html @@ -0,0 +1,184 @@ + + + + + + Product change review mockup + + + + +
+
Change review
Member roles · proposal 184
+

Move the action next to the person.

The current member list hides every role change in an overflow menu. The proposal keeps valid actions and permission limits beside the selected member.

Decision
Action placement
Review by
Product + engineering
+
+
Member role changeSynthetic product context · desktop and mobile included
+
+
+
+
Current Actions hidden

Members

Manage workspace access and roles.

JMJordan MilesEditor · joined Jul 18
ARAna RiveraViewer · joined Jul 21
KLKai LeeOwner · joined May 02
+
Proposed Valid actions visible

Members

Select a member to review the roles you can assign.

JMJordan MilesEditor · joined Jul 18
ARAna RiveraViewer · joined Jul 21
KLKai LeeOwner · role protected
Owner role protected. Transfer ownership before changing Kai’s access.
+
+
Default

No member selected. Each row offers one clear starting action.

Permission blocked

The interface explains why the owner role cannot change.

Role saved

Confirmation names the person and the new access level.

+
+ +
+
+
+ + + diff --git a/site/public/examples/product-design/product-change-review-wireframe.html b/site/public/examples/product-design/product-change-review-wireframe.html new file mode 100644 index 0000000..76bce76 --- /dev/null +++ b/site/public/examples/product-design/product-change-review-wireframe.html @@ -0,0 +1,150 @@ + + + + + + Product change review wireframe + + + + +
+
Product change review Member roles · wireframe
Decision open
+
+

Keep role changes next to the person they affect.

The current screen hides actions in a menu. The proposal keeps the selected member, available roles, and permission limits together.

+
+
Change 184 · Inline member actionsSynthetic product context · no production data
+
+
+
CurrentActions in overflow menu

+
ProposedSelection exposes valid actions

+
SavedConfirmation

+
+ +
+
+
+
+ + + diff --git a/site/public/examples/product-design/screenshots/effective-html-compare-mockup.png b/site/public/examples/product-design/screenshots/effective-html-compare-mockup.png new file mode 100644 index 0000000..8d0a728 Binary files /dev/null and b/site/public/examples/product-design/screenshots/effective-html-compare-mockup.png differ diff --git a/site/public/examples/product-design/screenshots/effective-html-compare-wireframe.png b/site/public/examples/product-design/screenshots/effective-html-compare-wireframe.png new file mode 100644 index 0000000..26ebae7 Binary files /dev/null and b/site/public/examples/product-design/screenshots/effective-html-compare-wireframe.png differ diff --git a/site/public/examples/product-design/screenshots/plannotator-review-mockup.png b/site/public/examples/product-design/screenshots/plannotator-review-mockup.png new file mode 100644 index 0000000..090bf58 Binary files /dev/null and b/site/public/examples/product-design/screenshots/plannotator-review-mockup.png differ diff --git a/site/public/examples/product-design/screenshots/plannotator-review-wireframe.png b/site/public/examples/product-design/screenshots/plannotator-review-wireframe.png new file mode 100644 index 0000000..68b2b82 Binary files /dev/null and b/site/public/examples/product-design/screenshots/plannotator-review-wireframe.png differ diff --git a/site/public/examples/product-design/screenshots/product-change-review-mockup.png b/site/public/examples/product-design/screenshots/product-change-review-mockup.png new file mode 100644 index 0000000..fd05eb0 Binary files /dev/null and b/site/public/examples/product-design/screenshots/product-change-review-mockup.png differ diff --git a/site/public/examples/product-design/screenshots/product-change-review-wireframe.png b/site/public/examples/product-design/screenshots/product-change-review-wireframe.png new file mode 100644 index 0000000..4b06057 Binary files /dev/null and b/site/public/examples/product-design/screenshots/product-change-review-wireframe.png differ