* chore: unify product name display to OpenDesign repo-wide Rename the user-facing product name from "Open Design" to "OpenDesign" across documentation, web/desktop UI strings, i18n locales, prompts, plugin/skill/design-system content, changelogs, and specs, matching the landing-page rename already in flight. Deliberately excluded so installed-app identity stays untouched: - packages/release PRODUCT_NAME and everything derived from it (app bundle names, installer/registry identity, updater feeds) - tools/pack, tools/release, apps/packaged, landing page (PR #6983) - mocks/ recorded traces and LICENSE - test fixtures and comments that encode real on-disk install paths (Open Design.app, Program Files\Open Design, AppData paths) Validated with pnpm guard, pnpm typecheck, and targeted web/desktop/host test runs over the renamed strings. * fix(web): keep two-letter author monogram for CamelCase brand names authorInitials split words on whitespace only, so the renamed single-token author name "OpenDesign" produced a one-letter monogram. Treat lower-to-upper CamelCase boundaries as word breaks so the avatar fallback stays "OD". * fix(release): restore spaced Windows source artifact names in win.ps1 tools/pack still derives builder outputs from the unchanged PRODUCT_NAME ("Open Design"), so the asset script must look for the spaced filenames. Matches the mac/mac-intel/linux asset scripts, which were already kept on the original names. --------- Co-authored-by: Joey <236967869+joeylee12629-star@users.noreply.github.com>
5.8 KiB
Creation surfaces and skill modes
Parent: spec.md · Siblings: architecture.md · skills-protocol.md · agent-adapters.md
OpenDesign has two related taxonomies:
- The New Project UI exposes six creation tabs: Prototype, Live Artifact, Deck, Template, Media, and Other. Media then selects Image, Video, or Audio.
- A
SKILL.mdcarries one registry mode:prototype,deck,template,design-system,image,video, oraudio.
They are intentionally not one-to-one. UI tabs describe the workflow a user
starts; skill modes describe how the daemon indexes and routes an instruction
bundle. The source of truth for the UI taxonomy is CreateTab and
MediaSurface in
NewProjectPanel.tsx. The
daemon parser and normalization rules live in
skills.ts.
| Creation tab | Project metadata | Skill routing | Main distinction |
|---|---|---|---|
| Prototype | kind: prototype |
Default prototype skill, replaced by a selected design template |
Responsive web, mobile, tablet, or desktop-app interface work |
| Live Artifact | kind: prototype, intent: live-artifact |
A live-artifact-capable prototype skill |
High-fidelity, data-bearing or connector-backed artifact |
| Deck | kind: deck |
Default deck skill, replaced by a selected design template |
Slide navigation plus presentation export paths |
| Template | kind: template |
A user-saved project template | Starts from a template created through Share rather than the built-in rendering catalogue |
| Media | kind: image, video, or audio |
Matching media-mode skill | Provider/model, aspect, duration, voice, and prompt-template controls |
| Other | kind: other |
No required skill | Free-form project surface |
Prototype
Prototype is the general interface-design path. The user chooses one or more
platform targets, fidelity, optional OS-widget or landing-page options, a
design system, and optionally a rendering template from
/api/design-templates.
A selected Start from template replaces the tab's default skill as the
project's primary skillId. At run time the daemon resolves that id across the
functional-skill and design-template roots and injects the selected template's
SKILL.md; it does not automatically compose the default prototype skill
with the template. The catalogue/API separation is documented in
skills-protocol.md.
Live Artifact
Live Artifact is a dedicated UI workflow backed by prototype-shaped project
metadata. It records intent: live-artifact, forces high fidelity, prefers the
live-artifact skill when present, and exposes connector configuration. Code
that branches on project kind alone must therefore also check the intent.
Deck
Deck uses deck skills and deck-mode design templates. Speaker-note preference
is stored in project metadata. Preview and export behavior belongs to the deck
runtime and the selected template; it is not inferred from a historical list
of default deck names.
Template
The Template tab lists templates the user previously saved through Share. It
does not use the bundled design-templates/ catalogue as a fallback. A saved
template may carry its own platform, animation, and design-system choices.
This is distinct from a SKILL.md whose registry mode is template: registry
modes classify instruction bundles, while the tab represents a user-owned
project-template workflow.
Media
Media groups three surfaces:
- Image: model and aspect ratio, plus an optional image prompt template.
- Video: model, aspect ratio, duration, and an optional video prompt
template. The
hyperframes-htmlmodel pins the HyperFrames skill. - Audio: speech or sound, model, duration, and an optional voice for speech.
Media skill selection matches either the skill's mode or surface. Design-system selection is hidden because these provider-backed generations use prompt templates rather than the interface token pipeline.
Other
Other creates a free-form project with no required skill id. It retains the
general platform and design-system controls and records kind: other.
Design systems are a separate product surface
design-system remains a valid skill mode, but Design System is no longer one
of the New Project tabs. Users manage design systems through the dedicated
Design System product surface; project creation selects an active system where
the workflow supports it. Prototype, Deck, Template, and Other can apply a
design system. Live Artifact and Media currently hide that picker in the New
Project panel.
Maintenance rules
- When a creation tab changes, update
CreateTab,TAB_LABEL_KEYS, metadata construction, title/auto-name mappings, analytics target mapping, and this document together. - When a skill mode changes, update the daemon's
SkillModeparser, contract documentation, relevant catalogue entries, and UI filters together. - Do not describe bundled rendering templates as functional skills. They live
under
design-templates/and are listed through/api/design-templates; functional capabilities live underskills/and are listed through/api/skills. - Keep user-facing capabilities reachable through both the web UI and
odCLI, following the repository-wide dual-track rule in the rootAGENTS.md.
Related implementation
- UI creation model:
apps/web/src/components/NewProjectPanel.tsx - Skill registry and mode normalization:
apps/daemon/src/skills.ts - Shared project API contracts:
packages/contracts/src/api/projects.ts - Skill and rendering-template protocol:
docs/skills-protocol.md