@pixerate/editor 0.221.1 → 0.222.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 (36) hide show
  1. package/dist/image-editor/edit-tools.d.cts +1 -1
  2. package/dist/image-editor/edit-tools.d.ts +1 -1
  3. package/dist/image-editor/index.cjs +35 -2
  4. package/dist/image-editor/index.js +35 -2
  5. package/package.json +1 -1
  6. package/skills/README.md +10 -3
  7. package/skills/pixerate-image-editor/SKILL.md +25 -76
  8. package/skills/pixerate-image-editor/references/free-transform.md +11 -0
  9. package/skills/pixerate-image-editor/references/layer-effects.md +12 -0
  10. package/skills/pixerate-image-editor/references/smart-objects.md +9 -0
  11. package/skills/pixerate-image-photo-correction/SKILL.md +129 -0
  12. package/skills/pixerate-image-photo-correction/evals/crop-for-instagram.json +19 -0
  13. package/skills/pixerate-image-photo-correction/evals/lift-shadows-keep-sky.json +20 -0
  14. package/skills/pixerate-image-photo-correction/evals/neutralise-cast.json +25 -0
  15. package/skills/pixerate-image-portrait-retouch/SKILL.md +115 -0
  16. package/skills/pixerate-image-portrait-retouch/evals/brighten-eyes.json +25 -0
  17. package/skills/pixerate-image-portrait-retouch/evals/remove-blemishes.json +23 -0
  18. package/skills/pixerate-image-portrait-retouch/evals/remove-stray-hair.json +18 -0
  19. package/skills/pixerate-image-product-photo/SKILL.md +126 -0
  20. package/skills/pixerate-image-product-photo/evals/grounding-shadow.json +19 -0
  21. package/skills/pixerate-image-product-photo/evals/square-crop.json +19 -0
  22. package/skills/pixerate-image-product-photo/evals/white-background.json +23 -0
  23. package/skills/pixerate-vector/SKILL.md +11 -61
  24. package/skills/pixerate-vector/references/best-practices.md +62 -0
  25. package/skills/pixerate-vector-icon-set/SKILL.md +111 -0
  26. package/skills/pixerate-vector-icon-set/evals/consistent-strokes.json +22 -0
  27. package/skills/pixerate-vector-icon-set/evals/plus-icon.json +15 -0
  28. package/skills/pixerate-vector-icon-set/evals/repeats-as-symbol.json +192 -0
  29. package/skills/pixerate-vector-illustration/SKILL.md +112 -0
  30. package/skills/pixerate-vector-illustration/evals/clip-stripes.json +21 -0
  31. package/skills/pixerate-vector-illustration/evals/radial-sun.json +16 -0
  32. package/skills/pixerate-vector-illustration/evals/subtle-shadow.json +16 -0
  33. package/skills/pixerate-vector-logo/SKILL.md +107 -0
  34. package/skills/pixerate-vector-logo/evals/centre-lockup.json +20 -0
  35. package/skills/pixerate-vector-logo/evals/knockout-ring.json +21 -0
  36. package/skills/pixerate-vector-logo/evals/live-union.json +19 -0
@@ -0,0 +1,21 @@
1
+ {
2
+ "prompt": "Cut the small circle out of the big one so the mark becomes a ring you can see through. This is for the final export file, so make it a single plain path.",
3
+ "fixture": {
4
+ "editor": "vector",
5
+ "width": 64,
6
+ "height": 64,
7
+ "setup": [
8
+ { "id": "vector.addShape", "params": { "kind": "ellipse", "x": 4, "y": 4, "width": 56, "height": 56, "name": "Outer", "fill": "#e63946", "stroke": null } },
9
+ { "id": "vector.addShape", "params": { "kind": "ellipse", "x": 20, "y": 20, "width": 24, "height": 24, "name": "Inner", "fill": "#ffffff", "stroke": null } }
10
+ ]
11
+ },
12
+ "checks": [
13
+ { "why": "one plain path, no groups", "tool": "run_command", "args": { "id": "vector.list" }, "expect": { "result": { "nodes": { "$length": 1, "$every": { "type": "path" } } } } },
14
+ { "why": "a ring: the outer outline and the hole (two subpaths)", "tool": "run_command", "args": { "id": "vector.list" }, "expect": { "result": { "nodes": { "$every": { "bounds": { "x": 4, "y": 4, "width": 56, "height": 56 }, "d": { "$expr": "(v.match(/M/g) || []).length === 2" } } } } } },
15
+ { "why": "the hole is see-through: no white is painted", "tool": "run_command", "args": { "id": "vector.list" }, "expect": { "result": { "nodes": { "$every": { "fill": "#e63946" } } } } }
16
+ ],
17
+ "solution": [
18
+ { "tool": "run_command", "args": { "id": "vector.list" } },
19
+ { "tool": "run_command", "args": { "id": "vector.boolean", "params": { "operation": "subtract", "ids": { "$read": "run_command", "args": { "id": "vector.list" }, "path": "result.nodes.*.id" } } } }
20
+ ]
21
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "prompt": "Merge the circle and the square into one silhouette for the logo mark, but keep both shapes editable so I can still nudge them.",
3
+ "fixture": {
4
+ "editor": "vector",
5
+ "width": 64,
6
+ "height": 64,
7
+ "setup": [
8
+ { "id": "vector.addShape", "params": { "kind": "ellipse", "x": 8, "y": 8, "width": 32, "height": 32, "name": "Circle", "fill": "#1d3557", "stroke": null } },
9
+ { "id": "vector.addShape", "params": { "kind": "rect", "x": 24, "y": 24, "width": 32, "height": 32, "name": "Square", "fill": "#1d3557", "stroke": null } }
10
+ ]
11
+ },
12
+ "checks": [
13
+ { "why": "one top-level object: a live union of the two", "tool": "run_command", "args": { "id": "vector.list" }, "expect": { "result": { "nodes": { "$expr": "v.filter((n) => n.depth === 0).length === 1", "$some": { "depth": 0, "liveBoolean": "union", "children": 2 } } } } },
14
+ { "why": "covering both shapes", "tool": "run_command", "args": { "id": "vector.list" }, "expect": { "result": { "nodes": { "$some": { "depth": 0, "bounds": { "x": 8, "y": 8, "width": 48, "height": 48 } } } } } }
15
+ ],
16
+ "solution": [
17
+ { "tool": "run_command", "args": { "id": "vector.boolean", "params": { "operation": "union", "live": true, "ids": { "$read": "run_command", "args": { "id": "vector.list" }, "path": "result.nodes.*.id" } } } }
18
+ ]
19
+ }