@design-ai/cli 4.55.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/plugin.json +164 -0
- package/AGENTS.ko.md +126 -0
- package/AGENTS.md +182 -0
- package/CHANGELOG.md +6883 -0
- package/CLAUDE.md +39 -0
- package/LICENSE +21 -0
- package/README.ko.md +245 -0
- package/README.md +277 -0
- package/agents/README.md +14 -0
- package/agents/a11y-reviewer.md +121 -0
- package/agents/component-architect.md +57 -0
- package/agents/design-critic.md +46 -0
- package/agents/token-extractor.md +63 -0
- package/cli/bin/design-ai-mcp.mjs +6 -0
- package/cli/bin/design-ai.mjs +40 -0
- package/cli/commands/audit.mjs +111 -0
- package/cli/commands/check.mjs +226 -0
- package/cli/commands/doctor.mjs +141 -0
- package/cli/commands/examples.mjs +58 -0
- package/cli/commands/help.mjs +271 -0
- package/cli/commands/install.mjs +161 -0
- package/cli/commands/learn.mjs +1871 -0
- package/cli/commands/list.mjs +143 -0
- package/cli/commands/mcp.mjs +27 -0
- package/cli/commands/pack.mjs +211 -0
- package/cli/commands/prompt.mjs +199 -0
- package/cli/commands/route.mjs +247 -0
- package/cli/commands/search.mjs +60 -0
- package/cli/commands/show.mjs +52 -0
- package/cli/commands/site.mjs +558 -0
- package/cli/commands/status.mjs +161 -0
- package/cli/commands/uninstall.mjs +119 -0
- package/cli/commands/update.mjs +184 -0
- package/cli/commands/version.mjs +94 -0
- package/cli/commands/workspace.mjs +176 -0
- package/cli/lib/brief.mjs +52 -0
- package/cli/lib/check.mjs +642 -0
- package/cli/lib/dispatch.mjs +109 -0
- package/cli/lib/doctor.mjs +505 -0
- package/cli/lib/examples.mjs +258 -0
- package/cli/lib/exec.mjs +63 -0
- package/cli/lib/help-flags.mjs +5 -0
- package/cli/lib/learn.mjs +3694 -0
- package/cli/lib/log.mjs +47 -0
- package/cli/lib/mcp-server.mjs +426 -0
- package/cli/lib/output.mjs +101 -0
- package/cli/lib/pack.mjs +599 -0
- package/cli/lib/paths.mjs +63 -0
- package/cli/lib/prompt.mjs +603 -0
- package/cli/lib/route.mjs +740 -0
- package/cli/lib/search.mjs +158 -0
- package/cli/lib/show.mjs +161 -0
- package/cli/lib/signals.mjs +2337 -0
- package/cli/lib/site.mjs +6617 -0
- package/cli/lib/skill-proposals.mjs +2046 -0
- package/cli/lib/suggest.mjs +66 -0
- package/cli/lib/workspace.mjs +1056 -0
- package/commands/README.md +25 -0
- package/commands/component-spec.md +34 -0
- package/commands/conversational.md +44 -0
- package/commands/design-from-brief.md +141 -0
- package/commands/design-review.md +62 -0
- package/commands/document-from-brief.md +47 -0
- package/commands/extract-tokens.md +38 -0
- package/commands/game-ui.md +40 -0
- package/commands/illustration.md +37 -0
- package/commands/iterate.md +167 -0
- package/commands/motion-design.md +54 -0
- package/commands/palette-from-brand.md +50 -0
- package/commands/print.md +49 -0
- package/commands/slide-deck.md +46 -0
- package/commands/spatial.md +47 -0
- package/commands/stability-review.md +74 -0
- package/commands/video.md +42 -0
- package/commands/website-improvement.md +77 -0
- package/docs/AGENT-DEVELOPMENT.md +658 -0
- package/docs/AI-LEARNING.md +429 -0
- package/docs/AIDER-INTEGRATION.md +224 -0
- package/docs/ARCHITECTURE.ko.md +183 -0
- package/docs/ARCHITECTURE.md +105 -0
- package/docs/CODEX-INTEGRATION.md +311 -0
- package/docs/COMPANY-WEBSITE-DOGFOOD.ko.md +144 -0
- package/docs/COMPANY-WEBSITE-DOGFOOD.md +150 -0
- package/docs/COMPANY-WEBSITE-INTAKE-TEMPLATE.ko.md +153 -0
- package/docs/COMPANY-WEBSITE-INTAKE-TEMPLATE.md +154 -0
- package/docs/CONTRIBUTING.ko.md +203 -0
- package/docs/CONTRIBUTING.md +242 -0
- package/docs/CURSOR-INTEGRATION.md +220 -0
- package/docs/DISTRIBUTION.ko.md +248 -0
- package/docs/DISTRIBUTION.md +253 -0
- package/docs/DOGFOOD-FINDINGS.md +180 -0
- package/docs/DOGFOOD-V4-FINDINGS.md +139 -0
- package/docs/DOGFOOD-V4-MKDOCS-FINDINGS.md +233 -0
- package/docs/DOGFOOD-V4-NPM-FINDINGS.md +157 -0
- package/docs/DOGFOOD-V4-VSCODE-FINDINGS.md +135 -0
- package/docs/FIGMA-INTEGRATION.md +222 -0
- package/docs/MCP-INTEGRATION.md +243 -0
- package/docs/MIGRATION-v4.md +121 -0
- package/docs/PLUGIN-PACKAGING.md +240 -0
- package/docs/PRODUCT-READINESS.md +66 -0
- package/docs/QUICKSTART.ko.md +178 -0
- package/docs/QUICKSTART.md +179 -0
- package/docs/RELEASE-CHECKLIST.md +292 -0
- package/docs/ROADMAP.md +19495 -0
- package/docs/SESSION-LOG.md +940 -0
- package/docs/TOKEN-SYNC.md +237 -0
- package/docs/USING.ko.md +206 -0
- package/docs/USING.md +218 -0
- package/docs/WEBSITE-IMPROVEMENT.ko.md +75 -0
- package/docs/WEBSITE-IMPROVEMENT.md +89 -0
- package/docs/announcements/README.md +56 -0
- package/docs/announcements/dev-to-korea.md +206 -0
- package/docs/announcements/hashnode-post.ko.md +232 -0
- package/docs/announcements/okky-post.ko.md +158 -0
- package/docs/announcements/press-kit.md +101 -0
- package/docs/announcements/reddit-r-korea.md +196 -0
- package/docs/announcements/show-hn.md +114 -0
- package/docs/announcements/twitter-thread.md +255 -0
- package/docs/external-status.md +34 -0
- package/docs/integrations/aider-walkthrough.ko.md +275 -0
- package/docs/integrations/aider-walkthrough.md +274 -0
- package/docs/integrations/codex-walkthrough.ko.md +297 -0
- package/docs/integrations/codex-walkthrough.md +297 -0
- package/docs/integrations/cursor-walkthrough.ko.md +281 -0
- package/docs/integrations/cursor-walkthrough.md +284 -0
- package/docs/integrations/design-ai-mcp-server.md +169 -0
- package/docs/integrations/figma-mcp.md +149 -0
- package/docs/integrations/github-mcp.md +178 -0
- package/docs/integrations/linear-mcp.md +215 -0
- package/docs/integrations/notion-mcp.md +174 -0
- package/docs/integrations/sdk-walkthrough.ko.md +375 -0
- package/docs/integrations/sdk-walkthrough.md +375 -0
- package/docs/integrations/slack-mcp.md +208 -0
- package/docs/integrations/vscode-walkthrough.ko.md +202 -0
- package/docs/integrations/vscode-walkthrough.md +205 -0
- package/docs/requirements.txt +16 -0
- package/docs/site-overrides/extra.css +83 -0
- package/docs/site-overrides/favicon.svg +4 -0
- package/docs/site-overrides/logo.svg +10 -0
- package/docs/site-overrides/main.html +18 -0
- package/docs/website-console/app.js +2540 -0
- package/docs/website-console/index.html +24 -0
- package/docs/website-console/styles.css +975 -0
- package/examples/README.md +252 -0
- package/examples/cases/dogfood-v4-korean-hr-onboarding.md +356 -0
- package/examples/component-accordion-actions.md +153 -0
- package/examples/component-accordion-details.md +147 -0
- package/examples/component-accordion-summary.md +180 -0
- package/examples/component-accordion.md +229 -0
- package/examples/component-account-card.md +284 -0
- package/examples/component-address-input.md +260 -0
- package/examples/component-affix.md +190 -0
- package/examples/component-alert-dialog.md +210 -0
- package/examples/component-alert-title.md +77 -0
- package/examples/component-alert.md +192 -0
- package/examples/component-amount-input.md +278 -0
- package/examples/component-anchor.md +198 -0
- package/examples/component-app-bar.md +249 -0
- package/examples/component-aspect-ratio.md +156 -0
- package/examples/component-auto-complete.md +199 -0
- package/examples/component-avatar-group.md +170 -0
- package/examples/component-avatar.md +191 -0
- package/examples/component-back-top.md +123 -0
- package/examples/component-backdrop.md +148 -0
- package/examples/component-badge.md +181 -0
- package/examples/component-banner.md +237 -0
- package/examples/component-biometric-gate.md +281 -0
- package/examples/component-blockquote.md +153 -0
- package/examples/component-border-beam.md +207 -0
- package/examples/component-bottom-navigation.md +226 -0
- package/examples/component-box.md +112 -0
- package/examples/component-breadcrumb.md +222 -0
- package/examples/component-button-base.md +190 -0
- package/examples/component-button-group.md +117 -0
- package/examples/component-button.md +213 -0
- package/examples/component-calendar.md +280 -0
- package/examples/component-callout.md +131 -0
- package/examples/component-card-actions.md +101 -0
- package/examples/component-card-content.md +90 -0
- package/examples/component-card-header.md +122 -0
- package/examples/component-card-media.md +79 -0
- package/examples/component-card.md +233 -0
- package/examples/component-carousel.md +266 -0
- package/examples/component-cascader.md +135 -0
- package/examples/component-category-picker.md +271 -0
- package/examples/component-chart.md +237 -0
- package/examples/component-chat-interface.md +399 -0
- package/examples/component-checkbox.md +149 -0
- package/examples/component-click-away-listener.md +87 -0
- package/examples/component-code.md +213 -0
- package/examples/component-collapsible.md +219 -0
- package/examples/component-color-picker.md +110 -0
- package/examples/component-combobox.md +267 -0
- package/examples/component-command.md +299 -0
- package/examples/component-config-provider.md +190 -0
- package/examples/component-context-menu.md +179 -0
- package/examples/component-css-baseline.md +148 -0
- package/examples/component-date-picker.md +249 -0
- package/examples/component-descriptions.md +242 -0
- package/examples/component-dialog-actions.md +111 -0
- package/examples/component-dialog-content-text.md +76 -0
- package/examples/component-dialog-content.md +105 -0
- package/examples/component-dialog-title.md +104 -0
- package/examples/component-dialog.md +176 -0
- package/examples/component-divider.md +182 -0
- package/examples/component-doc-page.md +217 -0
- package/examples/component-drawer.md +257 -0
- package/examples/component-dropdown.md +220 -0
- package/examples/component-email-layout.md +253 -0
- package/examples/component-empty-state.md +269 -0
- package/examples/component-empty.md +172 -0
- package/examples/component-fade.md +87 -0
- package/examples/component-feature-grid.md +201 -0
- package/examples/component-field.md +266 -0
- package/examples/component-filled-input.md +114 -0
- package/examples/component-flex.md +117 -0
- package/examples/component-float-button.md +214 -0
- package/examples/component-form-control-label.md +134 -0
- package/examples/component-form-control.md +113 -0
- package/examples/component-form-controls.md +251 -0
- package/examples/component-form-group.md +86 -0
- package/examples/component-form-helper-text.md +95 -0
- package/examples/component-form-label.md +98 -0
- package/examples/component-form.md +291 -0
- package/examples/component-game-hud.md +362 -0
- package/examples/component-game-menu.md +327 -0
- package/examples/component-grid.md +140 -0
- package/examples/component-grow.md +79 -0
- package/examples/component-hero-block.md +252 -0
- package/examples/component-hover-card.md +211 -0
- package/examples/component-icon-button.md +142 -0
- package/examples/component-icon.md +102 -0
- package/examples/component-illustration.md +280 -0
- package/examples/component-image-list.md +107 -0
- package/examples/component-image.md +282 -0
- package/examples/component-input-adornment.md +101 -0
- package/examples/component-input-base.md +134 -0
- package/examples/component-input-number.md +141 -0
- package/examples/component-input-otp.md +271 -0
- package/examples/component-input.md +213 -0
- package/examples/component-item.md +243 -0
- package/examples/component-kbd.md +197 -0
- package/examples/component-krw-amount.md +219 -0
- package/examples/component-label.md +118 -0
- package/examples/component-layout.md +217 -0
- package/examples/component-link.md +223 -0
- package/examples/component-list-item-avatar.md +72 -0
- package/examples/component-list-item-button.md +139 -0
- package/examples/component-list-item-icon.md +82 -0
- package/examples/component-list-item-text.md +98 -0
- package/examples/component-list-item.md +116 -0
- package/examples/component-list-subheader.md +70 -0
- package/examples/component-list.md +198 -0
- package/examples/component-loading-button.md +125 -0
- package/examples/component-loading-sequence.md +254 -0
- package/examples/component-lottie-player.md +279 -0
- package/examples/component-masonry.md +191 -0
- package/examples/component-mentions.md +189 -0
- package/examples/component-menu-item.md +102 -0
- package/examples/component-menu-list.md +98 -0
- package/examples/component-menu.md +139 -0
- package/examples/component-menubar.md +259 -0
- package/examples/component-message.md +162 -0
- package/examples/component-mobile-stepper.md +155 -0
- package/examples/component-modal.md +220 -0
- package/examples/component-navigation-menu.md +295 -0
- package/examples/component-notification.md +166 -0
- package/examples/component-otp-countdown.md +245 -0
- package/examples/component-outlined-input.md +145 -0
- package/examples/component-page-transition.md +281 -0
- package/examples/component-pagination.md +226 -0
- package/examples/component-paper.md +199 -0
- package/examples/component-pass-auth.md +265 -0
- package/examples/component-payment-brand-button.md +253 -0
- package/examples/component-payment-method-selector.md +272 -0
- package/examples/component-payment-receipt.md +277 -0
- package/examples/component-popconfirm.md +144 -0
- package/examples/component-popover.md +239 -0
- package/examples/component-popper.md +129 -0
- package/examples/component-pricing-cards.md +247 -0
- package/examples/component-progress.md +195 -0
- package/examples/component-qr-code.md +201 -0
- package/examples/component-radio.md +167 -0
- package/examples/component-rate.md +202 -0
- package/examples/component-resizable.md +163 -0
- package/examples/component-result.md +270 -0
- package/examples/component-scroll-area.md +199 -0
- package/examples/component-scroll-reveal.md +320 -0
- package/examples/component-segmented.md +178 -0
- package/examples/component-select.md +258 -0
- package/examples/component-separator.md +177 -0
- package/examples/component-sheet.md +277 -0
- package/examples/component-sidebar.md +257 -0
- package/examples/component-skeleton.md +178 -0
- package/examples/component-slide.md +89 -0
- package/examples/component-slider.md +208 -0
- package/examples/component-snackbar-content.md +92 -0
- package/examples/component-snackbar.md +121 -0
- package/examples/component-sonner.md +165 -0
- package/examples/component-space.md +125 -0
- package/examples/component-spatial-locomotion.md +373 -0
- package/examples/component-spatial-panel.md +330 -0
- package/examples/component-speed-dial-action.md +78 -0
- package/examples/component-speed-dial.md +177 -0
- package/examples/component-spin.md +173 -0
- package/examples/component-spinner.md +204 -0
- package/examples/component-splitter.md +210 -0
- package/examples/component-stack.md +130 -0
- package/examples/component-statistic.md +282 -0
- package/examples/component-step-button.md +157 -0
- package/examples/component-step-connector.md +157 -0
- package/examples/component-step-content.md +121 -0
- package/examples/component-step-icon.md +115 -0
- package/examples/component-step-label.md +101 -0
- package/examples/component-step.md +84 -0
- package/examples/component-steps.md +264 -0
- package/examples/component-stock-chart.md +251 -0
- package/examples/component-swipeable-drawer.md +149 -0
- package/examples/component-switch.md +99 -0
- package/examples/component-tab-scroll-button.md +180 -0
- package/examples/component-tab.md +120 -0
- package/examples/component-table-body.md +82 -0
- package/examples/component-table-cell.md +118 -0
- package/examples/component-table-container.md +75 -0
- package/examples/component-table-footer.md +72 -0
- package/examples/component-table-head.md +78 -0
- package/examples/component-table-pagination.md +137 -0
- package/examples/component-table-row.md +113 -0
- package/examples/component-table-sort-label.md +109 -0
- package/examples/component-table.md +202 -0
- package/examples/component-tabs.md +184 -0
- package/examples/component-tag-badge.md +309 -0
- package/examples/component-tag.md +102 -0
- package/examples/component-testimonial-carousel.md +218 -0
- package/examples/component-textarea-autosize.md +114 -0
- package/examples/component-textarea.md +173 -0
- package/examples/component-time-picker.md +205 -0
- package/examples/component-timeline.md +170 -0
- package/examples/component-toast.md +224 -0
- package/examples/component-toggle-button.md +129 -0
- package/examples/component-toggle.md +220 -0
- package/examples/component-toolbar.md +104 -0
- package/examples/component-tooltip.md +178 -0
- package/examples/component-tour.md +176 -0
- package/examples/component-transaction-list-item.md +243 -0
- package/examples/component-transfer.md +156 -0
- package/examples/component-tree-select.md +202 -0
- package/examples/component-tree.md +297 -0
- package/examples/component-typography.md +215 -0
- package/examples/component-upload.md +295 -0
- package/examples/component-video-hero.md +409 -0
- package/examples/component-video-player.md +340 -0
- package/examples/component-voice-input.md +408 -0
- package/examples/component-watermark.md +217 -0
- package/examples/component-zoom.md +92 -0
- package/examples/doc-explanation-example.md +196 -0
- package/examples/doc-how-to-example.md +205 -0
- package/examples/doc-tutorial-example.md +162 -0
- package/examples/dogfood-korean-fintech-system.md +433 -0
- package/examples/email-transactional-example.md +259 -0
- package/examples/palette-saas-violet.md +235 -0
- package/examples/print-business-card-spec.md +205 -0
- package/examples/print-packaging-spec.md +285 -0
- package/examples/report-example.md +228 -0
- package/examples/slide-deck-example.md +237 -0
- package/examples/website-improvement-report.md +128 -0
- package/examples/website-improvement-workspace.json +126 -0
- package/install.sh +189 -0
- package/knowledge/COVERAGE.md +740 -0
- package/knowledge/PRINCIPLES.md +108 -0
- package/knowledge/a11y/contrast.md +70 -0
- package/knowledge/a11y/keyboard-and-focus.md +108 -0
- package/knowledge/colors/color-theory.md +90 -0
- package/knowledge/colors/mui-palette-structure.md +105 -0
- package/knowledge/colors/palettes-by-product-type.md +876 -0
- package/knowledge/components/INDEX.md +231 -0
- package/knowledge/components/index.json +1470 -0
- package/knowledge/components/shadcn-registry.md +159 -0
- package/knowledge/conversational/ai-chat-interfaces.md +323 -0
- package/knowledge/conversational/chatbot-design.md +312 -0
- package/knowledge/conversational/conversational-ui-fundamentals.md +299 -0
- package/knowledge/conversational/korean-voice-conventions.md +281 -0
- package/knowledge/conversational/voice-ui-patterns.md +297 -0
- package/knowledge/design-tokens/ant-design.md +124 -0
- package/knowledge/design-tokens/material-3.md +235 -0
- package/knowledge/design-tokens/polaris-and-carbon.md +231 -0
- package/knowledge/design-tokens/tailwind-v4.md +284 -0
- package/knowledge/game-ui/game-accessibility.md +317 -0
- package/knowledge/game-ui/game-ui-fundamentals.md +281 -0
- package/knowledge/game-ui/hud-design.md +324 -0
- package/knowledge/game-ui/korean-gaming-conventions.md +312 -0
- package/knowledge/game-ui/menu-systems.md +388 -0
- package/knowledge/i18n/korean-app-store-visual.md +223 -0
- package/knowledge/i18n/korean-document-style.md +301 -0
- package/knowledge/i18n/korean-payments.md +211 -0
- package/knowledge/i18n/korean-product-conventions.md +96 -0
- package/knowledge/i18n/korean-publishing.md +139 -0
- package/knowledge/i18n/korean-typography.md +123 -0
- package/knowledge/icons/curated-sets.md +225 -0
- package/knowledge/illustration/hero-illustrations.md +234 -0
- package/knowledge/illustration/illustration-systems.md +221 -0
- package/knowledge/illustration/mascot-design.md +208 -0
- package/knowledge/illustration/spot-illustrations.md +246 -0
- package/knowledge/illustration/svg-optimization.md +308 -0
- package/knowledge/layout/spacing-and-grid.md +119 -0
- package/knowledge/motion/app-loading-sequences.md +277 -0
- package/knowledge/motion/choreography-depth.md +297 -0
- package/knowledge/motion/marketing-motion.md +223 -0
- package/knowledge/motion/micro-interactions.md +266 -0
- package/knowledge/motion/motion-tools.md +281 -0
- package/knowledge/motion/principles.md +126 -0
- package/knowledge/patterns/auth-flow-design.md +316 -0
- package/knowledge/patterns/b2b-onboarding-flows.md +182 -0
- package/knowledge/patterns/brand-identity.md +238 -0
- package/knowledge/patterns/brand-references.md +97 -0
- package/knowledge/patterns/chart-color-encoding.md +269 -0
- package/knowledge/patterns/chart-types.md +344 -0
- package/knowledge/patterns/dashboard-composition.md +299 -0
- package/knowledge/patterns/design-system-qa.md +356 -0
- package/knowledge/patterns/document-typography.md +248 -0
- package/knowledge/patterns/email-design.md +338 -0
- package/knowledge/patterns/empty-states.md +263 -0
- package/knowledge/patterns/error-states.md +318 -0
- package/knowledge/patterns/form-design.md +237 -0
- package/knowledge/patterns/information-architecture.md +341 -0
- package/knowledge/patterns/landing-hero-design.md +283 -0
- package/knowledge/patterns/landing-page-patterns.md +681 -0
- package/knowledge/patterns/list-and-feed.md +371 -0
- package/knowledge/patterns/mobile-navigation.md +278 -0
- package/knowledge/patterns/money-and-amount.md +301 -0
- package/knowledge/patterns/onboarding.md +300 -0
- package/knowledge/patterns/pricing-page-design.md +261 -0
- package/knowledge/patterns/realtime-data.md +280 -0
- package/knowledge/patterns/report-design.md +330 -0
- package/knowledge/patterns/search-ux.md +373 -0
- package/knowledge/patterns/settings-page.md +325 -0
- package/knowledge/patterns/slide-deck-design.md +316 -0
- package/knowledge/patterns/styles-catalog.md +2599 -0
- package/knowledge/patterns/technical-writing.md +306 -0
- package/knowledge/patterns/ui-reasoning.md +1853 -0
- package/knowledge/patterns/ux-guidelines.md +1454 -0
- package/knowledge/platforms/react-native.md +395 -0
- package/knowledge/print/brochures-and-flyers.md +276 -0
- package/knowledge/print/korean-print-conventions.md +284 -0
- package/knowledge/print/packaging.md +321 -0
- package/knowledge/print/print-fundamentals.md +238 -0
- package/knowledge/print/signage-and-posters.md +235 -0
- package/knowledge/print/stationery.md +262 -0
- package/knowledge/spatial/ar-patterns.md +253 -0
- package/knowledge/spatial/comfort-and-accessibility.md +245 -0
- package/knowledge/spatial/spatial-design-fundamentals.md +346 -0
- package/knowledge/spatial/spatial-ui-elements.md +343 -0
- package/knowledge/spatial/vr-patterns.md +302 -0
- package/knowledge/typography/font-pairings.md +332 -0
- package/knowledge/typography/mui-type-scale.md +57 -0
- package/knowledge/typography/type-scale-fundamentals.md +105 -0
- package/knowledge/video/in-product-video.md +277 -0
- package/knowledge/video/korean-video-conventions.md +247 -0
- package/knowledge/video/marketing-video.md +258 -0
- package/knowledge/video/social-and-short-form.md +257 -0
- package/knowledge/video/video-fundamentals.md +296 -0
- package/package.json +106 -0
- package/skills/README.md +39 -0
- package/skills/color-palette/PLAYBOOK.md +175 -0
- package/skills/color-palette/SKILL.md +6 -0
- package/skills/color-palette/TEMPLATE.md +103 -0
- package/skills/component-spec-writer/PLAYBOOK.md +169 -0
- package/skills/component-spec-writer/SKILL.md +6 -0
- package/skills/component-spec-writer/TEMPLATE.md +115 -0
- package/skills/conversational-ui-designer/PLAYBOOK.md +231 -0
- package/skills/conversational-ui-designer/SKILL.md +6 -0
- package/skills/design-broadcast/PLAYBOOK.md +146 -0
- package/skills/design-broadcast/SKILL.md +6 -0
- package/skills/design-critique/PLAYBOOK.md +137 -0
- package/skills/design-critique/SKILL.md +6 -0
- package/skills/design-pr-review/PLAYBOOK.md +171 -0
- package/skills/design-pr-review/SKILL.md +6 -0
- package/skills/design-system-builder/PLAYBOOK.md +218 -0
- package/skills/design-system-builder/SKILL.md +6 -0
- package/skills/design-system-qa/PLAYBOOK.md +163 -0
- package/skills/design-system-qa/SKILL.md +6 -0
- package/skills/document-author/PLAYBOOK.md +167 -0
- package/skills/document-author/SKILL.md +6 -0
- package/skills/figma-token-sync/PLAYBOOK.md +149 -0
- package/skills/figma-token-sync/SKILL.md +6 -0
- package/skills/game-ui-designer/PLAYBOOK.md +209 -0
- package/skills/game-ui-designer/SKILL.md +6 -0
- package/skills/handoff-spec/PLAYBOOK.md +170 -0
- package/skills/handoff-spec/SKILL.md +6 -0
- package/skills/illustration-designer/PLAYBOOK.md +166 -0
- package/skills/illustration-designer/SKILL.md +6 -0
- package/skills/motion-designer/PLAYBOOK.md +223 -0
- package/skills/motion-designer/SKILL.md +6 -0
- package/skills/print-designer/PLAYBOOK.md +209 -0
- package/skills/print-designer/SKILL.md +6 -0
- package/skills/slide-deck-author/PLAYBOOK.md +198 -0
- package/skills/slide-deck-author/SKILL.md +6 -0
- package/skills/spatial-designer/PLAYBOOK.md +238 -0
- package/skills/spatial-designer/SKILL.md +6 -0
- package/skills/ux-audit/PLAYBOOK.md +142 -0
- package/skills/ux-audit/SKILL.md +6 -0
- package/skills/video-designer/PLAYBOOK.md +240 -0
- package/skills/video-designer/SKILL.md +6 -0
- package/skills/website-improvement/PLAYBOOK.md +118 -0
- package/skills/website-improvement/SKILL.md +6 -0
- package/skills/website-improvement/TEMPLATE.md +103 -0
- package/tools/audit/changelog-generate.py +176 -0
- package/tools/audit/check-coverage.py +483 -0
- package/tools/audit/doctor_assertions.py +256 -0
- package/tools/audit/example-qa.py +108 -0
- package/tools/audit/frontmatter-check.py +199 -0
- package/tools/audit/integration-check.py +95 -0
- package/tools/audit/korean-copy-check.py +161 -0
- package/tools/audit/link-check.py +146 -0
- package/tools/audit/local-ci.py +558 -0
- package/tools/audit/package-contents.py +723 -0
- package/tools/audit/package-smoke.py +22443 -0
- package/tools/audit/raw-hex-check.py +252 -0
- package/tools/audit/registry-smoke.py +8188 -0
- package/tools/audit/release-metadata.py +9832 -0
- package/tools/audit/run-all.py +351 -0
- package/tools/audit/smoke_assertions.py +12742 -0
- package/tools/audit/stability-review.py +332 -0
- package/tools/audit/stale-check.py +156 -0
- package/tools/migrations/add-version-frontmatter.py +132 -0
- package/tools/migrations/bump-last-updated.py +131 -0
- package/tools/migrations/promote-stability.py +172 -0
- package/tools/preview/README.md +58 -0
- package/tools/preview/render-tokens.py +454 -0
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
<!-- hand-written -->
|
|
2
|
+
---
|
|
3
|
+
title: Game UI fundamentals (diegetic, non-diegetic, spatial, meta)
|
|
4
|
+
applies_to: [game-ui, hud, game-design]
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
last_updated: 2026-05
|
|
7
|
+
stability: stable
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Game UI fundamentals
|
|
11
|
+
|
|
12
|
+
Game UI follows different rules from product UI. Game UI exists *while* the player is doing something else (playing). It must convey information without breaking immersion, work with controllers / touch / keyboard, and adapt to genre conventions.
|
|
13
|
+
|
|
14
|
+
This file is the foundation for [`hud-design.md`](hud-design.md), [`menu-systems.md`](menu-systems.md), [`korean-gaming-conventions.md`](korean-gaming-conventions.md), and [`game-accessibility.md`](game-accessibility.md).
|
|
15
|
+
|
|
16
|
+
## Four UI categories (Mark Russell taxonomy)
|
|
17
|
+
|
|
18
|
+
A canonical model for game UI. Every game UI element fits one quadrant:
|
|
19
|
+
|
|
20
|
+
| | **Spatial** (in 3D world) | **Non-spatial** (overlay) |
|
|
21
|
+
| --- | --- | --- |
|
|
22
|
+
| **Diegetic** (exists in the fiction) | Spatial diegetic — Dead Space's hologram health on character's spine | Non-spatial diegetic — Far Cry 2's GPS held by the character |
|
|
23
|
+
| **Non-diegetic** (exists for the player only) | Spatial non-diegetic — XCOM movement grid drawn on the world | Non-spatial non-diegetic — classic HUD (health bar in corner) |
|
|
24
|
+
|
|
25
|
+
### Why this matters
|
|
26
|
+
|
|
27
|
+
- **Diegetic UI** keeps players immersed. The character interacts with it; the player doesn't break frame.
|
|
28
|
+
- **Non-diegetic UI** is faster + clearer but breaks immersion.
|
|
29
|
+
- **Spatial UI** is more natural in 3D worlds; **non-spatial** is more readable.
|
|
30
|
+
|
|
31
|
+
Most games mix all four. Pick the right tool per element:
|
|
32
|
+
- Health: typically non-spatial non-diegetic (bar in corner).
|
|
33
|
+
- Quest waypoint: often spatial non-diegetic (arrow in 3D world).
|
|
34
|
+
- Inventory: usually non-diegetic menu, but Resident Evil 4's case is a famous diegetic inventory.
|
|
35
|
+
|
|
36
|
+
## Reading distance — TV vs handheld vs mobile
|
|
37
|
+
|
|
38
|
+
| Platform | Reading distance | Min text size |
|
|
39
|
+
| --- | --- | --- |
|
|
40
|
+
| **Mobile (handheld)** | 30-50cm | 14sp |
|
|
41
|
+
| **PC monitor** | 50-100cm | 12-14pt |
|
|
42
|
+
| **Console (TV, 10-foot UI)** | 2-4m | 28-32pt+ |
|
|
43
|
+
| **VR headset** | (visual angle, not distance) | per platform spec |
|
|
44
|
+
|
|
45
|
+
10-foot UI (TV gaming) requires bigger fonts than designers expect. PS5 / Xbox UI defaults to 28-32pt for body. Test on actual TV at distance.
|
|
46
|
+
|
|
47
|
+
For Korean PC bang (PC방) culture: monitors at standard PC distance; designs for desktop monitor distance work.
|
|
48
|
+
|
|
49
|
+
For Korean mobile gaming (huge market): same as global mobile; readable at 30-50cm.
|
|
50
|
+
|
|
51
|
+
## Genre conventions
|
|
52
|
+
|
|
53
|
+
Game UI follows genre. Players expect certain UI in certain genres; deviating without reason is friction.
|
|
54
|
+
|
|
55
|
+
### FPS (first-person shooter)
|
|
56
|
+
|
|
57
|
+
| Element | Position |
|
|
58
|
+
| --- | --- |
|
|
59
|
+
| Crosshair | Center |
|
|
60
|
+
| Health | Bottom-left or bottom-right corner |
|
|
61
|
+
| Ammo | Bottom-right corner |
|
|
62
|
+
| Mini-map | Top-left or top-right corner |
|
|
63
|
+
| Objective | Top center |
|
|
64
|
+
| Score / killfeed | Right side or bottom-left |
|
|
65
|
+
|
|
66
|
+
Examples: Call of Duty, CS, Valorant.
|
|
67
|
+
|
|
68
|
+
### RPG / MMO
|
|
69
|
+
|
|
70
|
+
| Element | Position |
|
|
71
|
+
| --- | --- |
|
|
72
|
+
| Health / mana / stamina | Bottom-left (player avatar) |
|
|
73
|
+
| Quick action bars | Bottom center (1-9 keys) |
|
|
74
|
+
| Mini-map | Top-right |
|
|
75
|
+
| Quest log | Right side or top-right |
|
|
76
|
+
| Chat | Bottom-left |
|
|
77
|
+
| Target frame | Top-center or top-left |
|
|
78
|
+
|
|
79
|
+
Examples: WoW, Lost Ark, Final Fantasy XIV. Korean MMOs (Lineage, MapleStory) inherit this layout heavily.
|
|
80
|
+
|
|
81
|
+
### Mobile gacha / RPG
|
|
82
|
+
|
|
83
|
+
| Element | Position |
|
|
84
|
+
| --- | --- |
|
|
85
|
+
| Currencies | Top of screen (3-5 of them) |
|
|
86
|
+
| Energy / stamina | Top |
|
|
87
|
+
| Battle controls | Bottom (large, thumb-reachable) |
|
|
88
|
+
| Skill buttons | Right side (thumb zone) |
|
|
89
|
+
| Auto-battle / 2x speed | Bottom-right (essential for gacha) |
|
|
90
|
+
| Quest indicators | Around character or floating |
|
|
91
|
+
|
|
92
|
+
Examples: 원신 (Genshin), 명일방주 (Arknights), Korean genres like 리니지M, 오딘.
|
|
93
|
+
|
|
94
|
+
### Casual / puzzle
|
|
95
|
+
|
|
96
|
+
| Element | Position |
|
|
97
|
+
| --- | --- |
|
|
98
|
+
| Score / lives | Top |
|
|
99
|
+
| Pause | Top-corner |
|
|
100
|
+
| Power-ups | Bottom |
|
|
101
|
+
|
|
102
|
+
Examples: Candy Crush, anipang, 카카오프렌즈게임.
|
|
103
|
+
|
|
104
|
+
### Strategy (RTS / 4X)
|
|
105
|
+
|
|
106
|
+
| Element | Position |
|
|
107
|
+
| --- | --- |
|
|
108
|
+
| Mini-map | Bottom-left or bottom-right |
|
|
109
|
+
| Resource counters | Top |
|
|
110
|
+
| Selected unit panel | Bottom-center |
|
|
111
|
+
| Build menu | Bottom-right |
|
|
112
|
+
| Tech tree / overlays | Modal full-screen |
|
|
113
|
+
|
|
114
|
+
Examples: Starcraft, Civilization. Korean Starcraft heritage means competitive RTS UI culture is strong.
|
|
115
|
+
|
|
116
|
+
## HUD vs menu vs in-world
|
|
117
|
+
|
|
118
|
+
| Type | Use |
|
|
119
|
+
| --- | --- |
|
|
120
|
+
| **HUD (Heads-Up Display)** | Always visible during gameplay; status / context |
|
|
121
|
+
| **Menu** | Navigated to; not visible during gameplay |
|
|
122
|
+
| **In-world / spatial** | Embedded in 3D world (waypoints, dialogue bubbles) |
|
|
123
|
+
| **Modal interrupt** | Pauses gameplay (death screen, inventory full) |
|
|
124
|
+
|
|
125
|
+
Avoid putting too much in HUD — visual noise during play. Prefer menus for detailed views.
|
|
126
|
+
|
|
127
|
+
## Information density
|
|
128
|
+
|
|
129
|
+
| Genre | HUD density |
|
|
130
|
+
| --- | --- |
|
|
131
|
+
| FPS | Low (focus on aim) |
|
|
132
|
+
| Racing | Medium (speed, position, lap) |
|
|
133
|
+
| RPG / MMO | High (player chose this complexity) |
|
|
134
|
+
| Casual | Low (don't overwhelm) |
|
|
135
|
+
| Strategy | Very high (resources + units + tech) |
|
|
136
|
+
|
|
137
|
+
For Korean MMORPG (Lost Ark, BDO, Lineage M): players accept very dense HUDs. Western audiences sometimes find these "cluttered."
|
|
138
|
+
|
|
139
|
+
## Visual language
|
|
140
|
+
|
|
141
|
+
### Color coding
|
|
142
|
+
|
|
143
|
+
Universal:
|
|
144
|
+
- **Red**: damage, danger, enemy, low health.
|
|
145
|
+
- **Green**: friendly, healthy, success, nature.
|
|
146
|
+
- **Yellow / orange**: warning, neutral, special.
|
|
147
|
+
- **Blue**: mana, ally, info.
|
|
148
|
+
- **Purple / gold**: rare / legendary item rarity.
|
|
149
|
+
|
|
150
|
+
Korean inversion alert: in **stock charts**, Korean convention has red=up, blue=down (opposite of Western). But in games, red=damage / blue=mana follows global convention.
|
|
151
|
+
|
|
152
|
+
### Item rarity color tiers (canonical)
|
|
153
|
+
|
|
154
|
+
```
|
|
155
|
+
Common → Gray / White
|
|
156
|
+
Uncommon → Green
|
|
157
|
+
Rare → Blue
|
|
158
|
+
Epic → Purple
|
|
159
|
+
Legendary → Orange / Gold
|
|
160
|
+
Mythic → Red / Rainbow
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
Most games use this. Players read rarity instantly via color. Don't invent your own without good reason.
|
|
164
|
+
|
|
165
|
+
### Iconography
|
|
166
|
+
|
|
167
|
+
- **Currency icons**: gold coin (yellow), gem (purple/blue), special (varies).
|
|
168
|
+
- **Stats icons**: heart (HP), drop (mana / blood / poison), star (XP), shield (defense).
|
|
169
|
+
- **Action icons**: standardized across genres (settings = gear, inventory = bag, map = globe).
|
|
170
|
+
|
|
171
|
+
Icons in games are larger than product UI (24-32px common; 48-64px for action buttons). Mobile especially.
|
|
172
|
+
|
|
173
|
+
## Animation in game UI
|
|
174
|
+
|
|
175
|
+
Game UI animates more than product UI:
|
|
176
|
+
- **Damage numbers** float up + fade.
|
|
177
|
+
- **XP bar** fills smoothly (200-400ms ease-out).
|
|
178
|
+
- **Item drops** bounce / glow.
|
|
179
|
+
- **Notifications** slide in + auto-dismiss.
|
|
180
|
+
- **Skill cooldowns** sweep around an icon.
|
|
181
|
+
|
|
182
|
+
Style depends on genre:
|
|
183
|
+
- **Realistic / cinematic**: subtle, fast.
|
|
184
|
+
- **Anime / fantasy**: dramatic, longer durations, particle effects.
|
|
185
|
+
- **Casual / cute**: bouncy, playful.
|
|
186
|
+
|
|
187
|
+
See [`knowledge/motion/principles.md`](../motion/principles.md) for general motion rules; game UI extends with more dramatic motion.
|
|
188
|
+
|
|
189
|
+
## Audio in game UI
|
|
190
|
+
|
|
191
|
+
Sound effects are part of UI:
|
|
192
|
+
- **Click**: every button press has audio feedback.
|
|
193
|
+
- **Hover** (PC / console): subtle hover sound.
|
|
194
|
+
- **Confirmation**: positive ding for success, negative buzz for error.
|
|
195
|
+
- **Notifications**: distinctive sound per type (level-up vs damage vs achievement).
|
|
196
|
+
|
|
197
|
+
For VR / immersive games: spatial audio matters even more; sounds should emit from where they appear.
|
|
198
|
+
|
|
199
|
+
## Input methods
|
|
200
|
+
|
|
201
|
+
Game UI must work with whatever input the platform supports:
|
|
202
|
+
|
|
203
|
+
| Input | Constraint |
|
|
204
|
+
| --- | --- |
|
|
205
|
+
| **Mouse + keyboard (PC)** | Pointing precise; many keys available |
|
|
206
|
+
| **Controller (console)** | D-pad / sticks; fewer buttons; needs focus management |
|
|
207
|
+
| **Touch (mobile)** | Direct manipulation; thumb zones; no hover |
|
|
208
|
+
| **VR controllers** | 6DOF pointing; raycast UI; physical gestures |
|
|
209
|
+
|
|
210
|
+
### Cross-platform UI
|
|
211
|
+
|
|
212
|
+
Many modern games ship on PC + console + mobile. UI must adapt:
|
|
213
|
+
|
|
214
|
+
- **PC**: hover affordances, right-click context menus, keyboard shortcuts.
|
|
215
|
+
- **Console**: focus rings, button prompts ("Press X to open"), tab nav.
|
|
216
|
+
- **Mobile**: bigger tap targets (44pt+), thumb-zone bottom controls.
|
|
217
|
+
|
|
218
|
+
Defer to platform conventions. Don't force PC-style mouse-driven UI on console; don't force controller-style on mobile.
|
|
219
|
+
|
|
220
|
+
### Button prompts
|
|
221
|
+
|
|
222
|
+
Console UI shows controller button icons:
|
|
223
|
+
- Xbox: A, B, X, Y.
|
|
224
|
+
- PlayStation: ✕ (X), ◯ (Circle), △ (Triangle), □ (Square).
|
|
225
|
+
- Switch: A, B, X, Y (different positions from Xbox).
|
|
226
|
+
- Generic: "Confirm", "Cancel", "Back".
|
|
227
|
+
|
|
228
|
+
For cross-platform: detect controller type and swap icons. Don't assume Xbox.
|
|
229
|
+
|
|
230
|
+
## State persistence
|
|
231
|
+
|
|
232
|
+
Game UI persists state across:
|
|
233
|
+
- Sessions (settings, progress).
|
|
234
|
+
- Death + respawn (HUD state, current target).
|
|
235
|
+
- Match transitions (lobby → game → results).
|
|
236
|
+
|
|
237
|
+
Save state at meaningful checkpoints. Lose-progress-on-crash is the worst game UX.
|
|
238
|
+
|
|
239
|
+
## Korean game market notes
|
|
240
|
+
|
|
241
|
+
(Detail in [`korean-gaming-conventions.md`](korean-gaming-conventions.md).)
|
|
242
|
+
|
|
243
|
+
Quick context:
|
|
244
|
+
- **Mobile gacha + MMO** dominate Korean revenue.
|
|
245
|
+
- **PC bang (PC방)** culture: PCs at low/free hourly rates; competitive games dominant.
|
|
246
|
+
- **Major studios**: NEXON (메이플스토리, FIFA Online), NCSoft (리니지, 길드워), Krafton (배틀그라운드 / PUBG), Smilegate (크로스파이어, 로스트아크), Pearl Abyss (검은사막).
|
|
247
|
+
- **Mobile-first audience**: heavy auto-battle, gacha, daily login rewards.
|
|
248
|
+
|
|
249
|
+
## Accessibility intro
|
|
250
|
+
|
|
251
|
+
(Detail in [`game-accessibility.md`](game-accessibility.md).)
|
|
252
|
+
|
|
253
|
+
Game UI accessibility:
|
|
254
|
+
- Subtitles + closed captions (always option).
|
|
255
|
+
- Color-blind modes (color-coding redundant with shape / pattern).
|
|
256
|
+
- Remappable controls.
|
|
257
|
+
- Adjustable text size + UI scale.
|
|
258
|
+
- High-contrast mode.
|
|
259
|
+
- Reduced motion option.
|
|
260
|
+
|
|
261
|
+
2024+: accessibility is increasingly expected; Last of Us Part II / Forza Horizon raised the bar.
|
|
262
|
+
|
|
263
|
+
## Don't
|
|
264
|
+
|
|
265
|
+
- Don't break genre conventions without strong reason. Players expect HP bottom-left in MMOs.
|
|
266
|
+
- Don't ignore platform conventions (PC vs console vs mobile have different defaults).
|
|
267
|
+
- Don't make HUD so dense it competes with gameplay attention.
|
|
268
|
+
- Don't skip button prompts on console.
|
|
269
|
+
- Don't use only color to encode meaning (color-blind exclusion).
|
|
270
|
+
- Don't auto-advance dialogue. Player controls the pace.
|
|
271
|
+
- Don't lock UI to one resolution. Scale for different screens.
|
|
272
|
+
- Don't forget audio. Game UI is auditory + visual.
|
|
273
|
+
|
|
274
|
+
## Cross-reference
|
|
275
|
+
|
|
276
|
+
- [`knowledge/game-ui/hud-design.md`](hud-design.md) — HUD elements
|
|
277
|
+
- [`knowledge/game-ui/menu-systems.md`](menu-systems.md) — main menu, pause, inventory
|
|
278
|
+
- [`knowledge/game-ui/korean-gaming-conventions.md`](korean-gaming-conventions.md) — KR market
|
|
279
|
+
- [`knowledge/game-ui/game-accessibility.md`](game-accessibility.md) — a11y in games
|
|
280
|
+
- [`knowledge/motion/principles.md`](../motion/principles.md) — motion fundamentals
|
|
281
|
+
- [`knowledge/a11y/keyboard-and-focus.md`](../a11y/keyboard-and-focus.md) — focus / keyboard
|
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
<!-- hand-written -->
|
|
2
|
+
---
|
|
3
|
+
title: HUD design (in-game heads-up display elements)
|
|
4
|
+
applies_to: [game-ui, hud, in-game]
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
last_updated: 2026-05
|
|
7
|
+
stability: stable
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# HUD design
|
|
11
|
+
|
|
12
|
+
The HUD (Heads-Up Display) is the always-visible overlay during gameplay. It tells the player what they need to know without breaking the flow.
|
|
13
|
+
|
|
14
|
+
Read [`game-ui-fundamentals.md`](game-ui-fundamentals.md) first.
|
|
15
|
+
|
|
16
|
+
## What goes in HUD vs not
|
|
17
|
+
|
|
18
|
+
In HUD (always visible during play):
|
|
19
|
+
- Health / mana / stamina.
|
|
20
|
+
- Crosshair / aim reticle.
|
|
21
|
+
- Ammo / current weapon.
|
|
22
|
+
- Currency / score.
|
|
23
|
+
- Mini-map / radar (genre-dependent).
|
|
24
|
+
- Cooldowns of active skills.
|
|
25
|
+
- Critical alerts (low health, no ammo).
|
|
26
|
+
|
|
27
|
+
NOT in HUD (open via menu):
|
|
28
|
+
- Full inventory.
|
|
29
|
+
- Stats / character sheet.
|
|
30
|
+
- Settings.
|
|
31
|
+
- Friends list.
|
|
32
|
+
- Quest details (summary OK, details menu).
|
|
33
|
+
|
|
34
|
+
The HUD competes with gameplay for attention. Less is more.
|
|
35
|
+
|
|
36
|
+
## HUD layout patterns
|
|
37
|
+
|
|
38
|
+
### FPS HUD
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
[mini-map]
|
|
42
|
+
[objective banner ───────────────────────]
|
|
43
|
+
[killfeed]
|
|
44
|
+
[ ... ]
|
|
45
|
+
[ ... ]
|
|
46
|
+
[crosshair]
|
|
47
|
+
[target damage]
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
[health bar] [armor] [ammo] [grenades]
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Compact. Center stays clear for aim. Information clusters in corners.
|
|
54
|
+
|
|
55
|
+
### MMO / RPG HUD
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
[player frame: HP / MP / stamina] [mini-map]
|
|
59
|
+
[buffs / debuffs] [target frame]
|
|
60
|
+
[chat ────] [quest tracker]
|
|
61
|
+
[...]
|
|
62
|
+
[combat log]
|
|
63
|
+
[hotbar 1 (1-9 keys)] [hotbar 2 (F1-F9)]
|
|
64
|
+
[hotbar 3 (Shift+1-9)]
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Dense. Player has many concurrent inputs to track. Modular — players reposition / hide elements.
|
|
68
|
+
|
|
69
|
+
### Mobile gacha HUD
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
[currency 1] [currency 2] [currency 3] [stamina/energy] [profile]
|
|
73
|
+
|
|
74
|
+
[main game area]
|
|
75
|
+
[character / scene]
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
[skill 1] [skill 2] [skill 3] [auto] [2x speed] [pause]
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Currencies prominent (gacha = always selling). Auto-battle + speed control essential. Skills in thumb zone.
|
|
82
|
+
|
|
83
|
+
### Mobile casual HUD
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
[score] [pause]
|
|
87
|
+
[lives ❤❤❤] [coins]
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
[game board]
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
[power-ups: 3 buttons]
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Minimal. Score + lives + power-ups; nothing else.
|
|
98
|
+
|
|
99
|
+
## Health bars
|
|
100
|
+
|
|
101
|
+
The single most-iterated UI element in games.
|
|
102
|
+
|
|
103
|
+
### Bar types
|
|
104
|
+
|
|
105
|
+
| Type | Use |
|
|
106
|
+
| --- | --- |
|
|
107
|
+
| **Linear bar** | Default; "X HP / Y HP" or just bar |
|
|
108
|
+
| **Segmented bar** | Each segment is a hit (Zelda hearts) |
|
|
109
|
+
| **Circular** | Cinematic; matches icon style |
|
|
110
|
+
| **Layered** | Shield + health + barrier separately |
|
|
111
|
+
| **Radial / context** | Gear of War's blood-vignetting |
|
|
112
|
+
| **Diegetic** | Health on character body / vehicle (Far Cry, Forza) |
|
|
113
|
+
|
|
114
|
+
### Health bar rules
|
|
115
|
+
|
|
116
|
+
- **Damage delay** — when hit, bar drops to new value over 200-400ms (not instant). Player sees the damage happen.
|
|
117
|
+
- **Recent damage indicator** — second bar showing damage taken in last 1-2s (Tekken-style). Helps player track combo damage.
|
|
118
|
+
- **Color shift** — green→yellow→red as health drops. Color blind alt: shape / pattern change.
|
|
119
|
+
- **Critical state** — visual emphasis when < 25% (pulse, screen edge red).
|
|
120
|
+
- **Regen** — animated fill if regenerating.
|
|
121
|
+
- **Permanent damage cap** — for games with overheal / shield: separate visual.
|
|
122
|
+
|
|
123
|
+
### Korean MMO health bar tradition
|
|
124
|
+
|
|
125
|
+
- Often labeled with exact numbers ("8420 / 12000 HP").
|
|
126
|
+
- Multiple buffs / debuffs stacked underneath.
|
|
127
|
+
- Frame heavy / decorated (gold leaf borders for high-tier characters).
|
|
128
|
+
|
|
129
|
+
## Ammo / resource counters
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
[icon] 30 / 120
|
|
133
|
+
▲ ▲
|
|
134
|
+
current reserve
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
Counter rules:
|
|
138
|
+
- Tabular numerals (digit alignment): `font-feature-settings: "tnum"`.
|
|
139
|
+
- Reload state: visible animation / icon swap during reload.
|
|
140
|
+
- Out of ammo: emphasis (red, pulse, "RELOAD" prompt).
|
|
141
|
+
- Different ammo types: icon + count per type, or active-type only.
|
|
142
|
+
|
|
143
|
+
## Crosshair / reticle
|
|
144
|
+
|
|
145
|
+
For shooters:
|
|
146
|
+
- **Static dot**: precision shooting (Valorant, CS).
|
|
147
|
+
- **Dynamic spread**: expands during recoil (CoD, Apex).
|
|
148
|
+
- **Hit marker**: brief X-shape on hit.
|
|
149
|
+
- **Damage indicator**: outer ring pulses red when taking damage from a direction.
|
|
150
|
+
|
|
151
|
+
Customizable:
|
|
152
|
+
- Color (bright red, neon yellow, white).
|
|
153
|
+
- Shape (dot, plus, T, custom).
|
|
154
|
+
- Outline (for visibility on any background).
|
|
155
|
+
|
|
156
|
+
Required for accessibility.
|
|
157
|
+
|
|
158
|
+
## Mini-map
|
|
159
|
+
|
|
160
|
+
| Element | Notes |
|
|
161
|
+
| --- | --- |
|
|
162
|
+
| Player marker | Center; rotates with view OR fixed-north |
|
|
163
|
+
| Allies | Blue dots / icons |
|
|
164
|
+
| Enemies | Red (when visible) |
|
|
165
|
+
| Objectives | Yellow / gold marker |
|
|
166
|
+
| POI / quest | Distinct icons |
|
|
167
|
+
| Compass | N / E / S / W; or angle indicator |
|
|
168
|
+
|
|
169
|
+
Rotation:
|
|
170
|
+
- **Rotating mini-map**: easier for new players (always points the way they're facing).
|
|
171
|
+
- **Fixed north**: better for spatial memory; competitive players prefer.
|
|
172
|
+
|
|
173
|
+
Many games offer toggle.
|
|
174
|
+
|
|
175
|
+
## Damage numbers
|
|
176
|
+
|
|
177
|
+
Float-up text showing damage dealt:
|
|
178
|
+
|
|
179
|
+
```
|
|
180
|
+
Hit 150
|
|
181
|
+
Critical 320!
|
|
182
|
+
Heal +84
|
|
183
|
+
Miss Miss
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Style:
|
|
187
|
+
- White / yellow for damage.
|
|
188
|
+
- Red for critical / huge damage.
|
|
189
|
+
- Green for heal.
|
|
190
|
+
- Float up + fade over 800-1500ms.
|
|
191
|
+
- Stack to one side if many.
|
|
192
|
+
|
|
193
|
+
For "loot games" like Diablo / Path of Exile / Lost Ark: damage numbers are core; players read DPS from these.
|
|
194
|
+
|
|
195
|
+
For more cinematic games (RDR2, God of War): damage numbers off, hit feedback via animation / sound only.
|
|
196
|
+
|
|
197
|
+
## Cooldowns
|
|
198
|
+
|
|
199
|
+
Skill icons on hotbar with cooldown indicator:
|
|
200
|
+
|
|
201
|
+
```
|
|
202
|
+
┌──────┐
|
|
203
|
+
│ ⚔ │ ← skill icon
|
|
204
|
+
│ │
|
|
205
|
+
│ 3.2 │ ← seconds remaining
|
|
206
|
+
└──────┘
|
|
207
|
+
▒▒▒▒ ← sweep / fill animation
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
Animation:
|
|
211
|
+
- **Radial sweep** (clock-face style): most common, intuitive.
|
|
212
|
+
- **Vertical fill**: bar fills bottom-to-top.
|
|
213
|
+
- **Desaturate + number**: icon grayed out + countdown number.
|
|
214
|
+
|
|
215
|
+
Players need to read cooldowns at-a-glance during combat. Don't make sweep too detailed; readability > beauty.
|
|
216
|
+
|
|
217
|
+
## Buffs / debuffs
|
|
218
|
+
|
|
219
|
+
Icons showing active effects:
|
|
220
|
+
|
|
221
|
+
```
|
|
222
|
+
[⏳ Speed +20% — 12s] [☠ Poison — 8s] [✨ Shield — 30s]
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
Layout:
|
|
226
|
+
- Row of icons; new buffs add to right.
|
|
227
|
+
- Timer overlay (number or bar).
|
|
228
|
+
- Color: green for buff, red for debuff, blue for neutral.
|
|
229
|
+
- Click / hover (PC) for description.
|
|
230
|
+
- Stacks: number badge "x3".
|
|
231
|
+
|
|
232
|
+
For high-density combat: 5-15+ buffs / debuffs simultaneous. Group by type (offensive, defensive, status).
|
|
233
|
+
|
|
234
|
+
## Floating quest markers
|
|
235
|
+
|
|
236
|
+
3D world markers:
|
|
237
|
+
- **Above NPCs**: ! (new quest), ? (turn-in), ... (in progress).
|
|
238
|
+
- **On waypoints**: floating diamond / arrow.
|
|
239
|
+
- **Compass markers**: indicator at top of screen for off-screen objectives.
|
|
240
|
+
- **World waypoint**: pillar of light reaching skyward.
|
|
241
|
+
|
|
242
|
+
Don't over-clutter. One active waypoint at a time, unless player explicitly multi-tracks.
|
|
243
|
+
|
|
244
|
+
## Notifications
|
|
245
|
+
|
|
246
|
+
Transient messages:
|
|
247
|
+
|
|
248
|
+
| Type | Style |
|
|
249
|
+
| --- | --- |
|
|
250
|
+
| Item picked up | "+ 5 gold" / "Got: [Item icon] Sword" |
|
|
251
|
+
| Quest update | "New quest: [Name]" with subtle banner |
|
|
252
|
+
| Achievement | Larger banner, satisfying sound, often persistent for 3-5s |
|
|
253
|
+
| Level up | Big celebration: particles, sound, persistent |
|
|
254
|
+
| Death | Modal full-screen interrupt |
|
|
255
|
+
|
|
256
|
+
Slide-in, hold, fade-out. Total duration:
|
|
257
|
+
- Item pickup: 1-2s.
|
|
258
|
+
- Quest update: 3-5s.
|
|
259
|
+
- Achievement: 4-6s.
|
|
260
|
+
- Level up: 5-10s with full effects.
|
|
261
|
+
|
|
262
|
+
Stack notifications (if many fire fast); newer pushes older down or replaces with summary ("+5 items").
|
|
263
|
+
|
|
264
|
+
## Subtitles / dialogue
|
|
265
|
+
|
|
266
|
+
| Style | Use |
|
|
267
|
+
| --- | --- |
|
|
268
|
+
| Bottom-center overlay | Most action / cinematic |
|
|
269
|
+
| Speech bubble (3D world) | Cute / cartoon |
|
|
270
|
+
| Side panel | Visual novels |
|
|
271
|
+
| Choice list | Branching dialogue |
|
|
272
|
+
|
|
273
|
+
Subtitle config (always): on/off, size, background opacity, speaker name. WCAG-aligned options.
|
|
274
|
+
|
|
275
|
+
For Korean: 자막 (subtitle) commonly bottom-center, white text + black outline + semi-opaque dark band, NanumSquare or Pretendard, larger than English equivalent.
|
|
276
|
+
|
|
277
|
+
## Adapting to widescreen / ultra-wide
|
|
278
|
+
|
|
279
|
+
Modern games support 16:9 / 21:9 / 32:9 ultra-wide. HUD must adapt:
|
|
280
|
+
|
|
281
|
+
- **Anchor HUD elements to screen edges** (not center percentages).
|
|
282
|
+
- **Stretch background** but anchor UI.
|
|
283
|
+
- **Fix FOV** — don't let ultra-wide give competitive advantage in PvP (clip to standard FOV).
|
|
284
|
+
|
|
285
|
+
For mobile: handle different aspect ratios (16:9 vs 18:9 vs 19.5:9 vs foldable).
|
|
286
|
+
|
|
287
|
+
## Customization
|
|
288
|
+
|
|
289
|
+
Modern games offer HUD customization:
|
|
290
|
+
- **Move elements** (drag positions).
|
|
291
|
+
- **Resize** (scale individual elements).
|
|
292
|
+
- **Hide** (toggle elements off — minimalist play).
|
|
293
|
+
- **Themes / skins** (purchased or unlocked).
|
|
294
|
+
- **Color presets** (color-blind modes, brightness presets).
|
|
295
|
+
|
|
296
|
+
Save customization per-player profile.
|
|
297
|
+
|
|
298
|
+
## Performance
|
|
299
|
+
|
|
300
|
+
HUD renders every frame. Performance matters:
|
|
301
|
+
- Use sprite-based rendering (texture atlas) — minimize draw calls.
|
|
302
|
+
- Update only when state changes (don't re-layout every frame).
|
|
303
|
+
- Animations on GPU when possible.
|
|
304
|
+
- Mobile: target 60fps; pre-budget UI overhead.
|
|
305
|
+
|
|
306
|
+
## Don't
|
|
307
|
+
|
|
308
|
+
- Don't put critical info in screen edges that get cropped on smaller TVs / mobile screens.
|
|
309
|
+
- Don't make health bars subtle — players need fast read.
|
|
310
|
+
- Don't auto-hide HUD with no opt-out.
|
|
311
|
+
- Don't ignore color-blind alternatives (shape / pattern).
|
|
312
|
+
- Don't over-decorate. Function over flourish.
|
|
313
|
+
- Don't lock HUD to one resolution. Scale via UI scale option.
|
|
314
|
+
- Don't put long text in HUD. Reserve text for menus / dialogue.
|
|
315
|
+
- Don't ignore audio. UI sounds matter as much as visual.
|
|
316
|
+
|
|
317
|
+
## Cross-reference
|
|
318
|
+
|
|
319
|
+
- [`knowledge/game-ui/game-ui-fundamentals.md`](game-ui-fundamentals.md) — categories, genres
|
|
320
|
+
- [`knowledge/game-ui/menu-systems.md`](menu-systems.md) — full menus
|
|
321
|
+
- [`knowledge/game-ui/korean-gaming-conventions.md`](korean-gaming-conventions.md) — KR conventions
|
|
322
|
+
- [`knowledge/game-ui/game-accessibility.md`](game-accessibility.md) — a11y in games
|
|
323
|
+
- [`knowledge/motion/principles.md`](../motion/principles.md) — animation
|
|
324
|
+
- [`examples/component-game-hud.md`](../../examples/component-game-hud.md) — HUD spec
|