@design-intelligence/ghost 0.30.0 → 0.31.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.
Files changed (61) hide show
  1. package/README.md +1 -0
  2. package/dist/init-payloads/median/median-tells.md +27 -26
  3. package/dist/init-payloads/{vessel-light/anti-goal.median.md → median/standard.model-defaults.md} +7 -3
  4. package/dist/init-payloads/skeleton/brand.md +7 -3
  5. package/dist/init-payloads/skeleton/context.conversation.md +22 -13
  6. package/dist/init-payloads/skeleton/foundation.color.md +33 -28
  7. package/dist/init-payloads/skeleton/foundation.composition.md +14 -15
  8. package/dist/init-payloads/skeleton/foundation.controls.md +20 -15
  9. package/dist/init-payloads/skeleton/foundation.layout.md +29 -28
  10. package/dist/init-payloads/skeleton/foundation.motion.md +19 -16
  11. package/dist/init-payloads/skeleton/foundation.type.md +32 -28
  12. package/dist/init-payloads/skeleton/foundation.voice.md +13 -11
  13. package/dist/init-payloads/skeleton/glossary.md +33 -21
  14. package/dist/init-payloads/vessel-light/checks/conversation-grammar.md +2 -2
  15. package/dist/init-payloads/vessel-light/checks/median-tells.md +25 -25
  16. package/dist/init-payloads/vessel-light/checks/motion-restraint.md +2 -2
  17. package/dist/init-payloads/vessel-light/checks/relationships.md +4 -4
  18. package/dist/init-payloads/vessel-light/checks/shape-matches-job.md +9 -9
  19. package/dist/init-payloads/vessel-light/checks/values.md +6 -6
  20. package/dist/init-payloads/vessel-light/context.conversation.md +53 -0
  21. package/dist/init-payloads/vessel-light/context.data-density.md +51 -0
  22. package/dist/init-payloads/vessel-light/context.editorial.md +53 -0
  23. package/dist/init-payloads/vessel-light/context.email.md +53 -0
  24. package/dist/init-payloads/vessel-light/foundation.color-roles.md +41 -0
  25. package/dist/init-payloads/vessel-light/foundation.deletion.md +53 -0
  26. package/dist/init-payloads/vessel-light/foundation.hierarchy.md +73 -0
  27. package/dist/init-payloads/vessel-light/{grammar.job.md → foundation.job.md} +39 -28
  28. package/dist/init-payloads/vessel-light/foundation.motion.md +46 -0
  29. package/dist/init-payloads/vessel-light/foundation.palette.md +57 -0
  30. package/dist/init-payloads/vessel-light/foundation.rhythm.md +39 -0
  31. package/dist/init-payloads/vessel-light/foundation.shape.md +39 -0
  32. package/dist/init-payloads/vessel-light/foundation.surfaces.md +45 -0
  33. package/dist/init-payloads/vessel-light/foundation.tells.md +39 -0
  34. package/dist/init-payloads/vessel-light/{signature.temperature.md → foundation.temperature.md} +31 -13
  35. package/dist/init-payloads/vessel-light/{signature.type.md → foundation.type.md} +27 -12
  36. package/dist/init-payloads/vessel-light/glossary.md +27 -30
  37. package/dist/init-payloads/vessel-light/index.md +18 -15
  38. package/dist/scan/check-scaffold.d.ts.map +1 -1
  39. package/dist/scan/check-scaffold.js +25 -3
  40. package/dist/scan/check-scaffold.js.map +1 -1
  41. package/dist/scan/templates.js +4 -4
  42. package/dist/scan/templates.js.map +1 -1
  43. package/dist/skill-bundle/references/ground.md +3 -2
  44. package/dist/skill-bundle/references/nodes.md +29 -6
  45. package/dist/skill-bundle/references/schema.md +5 -0
  46. package/dist/skill-bundle/references/steering-audit.md +2 -2
  47. package/package.json +1 -1
  48. package/dist/init-payloads/vessel-light/anti-goal.tells.md +0 -38
  49. package/dist/init-payloads/vessel-light/grammar.color-roles.md +0 -28
  50. package/dist/init-payloads/vessel-light/grammar.conversation.md +0 -29
  51. package/dist/init-payloads/vessel-light/grammar.deletion.md +0 -35
  52. package/dist/init-payloads/vessel-light/grammar.hierarchy.md +0 -56
  53. package/dist/init-payloads/vessel-light/grammar.motion.md +0 -25
  54. package/dist/init-payloads/vessel-light/grammar.rhythm.md +0 -25
  55. package/dist/init-payloads/vessel-light/grammar.surfaces.md +0 -33
  56. package/dist/init-payloads/vessel-light/register.data-density.md +0 -39
  57. package/dist/init-payloads/vessel-light/register.editorial.md +0 -41
  58. package/dist/init-payloads/vessel-light/register.email.md +0 -43
  59. package/dist/init-payloads/vessel-light/signature.palette.md +0 -45
  60. package/dist/init-payloads/vessel-light/signature.shape.md +0 -27
  61. /package/dist/init-payloads/{median/cliche.median.md → vessel-light/standard.model-defaults.md} +0 -0
