Add comprehensive tests for image processing nodes and refactor node imports
- Introduced new test files for image layer, image plane, normal scale, object normal rotation, shadeless, and temporary attributes. - Implemented tests to validate the behavior of alpha curves, depth layers, and normal scales in various rendering engines. - Refactored import paths for node groups to align with the new directory structure. - Added checks for temporary attribute lifetimes and ensured proper cleanup without warnings. - Enhanced CLI commands to require the Blender group and validate the presence of generated node assets before packaging. - Updated packaging scripts to enforce the existence of necessary assets, preventing build failures.
This commit is contained in:
@@ -35,6 +35,15 @@ PLATFORM_CONFIGS = {
|
||||
PLATFORMS = tuple(PLATFORM_CONFIGS)
|
||||
|
||||
|
||||
def require_node_asset():
|
||||
"""Fail before packaging when the generated node asset is absent."""
|
||||
asset_path = SOURCE_DIR / "assets" / "O_AnyImage.blend"
|
||||
if not asset_path.is_file():
|
||||
raise RuntimeError(
|
||||
"Node asset is missing; run: uv run --group blender node-group build"
|
||||
)
|
||||
|
||||
|
||||
def project_dependencies():
|
||||
"""Return Extension wheel requirements declared by the project."""
|
||||
project = tomllib.loads(
|
||||
@@ -171,6 +180,7 @@ def manifest_for_platform(platform, wheels):
|
||||
|
||||
|
||||
def _build_extension(platform, wheels):
|
||||
require_node_asset()
|
||||
wheels = extension_wheels(wheels)
|
||||
manifest_text = manifest_for_platform(platform, wheels)
|
||||
manifest = tomllib.loads(manifest_text)
|
||||
|
||||
Reference in New Issue
Block a user