UNPKG

peepee

Version:

Visual Programming Language Where You Connect Ports Of One EventEmitter to Ports Of Another EventEmitter

267 lines (249 loc) 6.77 kB
{ "id": "basic/pass-through", "version": "1.2.3", "description": "Applies various image filters with real-time preview and adjustable parameters", "author": { "name": "John Doe", "email": "john@example.com", "url": "https://example.com" }, "license": "MIT", "repository": { "type": "git", "url": "https://github.com/myorg/image-filter-node.git" }, "keywords": ["image", "filter", "processing", "graphics"], "category": "image-processing", "subcategory": "filters", "node": { "id": "image-filter", "displayName": "Image Filter", "icon": "filter", "color": "#4A90E2", "backgroundColor": "#F5F7FA", "borderColor": "#E1E8ED", "width": 200, "height": 120, "resizable": true, "collapsible": true, "tags": ["image", "filter", "effect"], "documentation": { "description": "Advanced image filtering node with support for multiple filter types and real-time preview", "examples": [ { "title": "Basic Blur Effect", "description": "Apply a simple blur filter to an input image", "config": { "filterType": "blur", "intensity": 0.5 } } ], "url": "https://docs.example.com/nodes/image-filter" }, "execution": { "runtime": "javascript", "entry": "index.js", "async": true, "timeout": 30000, "memoryLimit": "256MB", "cpuLimit": "1000m" }, "inputs": [ { "id": "image", "name": "Image Input", "description": "Source image to apply filter to", "type": "required", "dataType": "image/*", "mimeTypes": ["image/png", "image/jpeg", "image/webp", "image/svg+xml"], "position": "left", "offset": 30, "color": "#FF6B6B", "shape": "circle", "allowMultiple": false, "defaultValue": null, "validation": { "required": true, "maxSize": "10MB", "minResolution": "1x1", "maxResolution": "8192x8192" } }, { "id": "mask", "name": "Mask", "description": "Optional mask to limit filter application area", "type": "optional", "dataType": "image/mask", "mimeTypes": ["image/png", "image/jpeg"], "position": "left", "offset": 70, "color": "#4ECDC4", "shape": "square", "allowMultiple": false, "defaultValue": null, "validation": { "required": false, "channels": ["grayscale", "alpha"] } }, { "id": "trigger", "name": "Process", "description": "Trigger to start processing", "type": "trigger", "dataType": "application/x-trigger", "mimeTypes": ["application/x-trigger"], "position": "left", "offset": 110, "color": "#95E1D3", "shape": "triangle", "allowMultiple": false } ], "outputs": [ { "id": "output", "name": "Filtered Image", "description": "Processed image with applied filter", "dataType": "image/*", "mimeTypes": ["image/png", "image/jpeg", "image/webp"], "position": "right", "offset": 30, "color": "#FF6B6B", "shape": "circle", "metadata": { "preserveFormat": true, "quality": "original" } }, { "id": "preview", "name": "Preview", "description": "Low-resolution preview for real-time feedback", "dataType": "image/preview", "mimeTypes": ["image/jpeg"], "position": "right", "offset": 70, "color": "#FFA07A", "shape": "circle", "metadata": { "maxResolution": "512x512", "quality": 0.7 } }, { "id": "debug", "name": "Debug Info", "description": "Processing statistics and debug information", "dataType": "application/json", "mimeTypes": ["application/json"], "position": "right", "offset": 110, "color": "#DDA0DD", "shape": "hexagon" } ], "properties": [ { "name": "strokeColor", "type": "color", "label": "Stroke Color", "description": "The color of the station outline, used for visual distinction.", "defaultValue": "orange", "ports": [ { "id": "strokeColor", "name": "strokeColor" } ] }, { "name": "fillColor", "type": "color", "label": "Fill Color", "description": "The color of the station.", "defaultValue": "orange", "ports": [ { "id": "fillColor", "name": "fillColor" } ] } ], "events": [ { "id": "onProcessStart", "name": "Processing Started", "description": "Fired when image processing begins", "dataType": "application/json", "payload": { "timestamp": "number", "inputSize": "object", "filterType": "string" } }, { "id": "onProcessComplete", "name": "Processing Complete", "description": "Fired when image processing finishes", "dataType": "application/json", "payload": { "timestamp": "number", "processingTime": "number", "outputSize": "object" } }, { "id": "onError", "name": "Processing Error", "description": "Fired when an error occurs during processing", "dataType": "application/json", "payload": { "timestamp": "number", "error": "string", "errorCode": "string" } } ], "dependencies": { "runtime": { "canvas-api": "^2.0.0", "image-processing": "^1.5.0" }, "peer": { "visual-programming-engine": ">=3.0.0" } }, "capabilities": { "streaming": true, "parallelProcessing": false, "webWorker": true, "gpu": false, "fileSystem": false, "network": false }, "metadata": { "nodeVersion": "2.1.0", "apiVersion": "1.0", "created": "2024-01-15T10:30:00Z", "updated": "2024-03-20T14:45:00Z", "deprecated": false, "experimental": false, "stability": "stable" } }, "files": { "main": "index.js", "types": "types/index.d.ts", "icon": "assets/icon.svg", "preview": "assets/preview.png", "documentation": "README.md" }, "engines": { "visualProgramming": ">=3.0.0", "node": ">=16.0.0" } }