@pixerate/editor 0.260.0 → 0.262.0

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 (35) hide show
  1. package/dist/agent/index.cjs +19 -3
  2. package/dist/agent/index.js +21 -5
  3. package/dist/bridge/cli.cjs +4 -3
  4. package/dist/bridge/cli.js +3 -2
  5. package/dist/bridge/index.cjs +4 -3
  6. package/dist/bridge/index.js +3 -2
  7. package/dist/{chunk-KBNCEZZB.cjs → chunk-5NRD76T7.cjs} +9 -7
  8. package/dist/{chunk-SPPDMY7T.js → chunk-6LWEL5DO.js} +4 -2
  9. package/dist/{chunk-RTPBM46F.cjs → chunk-7TD63DZP.cjs} +1 -294
  10. package/dist/{chunk-ABHOYBZD.js → chunk-K4BGRCSH.js} +1 -294
  11. package/dist/chunk-SYEOA5MS.js +301 -0
  12. package/dist/{chunk-5DLCOQOQ.cjs → chunk-YBC3RKT2.cjs} +177 -16
  13. package/dist/chunk-ZEKI6EPI.cjs +301 -0
  14. package/dist/{chunk-UCYW4M66.js → chunk-ZQI3WUPP.js} +163 -2
  15. package/dist/paint-editor/contract.d.cts +11 -0
  16. package/dist/paint-editor/contract.d.ts +11 -0
  17. package/dist/paint-editor/controller.d.cts +17 -0
  18. package/dist/paint-editor/controller.d.ts +17 -0
  19. package/dist/paint-editor/index.cjs +245 -84
  20. package/dist/paint-editor/index.d.cts +2 -1
  21. package/dist/paint-editor/index.d.ts +2 -1
  22. package/dist/paint-editor/index.js +163 -2
  23. package/dist/paint-editor/path-samples.d.cts +19 -0
  24. package/dist/paint-editor/path-samples.d.ts +19 -0
  25. package/dist/paint-editor/ui.d.cts +6 -0
  26. package/dist/paint-editor/ui.d.ts +6 -0
  27. package/dist/tools/conformance.d.cts +138 -0
  28. package/dist/tools/conformance.d.ts +138 -0
  29. package/dist/tools/index.cjs +19 -3
  30. package/dist/tools/index.d.cts +1 -0
  31. package/dist/tools/index.d.ts +1 -0
  32. package/dist/tools/index.js +21 -5
  33. package/package.json +1 -1
  34. package/skills/pixerate-paint-editor/SKILL.md +2 -0
  35. package/skills/pixerate-paint-sketch-to-finish/SKILL.md +5 -1
@@ -14,7 +14,6 @@
14
14
 
15
15
 
16
16
 
17
- var _chunk5DLCOQOQcjs = require('../chunk-5DLCOQOQ.cjs');
18
17
 
19
18
 
20
19
 
@@ -22,6 +21,7 @@ var _chunk5DLCOQOQcjs = require('../chunk-5DLCOQOQ.cjs');
22
21
 
23
22
 
24
23
 
24
+ var _chunkYBC3RKT2cjs = require('../chunk-YBC3RKT2.cjs');
25
25
 
26
26
 
27
27
 
@@ -30,6 +30,7 @@ var _chunk5DLCOQOQcjs = require('../chunk-5DLCOQOQ.cjs');
30
30
 
31
31
 
32
32
 
33
+ var _chunkZEKI6EPIcjs = require('../chunk-ZEKI6EPI.cjs');
33
34
 
34
35
 
35
36
 
@@ -40,7 +41,15 @@ var _chunk5DLCOQOQcjs = require('../chunk-5DLCOQOQ.cjs');
40
41
 
41
42
 
42
43
 
43
- var _chunkRTPBM46Fcjs = require('../chunk-RTPBM46F.cjs');
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+
52
+ var _chunk7TD63DZPcjs = require('../chunk-7TD63DZP.cjs');
44
53
 
45
54
 
46
55
 
@@ -201,4 +210,11 @@ var _chunk2BSBFBOAcjs = require('../chunk-2BSBFBOA.cjs');
201
210
 
202
211
 
203
212
 
