@zseven-w/openpencil 0.7.3 → 0.7.4

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.
@@ -2673,7 +2673,7 @@ Your output must remain valid JSON/JSONL only.`
2673
2673
  "budget": 2e3,
2674
2674
  "category": "knowledge"
2675
2675
  },
2676
- "content": 'SEMANTIC ROLES (add "role" to nodes \u2014 system fills unset props based on role):\n\nLayout roles:\n\n- section: layout=vertical, width=fill_container, height=fit_content, gap=24, padding=[60,80] (mobile: [40,16]), alignItems=center\n- row: layout=horizontal, width=fill_container, gap=16, alignItems=center\n- column: layout=vertical, width=fill_container, gap=16\n- centered-content: layout=vertical, width=1080 (mobile: fill_container), gap=24, alignItems=center\n- form-group: layout=vertical, width=fill_container, gap=16\n- divider: width=fill_container, height=1, layout=none (vertical divider: width=1, height=fill_container)\n- spacer: width=fill_container, height=40\n\nNavigation roles:\n\n- navbar: layout=horizontal, width=fill_container, height=72 (mobile: 56), padding=[0,80] (mobile: [0,16]), alignItems=center, justifyContent=space_between\n- nav-links: layout=horizontal, gap=24, alignItems=center\n- nav-link: textGrowth=auto, lineHeight=1.2\n\nInteractive roles:\n\n- button: padding=[12,24], height=44, layout=horizontal, gap=8, alignItems=center, justifyContent=center, cornerRadius=8. In navbar: padding=[8,16], height=36. In form-group: width=fill_container, height=48, cornerRadius=10\n- icon-button: width=44, height=44, layout=horizontal, justifyContent=center, alignItems=center, cornerRadius=8\n- badge: layout=horizontal, padding=[6,12], gap=4, alignItems=center, justifyContent=center, cornerRadius=999\n- tag: layout=horizontal, padding=[4,10], gap=4, alignItems=center, justifyContent=center, cornerRadius=6\n- pill: layout=horizontal, padding=[6,14], gap=6, alignItems=center, justifyContent=center, cornerRadius=999\n- input: height=48, layout=horizontal, padding=[12,16], alignItems=center, cornerRadius=8. In vertical layout: width=fill_container\n- form-input: width=fill_container, height=48, layout=horizontal, padding=[12,16], alignItems=center, cornerRadius=8\n- search-bar: layout=horizontal, height=44, padding=[10,16], gap=8, alignItems=center, cornerRadius=22\n\nDisplay roles:\n\n- card: layout=vertical, gap=12, cornerRadius=12, clipContent=true. In horizontal layout: width=fill_container, height=fill_container\n- stat-card: layout=vertical, gap=8, padding=[24,24], cornerRadius=12. In horizontal layout: width=fill_container, height=fill_container\n- pricing-card: layout=vertical, gap=16, padding=[32,24], cornerRadius=16, clipContent=true. In horizontal layout: width=fill_container, height=fill_container\n- image-card: layout=vertical, gap=0, cornerRadius=12, clipContent=true\n- feature-card: layout=vertical, gap=12, padding=[24,24], cornerRadius=12. In horizontal layout: width=fill_container, height=fill_container\n\nMedia roles:\n\n- phone-mockup: width=280, height=560, cornerRadius=32, layout=none\n- screenshot-frame: cornerRadius=12, clipContent=true\n- avatar: width/height=48, cornerRadius=24, clipContent=true (size adapts to explicit width)\n- icon: width=24, height=24\n\nTypography roles:\n\n- heading: lineHeight=1.2 (CJK: 1.35), letterSpacing=-0.5 (CJK: 0). In vertical layout: textGrowth=fixed-width, width=fill_container\n- subheading: lineHeight=1.3 (CJK: 1.4), textGrowth=fixed-width, width=fill_container\n- body-text: lineHeight=1.5 (CJK: 1.6), textGrowth=fixed-width, width=fill_container\n- caption: lineHeight=1.3 (CJK: 1.4), textGrowth=auto\n- label: lineHeight=1.2, textGrowth=auto, textAlignVertical=middle\n\nContent roles:\n\n- hero: layout=vertical, width=fill_container, height=fit_content, padding=[80,80] (mobile: [40,16]), gap=24, alignItems=center\n- feature-grid: layout=horizontal, width=fill_container, gap=24, alignItems=start\n- testimonial: layout=vertical, gap=16, padding=[24,24], cornerRadius=12\n- cta-section: layout=vertical, width=fill_container, height=fit_content, padding=[60,80] (mobile: [40,16]), gap=20, alignItems=center\n- footer: layout=vertical, width=fill_container, height=fit_content, padding=[48,80] (mobile: [32,16]), gap=24\n- stats-section: layout=horizontal, width=fill_container, height=fit_content, padding=[48,80] (mobile: [32,16]), gap=32, justifyContent=center, alignItems=center\n\nTable roles:\n\n- table: layout=vertical, width=fill_container, gap=0, clipContent=true\n- table-row: layout=horizontal, width=fill_container, alignItems=center, padding=[12,16]\n- table-header: layout=horizontal, width=fill_container, alignItems=center, padding=[12,16]\n- table-cell: width=fill_container\n\nYour explicit props ALWAYS override role defaults. Only unset properties get filled in.'
2676
+ "content": "SEMANTIC ROLES (add \"role\" to nodes \u2014 system fills unset props based on role):\n\nLayout roles:\n\n- section: layout=vertical, width=fill_container, height=fit_content, gap=24, padding=[60,80] (mobile: [40,16]), alignItems=center\n- row: layout=horizontal, width=fill_container, gap=16, alignItems=center\n- column: layout=vertical, width=fill_container, gap=16\n- centered-content: layout=vertical, width=1080 (mobile: fill_container), gap=24, alignItems=center\n- form-group: layout=vertical, width=fill_container, gap=16\n- divider: width=fill_container, height=1, layout=none (vertical divider: width=1, height=fill_container)\n- spacer: width=fill_container, height=40\n\nNavigation roles:\n\n- navbar: layout=horizontal, width=fill_container, height=72 (mobile: 56), padding=[0,80] (mobile: [0,16]), alignItems=center, justifyContent=space_between\n- nav-links: layout=horizontal, gap=24, alignItems=center\n- nav-link: textGrowth=auto, lineHeight=1.2\n\nInteractive roles:\n\n- button: padding=[12,24], height=44, layout=horizontal, gap=8, alignItems=center, justifyContent=center, cornerRadius=8. In navbar: padding=[8,16], height=36. In form-group: width=fill_container, height=48, cornerRadius=10\n- icon-button: width=44, height=44, layout=horizontal, justifyContent=center, alignItems=center, cornerRadius=8\n- badge: layout=horizontal, padding=[6,12], gap=4, alignItems=center, justifyContent=center, cornerRadius=999\n- tag: layout=horizontal, padding=[4,10], gap=4, alignItems=center, justifyContent=center, cornerRadius=6\n- pill: layout=horizontal, padding=[6,14], gap=6, alignItems=center, justifyContent=center, cornerRadius=999\n- input: height=48, layout=horizontal, padding=[12,16], alignItems=center, cornerRadius=8. In vertical layout: width=fill_container\n- form-input: width=fill_container, height=48, layout=horizontal, padding=[12,16], alignItems=center, cornerRadius=8\n- search-bar: layout=horizontal, height=44, padding=[10,16], gap=8, alignItems=center, cornerRadius=22\n\nDisplay roles:\n\n- card: layout=vertical, gap=12, cornerRadius=12, clipContent=true. In horizontal layout: width=fill_container, height=fill_container\n- stat-card: layout=vertical, gap=8, padding=[24,24], cornerRadius=12. In horizontal layout: width=fill_container, height=fill_container\n- pricing-card: layout=vertical, gap=16, padding=[32,24], cornerRadius=16, clipContent=true. In horizontal layout: width=fill_container, height=fill_container\n- image-card: layout=vertical, gap=0, cornerRadius=12, clipContent=true\n- feature-card: layout=vertical, gap=12, padding=[24,24], cornerRadius=12. In horizontal layout: width=fill_container, height=fill_container\n\nMedia roles:\n\n- phone-mockup: width=280, height=560, cornerRadius=32, layout=none\n- screenshot-frame: cornerRadius=12, clipContent=true\n- avatar: width/height=48, cornerRadius=24, clipContent=true (size adapts to explicit width)\n- icon: width=24, height=24\n\nLayout-escape roles:\n\n- overlay: the ONLY way to place a child at absolute x/y inside a parent that uses `layout: vertical|horizontal`. Use for notification dots on an icon, corner ribbons on a card, floating status indicators. The child keeps its explicit `x`/`y` while siblings flow normally. Do NOT use `role: 'overlay'` for inline components \u2014 `badge`, `pill`, `tag` are inline (they flow in layout like any other child, NOT floating). Do NOT use `role: 'overlay'` as a substitute for `layout: 'none'` on the parent.\n\nTypography roles:\n\n- heading: lineHeight=1.2 (CJK: 1.35), letterSpacing=-0.5 (CJK: 0). In vertical layout: textGrowth=fixed-width, width=fill_container\n- subheading: lineHeight=1.3 (CJK: 1.4), textGrowth=fixed-width, width=fill_container\n- body-text: lineHeight=1.5 (CJK: 1.6), textGrowth=fixed-width, width=fill_container\n- caption: lineHeight=1.3 (CJK: 1.4), textGrowth=auto\n- label: lineHeight=1.2, textGrowth=auto, textAlignVertical=middle\n\nContent roles:\n\n- hero: layout=vertical, width=fill_container, height=fit_content, padding=[80,80] (mobile: [40,16]), gap=24, alignItems=center\n- feature-grid: layout=horizontal, width=fill_container, gap=24, alignItems=start\n- testimonial: layout=vertical, gap=16, padding=[24,24], cornerRadius=12\n- cta-section: layout=vertical, width=fill_container, height=fit_content, padding=[60,80] (mobile: [40,16]), gap=20, alignItems=center\n- footer: layout=vertical, width=fill_container, height=fit_content, padding=[48,80] (mobile: [32,16]), gap=24\n- stats-section: layout=horizontal, width=fill_container, height=fit_content, padding=[48,80] (mobile: [32,16]), gap=32, justifyContent=center, alignItems=center\n\nTable roles:\n\n- table: layout=vertical, width=fill_container, gap=0, clipContent=true\n- table-row: layout=horizontal, width=fill_container, alignItems=center, padding=[12,16]\n- table-header: layout=horizontal, width=fill_container, alignItems=center, padding=[12,16]\n- table-cell: width=fill_container\n\nYour explicit props ALWAYS override role defaults. Only unset properties get filled in."
2677
2677
  },
2678
2678
  {
2679
2679
  "meta": {
@@ -13935,7 +13935,7 @@ init_define_import_meta_env();
13935
13935
  // apps/cli/package.json
13936
13936
  var package_default = {
13937
13937
  name: "@zseven-w/openpencil",
13938
- version: "0.7.3",
13938
+ version: "0.7.4",
13939
13939
  description: "CLI for OpenPencil \u2014 control the design tool from your terminal",
13940
13940
  homepage: "https://github.com/ZSeven-W/openpencil/tree/main/apps/cli",
13941
13941
  bugs: {
@@ -13962,8 +13962,8 @@ var package_default = {
13962
13962
  compile: "cd ../.. && bun run cli:compile"
13963
13963
  },
13964
13964
  dependencies: {
13965
- "@zseven-w/pen-figma": "0.7.3",
13966
- "@zseven-w/pen-mcp": "0.7.3"
13965
+ "@zseven-w/pen-figma": "0.7.4",
13966
+ "@zseven-w/pen-mcp": "0.7.4"
13967
13967
  }
13968
13968
  };
13969
13969