New Rewrite!

Each block has an target and an type and an spec and an id but the id isn’t important the type determines the type of block like Motion/Move now the spec determines what’s on the block like inputs like number input would be %n and %s is string and the target is which type of sprite it effects like sprite or stage

And how they do stuff they check if an block is an certain type and if it is then it evals the reported script

Do you want to do it that way or do you want to use prototypes if you want it to be fast then use eval or prototypes

Also if you want me to add anything then just send me url and I’ll add it

:grinning:.

I used p5.js for an challenge you could fork my project and see how it works then build off of it!

Do you want too?

Do you want to?

after i finish my project

Click!?

yeah

That’s what I’m talking about!

Also If you want it fast use eval and prototypes

Also when you feel that you are on beta or ready then give me project url I can edit it!

Also you could build your own library using ES syntax and DSL and IIFE

it's probably going to be a while until i'm done, for now here's a block mockup i made when i started the project
image

WHOA is that what you have so far or like what you want?

like... halfway inbetween. those aren't real blocks, but they're rendered using the same html&css that the final blocks will use.

I can give you images for each block but definitely use p5.js super better I think for the body you might want an rect(0, 0, 20, 10) or 10, 20 and for the little reporters use
function setup() {
createCanvas(400, 400);
}

function draw() {
background(220);

// Set ellipse mode to center
ellipseMode(CENTER);

// Draw oval with flat top and bottom
drawFlatOval(width / 2, height / 2, 100, 200);
}

function drawFlatOval(x, y, w, h) {
beginShape();

// Calculate control points
let curveAmt = 10; // Adjust this value for the desired flatness
let x0 = x - w / 2;
let x1 = x + w / 2;
let y0 = y - h / 2;
let y1 = y + h / 2 - curveAmt;
let deltaY = h / 2 - curveAmt;

// Draw the oval
vertex(x0, y);
bezierVertex(x0, y0, x1, y0, x1, y);
bezierVertex(x1, y + deltaY, x0, y + deltaY, x0, y);

endShape();
}

Wait that code doesn’t work try this function setup() {
createCanvas(400, 400);
}

function draw() {
background(220);

// Set ellipse mode to center
ellipseMode(CENTER);

// Draw oval with rounded top and bottom, flat on left and right
drawRoundedOval(width / 2, height / 2, 100, 200);
}

function drawRoundedOval(x, y, w, h) {
// Draw the rounded top part
arc(x, y - h / 2, w, h, PI, TWO_PI);

// Draw the flat middle part
rect(x - w / 2, y - h / 2, w, h);

// Draw the rounded bottom part
arc(x, y + h / 2, w, h, 0, PI);
}