204
- exports.AgentPlayback = _chunk3SLBXKAWcjs.AgentPlayback; exports.CAPTURE_EXCLUDE_SELECTOR = _chunkSVFEVKLFcjs.CAPTURE_EXCLUDE_SELECTOR; exports.CAPTURE_OVERLAY_SELECTORS = _chunkSVFEVKLFcjs.CAPTURE_OVERLAY_SELECTORS; exports.EDITOR_CANVAS_TOOLS = _chunkSVFEVKLFcjs.EDITOR_CANVAS_TOOLS; exports.EDITOR_MCP_TOOLS = _chunkSVFEVKLFcjs.EDITOR_MCP_TOOLS; exports.EDITOR_PROMPT_TOOLS = _chunkSVFEVKLFcjs.EDITOR_PROMPT_TOOLS; exports.EDIT_OPERATION_REQUIRED_ARGUMENTS = _chunkSVFEVKLFcjs.EDIT_OPERATION_REQUIRED_ARGUMENTS; exports.EXPORT_EXCLUDED_SELECTORS = _chunkSVFEVKLFcjs.EXPORT_EXCLUDED_SELECTORS; exports.JSON_RPC_ERRORS = _chunkRTPBM46Fcjs.JSON_RPC_ERRORS; exports.MCP_PROTOCOL_VERSIONS = _chunkRTPBM46Fcjs.MCP_PROTOCOL_VERSIONS; exports.MCP_TOOL_CANVAS_ADD_NODE = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_ADD_NODE; exports.MCP_TOOL_CANVAS_CONNECT = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_CONNECT; exports.MCP_TOOL_CANVAS_HIGHLIGHT = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_HIGHLIGHT; exports.MCP_TOOL_CANVAS_LAYOUT = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_LAYOUT; exports.MCP_TOOL_CANVAS_REMOVE_NODES = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_REMOVE_NODES; exports.MCP_TOOL_CANVAS_SELECT = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_SELECT; exports.MCP_TOOL_CANVAS_UPDATE_NODE = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_UPDATE_NODE; exports.MCP_TOOL_EDIT_CANVAS = _chunkSVFEVKLFcjs.MCP_TOOL_EDIT_CANVAS; exports.MCP_TOOL_EDIT_PROMPT = _chunkSVFEVKLFcjs.MCP_TOOL_EDIT_PROMPT; exports.MCP_TOOL_GET_EDITOR_STATE = _chunkSVFEVKLFcjs.MCP_TOOL_GET_EDITOR_STATE; exports.MCP_TOOL_PROMPT_INSERT_TEXT = _chunkSVFEVKLFcjs.MCP_TOOL_PROMPT_INSERT_TEXT; exports.MCP_TOOL_PROMPT_REPLACE_RANGE = _chunkSVFEVKLFcjs.MCP_TOOL_PROMPT_REPLACE_RANGE; exports.MCP_TOOL_PROMPT_SELECT = _chunkSVFEVKLFcjs.MCP_TOOL_PROMPT_SELECT; exports.MCP_TOOL_PROMPT_SET_VARIABLE = _chunkSVFEVKLFcjs.MCP_TOOL_PROMPT_SET_VARIABLE; exports.MCP_TOOL_VIEW_EDITOR = _chunkSVFEVKLFcjs.MCP_TOOL_VIEW_EDITOR; exports.PRESENCE_COLORS = _chunkK7ENM55Pcjs.PRESENCE_COLORS; exports.PerformanceQueue = _chunkK7ENM55Pcjs.PerformanceQueue; exports.PresenceStore = _chunkK7ENM55Pcjs.PresenceStore; exports.TOOL_BRIDGE_DEFAULT_PORT = _chunkRTPBM46Fcjs.TOOL_BRIDGE_DEFAULT_PORT; exports.TOOL_BRIDGE_PROTOCOL = _chunkRTPBM46Fcjs.TOOL_BRIDGE_PROTOCOL; exports.TOOL_DISCOVERY_TOOLS = _chunkRTPBM46Fcjs.TOOL_DISCOVERY_TOOLS; exports.TOOL_NAMESPACE_SEPARATOR = _chunkRTPBM46Fcjs.TOOL_NAMESPACE_SEPARATOR; exports.ToolRegistry = _chunkRTPBM46Fcjs.ToolRegistry; exports.ToolRegistryError = _chunkRTPBM46Fcjs.ToolRegistryError; exports.ToolRegistryView = _chunkRTPBM46Fcjs.ToolRegistryView; exports.UNSAFE_JSON_KEYS = _chunk2BSBFBOAcjs.UNSAFE_JSON_KEYS; exports.baseToolName = _chunkRTPBM46Fcjs.baseToolName; exports.callEvalTool = _chunk5DLCOQOQcjs.callEvalTool; exports.captureInputSchema = _chunkN2FGYZ4Qcjs.captureInputSchema; exports.captureOutputSize = _chunkN2FGYZ4Qcjs.captureOutputSize; exports.cloneElementWithStyles = _chunkSVFEVKLFcjs.cloneElementWithStyles; exports.connectToolBridge = _chunkRTPBM46Fcjs.connectToolBridge; exports.createAgentPlayback = _chunk3SLBXKAWcjs.createAgentPlayback; exports.createCaptureTool = _chunkN2FGYZ4Qcjs.createCaptureTool; exports.createCaptureToolProvider = _chunkN2FGYZ4Qcjs.createCaptureToolProvider; exports.createElementCaptureSurface = _chunkSVFEVKLFcjs.createElementCaptureSurface; exports.createInstantPresenceClock = _chunkK7ENM55Pcjs.createInstantPresenceClock; exports.createMcpServer = _chunkRTPBM46Fcjs.createMcpServer; exports.createOriginMiddleware = _chunk5DLCOQOQcjs.createOriginMiddleware; exports.createPlaybackToolProvider = _chunk3SLBXKAWcjs.createPlaybackToolProvider; exports.createStyleResolver = _chunk5DLCOQOQcjs.createStyleResolver; exports.createStyleToolProvider = _chunk5DLCOQOQcjs.createStyleToolProvider; exports.createToolRegistry = _chunkRTPBM46Fcjs.createToolRegistry; exports.derivePlaybackSteps = _chunk3SLBXKAWcjs.derivePlaybackSteps; exports.elementToSvg = _chunkSVFEVKLFcjs.elementToSvg; exports.errorResult = _chunkRTPBM46Fcjs.errorResult; exports.failedEvalChecks = _chunk5DLCOQOQcjs.failedEvalChecks; exports.imageEvalFixturePixels = _chunk5DLCOQOQcjs.imageEvalFixturePixels; exports.isUnsafeJsonKey = _chunk2BSBFBOAcjs.isUnsafeJsonKey; exports.listSkillEvals = _chunk5DLCOQOQcjs.listSkillEvals; exports.listSkills = _chunkRTPBM46Fcjs.listSkills; exports.locatePlaybackChrome = _chunk3SLBXKAWcjs.locatePlaybackChrome; exports.matchesEvalExpectation = _chunk5DLCOQOQcjs.matchesEvalExpectation; exports.memoryStyleStore = _chunk5DLCOQOQcjs.memoryStyleStore; exports.parseSkillFrontmatter = _chunkRTPBM46Fcjs.parseSkillFrontmatter; exports.parseStyleDomains = _chunk5DLCOQOQcjs.parseStyleDomains; exports.playbackRectFromClient = _chunk3SLBXKAWcjs.playbackRectFromClient; exports.playbackRefsFromArgs = _chunk3SLBXKAWcjs.playbackRefsFromArgs; exports.playbackRefsFromResult = _chunk3SLBXKAWcjs.playbackRefsFromResult; exports.rasterizeElement = _chunkSVFEVKLFcjs.rasterizeElement; exports.readSkillFile = _chunkRTPBM46Fcjs.readSkillFile; exports.readingTime = _chunk3SLBXKAWcjs.readingTime; exports.realPresenceClock = _chunkK7ENM55Pcjs.realPresenceClock; exports.renderStyle = _chunk5DLCOQOQcjs.renderStyle; exports.resolveCaptureRequest = _chunkN2FGYZ4Qcjs.resolveCaptureRequest; exports.runStyleChecks = _chunk5DLCOQOQcjs.runStyleChecks; exports.runToolScript = _chunk5DLCOQOQcjs.runToolScript; exports.searchTokens = _chunkRTPBM46Fcjs.searchTokens; exports.searchTools = _chunkRTPBM46Fcjs.searchTools; exports.stripPrototypeKeys = _chunk2BSBFBOAcjs.stripPrototypeKeys; exports.summarize = _chunkRTPBM46Fcjs.summarize; exports.toCapturedImageData = _chunkN2FGYZ4Qcjs.toCapturedImageData; exports.toToolResult = _chunkRTPBM46Fcjs.toToolResult; exports.toolResultError = _chunk5DLCOQOQcjs.toolResultError; exports.toolResultValue = _chunk5DLCOQOQcjs.toolResultValue; exports.toolsetInstructions = _chunkRTPBM46Fcjs.toolsetInstructions; exports.toolsetName = _chunkRTPBM46Fcjs.toolsetName; exports.trackPresenceDrag = _chunkK7ENM55Pcjs.trackPresenceDrag; exports.tweenPresenceCursor = _chunkK7ENM55Pcjs.tweenPresenceCursor; exports.unionCaptureRects = _chunkN2FGYZ4Qcjs.unionCaptureRects; exports.unionRects = _chunk3SLBXKAWcjs.unionRects; exports.unknownToolMessage = _chunkRTPBM46Fcjs.unknownToolMessage; exports.validateJsonSchema = _chunkWOFXZ3XUcjs.validateJsonSchema;
213
+
214
+
215
+
216
+
217
+
218
+
219
+
220
+ exports.AgentPlayback = _chunk3SLBXKAWcjs.AgentPlayback; exports.CAPTURE_EXCLUDE_SELECTOR = _chunkSVFEVKLFcjs.CAPTURE_EXCLUDE_SELECTOR; exports.CAPTURE_OVERLAY_SELECTORS = _chunkSVFEVKLFcjs.CAPTURE_OVERLAY_SELECTORS; exports.CONFORMANCE_BINARY_MIN_LENGTH = _chunkYBC3RKT2cjs.CONFORMANCE_BINARY_MIN_LENGTH; exports.ConformanceIds = _chunkYBC3RKT2cjs.ConformanceIds; exports.EDITOR_CANVAS_TOOLS = _chunkSVFEVKLFcjs.EDITOR_CANVAS_TOOLS; exports.EDITOR_MCP_TOOLS = _chunkSVFEVKLFcjs.EDITOR_MCP_TOOLS; exports.EDITOR_PROMPT_TOOLS = _chunkSVFEVKLFcjs.EDITOR_PROMPT_TOOLS; exports.EDIT_OPERATION_REQUIRED_ARGUMENTS = _chunkSVFEVKLFcjs.EDIT_OPERATION_REQUIRED_ARGUMENTS; exports.EXPORT_EXCLUDED_SELECTORS = _chunkSVFEVKLFcjs.EXPORT_EXCLUDED_SELECTORS; exports.JSON_RPC_ERRORS = _chunkZEKI6EPIcjs.JSON_RPC_ERRORS; exports.MCP_PROTOCOL_VERSIONS = _chunkZEKI6EPIcjs.MCP_PROTOCOL_VERSIONS; exports.MCP_TOOL_CANVAS_ADD_NODE = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_ADD_NODE; exports.MCP_TOOL_CANVAS_CONNECT = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_CONNECT; exports.MCP_TOOL_CANVAS_HIGHLIGHT = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_HIGHLIGHT; exports.MCP_TOOL_CANVAS_LAYOUT = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_LAYOUT; exports.MCP_TOOL_CANVAS_REMOVE_NODES = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_REMOVE_NODES; exports.MCP_TOOL_CANVAS_SELECT = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_SELECT; exports.MCP_TOOL_CANVAS_UPDATE_NODE = _chunkSVFEVKLFcjs.MCP_TOOL_CANVAS_UPDATE_NODE; exports.MCP_TOOL_EDIT_CANVAS = _chunkSVFEVKLFcjs.MCP_TOOL_EDIT_CANVAS; exports.MCP_TOOL_EDIT_PROMPT = _chunkSVFEVKLFcjs.MCP_TOOL_EDIT_PROMPT; exports.MCP_TOOL_GET_EDITOR_STATE = _chunkSVFEVKLFcjs.MCP_TOOL_GET_EDITOR_STATE; exports.MCP_TOOL_PROMPT_INSERT_TEXT = _chunkSVFEVKLFcjs.MCP_TOOL_PROMPT_INSERT_TEXT; exports.MCP_TOOL_PROMPT_REPLACE_RANGE = _chunkSVFEVKLFcjs.MCP_TOOL_PROMPT_REPLACE_RANGE; exports.MCP_TOOL_PROMPT_SELECT = _chunkSVFEVKLFcjs.MCP_TOOL_PROMPT_SELECT; exports.MCP_TOOL_PROMPT_SET_VARIABLE = _chunkSVFEVKLFcjs.MCP_TOOL_PROMPT_SET_VARIABLE; exports.MCP_TOOL_VIEW_EDITOR = _chunkSVFEVKLFcjs.MCP_TOOL_VIEW_EDITOR; exports.PRESENCE_COLORS = _chunkK7ENM55Pcjs.PRESENCE_COLORS; exports.PerformanceQueue = _chunkK7ENM55Pcjs.PerformanceQueue; exports.PresenceStore = _chunkK7ENM55Pcjs.PresenceStore; exports.TOOL_BRIDGE_DEFAULT_PORT = _chunkZEKI6EPIcjs.TOOL_BRIDGE_DEFAULT_PORT; exports.TOOL_BRIDGE_PROTOCOL = _chunkZEKI6EPIcjs.TOOL_BRIDGE_PROTOCOL; exports.TOOL_DISCOVERY_TOOLS = _chunk7TD63DZPcjs.TOOL_DISCOVERY_TOOLS; exports.TOOL_NAMESPACE_SEPARATOR = _chunk7TD63DZPcjs.TOOL_NAMESPACE_SEPARATOR; exports.ToolRegistry = _chunk7TD63DZPcjs.ToolRegistry; exports.ToolRegistryError = _chunk7TD63DZPcjs.ToolRegistryError; exports.ToolRegistryView = _chunk7TD63DZPcjs.ToolRegistryView; exports.UNSAFE_JSON_KEYS = _chunk2BSBFBOAcjs.UNSAFE_JSON_KEYS; exports.baseToolName = _chunk7TD63DZPcjs.baseToolName; exports.callEvalTool = _chunkYBC3RKT2cjs.callEvalTool; exports.captureInputSchema = _chunkN2FGYZ4Qcjs.captureInputSchema; exports.captureOutputSize = _chunkN2FGYZ4Qcjs.captureOutputSize; exports.cloneElementWithStyles = _chunkSVFEVKLFcjs.cloneElementWithStyles; exports.conformanceResult = _chunkYBC3RKT2cjs.conformanceResult; exports.connectToolBridge = _chunkZEKI6EPIcjs.connectToolBridge; exports.createAgentPlayback = _chunk3SLBXKAWcjs.createAgentPlayback; exports.createCaptureTool = _chunkN2FGYZ4Qcjs.createCaptureTool; exports.createCaptureToolProvider = _chunkN2FGYZ4Qcjs.createCaptureToolProvider; exports.createElementCaptureSurface = _chunkSVFEVKLFcjs.createElementCaptureSurface; exports.createInstantPresenceClock = _chunkK7ENM55Pcjs.createInstantPresenceClock; exports.createMcpServer = _chunkZEKI6EPIcjs.createMcpServer; exports.createOriginMiddleware = _chunkYBC3RKT2cjs.createOriginMiddleware; exports.createPlaybackToolProvider = _chunk3SLBXKAWcjs.createPlaybackToolProvider; exports.createStyleResolver = _chunkYBC3RKT2cjs.createStyleResolver; exports.createStyleToolProvider = _chunkYBC3RKT2cjs.createStyleToolProvider; exports.createToolRegistry = _chunk7TD63DZPcjs.createToolRegistry; exports.derivePlaybackSteps = _chunk3SLBXKAWcjs.derivePlaybackSteps; exports.elementToSvg = _chunkSVFEVKLFcjs.elementToSvg; exports.errorResult = _chunk7TD63DZPcjs.errorResult; exports.failedEvalChecks = _chunkYBC3RKT2cjs.failedEvalChecks; exports.imageEvalFixturePixels = _chunkYBC3RKT2cjs.imageEvalFixturePixels; exports.isUnsafeJsonKey = _chunk2BSBFBOAcjs.isUnsafeJsonKey; exports.listSkillEvals = _chunkYBC3RKT2cjs.listSkillEvals; exports.listSkills = _chunk7TD63DZPcjs.listSkills; exports.locatePlaybackChrome = _chunk3SLBXKAWcjs.locatePlaybackChrome; exports.matchesEvalExpectation = _chunkYBC3RKT2cjs.matchesEvalExpectation; exports.memoryStyleStore = _chunkYBC3RKT2cjs.memoryStyleStore; exports.normalizeConformanceValue = _chunkYBC3RKT2cjs.normalizeConformanceValue; exports.omitConformancePaths = _chunkYBC3RKT2cjs.omitConformancePaths; exports.parseSkillFrontmatter = _chunk7TD63DZPcjs.parseSkillFrontmatter; exports.parseStyleDomains = _chunkYBC3RKT2cjs.parseStyleDomains; exports.playbackRectFromClient = _chunk3SLBXKAWcjs.playbackRectFromClient; exports.playbackRefsFromArgs = _chunk3SLBXKAWcjs.playbackRefsFromArgs; exports.playbackRefsFromResult = _chunk3SLBXKAWcjs.playbackRefsFromResult; exports.rasterizeElement = _chunkSVFEVKLFcjs.rasterizeElement; exports.readSkillFile = _chunk7TD63DZPcjs.readSkillFile; exports.readingTime = _chunk3SLBXKAWcjs.readingTime; exports.realPresenceClock = _chunkK7ENM55Pcjs.realPresenceClock; exports.renderStyle = _chunkYBC3RKT2cjs.renderStyle; exports.resolveCaptureRequest = _chunkN2FGYZ4Qcjs.resolveCaptureRequest; exports.resolveConformanceArguments = _chunkYBC3RKT2cjs.resolveConformanceArguments; exports.runConformanceScenario = _chunkYBC3RKT2cjs.runConformanceScenario; exports.runStyleChecks = _chunkYBC3RKT2cjs.runStyleChecks; exports.runToolScript = _chunkYBC3RKT2cjs.runToolScript; exports.searchTokens = _chunk7TD63DZPcjs.searchTokens; exports.searchTools = _chunk7TD63DZPcjs.searchTools; exports.stripPrototypeKeys = _chunk2BSBFBOAcjs.stripPrototypeKeys; exports.summarize = _chunk7TD63DZPcjs.summarize; exports.toCapturedImageData = _chunkN2FGYZ4Qcjs.toCapturedImageData; exports.toToolResult = _chunk7TD63DZPcjs.toToolResult; exports.toolResultError = _chunkYBC3RKT2cjs.toolResultError; exports.toolResultValue = _chunkYBC3RKT2cjs.toolResultValue; exports.toolsetInstructions = _chunkZEKI6EPIcjs.toolsetInstructions; exports.toolsetName = _chunk7TD63DZPcjs.toolsetName; exports.trackPresenceDrag = _chunkK7ENM55Pcjs.trackPresenceDrag; exports.tweenPresenceCursor = _chunkK7ENM55Pcjs.tweenPresenceCursor; exports.unionCaptureRects = _chunkN2FGYZ4Qcjs.unionCaptureRects; exports.unionRects = _chunk3SLBXKAWcjs.unionRects; exports.unknownToolMessage = _chunk7TD63DZPcjs.unknownToolMessage; exports.validateJsonSchema = _chunkWOFXZ3XUcjs.validateJsonSchema;
@@ -25,3 +25,4 @@ export * from './script.cjs';
25
25
  export * from './style.cjs';
