Merge pull request #5748 from ynput/enhancement/Houdini_rearrange-ayon-houdini-settings-files

This commit is contained in:
Milan Kolar 2023-10-27 08:28:25 +02:00 committed by GitHub
commit 069fc67fe0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 435 additions and 333 deletions

View file

@ -25,6 +25,12 @@
},
"shelves": [],
"create": {
"CreateAlembicCamera": {
"enabled": true,
"default_variants": [
"Main"
]
},
"CreateArnoldAss": {
"enabled": true,
"default_variants": [
@ -32,6 +38,66 @@
],
"ext": ".ass"
},
"CreateArnoldRop": {
"enabled": true,
"default_variants": [
"Main"
]
},
"CreateCompositeSequence": {
"enabled": true,
"default_variants": [
"Main"
]
},
"CreateHDA": {
"enabled": true,
"default_variants": [
"Main"
]
},
"CreateKarmaROP": {
"enabled": true,
"default_variants": [
"Main"
]
},
"CreateMantraROP": {
"enabled": true,
"default_variants": [
"Main"
]
},
"CreatePointCache": {
"enabled": true,
"default_variants": [
"Main"
]
},
"CreateBGEO": {
"enabled": true,
"default_variants": [
"Main"
]
},
"CreateRedshiftProxy": {
"enabled": true,
"default_variants": [
"Main"
]
},
"CreateRedshiftROP": {
"enabled": true,
"default_variants": [
"Main"
]
},
"CreateReview": {
"enabled": true,
"default_variants": [
"Main"
]
},
"CreateStaticMesh": {
"enabled": true,
"default_variants": [
@ -45,31 +111,13 @@
"UCX"
]
},
"CreateAlembicCamera": {
"CreateUSD": {
"enabled": true,
"default_variants": [
"Main"
]
},
"CreateCompositeSequence": {
"enabled": true,
"default_variants": [
"Main"
]
},
"CreatePointCache": {
"enabled": true,
"default_variants": [
"Main"
]
},
"CreateRedshiftROP": {
"enabled": true,
"default_variants": [
"Main"
]
},
"CreateRemotePublish": {
"CreateUSDRender": {
"enabled": true,
"default_variants": [
"Main"
@ -81,26 +129,8 @@
"Main"
]
},
"CreateUSD": {
"enabled": false,
"default_variants": [
"Main"
]
},
"CreateUSDModel": {
"enabled": false,
"default_variants": [
"Main"
]
},
"USDCreateShadingWorkspace": {
"enabled": false,
"default_variants": [
"Main"
]
},
"CreateUSDRender": {
"enabled": false,
"CreateVrayROP": {
"enabled": true,
"default_variants": [
"Main"
]
@ -110,6 +140,31 @@
"CollectRopFrameRange": {
"use_asset_handles": true
},
"ValidateContainers": {
"enabled": true,
"optional": true,
"active": true
},
"ValidateMeshIsStatic": {
"enabled": true,
"optional": true,
"active": true
},
"ValidateReviewColorspace": {
"enabled": true,
"optional": true,
"active": true
},
"ValidateSubsetName": {
"enabled": true,
"optional": true,
"active": true
},
"ValidateUnrealStaticMeshName": {
"enabled": false,
"optional": true,
"active": true
},
"ValidateWorkfilePaths": {
"enabled": true,
"optional": true,
@ -121,31 +176,6 @@
"$HIP",
"$JOB"
]
},
"ValidateReviewColorspace": {
"enabled": true,
"optional": true,
"active": true
},
"ValidateContainers": {
"enabled": true,
"optional": true,
"active": true
},
"ValidateSubsetName": {
"enabled": true,
"optional": true,
"active": true
},
"ValidateMeshIsStatic": {
"enabled": true,
"optional": true,
"active": true
},
"ValidateUnrealStaticMeshName": {
"enabled": false,
"optional": true,
"active": true
}
}
}

View file

@ -4,6 +4,16 @@
"key": "create",
"label": "Creator plugins",
"children": [
{
"type": "schema_template",
"name": "template_create_plugin",
"template_data": [
{
"key": "CreateAlembicCamera",
"label": "Create Alembic Camera"
}
]
},
{
"type": "dict",
"collapsible": true,
@ -39,6 +49,52 @@
]
},
{
"type": "schema_template",
"name": "template_create_plugin",
"template_data": [
{
"key": "CreateArnoldRop",
"label": "Create Arnold ROP"
},
{
"key": "CreateCompositeSequence",
"label": "Create Composite (Image Sequence)"
},
{
"key": "CreateHDA",
"label": "Create Houdini Digital Asset"
},
{
"key": "CreateKarmaROP",
"label": "Create Karma ROP"
},
{
"key": "CreateMantraROP",
"label": "Create Mantra ROP"
},
{
"key": "CreatePointCache",
"label": "Create PointCache (Abc)"
},
{
"key": "CreateBGEO",
"label": "Create PointCache (Bgeo)"
},
{
"key": "CreateRedshiftProxy",
"label": "Create Redshift Proxy"
},
{
"key": "CreateRedshiftROP",
"label": "Create Redshift ROP"
},
{
"key": "CreateReview",
"label": "Create Review"
}
]
},
{
"type": "dict",
"collapsible": true,
@ -75,44 +131,20 @@
"name": "template_create_plugin",
"template_data": [
{
"key": "CreateAlembicCamera",
"label": "Create Alembic Camera"
"key": "CreateUSD",
"label": "Create USD (experimental)"
},
{
"key": "CreateCompositeSequence",
"label": "Create Composite (Image Sequence)"
},
{
"key": "CreatePointCache",
"label": "Create Point Cache"
},
{
"key": "CreateRedshiftROP",
"label": "Create Redshift ROP"
},
{
"key": "CreateRemotePublish",
"label": "Create Remote Publish"
"key": "CreateUSDRender",
"label": "Create USD render (experimental)"
},
{
"key": "CreateVDBCache",
"label": "Create VDB Cache"
},
{
"key": "CreateUSD",
"label": "Create USD"
},
{
"key": "CreateUSDModel",
"label": "Create USD Model"
},
{
"key": "USDCreateShadingWorkspace",
"label": "Create USD Shading Workspace"
},
{
"key": "CreateUSDRender",
"label": "Create USD Render"
"key": "CreateVrayROP",
"label": "Create VRay ROP"
}
]
}

View file

@ -25,6 +25,36 @@
}
]
},
{
"type": "label",
"label": "Validators"
},
{
"type": "schema_template",
"name": "template_publish_plugin",
"template_data": [
{
"key": "ValidateContainers",
"label": "Validate Containers"
},
{
"key": "ValidateMeshIsStatic",
"label": "Validate Mesh is Static"
},
{
"key": "ValidateReviewColorspace",
"label": "Validate Review Colorspace"
},
{
"key": "ValidateSubsetName",
"label": "Validate Subset Name"
},
{
"key": "ValidateUnrealStaticMeshName",
"label": "Validate Unreal Static Mesh Name"
}
]
},
{
"type": "dict",
"collapsible": true,
@ -56,32 +86,6 @@
"object_type": "text"
}
]
},
{
"type": "schema_template",
"name": "template_publish_plugin",
"template_data": [
{
"key": "ValidateReviewColorspace",
"label": "Validate Review Colorspace"
},
{
"key": "ValidateContainers",
"label": "ValidateContainers"
},
{
"key": "ValidateSubsetName",
"label": "Validate Subset Name"
},
{
"key": "ValidateMeshIsStatic",
"label": "Validate Mesh is Static"
},
{
"key": "ValidateUnrealStaticMeshName",
"label": "Validate Unreal Static Mesh Name"
}
]
}
]
}

