synthesisui 0.16.75 → 0.16.76

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.
@@ -275,8 +275,15 @@ Send them **in the order they appear**, because that is the order they render. T
275
275
  named parts is a recognisable component; twelve is a transcription of their DOM, and nobody
276
276
  needs the layout divs.
277
277
 
278
- If a component genuinely has no parts - a \`Divider\`, a \`Spinner\` - send none. An empty list is
279
- a real answer.
278
+ **Send parts for every component that has visible structure**, which is nearly all of them. A
279
+ \`Chat\` has a message list and a composer; a \`MetricCard\` has a label and a value; a
280
+ \`CircularProgress\` has a track and a fill. Sending none is the right answer only for something
281
+ genuinely undivided - a \`Divider\`, a \`Spacer\`.
282
+
283
+ The cost of sending none is not neutral. A component with no parts previews as a grey box with a
284
+ sentence in it, or - if its anatomy is \`indicator\` - as a small blank shape. A component with
285
+ three named parts previews as itself. That difference is the whole reason this field exists, and
286
+ skipping it quietly is how a real library came back looking empty (dono, 01/08).
280
287
 
281
288
  ### 3. Walk them through the decisions, one at a time
282
289
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "synthesisui",
3
- "version": "0.16.75",
3
+ "version": "0.16.76",
4
4
  "description": "Bring SynthesisUI design systems into any project - tokens, typed components, whole pages and an agent-ready CLAUDE.md manifest.",
5
5
  "type": "module",
6
6
  "bin": {