26
26
  export * from './style-tools.cjs';
27
27
  export * from './origin.cjs';
28
+ export * from './conformance.cjs';
@@ -25,3 +25,4 @@ export * from './script.js';
25
25
  export * from './style.js';
26
26
  export * from './style-tools.js';
27
27
  export * from './origin.js';
28
+ export * from './conformance.js';
@@ -1,5 +1,8 @@
1
1
  import {
2
+ CONFORMANCE_BINARY_MIN_LENGTH,
3
+ ConformanceIds,
2
4
  callEvalTool,
5
+ conformanceResult,
3
6
  createOriginMiddleware,
4
7
  createStyleResolver,
5
8
  createStyleToolProvider,
@@ -8,26 +11,33 @@ import {
8
11
  listSkillEvals,
9
12
  matchesEvalExpectation,
10
13
  memoryStyleStore,
14
+ normalizeConformanceValue,
15
+ omitConformancePaths,
11
16
  parseStyleDomains,
12
17
  renderStyle,
18
+ resolveConformanceArguments,
19
+ runConformanceScenario,
13
20
  runStyleChecks,
14
21
  runToolScript,
15
22
  toolResultError,
16
23
  toolResultValue
17
- } from "../chunk-UCYW4M66.js";
24
+ } from "../chunk-ZQI3WUPP.js";
18
25
  import {
19
26
  JSON_RPC_ERRORS,
20
27
  MCP_PROTOCOL_VERSIONS,
21
28
  TOOL_BRIDGE_DEFAULT_PORT,
22
29
  TOOL_BRIDGE_PROTOCOL,
30
+ connectToolBridge,
31
+ createMcpServer,
32
+ toolsetInstructions
33
+ } from "../chunk-SYEOA5MS.js";
34
+ import {
23
35
  TOOL_DISCOVERY_TOOLS,
24
36
  TOOL_NAMESPACE_SEPARATOR,
25
37
  ToolRegistry,
26
38
  ToolRegistryError,
27
39
  ToolRegistryView,
28
40
  baseToolName,
29
- connectToolBridge,
30
- createMcpServer,
31
41
  createToolRegistry,
32
42
  errorResult,
33
43
  listSkills,
@@ -37,10 +47,9 @@ import {
37
47
  searchTools,
38
48
  summarize,
39
49
  toToolResult,
40
- toolsetInstructions,
41
50
  toolsetName,
42
51
  unknownToolMessage
43
- } from "../chunk-ABHOYBZD.js";
52
+ } from "../chunk-K4BGRCSH.js";
44
53
  import {
45
54
  AgentPlayback,
46
55
  createAgentPlayback,
@@ -111,6 +120,8 @@ export {
111
120
  AgentPlayback,
112
121
  CAPTURE_EXCLUDE_SELECTOR,
113
122
  CAPTURE_OVERLAY_SELECTORS,
123
+ CONFORMANCE_BINARY_MIN_LENGTH,
124
+ ConformanceIds,
114
125
  EDITOR_CANVAS_TOOLS,
115
126
  EDITOR_MCP_TOOLS,
116
127
  EDITOR_PROMPT_TOOLS,
@@ -149,6 +160,7 @@ export {
149
160
  captureInputSchema,
150
161
  captureOutputSize,
151
162
  cloneElementWithStyles,
163
+ conformanceResult,
152
164
  connectToolBridge,
153
165
  createAgentPlayback,
154
166
  createCaptureTool,
@@ -172,6 +184,8 @@ export {
172
184
  locatePlaybackChrome,
173
185
  matchesEvalExpectation,
174
186
  memoryStyleStore,
187
+ normalizeConformanceValue,
188
+ omitConformancePaths,
175
189
  parseSkillFrontmatter,
176
190
  parseStyleDomains,
177
191
  playbackRectFromClient,
@@ -183,6 +197,8 @@ export {
183
197
  realPresenceClock,
184
198
  renderStyle,
185
199
  resolveCaptureRequest,
200
+ resolveConformanceArguments,
201
+ runConformanceScenario,
186
202
  runStyleChecks,
187
203
  runToolScript,
188
204
  searchTokens,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pixerate/editor",
3
- "version": "0.260.0",
3
+ "version": "0.262.0",
4
4
  "description": "UI-agnostic rich text and media editing core library",
5
5
  "author": "Pixerate",
6
6
  "license": "MIT",
@@ -109,6 +109,7 @@ the pitfalls, and uses the tools below.
109
109
  - **Give points a time `t`** (milliseconds, about 8..16 ms apart for natural speed) when using an ink or brush pen: velocity dynamics thin fast strokes. Without `t` there is no velocity effect.
110
110
  - **Tilt** (`altitude` near 0.3..0.6 radians with an `azimuth`) turns a pencil into broad side shading; upright points draw a fine line.
111
111
  - **Space points** about a third of the brush size apart or closer; the brush fills in dabs between them. Long smooth curves need more points than straight lines.
112
+ - **Brush geometry with `stroke_path`**: for clean curves, circles, outlines and lettering, give SVG path data and a `pressure` taper instead of hundreds of points; the brush keeps its grain and character. Send the shape as one path with several subpaths to keep it one undo step.
112
113
  - **Use `rotation: "stroke"`** for flat tips (pastel, charcoal, chisel marker) so the mark turns with the path; `fixed` for calligraphic nibs.
113
114
  - **Blending tools**:
114
115
  - `blender`: `strength` 0.3..0.6 for soft transitions, `distance` 0.2..0.5 (fraction of the tip) for how far colours travel. Keep `mixing: "pigment"` for painterly blends; `rgb` blends like a soft blur. Work along an edge in short strokes rather than over everything.
@@ -320,6 +321,7 @@ Listing, saving, sharing and previewing brushes are the brush library's tools (`
320
321
  | Tool | Use |
321
322
  | --- | --- |
322
323
  | `paint_stroke` | Paint one stroke through `points` (document px; `pressure` 0..1, `t` ms, `tiltX` / `tiltY` or `altitude` / `azimuth`, `twist`) with `brushId` (default the active brush), optional per-stroke `brush` facet changes (as `set_brush` takes), `color` or `paint` (a gradient for this stroke), `layerId`, `seed`, `snapToPerspective`. The symmetry guide adds its copies; a sampling tracing image supplies the colour when `color` is missing. Returns `layerId`, `bounds`, `dabs`, `strokeId` and, for brushes that pick up paint, `mixerLoad` (what the brush carries now). Refused on locked, hidden or group layers, with the fix in the message. |
324
+ | `stroke_path` | Brush SVG path data (`path`, document px; M, L, C, Q, A, Z…) with the active brush or `brushId` / `brush`, as if drawn along it by hand: each subpath one recorded stroke, sampled every `spacing` px (default 2), with a `pressure` profile spread along each subpath (`[0.2, 1, 0.2]` tapers both ends). One undo step. Returns `layerId`, `bounds`, `dabs` and `strokeIds` (for `replay_strokes`, `update_stroke`). Use it for clean curves, outlines of shapes and lettering guides instead of working out points; use `paint_stroke` when the marks need time or tilt. |
323
325
  | `list_strokes` | Read the recorded strokes, oldest first (default the last 100): id, layer, brush, colour, point count, seed, bounds, `live`. With `ids`, their points too; with `layerId`, one layer's. With `live: true`, the editable strokes of stroke layers as they are now, bottom first: the ids for the stroke layer tools. |
324
326
  | `get_live_stroke` | Read the stroke the user is painting right now (layer, brush, colour, samples so far; `live: false` when none). For painting along with the user; hosts stream the samples live. |
325
327
  | `stroke_at` | Read the top-most stroke of a stroke layer that painted the pixel at `x`, `y`, or null. Use it to pick one stroke among overlapping ones. |
@@ -39,7 +39,9 @@ This skill is the method. `pixerate-paint-editor` has the full tool reference.
39
39
  reference.
40
40
  **Check:** `list_strokes` shows pencil strokes on the Sketch layer.
41
41
  3. **Ink.** `add_layer` "Ink" above it; `ink-pen` or `brush-pen`, dark colour, long strokes with
42
- points that carry `pressure` (lighter at the ends) and `t` for speed dynamics.
42
+ points that carry `pressure` (lighter at the ends) and `t` for speed dynamics. For clean
43
+ geometric lines (curves, circles, panel borders) use `stroke_path` with SVG path data and a
44
+ `pressure` taper such as `[0.3, 1, 0.3]`.
43
45
  **Check:** `pick_color` on a line is dark.
44
46
  4. **Hide the sketch.** `update_layer` the Sketch layer `visible: false` (or lower its `opacity`
45
47
  while inking, then hide it).
@@ -61,6 +63,7 @@ This skill is the method. `pixerate-paint-editor` has the full tool reference.
61
63
  | --- | --- |
62
64
  | Sketch | `pencil-hb`, light colour, own layer, hidden at the end |
63
65
  | Line art | `ink-pen` (even), `brush-pen` (swelling); own layer on top |
66
+ | Clean geometric lines (curves, circles, borders) | `stroke_path` with SVG path data and a `pressure` taper, on the Ink layer |
64
67
  | Flats | `marker` or a flat brush on a layer under the ink |
65
68
  | Patterned or textured flats (sky, gradient, galaxy) | `set_effect_paint` with a provider generator, then a flat dry brush on the Flats layer; `set_color` after |
66
69
  | Shadows | Clipped layer, `multiply` or `shadow`, a cool colour |
@@ -98,6 +101,7 @@ clipped: true }` → `set_brush` `airbrush` → paint the shadow side.
98
101
  - `set_paper`, `fill_layer`: the ground and backgrounds
99
102
  - `add_layer`, `update_layer`, `move_layer`, `remove_layer`: one layer per pass; hide, clip, blend
100
103
  - `set_brush`, `set_color`, `paint_stroke`, `replay_strokes`: sketch, ink, flats and shading
104
+ - `stroke_path`: clean geometric line art from SVG path data
101
105
  - `search_effects`, `describe_effect`, `set_effect_paint`: flats painted with a provider effect
102
106
  - `set_symmetry`, `set_perspective_guide`, `set_tracing_image`: construction guides
103
107
  - `undo_paint`: take back a step