Add new node asset scripts for geometry and shader operations

- Implemented `build_mesh_plane.py` to create a geometry node group for mesh planes with customizable parameters.
- Created `build_shadeless.py` for a shader node group that displays color without scene lighting while preserving shadows and reflections.
- Added `validate.py` to validate the integrity of the newly created node groups and their inputs.
- Introduced `validate_cutout.py` to ensure the functionality of cutout node groups and their dependencies.
- Developed `validate_mesh_plane.py` to test the mesh plane creation and its modifier settings.
This commit is contained in:
2026-08-30 00:17:29 +08:00
parent 7d39fe8c5e
commit 32bcd45d7b
168 changed files with 7213 additions and 13121 deletions

View File

@@ -8,8 +8,8 @@ import bpy
SOURCE_ROOT = Path(__file__).parents[1] / "src"
sys.path.insert(0, str(SOURCE_ROOT))
from anyimage.operators import cutout, mesh
from anyimage.operators.image_edit.mask import ImageMaskGesture
from anyimage.operators.common.image_gesture import ImageMaskGesture
from anyimage.operators.cutout_tool import selection_tool as cutout
class Pie:
@@ -54,10 +54,10 @@ def test_cutout_pie_uses_four_semantic_shapes_in_cardinal_order():
cutout._open_shape_pie(context, object(), source, ((0, 0), (10, 0), (0, 10)))
assert [call[2].shape for call in window_manager.pie.calls] == [
mesh.CUTOUT,
mesh.BALLOON,
mesh.DEPTH_BALLOON,
mesh.DEPTH_SURFACE,
"CUTOUT",
"BALLOON",
"DEPTH_BALLOON",
"DEPTH_SURFACE",
]
assert [call[1]["text"] for call in window_manager.pie.calls] == [
"Surface",