synthesisui 0.16.514 → 0.16.516

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.
@@ -22,7 +22,14 @@ export async function landing(slug, requestText, opts) {
22
22
  if (chosen.length === 0) {
23
23
  const parts = await fetchLandingParts(base, slug);
24
24
  const byPlace = (place) => parts.filter((p) => p.place === place);
25
- const line = (p) => ` ${p.id.padEnd(20)} ${p.type} · ${p.name}${p.note ? ` (${p.note})` : ""}`;
25
+ /* O MESMO MODELO DO BUILDER (jornada "as peças em dois eixos", E05, 24/10): o tom e o que a peça pede ao lado do nome,
26
+ e o "quando usar" embaixo. Um registro de antes manda só a `note`, e a linha sai como saía. */
27
+ const line = (p) => p.level
28
+ ? [
29
+ ` ${p.id.padEnd(20)} ${p.type} · ${p.name} - ${p.level}${p.needs ? `, needs ${p.needs.toLowerCase()}` : ""}`,
30
+ ...(p.fit ? [` ${"".padEnd(20)} use it when: ${p.fit}`] : []),
31
+ ].join("\n")
32
+ : ` ${p.id.padEnd(20)} ${p.type} · ${p.name}${p.note ? ` (${p.note})` : ""}`;
26
33
  const out = [
27
34
  `The landing sections of "${slug}". Pick one navigation, one hero, the body sections in order, and one footer -`,
28
35
  "the ones that fit this request:",
@@ -37,6 +44,9 @@ export async function landing(slug, requestText, opts) {
37
44
  "Bottom",
38
45
  ...byPlace("footer").map(line),
39
46
  "",
47
+ ...(parts.some((p) => p.level === "Rule breaker")
48
+ ? ["Rule breaker: at most one per page - with two, they compete.", ""]
49
+ : []),
40
50
  "Then run, with your picks in page order, and follow the prompt it prints:",
41
51
  ` npx synthesisui@latest landing ${slug} --sections <nav>,<hero>,<body...>,<footer> "${request}"`,
42
52
  ];
@@ -96,6 +96,25 @@ export function generatedTells(src) {
96
96
  source: SOURCE.bounce,
97
97
  });
98
98
  }
99
+ /* A MESMA ENTRADA PELO GSAP (24/10, a rodada do agente com a 0.16.514): o agente escreveu as entradas num laço sobre
100
+ seletores com o ScrollTrigger, sem data-reveal nem whileInView - a contagem acima não as via. Aqui conta quantas
101
+ seções diferentes (o bloco do seletor BEM, sem a capa) recebem entrada por scroll num arquivo que usa o ScrollTrigger. */
102
+ if (/\bScrollTrigger\b/.test(src)) {
103
+ const blocks = new Set();
104
+ for (const m of src.matchAll(/["'`]\.([a-z][a-z0-9]*(?:-[a-z0-9]+)*)__[a-z0-9-]+/g))
105
+ if (!/hero|nav|menu/.test(m[1]))
106
+ blocks.add(m[1]);
107
+ if (blocks.size >= SAME_FADE_AT) {
108
+ const at = src.search(/\bScrollTrigger\b/);
109
+ tells.push({
110
+ line: lineOf(src, at),
111
+ what: `every section enters the same way (${blocks.size} sections get a scroll entrance: ${[...blocks].join(", ")})`,
112
+ excerpt: "ScrollTrigger",
113
+ instead: "give the entrance to the two or three sections that carry the story; the rest sit at rest",
114
+ source: SOURCE.sameFade,
115
+ });
116
+ }
117
+ }
99
118
  const reveals = [...src.matchAll(REVEAL)];
100
119
  if (reveals.length >= SAME_FADE_AT)
101
120
  tells.push({
@@ -603,7 +603,11 @@ export const COUNTED_DIFFERENTLY = "this run counts a value as named only when Y
603
603
  * passa a acusar os sinais de página feita por IA em que as fontes concordam (o rótulo acima do título, o gradiente no
604
604
  * texto, o easing que quica, a mesma entrada em toda seção - `generated-tells.ts`). Um hook pinado antes não os cobra.
605
605
  */
606
- export const CHECKER_SINCE = "0.16.514";
606
+ /**
607
+ * 0.16.514 -> 0.16.515 em 24/10, e o passo 1 dá **SIM**: o fim do turno passa a ver a mesma entrada escrita com o
608
+ * ScrollTrigger do gsap (quatro seções ou mais), que a rodada do agente com a 0.16.514 mostrou passar sem data-reveal.
609
+ */
610
+ export const CHECKER_SINCE = "0.16.515";
607
611
  /**
608
612
  * A ÚLTIMA VERSÃO EM QUE OS LEITORES PASSARAM A PRODUZIR UM CENSO DIFERENTE.
609
613
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "synthesisui",
3
- "version": "0.16.514",
3
+ "version": "0.16.516",
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": {