{
  "version": 1,
  "name": "A canvas and just enough controls",
  "url": "https://swipefile.design/board/a-canvas-and-just-enough-controls/",
  "markdown_url": "https://swipefile.design/board/a-canvas-and-just-enough-controls/notes.md",
  "json_url": "https://swipefile.design/board/a-canvas-and-just-enough-controls/data.json",
  "pdf_url": "https://swipefile.design/board/a-canvas-and-just-enough-controls/export.pdf",
  "reference_count": 4,
  "unavailable_count": 0,
  "guidance": "Use these references for design principles. Follow the project brief and use original branding, content, and imagery. Captures document a particular date; they do not verify current product behavior.",
  "references": [
    {
      "slug": "haikei-editor",
      "name": "Haikei — Shape generator",
      "kind": "app",
      "archetype": "Creative Tools",
      "summary": "A shape generator separates generator choice, artwork preview, and styling controls into three clear zones.",
      "use_for": "Separate choosing a tool from adjusting its output and keep the preview central.",
      "source_url": "https://app.haikei.app/",
      "reference_url": "https://swipefile.design/ref/haikei-editor/",
      "screenshot_url": "https://swipefile.design/_astro/full.w8ieXG2I.webp",
      "thumbnail_url": "https://swipefile.design/_astro/card.BoUOpUOF.webp",
      "captured": "2026-09-04",
      "capture_scope": "viewport",
      "provenance": "live",
      "tags": [
        "creative tools",
        "navigation",
        "haikei"
      ],
      "patterns": [
        "Creative tools",
        "Navigation"
      ],
      "design_notes": {
        "surface": "Shape generator",
        "nav": "Generator families stay on the left while parameters stay with the active canvas on the right.",
        "layout": "A colorful preset rail sits left of a large canvas, with shape and export options in a right sidebar.",
        "density": "The working preview takes most of the space, with compact controls grouped around it.",
        "color": "Black chrome, vivid preset thumbnails, and a saturated blue wave preview.",
        "typography": "Use compact settings rows beside a generous artwork preview.",
        "pattern": "Separate choosing a tool from adjusting its output and keep the preview central.",
        "states": "Public wave-generator workspace using its supplied initial artwork; no export was created.",
        "dont": "Adapt the interaction pattern to your own product. Do not copy brand assets, sample identities, proprietary text, or assume unseen states. Specify keyboard behavior, loading, empty, error, and narrow-screen layouts for your implementation."
      },
      "recreation_prompt": "# Design reference: Haikei — Shape generator\nSource: https://app.haikei.app/\nSwipefile reference: https://swipefile.design/ref/haikei-editor/\nCaptured: 2026-09-04. This is a dated reference, not a claim about the current live product.\nCapture scope: one viewport. Do not infer unseen page sections or a complete user flow.\n\n## Objective\nAdapt the interaction and layout patterns below to my project. Use my own content and identity. Do not reproduce logos, proprietary copy, or brand assets.\n\n## Reference notes\n- surface: Shape generator\n- nav: Generator families stay on the left while parameters stay with the active canvas on the right.\n- layout: A colorful preset rail sits left of a large canvas, with shape and export options in a right sidebar.\n- density: The working preview takes most of the space, with compact controls grouped around it.\n- color: Black chrome, vivid preset thumbnails, and a saturated blue wave preview.\n- typography: Use compact settings rows beside a generous artwork preview.\n- pattern: Separate choosing a tool from adjusting its output and keep the preview central.\n- states: Public wave-generator workspace using its supplied initial artwork; no export was created.\n- dont: Adapt the interaction pattern to your own product. Do not copy brand assets, sample identities, proprietary text, or assume unseen states. Specify keyboard behavior, loading, empty, error, and narrow-screen layouts for your implementation.\n\nUseful for: Separate choosing a tool from adjusting its output and keep the preview central.\n\n## Acceptance criteria\n- Existing project conventions, design tokens, working functionality, and unrelated changes are preserved.\n- Two or three reference principles clearly support the user's task; conflicts are resolved in favor of usability and the existing product.\n- Reusable components and semantic HTML express the interface. Available licensed assets are used; important UI text is never rendered as a bitmap.\n- Every visible control has a defined behavior. Loading, empty, error, success, disabled, and long-content states are specified where relevant. Demo data is clearly labeled.\n- Navigation and content adapt at 375px, 768px, and 1440px without horizontal page overflow. Keyboard use, visible focus, labeled inputs, at least 44px touch targets, readable contrast, and reduced motion are supported.\n- Verification distinguishes rendered behavior from proposals and identifies anything still requiring a backend or external service.\n\n## Quality bar\nClear hierarchy, consistent spacing, restrained surfaces, and purposeful motion. Avoid decorative gradients, excessive cards, placeholder buttons, and invented metrics unless the project calls for them. Do not claim a feature is connected or tested without evidence."
    },
    {
      "slug": "oklch-picker",
      "name": "OKLCH — Color picker",
      "kind": "app",
      "archetype": "Creative Tools",
      "summary": "A color tool turns a technical color space into a coordinated set of visual controls.",
      "use_for": "Pair numeric values with visual representations so users can move between precision and exploration.",
      "source_url": "https://oklch.com/#0.7,0.1,353,100",
      "reference_url": "https://swipefile.design/ref/oklch-picker/",
      "screenshot_url": "https://swipefile.design/_astro/full.DWwsSRYH.webp",
      "thumbnail_url": "https://swipefile.design/_astro/card.CE_7j8E-.webp",
      "captured": "2026-09-04",
      "capture_scope": "viewport",
      "provenance": "live",
      "tags": [
        "creative tools",
        "forms & onboarding",
        "oklch"
      ],
      "patterns": [
        "Creative tools",
        "Forms & onboarding"
      ],
      "design_notes": {
        "surface": "Color picker",
        "nav": "Supporting display toggles sit beneath the color value rather than competing with the main controls.",
        "layout": "A color sample and value fields sit alongside separate lightness, chroma, alpha, and hue panels.",
        "density": "The working preview takes most of the space, with compact controls grouped around it.",
        "color": "Pale panels surround vivid color spectra and a large selected-color sample.",
        "typography": "Give each color dimension its own labeled control and keep the current value easy to find.",
        "pattern": "Pair numeric values with visual representations so users can move between precision and exploration.",
        "states": "Public color picker in its initial visible state; no palette was exported.",
        "dont": "Adapt the interaction pattern to your own product. Do not copy brand assets, sample identities, proprietary text, or assume unseen states. Specify keyboard behavior, loading, empty, error, and narrow-screen layouts for your implementation."
      },
      "recreation_prompt": "# Design reference: OKLCH — Color picker\nSource: https://oklch.com/#0.7,0.1,353,100\nSwipefile reference: https://swipefile.design/ref/oklch-picker/\nCaptured: 2026-09-04. This is a dated reference, not a claim about the current live product.\nCapture scope: one viewport. Do not infer unseen page sections or a complete user flow.\n\n## Objective\nAdapt the interaction and layout patterns below to my project. Use my own content and identity. Do not reproduce logos, proprietary copy, or brand assets.\n\n## Reference notes\n- surface: Color picker\n- nav: Supporting display toggles sit beneath the color value rather than competing with the main controls.\n- layout: A color sample and value fields sit alongside separate lightness, chroma, alpha, and hue panels.\n- density: The working preview takes most of the space, with compact controls grouped around it.\n- color: Pale panels surround vivid color spectra and a large selected-color sample.\n- typography: Give each color dimension its own labeled control and keep the current value easy to find.\n- pattern: Pair numeric values with visual representations so users can move between precision and exploration.\n- states: Public color picker in its initial visible state; no palette was exported.\n- dont: Adapt the interaction pattern to your own product. Do not copy brand assets, sample identities, proprietary text, or assume unseen states. Specify keyboard behavior, loading, empty, error, and narrow-screen layouts for your implementation.\n\nUseful for: Pair numeric values with visual representations so users can move between precision and exploration.\n\n## Acceptance criteria\n- Existing project conventions, design tokens, working functionality, and unrelated changes are preserved.\n- Two or three reference principles clearly support the user's task; conflicts are resolved in favor of usability and the existing product.\n- Reusable components and semantic HTML express the interface. Available licensed assets are used; important UI text is never rendered as a bitmap.\n- Every visible control has a defined behavior. Loading, empty, error, success, disabled, and long-content states are specified where relevant. Demo data is clearly labeled.\n- Navigation and content adapt at 375px, 768px, and 1440px without horizontal page overflow. Keyboard use, visible focus, labeled inputs, at least 44px touch targets, readable contrast, and reduced motion are supported.\n- Verification distinguishes rendered behavior from proposals and identifies anything still requiring a backend or external service.\n\n## Quality bar\nClear hierarchy, consistent spacing, restrained surfaces, and purposeful motion. Avoid decorative gradients, excessive cards, placeholder buttons, and invented metrics unless the project calls for them. Do not claim a feature is connected or tested without evidence."
    },
    {
      "slug": "rayso-code",
      "name": "Ray.so — Code image editor",
      "kind": "app",
      "archetype": "Dev Tools",
      "summary": "A code-image tool gives its preview generous space and moves presentation controls into a compact bottom panel.",
      "use_for": "Keep the composition visible as a whole while grouping appearance settings in one predictable place.",
      "source_url": "https://ray.so/",
      "reference_url": "https://swipefile.design/ref/rayso-code/",
      "screenshot_url": "https://swipefile.design/_astro/full.BgxAHiao.webp",
      "thumbnail_url": "https://swipefile.design/_astro/card.BFNuuwUI.webp",
      "captured": "2026-09-04",
      "capture_scope": "viewport",
      "provenance": "live",
      "tags": [
        "dev tools",
        "creative tools",
        "rayso"
      ],
      "patterns": [
        "Creative tools"
      ],
      "design_notes": {
        "surface": "Code image editor",
        "nav": "Export stays in the top bar while theme, background, padding, and language live near the preview.",
        "layout": "A centered code card floats on a color field with a horizontal settings panel beneath it.",
        "density": "Primary content has the most space; repeated rows and secondary navigation use a compact, consistent rhythm.",
        "color": "A near-black workspace surrounds a violet gradient and syntax-colored code.",
        "typography": "Use a restrained toolbar and a large preview to keep composition choices easy to compare.",
        "pattern": "Keep the composition visible as a whole while grouping appearance settings in one predictable place.",
        "states": "The public tool's supplied sample code; no image was exported.",
        "dont": "Adapt the interaction pattern to your own product. Do not copy brand assets, sample identities, proprietary text, or assume unseen states. Specify keyboard behavior, loading, empty, error, and narrow-screen layouts for your implementation."
      },
      "recreation_prompt": "# Design reference: Ray.so — Code image editor\nSource: https://ray.so/\nSwipefile reference: https://swipefile.design/ref/rayso-code/\nCaptured: 2026-09-04. This is a dated reference, not a claim about the current live product.\nCapture scope: one viewport. Do not infer unseen page sections or a complete user flow.\n\n## Objective\nAdapt the interaction and layout patterns below to my project. Use my own content and identity. Do not reproduce logos, proprietary copy, or brand assets.\n\n## Reference notes\n- surface: Code image editor\n- nav: Export stays in the top bar while theme, background, padding, and language live near the preview.\n- layout: A centered code card floats on a color field with a horizontal settings panel beneath it.\n- density: Primary content has the most space; repeated rows and secondary navigation use a compact, consistent rhythm.\n- color: A near-black workspace surrounds a violet gradient and syntax-colored code.\n- typography: Use a restrained toolbar and a large preview to keep composition choices easy to compare.\n- pattern: Keep the composition visible as a whole while grouping appearance settings in one predictable place.\n- states: The public tool's supplied sample code; no image was exported.\n- dont: Adapt the interaction pattern to your own product. Do not copy brand assets, sample identities, proprietary text, or assume unseen states. Specify keyboard behavior, loading, empty, error, and narrow-screen layouts for your implementation.\n\nUseful for: Keep the composition visible as a whole while grouping appearance settings in one predictable place.\n\n## Acceptance criteria\n- Existing project conventions, design tokens, working functionality, and unrelated changes are preserved.\n- Two or three reference principles clearly support the user's task; conflicts are resolved in favor of usability and the existing product.\n- Reusable components and semantic HTML express the interface. Available licensed assets are used; important UI text is never rendered as a bitmap.\n- Every visible control has a defined behavior. Loading, empty, error, success, disabled, and long-content states are specified where relevant. Demo data is clearly labeled.\n- Navigation and content adapt at 375px, 768px, and 1440px without horizontal page overflow. Keyboard use, visible focus, labeled inputs, at least 44px touch targets, readable contrast, and reduced motion are supported.\n- Verification distinguishes rendered behavior from proposals and identifies anything still requiring a backend or external service.\n\n## Quality bar\nClear hierarchy, consistent spacing, restrained surfaces, and purposeful motion. Avoid decorative gradients, excessive cards, placeholder buttons, and invented metrics unless the project calls for them. Do not claim a feature is connected or tested without evidence."
    },
    {
      "slug": "tailwind-play",
      "name": "Tailwind Play — Live editor",
      "kind": "app",
      "archetype": "Dev Tools",
      "summary": "A live coding workspace pairs editable markup with the rendered interface in a split view.",
      "use_for": "Keep the result visible next to the code and make preview dimensions easy to change.",
      "source_url": "https://play.tailwindcss.com/",
      "reference_url": "https://swipefile.design/ref/tailwind-play/",
      "screenshot_url": "https://swipefile.design/_astro/full.D-gnUy4a.webp",
      "thumbnail_url": "https://swipefile.design/_astro/card.HC7nNlTw.webp",
      "captured": "2026-09-04",
      "capture_scope": "viewport",
      "provenance": "live",
      "tags": [
        "dev tools",
        "creative tools",
        "navigation",
        "tailwind"
      ],
      "patterns": [
        "Creative tools",
        "Navigation"
      ],
      "design_notes": {
        "surface": "Live editor",
        "nav": "Language tabs sit above the source; preview-size controls and sharing sit in the top bar.",
        "layout": "The source editor fills the left half and a preview of the built-in example fills the right.",
        "density": "Primary content has the most space; repeated rows and secondary navigation use a compact, consistent rhythm.",
        "color": "White panes with syntax colors and a clear cyan product accent.",
        "typography": "Reserve almost all of the screen for editing and previewing rather than surrounding chrome.",
        "pattern": "Keep the result visible next to the code and make preview dimensions easy to change.",
        "states": "The supplied example is loaded in the public playground; no code was published.",
        "dont": "Adapt the interaction pattern to your own product. Do not copy brand assets, sample identities, proprietary text, or assume unseen states. Specify keyboard behavior, loading, empty, error, and narrow-screen layouts for your implementation."
      },
      "recreation_prompt": "# Design reference: Tailwind Play — Live editor\nSource: https://play.tailwindcss.com/\nSwipefile reference: https://swipefile.design/ref/tailwind-play/\nCaptured: 2026-09-04. This is a dated reference, not a claim about the current live product.\nCapture scope: one viewport. Do not infer unseen page sections or a complete user flow.\n\n## Objective\nAdapt the interaction and layout patterns below to my project. Use my own content and identity. Do not reproduce logos, proprietary copy, or brand assets.\n\n## Reference notes\n- surface: Live editor\n- nav: Language tabs sit above the source; preview-size controls and sharing sit in the top bar.\n- layout: The source editor fills the left half and a preview of the built-in example fills the right.\n- density: Primary content has the most space; repeated rows and secondary navigation use a compact, consistent rhythm.\n- color: White panes with syntax colors and a clear cyan product accent.\n- typography: Reserve almost all of the screen for editing and previewing rather than surrounding chrome.\n- pattern: Keep the result visible next to the code and make preview dimensions easy to change.\n- states: The supplied example is loaded in the public playground; no code was published.\n- dont: Adapt the interaction pattern to your own product. Do not copy brand assets, sample identities, proprietary text, or assume unseen states. Specify keyboard behavior, loading, empty, error, and narrow-screen layouts for your implementation.\n\nUseful for: Keep the result visible next to the code and make preview dimensions easy to change.\n\n## Acceptance criteria\n- Existing project conventions, design tokens, working functionality, and unrelated changes are preserved.\n- Two or three reference principles clearly support the user's task; conflicts are resolved in favor of usability and the existing product.\n- Reusable components and semantic HTML express the interface. Available licensed assets are used; important UI text is never rendered as a bitmap.\n- Every visible control has a defined behavior. Loading, empty, error, success, disabled, and long-content states are specified where relevant. Demo data is clearly labeled.\n- Navigation and content adapt at 375px, 768px, and 1440px without horizontal page overflow. Keyboard use, visible focus, labeled inputs, at least 44px touch targets, readable contrast, and reduced motion are supported.\n- Verification distinguishes rendered behavior from proposals and identifies anything still requiring a backend or external service.\n\n## Quality bar\nClear hierarchy, consistent spacing, restrained surfaces, and purposeful motion. Avoid decorative gradients, excessive cards, placeholder buttons, and invented metrics unless the project calls for them. Do not claim a feature is connected or tested without evidence."
    }
  ]
}
