1 Commits

Author SHA1 Message Date
7f33e4ad92 feat: allow 3D Cursor as align source in legacy align operator.
- allow 3D Cursor as align source in legacy align operator.
- add icon for legacy align.
2025-08-01 14:02:26 +08:00
6 changed files with 22 additions and 56 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -1,12 +1,4 @@
[
// One of Chris suggested more vanilla prototypes.
// This prototype represent a half of a normal, sink or double ribbon border,
// which looks like trapezoid from top to bottom.
//
// The bottom edge of trapezoid is from origin to +X with `long_edge_length` length.
// The length of top edge is `short_edge_length` and it just like moving bottom edge to +Y direction.
// The offset between top edge and bottom edge is always 2.5.
// The distance from the closest point of top edge, to Y axis is `short_edge_offset`.
{
"identifier": "cv_trapezoid_side",
"showcase": null,
@ -161,11 +153,6 @@
}
]
},
// Same as previous one, but looks like triangle from top to bottom.
//
// The bottom edge is from origin to +X with `edge_length` length.
// The tip is going to +Y.
// The height of this triangle is always 2.5 and the offset between tip and Y axis is `tip_offset`.
{
"identifier": "cv_triangle_side",
"showcase": null,

View File

@ -1,5 +1,4 @@
[
// The shared template prototype used by all floor terminals.
{
"identifier": "raw_floor_terminal",
"showcase": null,
@ -23,30 +22,26 @@
"faces": [],
"instances": [
{
"identifier": "cv_trapezoid_side",
"identifier": "cv_triangle_side",
"skip": "False",
"params": {
"long_edge_length": "5.0",
"short_edge_offset": "2.5",
"short_edge_length": "2.5",
"edge_length": "2.5",
"tip_offset": "2.5",
"height": "height",
"face": "(face[0], False, False, face[3], face[4], False)",
"is_sink": "is_sink",
"is_ribbon": "False"
"face": "(face[0], False, False, face[3], face[4], None)",
"is_sink": "is_sink"
},
"transform": "ident()"
},
{
"identifier": "cv_trapezoid_side",
"identifier": "cv_triangle_side",
"skip": "False",
"params": {
"long_edge_length": "5.0",
"short_edge_offset": "2.5",
"short_edge_length": "2.5",
"edge_length": "2.5",
"tip_offset": "2.5",
"height": "height",
"face": "(face[0], False, False, face[3], face[5], False)",
"is_sink": "is_sink",
"is_ribbon": "False"
"face": "(face[0], False, False, face[3], face[5], None)",
"is_sink": "is_sink"
},
"transform": "move(0, 5, 0) @ scale(1, -1, 1)"
},
@ -66,7 +61,7 @@
"identifier": "floor_rectangle_bottom",
"skip": "not face[1]",
"params": {
"length": "5",
"length": "2.5",
"width": "5"
},
"transform": "move(0, 0, -height)"

View File

@ -166,50 +166,34 @@
"transform": "rot(0, 0, 90) @ scale(1, -1, 1)"
},
{
"identifier": "cv_trapezoid_side",
"identifier": "cv_triangle_side",
"skip": "False",
"params": {
"long_edge_length": "5.0",
"short_edge_offset": "2.5",
"short_edge_length": "2.5",
"edge_length": "2.5",
"tip_offset": "2.5",
"height": "height",
"face": "(face[0], False, False, face[3], face[4], False)",
"is_sink": "True",
"is_ribbon": "False"
"face": "(face[0], False, False, face[3], face[4], None)",
"is_sink": "True"
},
"transform": "ident()"
},
{
"identifier": "cv_trapezoid_side",
"identifier": "cv_triangle_side",
"skip": "False",
"params": {
"long_edge_length": "5.0",
"short_edge_offset": "2.5",
"short_edge_length": "2.5",
"edge_length": "2.5",
"tip_offset": "2.5",
"height": "height",
"face": "(face[0], False, False, face[3], face[5], False)",
"is_sink": "True",
"is_ribbon": "False"
},
"transform": "move(0, width + 5, 0) @ scale(1, -1, 1)"
},
{
"identifier": "floor_flat",
"skip": "False",
"params": {
"height": "height",
"length": "2.5",
"width": "width",
"face": "(face[0], False, False, face[3], False, False)",
"face": "(face[0], False, False, face[3], face[5], None)",
"is_sink": "True"
},
"transform": "move(2.5, 2.5, 0)"
"transform": "move(0, width + 5, 0) @ scale(1, -1, 1)"
},
{
"identifier": "floor_rectangle_bottom",
"skip": "not face[1]",
"params": {
"length": "5",
"length": "2.5",
"width": "5 + width"
},
"transform": "move(0, 0, -height)"