Shapes Library Plus

hello! i’ve created my own version of the shapes library, because while the current one is amazing, it has some limitations that are setting it back, especially for what I’m using it for. you can find the library here:

and the changelog here:


Shapes Library Plus

By MCTX Studios

V.1

Changes Overview

  • Redid the entire library so that shapes are defined purely by paths
    • This lets the user do multiple stacked transformations on a shape or group of shapes, unlike the original library where you couldn’t stack transformations in the way you would expect geometrically
  • Added new shape, curve to point with offset and bounds
  • Added ‘flip’ property to overlay operations to control which of the input shapes is moved in the overlay
  • Un-hid the layer and move shape blocks, even though using ‘move’ is considered to be an internal-only block by Jens :)
  • Added new transformation, skew, which skews a shape by an amount in the desired direction
  • Changed handling of pinholes and bounding boxes; The pinhole of a bounding box of a compound shape will now be in the center of the bounding box
  • Changed handling of rotate and scale transforms; They now rotate around the pinhole of the main shape, so inputting a compound shape rotates it’s children around it’s pinhole, rather than the children’s pinholes individually. Similarly for scale, the parent’s pinhole is treated as the center of dilation
  • Fixed the initialize shapes block

V.2

Changes Overview

  • Added new block, wrap around _ fidelity _ rays _ length _ step _, which uses raycasts to get the edges of an input costume and returns a list of points that fall along those edges (including cutouts)
  • Added new block, normalize _ to paths max merge threshold _ step _, which takes an input list of points and returns a list containing a path (or multiple paths) of the points in order, merged together based on a distance threshold

V.3

Changes Overview

  • Added support for my better JS block via _to_string methods in each object

Known Issues

  • normalize points to paths is a bit buggy; contributions and reports would help!

Planned Features

None currently!


please use this topic to suggest features and report bugs, and just feedback in general!

Could I suggest changing the look of your version so the blocks are easy to recognise as not being the official version to avoid any future confusion in case anyone other than you uses them in a project.

Maybe - prefix all your blocks with a symbol of some sort or mctx and use different category colours and different names for them

alright, i darkened the category colors and renamed them, plus a ‘useless’ credit block in the Shapes Plus category

added unique symbols to each block’s label
REVERTED bc it broke the library i guess

I think it’s really cool!

I agree

Shapes Library Plus V.2

Changes Overview

  • Added new block, wrap around _ fidelity _ rays _ length _ step _, which uses raycasts to get the edges of an input costume and returns a list of points that fall along those edges (including cutouts)
  • Added new block, normalize _ to paths max merge threshold _ step _, which takes an input list of points and returns a list containing a path (or multiple paths) of the points in order, merged together based on a distance threshold

Known Issues

  • normalize points to paths is a bit buggy; contributions and reports would help!

That’s a really genius project!

Shapes Library Plus V.3

Changes Overview

  • Added support for my better JS block via _to_string methods in each object

Known Issues

  • normalize points to paths is a bit buggy; contributions and reports would help!