@@ -1,43 +0,0 @@
1
- ---
2
- for: Transactional email only.
3
- materials:
4
- - materials/examples/email.html
5
- ---
6
-
7
- Condition: this node applies only to email. In any other medium, everything
8
- below is a violation.
9
-
10
- Email clients do not honor the web contract. Custom properties, external
11
- stylesheets, flex layout, and webfonts are unreliable materials here.
12
-
13
- Email inverts the material contract deliberately. Transcribe token values by
14
- hand instead of referencing tokens — every hex below is a transcription of
15
- `materials/tokens.css`, which stays the single source; if a token changes,
16
- re-transcribe.
17
-
18
- Use `#1a1a1a` (`--color-gray-900`, foreground) for text, `#999999`
19
- (`--color-gray-500`, muted) for muted text, and `#e8e8e8` (`--color-gray-200`,
20
- border) for borders when the email needs the Vessel palette.
21
-
22
- Keep the surface radius on cards and the control radius on buttons (see
23
- signature.shape). The values survive even when the token names cannot travel.
24
-
25
- Build with table layout, a 600px wrapper, predictable cells, and bulletproof
26
- buttons. Email fidelity is made from boring structure.
27
-
28
- HK Grotesk falls back to the system stack. The voice must survive without the
29
- font file.
30
-
31
- The soul survives the body swap: monochrome spine, quiet factual copy, one
32
- primary action, no celebration.
33
-
34
- Email gets exactly one expressive moment: a header band or the figure that
35
- matters, in one expression hue, transcribed by hand like every value here —
36
- amber is `#f6b44a` (`--expression-1`). One moment, one hue. A receipt is
37
- allowed one degree of warmth; it is not allowed a palette.
38
-
39
- Do not add further color to compensate for email constraints. Constraint is
40
- not permission to perform.
41
-
42
- Hardcoding hex here is fidelity, not drift. The check exemption is the
43
- condition itself.
@@ -1,45 +0,0 @@
1
- ---
2
- for: Color beyond the base roles, in any register.
3
- materials:
4
- - materials/tokens.css
5
- ---
6
-
7
- This is Vessel's answer to palette — it stands until you replace it.
8
-
9
- The relationship is fixed: one brand at different volumes. A monochrome spine
10
- is the default atmosphere in every medium — calm, legible, and resistant to
11
- novelty — and a closed expression set supplies the atmosphere, with volume
12
- set by register, never by taste.
13
-
14
- Vessel's current answer: the base palette is monochrome gray, and the
15
- expression palette is five named hues and only these — amber
16
- (`--expression-1`), periwinkle (`--expression-2`), clay (`--expression-3`),
17
- orchid (`--expression-4`), sage (`--expression-5`). Expressive color outside
18
- this set is not expression; it is another brand. An invented hue is not a
19
- bolder Vessel; it is a different brand.
20
-
21
- The volume ladder, by register:
22
-
23
- Product UI: expression lives only in data visualization. A chart may use the
24
- hues; the interface around it stays monochrome.
25
-
26
- Data-dense consoles: one hue family may mark status. Nothing atmospheric.
27
- Charts inside a console keep the product carve-out — hues stay inside the
28
- plot area and never leak into rows, badges, or headers.
29
-
30
- Email: exactly one expressive moment per message — a header band or the
31
- figure that matters. One hue, quiet everywhere else.
32
-
33
- Editorial: expression is sanctioned atmosphere — a tinted dark section, a
34
- colored pull-quote accent, a duotone moment. Never more than two hues per
35
- page. Loudness comes from commitment to few colors at scale, not variety.
36
-
37
- Two constants that outrank the ladder: expression never touches what you
38
- click — buttons, inputs, and links stay monochrome in every register — and
39
- the status roles are not expression; they keep their meanings everywhere and
40
- never moonlight as atmosphere.
41
-
42
- To adapt: edit the `--expression-*` values (and the gray ramp, if the spine
43
- changes) in `materials/tokens.css` and restate this node's current answer.
44
- The ladder — a quiet spine, a closed hue set, register-gated volume — is the
45
- part worth keeping.
@@ -1,27 +0,0 @@
1
- ---
2
- for: Choosing or implementing any radius or corner treatment.
3
- materials:
4
- - materials/tokens.css
5
- - materials/primitives.css
6
- ---
7
-
8
- This is Vessel's answer to shape — it stands until you replace it.
9
-
10
- The relationship is fixed: controls and surfaces carry different radius
11
- roles, and the two never swap. Buttons and text inputs use
12
- `--radius-control`; cards and other surfaces use `--radius-surface`.
13
-
14
- Vessel's current answer: controls are pills (`--radius-control: 999px`) and
15
- surfaces take the 20px signature radius (`--radius-surface: 20px`). The pill
16
- is Vessel's most visible control signature; a rectangular button is not a
17
- variant, it is a different design system. Never give a button the surface
18
- radius — a rectangular button is the fastest tell that the output is not
19
- Vessel.
20
-
21
- 20px is a considered position: rounder than default shadcn, but not bubbly.
22
- Use the radius system as restraint, not as decoration.
23
-
24
- To adapt: edit the `--radius-control` and `--radius-surface` values in
25
- `materials/tokens.css` and restate this node's current answer. The
26
- role split — one radius for what you click, one for what contains — is the
27
- part worth keeping.