Merge branch 'develop' into enhancement/product-name-template-settings

This commit is contained in:
Jakub Trllo 2025-12-17 13:40:32 +01:00 committed by GitHub
commit 963e11e407
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 84 additions and 39 deletions

View file

@ -74,13 +74,35 @@ class CollectFramesFixDefModel(BaseSettingsModel):
)
def usd_contribution_layer_types():
return [
{"value": "asset", "label": "Asset"},
{"value": "shot", "label": "Shot"},
]
class ContributionLayersModel(BaseSettingsModel):
_layout = "compact"
name: str = SettingsField(title="Name")
order: str = SettingsField(
name: str = SettingsField(
default="",
regex="[A-Za-z0-9_-]+",
title="Name")
scope: list[str] = SettingsField(
# This should actually be returned from a callable to `default_factory`
# because lists are mutable. However, the frontend can't interpret
# the callable. It will fail to apply it as the default. Specifying
# this default directly did not show any ill side effects.
default=["asset", "shot"],
title="Scope",
min_items=1,
enum_resolver=usd_contribution_layer_types)
order: int = SettingsField(
default=0,
title="Order",
description="Higher order means a higher strength and stacks the "
"layer on top.")
description=(
"Higher order means a higher strength and stacks the layer on top."
)
)
class CollectUSDLayerContributionsProfileModel(BaseSettingsModel):
@ -1382,17 +1404,17 @@ DEFAULT_PUBLISH_VALUES = {
"enabled": True,
"contribution_layers": [
# Asset layers
{"name": "model", "order": 100},
{"name": "assembly", "order": 150},
{"name": "groom", "order": 175},
{"name": "look", "order": 200},
{"name": "rig", "order": 300},
{"name": "model", "order": 100, "scope": ["asset"]},
{"name": "assembly", "order": 150, "scope": ["asset"]},
{"name": "groom", "order": 175, "scope": ["asset"]},
{"name": "look", "order": 200, "scope": ["asset"]},
{"name": "rig", "order": 300, "scope": ["asset"]},
# Shot layers
{"name": "layout", "order": 200},
{"name": "animation", "order": 300},
{"name": "simulation", "order": 400},
{"name": "fx", "order": 500},
{"name": "lighting", "order": 600},
{"name": "layout", "order": 200, "scope": ["shot"]},
{"name": "animation", "order": 300, "scope": ["shot"]},
{"name": "simulation", "order": 400, "scope": ["shot"]},
{"name": "fx", "order": 500, "scope": ["shot"]},
{"name": "lighting", "order": 600, "scope": ["shot"]},
],
"profiles": [
{