@getsolara/solara.canvas
Version:
Optional canvas and image manipulation functionality for @getsolara/solara.js
29 lines • 1.54 kB
JavaScript
module.exports = {
name: "$createCanvas",
description: "Creates a new canvas context for drawing. Args: width;height",
takesBrackets: true,
execute: async (context, args) => {
if (context.client.canvasInitialized === false) {
return "[Error: $createCanvas requires canvas features to be enabled. Ensure @getsolara/solara.canvas is installed and configured correctly.]";
}
if (args.length < 2) return "[Error: $createCanvas requires width and height]";
const width = parseInt(args[0], 10);
const height = parseInt(args[1], 10);
if (isNaN(width) || isNaN(height) || width <= 0 || height <= 0 || width > 4000 || height > 4000) {
return "[Error: Invalid canvas dimensions for $createCanvas (1-4000 for width/height)]";
}
try {
const { createCanvas } = require('canvas');
context.canvas = createCanvas(width, height);
context.canvasContext = context.canvas.getContext('2d');
return "";
} catch (e) {
if (e.code === 'MODULE_NOT_FOUND' && e.message.includes('canvas')) {
console.error("Solara.canvas ($createCanvas): 'canvas' module not found. This is a dependency of @getsolara/solara.canvas.");
return "[Error: $createCanvas - canvas module missing.]";
}
console.error("Solara.canvas Error ($createCanvas):", e);
return `[Error creating canvas: ${e.message}]`;
}
}
};