View file

@ -40,6 +40,10 @@
"object_type": {
"type": "dict",
"children": [
{
"type": "label",
"label": "Name and Script Path are mandatory."
},
{
"type": "text",
"key": "label",
@ -68,4 +72,4 @@
}
]
}
}
}

View file

@ -1,5 +1,4 @@
from pydantic import Field
from ayon_server.settings import BaseSettingsModel
@ -35,52 +34,110 @@ class CreateStaticMeshModel(BaseSettingsModel):
class CreatePluginsModel(BaseSettingsModel):
CreateArnoldAss: CreateArnoldAssModel = Field(
default_factory=CreateArnoldAssModel,
title="Create Alembic Camera")
# "-" is not compatible in the new model
CreateStaticMesh: CreateStaticMeshModel = Field(
default_factory=CreateStaticMeshModel,
title="Create Static Mesh"
)
CreateAlembicCamera: CreatorModel = Field(
default_factory=CreatorModel,
title="Create Alembic Camera")
CreateArnoldAss: CreateArnoldAssModel = Field(
default_factory=CreateArnoldAssModel,
title="Create Arnold Ass")
CreateArnoldRop: CreatorModel = Field(
default_factory=CreatorModel,
title="Create Arnold ROP")
CreateCompositeSequence: CreatorModel = Field(
default_factory=CreatorModel,
title="Create Composite Sequence")
title="Create Composite (Image Sequence)")
CreateHDA: CreatorModel = Field(
default_factory=CreatorModel,
title="Create Houdini Digital Asset")
CreateKarmaROP: CreatorModel = Field(
default_factory=CreatorModel,
title="Create Karma ROP")
CreateMantraROP: CreatorModel = Field(
default_factory=CreatorModel,
title="Create Mantra ROP")
CreatePointCache: CreatorModel = Field(
default_factory=CreatorModel,
title="Create Point Cache")
title="Create PointCache (Abc)")
CreateBGEO: CreatorModel = Field(
default_factory=CreatorModel,
title="Create PointCache (Bgeo)")
CreateRedshiftProxy: CreatorModel = Field(
default_factory=CreatorModel,
title="Create Redshift Proxy")
CreateRedshiftROP: CreatorModel = Field(
default_factory=CreatorModel,
title="Create RedshiftROP")
CreateRemotePublish: CreatorModel = Field(
title="Create Redshift ROP")
CreateReview: CreatorModel = Field(
default_factory=CreatorModel,
title="Create Remote Publish")
title="Create Review")
# "-" is not compatible in the new model
CreateStaticMesh: CreateStaticMeshModel = Field(
default_factory=CreateStaticMeshModel,
title="Create Static Mesh")
CreateUSD: CreatorModel = Field(
default_factory=CreatorModel,
title="Create USD (experimental)")
CreateUSDRender: CreatorModel = Field(
default_factory=CreatorModel,
title="Create USD render (experimental)")
CreateVDBCache: CreatorModel = Field(
default_factory=CreatorModel,
title="Create VDB Cache")
CreateUSD: CreatorModel = Field(
CreateVrayROP: CreatorModel = Field(
default_factory=CreatorModel,
title="Create USD")
CreateUSDModel: CreatorModel = Field(
default_factory=CreatorModel,
title="Create USD model")
USDCreateShadingWorkspace: CreatorModel = Field(
default_factory=CreatorModel,
title="Create USD shading workspace")
CreateUSDRender: CreatorModel = Field(
default_factory=CreatorModel,
title="Create USD render")
title="Create VRay ROP")
DEFAULT_HOUDINI_CREATE_SETTINGS = {
"CreateAlembicCamera": {
"enabled": True,
"default_variants": ["Main"]
},
"CreateArnoldAss": {
"enabled": True,
"default_variants": ["Main"],
"ext": ".ass"
},
"CreateArnoldRop": {
"enabled": True,
"default_variants": ["Main"]
},
"CreateCompositeSequence": {
"enabled": True,
"default_variants": ["Main"]
},
"CreateHDA": {
"enabled": True,
"default_variants": ["Main"]
},
"CreateKarmaROP": {
"enabled": True,
"default_variants": ["Main"]
},
"CreateMantraROP": {
"enabled": True,
"default_variants": ["Main"]
},
"CreatePointCache": {
"enabled": True,
"default_variants": ["Main"]
},
"CreateBGEO": {
"enabled": True,
"default_variants": ["Main"]
},
"CreateRedshiftProxy": {
"enabled": True,
"default_variants": ["Main"]
},
"CreateRedshiftROP": {
"enabled": True,
"default_variants": ["Main"]
},
"CreateReview": {
"enabled": True,
"default_variants": ["Main"]
},
"CreateStaticMesh": {
"enabled": True,
"default_variants": [
@ -94,145 +151,20 @@ DEFAULT_HOUDINI_CREATE_SETTINGS = {
"UCX"
]
},
"CreateAlembicCamera": {
"enabled": True,
"default_variants": ["Main"]
},
"CreateCompositeSequence": {
"enabled": True,
"default_variants": ["Main"]
},
"CreatePointCache": {
"enabled": True,
"default_variants": ["Main"]
},
"CreateRedshiftROP": {
"enabled": True,
"default_variants": ["Main"]
},
"CreateRemotePublish": {
"enabled": True,
"default_variants": ["Main"]
},
"CreateVDBCache": {
"enabled": True,
"default_variants": ["Main"]
},
"CreateUSD": {
"enabled": False,
"default_variants": ["Main"]
},
"CreateUSDModel": {
"enabled": False,
"default_variants": ["Main"]
},
"USDCreateShadingWorkspace": {
"enabled": False,
"default_variants": ["Main"]
},
"CreateUSDRender": {
"enabled": False,
"default_variants": ["Main"]
},
}
# Publish Plugins
class ValidateWorkfilePathsModel(BaseSettingsModel):
enabled: bool = Field(title="Enabled")
optional: bool = Field(title="Optional")
node_types: list[str] = Field(
default_factory=list,
title="Node Types"
)
prohibited_vars: list[str] = Field(
default_factory=list,
title="Prohibited Variables"
)
class CollectRopFrameRangeModel(BaseSettingsModel):
"""Collect Frame Range
Disable this if you want the publisher to
ignore start and end handles specified in the
asset data for publish instances
"""
use_asset_handles: bool = Field(
title="Use asset handles")
class BasicValidateModel(BaseSettingsModel):
enabled: bool = Field(title="Enabled")
optional: bool = Field(title="Optional")
active: bool = Field(title="Active")
class PublishPluginsModel(BaseSettingsModel):
CollectRopFrameRange: CollectRopFrameRangeModel = Field(
default_factory=CollectRopFrameRangeModel,
title="Collect Rop Frame Range.",
section="Collectors"
)
ValidateWorkfilePaths: ValidateWorkfilePathsModel = Field(
default_factory=ValidateWorkfilePathsModel,
title="Validate workfile paths settings.")
ValidateReviewColorspace: BasicValidateModel = Field(
default_factory=BasicValidateModel,
title="Validate Review Colorspace.")
ValidateContainers: BasicValidateModel = Field(
default_factory=BasicValidateModel,
title="Validate Latest Containers.")
ValidateSubsetName: BasicValidateModel = Field(
default_factory=BasicValidateModel,
title="Validate Subset Name.")
ValidateMeshIsStatic: BasicValidateModel = Field(
default_factory=BasicValidateModel,
title="Validate Mesh is Static.")
ValidateUnrealStaticMeshName: BasicValidateModel = Field(
default_factory=BasicValidateModel,
title="Validate Unreal Static Mesh Name.")
DEFAULT_HOUDINI_PUBLISH_SETTINGS = {
"CollectRopFrameRange": {
"use_asset_handles": True
},
"ValidateWorkfilePaths": {
"enabled": True,
"optional": True,
"node_types": [
"file",
"alembic"
],
"prohibited_vars": [
"$HIP",
"$JOB"
]
},
"ValidateReviewColorspace": {
"enabled": True,
"optional": True,
"active": True
},
"ValidateContainers": {
"enabled": True,
"optional": True,
"active": True
},
"ValidateSubsetName": {
"enabled": True,
"optional": True,
"active": True
},
"ValidateMeshIsStatic": {
"enabled": True,
"optional": True,
"active": True
},
"ValidateUnrealStaticMeshName": {
"enabled": False,
"optional": True,
"active": True
}
"CreateVDBCache": {
"enabled": True,
"default_variants": ["Main"]
},
"CreateVrayROP": {
"enabled": True,
"default_variants": ["Main"]
},
}

View file

@ -1,57 +1,19 @@
from pydantic import Field
from ayon_server.settings import (
BaseSettingsModel,
MultiplatformPathModel,
MultiplatformPathListModel,
)
from ayon_server.settings import BaseSettingsModel
from .general import (
GeneralSettingsModel,
DEFAULT_GENERAL_SETTINGS
)
from .imageio import HoudiniImageIOModel
from .publish_plugins import (
PublishPluginsModel,
from .shelves import ShelvesModel
from .create import (
CreatePluginsModel,
DEFAULT_HOUDINI_PUBLISH_SETTINGS,
DEFAULT_HOUDINI_CREATE_SETTINGS
)
class ShelfToolsModel(BaseSettingsModel):
name: str = Field(title="Name")
help: str = Field(title="Help text")
script: MultiplatformPathModel = Field(
default_factory=MultiplatformPathModel,
title="Script Path "
)
icon: MultiplatformPathModel = Field(
default_factory=MultiplatformPathModel,
title="Icon Path "
)
class ShelfDefinitionModel(BaseSettingsModel):
_layout = "expanded"
shelf_name: str = Field(title="Shelf name")
tools_list: list[ShelfToolsModel] = Field(
default_factory=list,
title="Shelf Tools"
)
class ShelvesModel(BaseSettingsModel):
_layout = "expanded"
shelf_set_name: str = Field(title="Shelfs set name")
shelf_set_source_path: MultiplatformPathListModel = Field(
default_factory=MultiplatformPathListModel,
title="Shelf Set Path (optional)"
)
shelf_definition: list[ShelfDefinitionModel] = Field(
default_factory=list,
title="Shelf Definitions"
)
from .publish import (
PublishPluginsModel,
DEFAULT_HOUDINI_PUBLISH_SETTINGS,
)
class HoudiniSettings(BaseSettingsModel):
@ -65,18 +27,16 @@ class HoudiniSettings(BaseSettingsModel):
)
shelves: list[ShelvesModel] = Field(
default_factory=list,
title="Houdini Scripts Shelves",
title="Shelves Manager",
)
publish: PublishPluginsModel = Field(
default_factory=PublishPluginsModel,
title="Publish Plugins",
)
create: CreatePluginsModel = Field(
default_factory=CreatePluginsModel,
title="Creator Plugins",
)
publish: PublishPluginsModel = Field(
default_factory=PublishPluginsModel,
title="Publish Plugins",
)
DEFAULT_VALUES = {

View file

@ -0,0 +1,103 @@
from pydantic import Field
from ayon_server.settings import BaseSettingsModel
# Publish Plugins
class CollectRopFrameRangeModel(BaseSettingsModel):
"""Collect Frame Range
Disable this if you want the publisher to
ignore start and end handles specified in the
asset data for publish instances
"""
use_asset_handles: bool = Field(
title="Use asset handles")
class ValidateWorkfilePathsModel(BaseSettingsModel):
enabled: bool = Field(title="Enabled")
optional: bool = Field(title="Optional")
node_types: list[str] = Field(
default_factory=list,
title="Node Types"
)
prohibited_vars: list[str] = Field(
default_factory=list,
title="Prohibited Variables"
)
class BasicValidateModel(BaseSettingsModel):
enabled: bool = Field(title="Enabled")
optional: bool = Field(title="Optional")
active: bool = Field(title="Active")
class PublishPluginsModel(BaseSettingsModel):
CollectRopFrameRange: CollectRopFrameRangeModel = Field(
default_factory=CollectRopFrameRangeModel,
title="Collect Rop Frame Range.",
section="Collectors"
)
ValidateContainers: BasicValidateModel = Field(
default_factory=BasicValidateModel,
title="Validate Latest Containers.",
section="Validators")
ValidateMeshIsStatic: BasicValidateModel = Field(
default_factory=BasicValidateModel,
title="Validate Mesh is Static.")
ValidateReviewColorspace: BasicValidateModel = Field(
default_factory=BasicValidateModel,
title="Validate Review Colorspace.")
ValidateSubsetName: BasicValidateModel = Field(
default_factory=BasicValidateModel,
title="Validate Subset Name.")
ValidateUnrealStaticMeshName: BasicValidateModel = Field(
default_factory=BasicValidateModel,
title="Validate Unreal Static Mesh Name.")
ValidateWorkfilePaths: ValidateWorkfilePathsModel = Field(
default_factory=ValidateWorkfilePathsModel,
title="Validate workfile paths settings.")
DEFAULT_HOUDINI_PUBLISH_SETTINGS = {
"CollectRopFrameRange": {
"use_asset_handles": True
},
"ValidateContainers": {
"enabled": True,
"optional": True,
"active": True
},
"ValidateMeshIsStatic": {
"enabled": True,
"optional": True,
"active": True
},
"ValidateReviewColorspace": {
"enabled": True,
"optional": True,
"active": True
},
"ValidateSubsetName": {
"enabled": True,
"optional": True,
"active": True
},
"ValidateUnrealStaticMeshName": {
"enabled": False,
"optional": True,
"active": True
},
"ValidateWorkfilePaths": {
"enabled": True,
"optional": True,
"node_types": [
"file",
"alembic"
],
"prohibited_vars": [
"$HIP",
"$JOB"
]
}
}

View file

@ -0,0 +1,37 @@
from pydantic import Field
from ayon_server.settings import (
BaseSettingsModel,
MultiplatformPathModel
)
class ShelfToolsModel(BaseSettingsModel):
"""Name and Script Path are mandatory."""
label: str = Field(title="Name")
script: str = Field(title="Script Path")
icon: str = Field("", title="Icon Path")
help: str = Field("", title="Help text")
class ShelfDefinitionModel(BaseSettingsModel):
_layout = "expanded"
shelf_name: str = Field(title="Shelf name")
tools_list: list[ShelfToolsModel] = Field(
default_factory=list,
title="Shelf Tools"
)
class ShelvesModel(BaseSettingsModel):
_layout = "expanded"
shelf_set_name: str = Field("", title="Shelfs set name")
shelf_set_source_path: MultiplatformPathModel = Field(
default_factory=MultiplatformPathModel,
title="Shelf Set Path (optional)"
)
shelf_definition: list[ShelfDefinitionModel] = Field(
default_factory=list,
title="Shelf Definitions"
)

View file

@ -1 +1 @@
__version__ = "0.1.6"
__version__ = "0.2.6"