@ryuxdsgn/design-intelligence 2.13.0 → 2.13.1

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.
@@ -638,10 +638,10 @@ export const RULES = [
638
638
  tradeoff: "a scale limits choices; occasional exceptions need a written reason",
639
639
  level: "preferred",
640
640
  gate: "lock",
641
- do: "Use the project's spacing and type scale, or define one (for example multiples of 4 or 8) and align elements to a shared grid. State the shape lock in one sentence, a radius per component role (\"action buttons pill, cards 16, inputs 12, sheets 28\"), and keep emphasis inside the type family (weight or size), not a second face dropped into one word.",
641
+ do: "Use the project's spacing and type scale, or define one (for example multiples of 4 or 8) and align elements to a shared grid. Keep a screen's main content to two or three text sizes, the most important the largest, and count them on the render (RX-AS-10). State the shape lock in one sentence, a radius per component role (\"action buttons pill, cards 16, inputs 12, sheets 28\"), and keep emphasis inside the type family (weight or size), not a second face dropped into one word.",
642
642
  dont: "Pick spacing and sizes one element at a time.",
643
643
  why: "A scale produces rhythm and makes hierarchy legible.",
644
- basis: `Material Design 8dp grid; shape lock and in-family emphasis: pattern also in ${AP}; written for RYUX`,
644
+ basis: `Material Design 8dp grid; NNGroup principles of visual design (scale: two or three sizes); shape lock and in-family emphasis: pattern also in ${AP}; written for RYUX`,
645
645
  check: "count radii and type faces (RX-AS-10); review",
646
646
  formerly: ["RX-C-08"],
647
647
  },
@@ -652,10 +652,10 @@ export const RULES = [
652
652
  tradeoff: "fewer colors means relying on type and space for emphasis",
653
653
  level: "preferred",
654
654
  gate: "lock",
655
- do: "Use a small set of colors with defined roles: surface, text, accent for the primary action, and status colors. Pick one grey family, warm or cool, for surfaces, borders, and secondary text.",
655
+ do: "Use a small set of colors with defined roles: surface, text, accent for the primary action, and status colors. Pick one grey family, warm or cool, for surfaces, borders, and secondary text. Elements that behave the same look the same, and elements that behave differently look different: a destructive action has its own color role, not the primary accent. Lower importance with size, weight, or position, never by lowering text contrast.",
656
656
  dont: "Introduce new colors per component, or use the accent for decoration.",
657
657
  why: "When color has a role, the accent and status colors mean something.",
658
- basis: `ryux visual principle; isolation effect (von Restorff 1933): the one item that differs is the one remembered, so the accent marks only the primary action; one grey family: pattern also in ${AP}; written for RYUX`,
658
+ basis: `ryux visual principle; NNGroup principles of visual design (contrast signals a different function; similarity); isolation effect (von Restorff 1933): the one item that differs is the one remembered, so the accent marks only the primary action; one grey family: pattern also in ${AP}; written for RYUX`,
659
659
  check: "count accent hues and grey families (RX-AS-10); review",
660
660
  formerly: ["RX-C-07"],
661
661
  },
@@ -665,10 +665,10 @@ export const RULES = [
665
665
  notWhen: "a standard pattern users expect fits the content (a settings list, a table); familiarity is the right choice",
666
666
  tradeoff: "custom layouts cost design and build time",
667
667
  level: "preferred",
668
- do: "Choose the layout from the content, the task, and the reference screens.",
668
+ do: "Choose the layout from the content, the task, and the reference screens. Set the balance on purpose: symmetric for calm, focused screens, asymmetric for dynamic ones. On the render, check that visual weight is distributed, counting element size and not only the number of elements, with no side left empty or heavy without a reason.",
669
669
  dont: "Default to hero, three feature cards, and a logo wall.",
670
670
  why: "Template layouts look interchangeable and hide what is specific to the product.",
671
- basis: "ryux anti-slop principle",
671
+ basis: "ryux anti-slop principle; NNGroup principles of visual design (balance)",
672
672
  check: "review",
673
673
  formerly: ["RX-C-02"],
674
674
  },
@@ -1231,7 +1231,7 @@ export const RULES = [
1231
1231
  title: "Count before handoff",
1232
1232
  level: "required",
1233
1233
  gate: "lock",
1234
- do: "Before handing off, count on the render or in the design file's variables, and report the counts: accent hues 1 (status colors, and secondary colors the brand defines, are named and excluded); grey families 1; corner radii only from the scale, matching the shape lock; display sizes per screen 1; icon sets 1, in the chosen icon style; emoji in interface chrome 0; invented logos or app icons 0 (RX-AS-11); gradients without a brand reason 0; labels for the same intent 1. A count over its limit fails unless the brief or DESIGN.md gives the reason.",
1234
+ do: "Before handing off, count on the render or in the design file's variables, and report the counts: accent hues 1 (status colors, and secondary colors the brand defines, are named and excluded); grey families 1; corner radii only from the scale, matching the shape lock; display sizes per screen 1; text sizes in a screen's main content 3 at most; icon sets 1, in the chosen icon style; emoji in interface chrome 0; invented logos or app icons 0 (RX-AS-11); gradients without a brand reason 0; labels for the same intent 1. A count over its limit fails unless the brief or DESIGN.md gives the reason.",
1235
1235
  dont: "Judge consistency by eye only, or hand off a screen with five accent hues, mixed icon sets, or two labels for one action because it looks fine.",
1236
1236
  why: "Counts are harder to talk past than impressions; a design that passed a by-eye review still shipped five hues and the wrong tab icons.",
1237
1237
  basis: `isolation effect (von Restorff 1933): several accents cancel each other out; pattern also in ${AP}, anti-slop counts; written for RYUX; owner review 2026-10-17: withryux.pen passed RYUX with 5+ hues and wrong tab icons`,
@@ -134,7 +134,7 @@ The six stages of the core workflow (SKILL.md), as Design runs them.
134
134
  **Render and inspect.** Screenshot what you made, check it against the direction and the rules,
135
135
  fix, and render again (capabilities/qa.md). Count the values still literal (color, spacing,
136
136
  radius, type size) and turn each into a variable or name the exception, then run the counts of
137
- RX-AS-10 (accent hues, grey families, radii, display sizes, icon sets, emoji, invented marks, gradients, labels
137
+ RX-AS-10 (accent hues, grey families, radii, display and text sizes, icon sets, emoji, invented marks, gradients, labels
138
138
  per intent) and report them in the gate. Run the four hierarchy
139
139
  checks from Critique (control beside its data, primary action that reads as an action, not a tab, no fact
140
140
  twice, grouped by what the user checks together), fix what fails, render again, and check each fix.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ryuxdsgn/design-intelligence",
3
- "version": "2.13.0",
3
+ "version": "2.13.1",
4
4
  "description": "RYUX: design intelligence for AI agents and designers. One skill, five entry points: Analyze, Design, Build, Critique, and QA, for Claude Code, Codex, Cursor, Gemini CLI, OpenCode, Cline, Copilot, and more.",
5
5
  "type": "module",
6
6
  "bin": {