{"plugins_data": [{"id": "a3aea2f0-0da0-4ff3-b3fa-e6e3d6fff272", "name": "CollectBlenderCurrentFile", "label": "Blender Current File", "order": -0.5, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/collect_current_file.py", "docstring": "Inject the current working file into context", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [], "process_time": 0.1423358917236328}], "actions_data": [], "skipped": false, "passed": true}, {"id": "d466d046-c577-499e-85e1-5f58f5656129", "name": "CollectFromCreateContext", "label": "Collect From Create Context", "order": -0.5, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_from_create_context.py", "docstring": "Collect instances and data from CreateContext from new publishing.", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [{"type": "record", "msg": "collected instance: {'family': 'look', 'name': 'lookMain', 'publish': True, 'label': 'lookMain', 'folderPath': '/Assets/cube', 'task': 'lookdev', 'productName': 'lookMain', 'productBaseType': 'look', 'productType': 'look', 'families': ['look', 'look'], 'representations': [], 'thumbnailSource': None, 'id': 'ayon.create.instance', 'active': True, 'creator_identifier': 'io.ayon.creators.blender.look', 'variant': 'Main', 'instance_id': '2eb2fbfd-9bd9-418c-a86a-25286013d56a', 'creator_attributes': {}, 'publish_attributes': {'CollectBlenderInstanceData': {'collection_include_object_children_recursive': True}, 'ValidateNoLinkedObject': {'active': True}, 'IntegrateHeroVersion': {'active': True}}, 'transientData': {'instance_node': bpy.data.collections['cube_lookMain']}}", "name": "pyblish.CollectFromCreateContext", "lineno": 141, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_from_create_context.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_from_create_context.py", "msecs": 842.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "parsing data: OrderedDict({'id': 'ayon.create.instance', 'productType': 'look', 'productName': 'lookMain', 'productBaseType': 'look', 'active': True, 'creator_identifier': 'io.ayon.creators.blender.look', 'variant': 'Main', 'folderPath': '/Assets/cube', 'task': 'lookdev', 'instance_id': '2eb2fbfd-9bd9-418c-a86a-25286013d56a', 'families': ['look', 'look'], 'creator_attributes': {}, 'publish_attributes': {'CollectBlenderInstanceData': {'collection_include_object_children_recursive': True}, 'ValidateNoLinkedObject': {'active': True}, 'IntegrateHeroVersion': {'active': True}}})", "name": "pyblish.CollectFromCreateContext", "lineno": 142, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_from_create_context.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_from_create_context.py", "msecs": 842.0, "exc_info": null, "instance_id": null}], "process_time": 0.2593994140625}], "actions_data": [], "skipped": false, "passed": true}, {"id": "682c41cb-4095-4b64-b993-2f8c22f73216", "name": "CollectMachineName", "label": "Local Machine Name", "order": -0.5, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_machine_name.py", "docstring": null, "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [{"type": "record", "msg": "Machine name: dell-workstation", "name": "pyblish.CollectMachineName", "lineno": 21, "levelno": 20, "levelname": "INFO", "threadName": "MainThread", "filename": "collect_machine_name.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_machine_name.py", "msecs": 45.0, "exc_info": null, "instance_id": null}], "process_time": 0.12969970703125}], "actions_data": [], "skipped": false, "passed": true}, {"id": "f56d3fe0-fd55-42d0-9987-6bf80d362231", "name": "CollectDateTimeData", "label": "Collect DateTime data", "order": -0.5, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_datetime_data.py", "docstring": null, "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [], "process_time": 0.18095970153808594}], "actions_data": [], "skipped": false, "passed": true}, {"id": "d775e9df-f2bf-477a-acc4-6f41035d8a13", "name": "CollectCleanupKeys", "label": "Collect Cleanup Keys", "order": -0.5, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_cleanup_keys.py", "docstring": "Prepare keys for 'ExplicitCleanUp' plugin.", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [], "process_time": 0.07605552673339844}], "actions_data": [], "skipped": false, "passed": true}, {"id": "de1fe148-442e-4564-bf51-e7ec7f03ee2e", "name": "CollectHostName", "label": "Collect Host Name", "order": -0.5, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_host_name.py", "docstring": "Collect avalon host name to context.", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [], "process_time": 0.2892017364501953}], "actions_data": [], "skipped": false, "passed": true}, {"id": "466ea1be-0d13-4de3-962b-f37936a39c45", "name": "CollectAddons", "label": "AYON Addons", "order": -0.5, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_addons.py", "docstring": "Collect AYON addons.", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [{"type": "record", "msg": "Executing [GET] http://danielvanwesten.com:5000/api/settings?bundle_name=2026-03-30&variant=production&site_id=tiny-ultramarine-earwig", "name": "GlobalServerAPI", "lineno": 1325, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "server_api.py", "pathname": "/home/daniel/AYON-1.5.3-linux-rocky9/dependencies/ayon_api/server_api.py", "msecs": 862.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Resetting dropped connection: danielvanwesten.com", "name": "urllib3.connectionpool", "lineno": 289, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "connectionpool.py", "pathname": "/home/daniel/apps/blender-5.1.0-linux-x64/5.1/python/lib/python3.13/site-packages/urllib3/connectionpool.py", "msecs": 863.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "http://danielvanwesten.com:5000 \"GET /api/settings?bundle_name=2026-03-30&variant=production&site_id=tiny-ultramarine-earwig HTTP/1.1\" 200 103803", "name": "urllib3.connectionpool", "lineno": 544, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "connectionpool.py", "pathname": "/home/daniel/apps/blender-5.1.0-linux-x64/5.1/python/lib/python3.13/site-packages/urllib3/connectionpool.py", "msecs": 20.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Response <RestApiResponse [200]>", "name": "GlobalServerAPI", "lineno": 1293, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "server_api.py", "pathname": "/home/daniel/AYON-1.5.3-linux-rocky9/dependencies/ayon_api/server_api.py", "msecs": 114.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Basic AYON information:\nBundle: 2026-03-30 (production)\nAYON launcher: 1.5.3 (build)\nAddons:\n--------------------------\nName             | Version\n--------------------------\napplications     | 1.3.4  \nayon_ocio        | 1.2.2  \nayon_third_party | 1.4.0  \nblender          | 1.1.0  \ndjv              | 1.1.3  \nmaya             | 0.6.3  \nresolve          | 0.5.7  \ntraypublisher    | 0.3.13 \ntvpaint          | 0.4.0  ", "name": "pyblish.CollectAddons", "lineno": 62, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_addons.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_addons.py", "msecs": 118.0, "exc_info": null, "instance_id": null}], "process_time": 256.41369819641113}], "actions_data": [], "skipped": false, "passed": true}, {"id": "82fe95cf-39a1-4446-98e0-16ab5f1f074d", "name": "CollectCurrentContext", "label": "Collect Current context", "order": -0.5, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_current_context.py", "docstring": "Collect project context into publish context data.\n\nPlugin does not override any value if is already set.", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [{"type": "record", "msg": "Collected project context\nProject: Recently_at_the_Supermarket\nFolder: /Assets/cube\nTask: lookdev", "name": "pyblish.CollectCurrentContext", "lineno": 40, "levelno": 20, "levelname": "INFO", "threadName": "MainThread", "filename": "collect_current_context.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_current_context.py", "msecs": 229.0, "exc_info": null, "instance_id": null}], "process_time": 0.14019012451171875}], "actions_data": [], "skipped": false, "passed": true}, {"id": "a6a15cb0-7a2c-4a12-b735-5a489ad310e5", "name": "CollectAppName", "label": "Collect App Name", "order": -0.499999, "filepath": "/home/daniel/.local/share/AYON/addons/applications_1.3.4/ayon_applications/plugins/publish/collect_app_name.py", "docstring": "Collect avalon host name to context.", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [], "process_time": 6.408214569091797}], "actions_data": [], "skipped": false, "passed": true}, {"id": "7bf8beb5-4b47-463e-80c4-06aa85be6010", "name": "CollectTime", "label": "Collect Current Time", "order": -0.499, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_time.py", "docstring": "Store global time at the time of publish", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [], "process_time": 0.11038780212402344}], "actions_data": [], "skipped": false, "passed": true}, {"id": "a847909d-175e-4d05-9f69-bf1eddfa86e5", "name": "CollectSettings", "label": "Collect Settings", "order": -0.491, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_settings.py", "docstring": "Collect Settings and store in the context.", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [{"type": "record", "msg": "Collecting settings for project: Recently_at_the_Supermarket", "name": "pyblish.CollectSettings", "lineno": 13, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_settings.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_settings.py", "msecs": 842.0, "exc_info": null, "instance_id": null}], "process_time": 3.282308578491211}], "actions_data": [], "skipped": false, "passed": true}, {"id": "a3347c2c-60b5-412f-8b2c-74e01dd16cb2", "name": "CollectFileDependencies", "label": "Collect File Dependencies", "order": -0.49, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/collect_file_dependencies.py", "docstring": "Gather all files referenced in this scene.", "plugin_type": "context", "families": ["render"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "727b3611-0640-4d19-95f0-7cb30984691e", "name": "CollectCoreJobEnvVars", "label": "AYON core Farm Environment Variables", "order": -0.45, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_farm_env_variables.py", "docstring": "Collect set of environment variables to submit with deadline jobs", "plugin_type": "context", "families": ["*"], "targets": ["local"], "instances_data": [{"id": null, "logs": [{"type": "record", "msg": "Setting job env: AYON_LOG_NO_COLORS: 1", "name": "pyblish.CollectCoreJobEnvVars", "lineno": 30, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_farm_env_variables.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_farm_env_variables.py", "msecs": 45.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Setting job env: AYON_PROJECT_NAME: Recently_at_the_Supermarket", "name": "pyblish.CollectCoreJobEnvVars", "lineno": 30, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_farm_env_variables.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_farm_env_variables.py", "msecs": 45.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Setting job env: AYON_FOLDER_PATH: /Assets/cube", "name": "pyblish.CollectCoreJobEnvVars", "lineno": 30, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_farm_env_variables.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_farm_env_variables.py", "msecs": 45.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Setting job env: AYON_TASK_NAME: lookdev", "name": "pyblish.CollectCoreJobEnvVars", "lineno": 30, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_farm_env_variables.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_farm_env_variables.py", "msecs": 45.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Setting job env: AYON_USERNAME: daniel", "name": "pyblish.CollectCoreJobEnvVars", "lineno": 30, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_farm_env_variables.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_farm_env_variables.py", "msecs": 45.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Setting job env: AYON_HOST_NAME: blender", "name": "pyblish.CollectCoreJobEnvVars", "lineno": 30, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_farm_env_variables.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_farm_env_variables.py", "msecs": 45.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Setting job env: AYON_BUNDLE_NAME: 2026-03-30", "name": "pyblish.CollectCoreJobEnvVars", "lineno": 45, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_farm_env_variables.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_farm_env_variables.py", "msecs": 45.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Setting job env: AYON_STUDIO_BUNDLE_NAME: 2026-03-30", "name": "pyblish.CollectCoreJobEnvVars", "lineno": 45, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_farm_env_variables.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_farm_env_variables.py", "msecs": 45.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Setting job env: AYON_WORKDIR: /home/daniel/Shortfilms/Recently_at_the_Supermarket/Assets/cube/work/lookdev", "name": "pyblish.CollectCoreJobEnvVars", "lineno": 45, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_farm_env_variables.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_farm_env_variables.py", "msecs": 45.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Setting job env: AYON_DEFAULT_SETTINGS_VARIANT: production", "name": "pyblish.CollectCoreJobEnvVars", "lineno": 45, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_farm_env_variables.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_farm_env_variables.py", "msecs": 45.0, "exc_info": null, "instance_id": null}], "process_time": 0.23674964904785156}], "actions_data": [], "skipped": false, "passed": true}, {"id": "2c9374df-e88d-460c-95ad-3d919e901e09", "name": "CollectContextEntities", "label": "Collect Context Entities", "order": -0.45, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_context_entities.py", "docstring": "Collect entities into Context.", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [{"type": "record", "msg": "Executing [GET] http://danielvanwesten.com:5000/api/projects/Recently_at_the_Supermarket", "name": "GlobalServerAPI", "lineno": 1325, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "server_api.py", "pathname": "/home/daniel/AYON-1.5.3-linux-rocky9/dependencies/ayon_api/server_api.py", "msecs": 252.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "http://danielvanwesten.com:5000 \"GET /api/projects/Recently_at_the_Supermarket HTTP/1.1\" 200 7775", "name": "urllib3.connectionpool", "lineno": 544, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "connectionpool.py", "pathname": "/home/daniel/apps/blender-5.1.0-linux-x64/5.1/python/lib/python3.13/site-packages/urllib3/connectionpool.py", "msecs": 311.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Response <RestApiResponse [200]>", "name": "GlobalServerAPI", "lineno": 1293, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "server_api.py", "pathname": "/home/daniel/AYON-1.5.3-linux-rocky9/dependencies/ayon_api/server_api.py", "msecs": 311.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Executing [GET] http://danielvanwesten.com:5000/api/projects/Recently_at_the_Supermarket/roots", "name": "GlobalServerAPI", "lineno": 1325, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "server_api.py", "pathname": "/home/daniel/AYON-1.5.3-linux-rocky9/dependencies/ayon_api/server_api.py", "msecs": 315.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "http://danielvanwesten.com:5000 \"GET /api/projects/Recently_at_the_Supermarket/roots HTTP/1.1\" 200 2", "name": "urllib3.connectionpool", "lineno": 544, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "connectionpool.py", "pathname": "/home/daniel/apps/blender-5.1.0-linux-x64/5.1/python/lib/python3.13/site-packages/urllib3/connectionpool.py", "msecs": 360.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Response <RestApiResponse [200]>", "name": "GlobalServerAPI", "lineno": 1293, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "server_api.py", "pathname": "/home/daniel/AYON-1.5.3-linux-rocky9/dependencies/ayon_api/server_api.py", "msecs": 360.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Project entity \"{'name': 'Recently_at_the_Supermarket', 'code': 'RatS', 'library': False, 'folderTypes': [{'name': 'Folder', 'shortName': '', 'color': '#cccccc', 'icon': 'folder'}, {'name': 'Library', 'shortName': 'lib', 'color': '#cccccc', 'icon': 'category'}, {'name': 'Asset', 'shortName': '', 'color': '#cccccc', 'icon': 'smart_toy'}, {'name': 'Episode', 'shortName': 'ep', 'color': '#cccccc', 'icon': 'live_tv'}, {'name': 'Sequence', 'shortName': 'sq', 'color': '#cccccc', 'icon': 'theaters'}, {'name': 'Shot', 'shortName': 'sh', 'color': '#cccccc', 'icon': 'movie'}], 'taskTypes': [{'name': 'Generic', 'shortName': 'gener', 'color': '#cccccc', 'icon': 'task_alt'}, {'name': 'Art', 'shortName': 'art', 'color': '#cccccc', 'icon': 'palette'}, {'name': 'Modeling', 'shortName': 'mdl', 'color': '#cccccc', 'icon': 'language'}, {'name': 'Texture', 'shortName': 'tex', 'color': '#cccccc', 'icon': 'brush'}, {'name': 'Lookdev', 'shortName': 'look', 'color': '#cccccc', 'icon': 'ev_shadow'}, {'name': 'Rigging', 'shortName': 'rig', 'color': '#cccccc', 'icon': 'construction'}, {'name': 'Edit', 'shortName': 'edit', 'color': '#cccccc', 'icon': 'imagesearch_roller'}, {'name': 'Layout', 'shortName': 'lay', 'color': '#cccccc', 'icon': 'nature_people'}, {'name': 'Setdress', 'shortName': 'dress', 'color': '#cccccc', 'icon': 'scene'}, {'name': 'Animation', 'shortName': 'anim', 'color': '#cccccc', 'icon': 'directions_run'}, {'name': 'FX', 'shortName': 'fx', 'color': '#cccccc', 'icon': 'fireplace'}, {'name': 'Lighting', 'shortName': 'lgt', 'color': '#cccccc', 'icon': 'highlight'}, {'name': 'Paint', 'shortName': 'paint', 'color': '#cccccc', 'icon': 'video_stable'}, {'name': 'Compositing', 'shortName': 'comp', 'color': '#cccccc', 'icon': 'layers'}, {'name': 'Roto', 'shortName': 'roto', 'color': '#cccccc', 'icon': 'gesture'}, {'name': 'Matchmove', 'shortName': 'matchmove', 'color': '#cccccc', 'icon': 'switch_video'}, {'name': 'Grooming', 'shortName': 'groom', 'color': '#cccccc', 'icon': 'heat'}], 'linkTypes': [{'name': 'generative|version|version', 'linkType': 'generative', 'inputType': 'version', 'outputType': 'version', 'color': '#3f67de', 'style': 'solid'}, {'name': 'breakdown|folder|folder', 'linkType': 'breakdown', 'inputType': 'folder', 'outputType': 'folder', 'color': '#6edd72', 'style': 'solid'}, {'name': 'reference|version|version', 'linkType': 'reference', 'inputType': 'version', 'outputType': 'version', 'color': '#d94383', 'style': 'solid'}, {'name': 'template|folder|folder', 'linkType': 'template', 'inputType': 'folder', 'outputType': 'folder', 'color': '#fff824', 'style': 'solid'}], 'statuses': [{'name': 'Not ready', 'shortName': 'NRD', 'state': 'not_started', 'icon': 'fiber_new', 'color': '#3d444f', 'scope': ['folder', 'product', 'task']}, {'name': 'Ready to start', 'shortName': 'RDY', 'state': 'not_started', 'icon': 'timer', 'color': '#bababa', 'scope': ['folder', 'task']}, {'name': 'In progress', 'shortName': 'PRG', 'state': 'in_progress', 'icon': 'play_arrow', 'color': '#5bb8f5', 'scope': ['folder', 'task']}, {'name': 'Pending review', 'shortName': 'RVW', 'state': 'in_progress', 'icon': 'visibility', 'color': '#ffcd19', 'scope': ['folder', 'version', 'task']}, {'name': 'Approved', 'shortName': 'APP', 'state': 'done', 'icon': 'task_alt', 'color': '#08f094', 'scope': ['folder', 'product', 'version', 'task']}, {'name': 'On hold', 'shortName': 'HLD', 'state': 'blocked', 'icon': 'back_hand', 'color': '#fa6e46', 'scope': ['folder', 'task']}, {'name': 'Omitted', 'shortName': 'OMT', 'state': 'blocked', 'icon': 'block', 'color': '#cb1a1a', 'scope': ['folder', 'product', 'version', 'representation', 'task']}, {'name': 'Blocking finished', 'shortName': 'BLK', 'state': 'done', 'icon': 'man', 'color': '#c061cb', 'scope': ['task']}], 'tags': [{'name': 'important', 'color': '#ff2450'}, {'name': 'for reel', 'color': '#5be1c6'}], 'config': {'entityNaming': {}, 'productBaseTypes': {'definitions': [{'name': 'image', 'color': '#cccccc', 'icon': 'imagesmode'}, {'name': 'render', 'color': '#cccccc', 'icon': 'photo_library'}, {'name': 'review', 'color': '#cccccc', 'icon': 'photo_library'}, {'name': 'plate', 'color': '#cccccc', 'icon': 'camera_roll'}, {'name': 'camera', 'color': '#cccccc', 'icon': 'videocam'}, {'name': 'model', 'color': '#cccccc', 'icon': 'language'}, {'name': 'texture', 'color': '#cccccc', 'icon': 'texture'}, {'name': 'look', 'color': '#cccccc', 'icon': 'ev_shadow'}, {'name': 'rig', 'color': '#cccccc', 'icon': 'accessibility'}, {'name': 'animation', 'color': '#cccccc', 'icon': 'directions_run'}, {'name': 'cache', 'color': '#cccccc', 'icon': 'animation'}, {'name': 'layout', 'color': '#cccccc', 'icon': 'nature_people'}, {'name': 'setdress', 'color': '#cccccc', 'icon': 'forest'}, {'name': 'groom', 'color': '#cccccc', 'icon': 'content_cut'}, {'name': 'matchmove', 'color': '#cccccc', 'icon': 'switch_video'}, {'name': 'vdbcache', 'color': '#cccccc', 'icon': 'local_fire_department'}, {'name': 'lightrig', 'color': '#cccccc', 'icon': 'wb_incandescent'}, {'name': 'lut', 'color': '#cccccc', 'icon': 'opacity'}, {'name': 'workfile', 'color': '#cccccc', 'icon': 'home_repair_service'}], 'default': {'color': '#cccccc', 'icon': 'deployed_code'}}, 'roots': {'work': {'darwin': '/Volumes/projects', 'linux': '/home/daniel/Shortfilms', 'windows': '\\\\\\\\cglab-store\\\\projects\\\\01_ANIMATION_Projekte\\\\200716_QP_recently_in_the_supermarket'}}, 'templates': {'common': {'frame': '{frame:0>{@frame_padding}}', 'frame_padding': 4, 'version': 'v{version:0>{@version_padding}}', 'version_padding': 3}, 'delivery': {'Preview': {'directory': '{root[work]}/{project[name]}/{product[name]}/', 'file': '{project[code]}_{folder[name]}_{task[name]}_<_{comment}>.{ext}'}}, 'hero': {'default': {'directory': '{root[work]}/{project[name]}/{hierarchy}/{folder[name]}/publish/{product[type]}/{product[name]}/hero', 'file': '{project[code]}_{folder[name]}_{task[name]}_hero<_{comment}>.{ext}'}}, 'publish': {'default': {'directory': '{root[work]}/{project[name]}/{hierarchy}/{folder[name]}/publish/{product[type]}/{product[name]}/{@version}', 'file': '{project[code]}_{folder[name]}_{product[name]}_{@version}<_{output}><.{@frame}><_{udim}>.{ext}'}, 'maya2unreal': {'directory': '{root[work]}/{project[name]}/{hierarchy}/{folder[name]}/publish/{product[type]}', 'file': '{product[name]}_{@version}<_{output}><.{@frame}>.{ext}'}, 'online': {'directory': '{root[work]}/{project[name]}/{hierarchy}/{folder[name]}/publish/{product[type]}/{product[name]}/{@version}', 'file': '{originalBasename}<.{@frame}><_{udim}>.{ext}'}, 'render': {'directory': '{root[work]}/{project[name]}/{hierarchy}/{folder[name]}/publish/{product[type]}/{product[name]}/{@version}', 'file': '{project[code]}_{folder[name]}_{product[name]}_{@version}<_{output}><.{@frame}>.{ext}'}, 'simpleUnrealTexture': {'directory': '{root[work]}/{project[name]}/{hierarchy}/{folder[name]}/publish/{product[type]}/{@version}', 'file': '{originalBasename}_{@version}.{ext}'}, 'simpleUnrealTextureHero': {'directory': '{root[work]}/{project[name]}/{hierarchy}/{folder[name]}/publish/{product[type]}/hero', 'file': '{originalBasename}.{ext}'}, 'source': {'directory': '{root[work]}/{originalDirname}', 'file': '{originalBasename}.{ext}'}, 'unrealuasset': {'directory': '{root[work]}/{project[name]}/{hierarchy}/{folder[name]}/publish/{product[type]}/{product[name]}/{@version}', 'file': '{originalBasename}.{ext}'}}, 'work': {'default': {'directory': '{root[work]}/{project[name]}/{hierarchy}/{folder[name]}/work/{task[name]}', 'file': '{project[code]}_{folder[name]}_{task[name]}_{@version}<_{comment}>.{ext}'}, 'unreal': {'directory': '{root[work]}/{project[name]}/unreal/{task[name]}', 'file': '{project[code]}_{folder[name]}.{ext}'}}}}, 'attrib': {'priority': 'normal', 'fps': 24.0, 'resolutionWidth': 2048, 'resolutionHeight': 858, 'pixelAspect': 1.0, 'clipIn': 1, 'clipOut': 0, 'frameStart': 1001, 'frameEnd': 3880, 'handleStart': 0, 'handleEnd': 0, 'startDate': '2025-01-01T23:00:00+00:00', 'endDate': '2026-12-21T23:00:00+00:00', 'description': ''}, 'data': {}, 'active': True, 'ownAttrib': ['clipIn', 'clipOut', 'description', 'endDate', 'fps', 'frameEnd', 'frameStart', 'handleEnd', 'handleStart', 'pixelAspect', 'priority', 'resolutionHeight', 'resolutionWidth', 'startDate'], 'createdAt': '2025-01-09T15:25:18.017424+01:00', 'updatedAt': '2026-01-23T12:42:53.385598+01:00', 'bundle': {'production': None, 'staging': None}}\"", "name": "pyblish.CollectContextEntities", "lineno": 49, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_context_entities.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_context_entities.py", "msecs": 360.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Anatomy object collected for project \"Recently_at_the_Supermarket\".", "name": "pyblish.CollectContextEntities", "lineno": 50, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_context_entities.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_context_entities.py", "msecs": 360.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "http://danielvanwesten.com:5000 \"POST /graphql HTTP/1.1\" 200 713", "name": "urllib3.connectionpool", "lineno": 544, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "connectionpool.py", "pathname": "/home/daniel/apps/blender-5.1.0-linux-x64/5.1/python/lib/python3.13/site-packages/urllib3/connectionpool.py", "msecs": 442.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Response <RestApiResponse [200]>", "name": "GlobalServerAPI", "lineno": 1293, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "server_api.py", "pathname": "/home/daniel/AYON-1.5.3-linux-rocky9/dependencies/ayon_api/server_api.py", "msecs": 443.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Folder entity \"{'parentId': '4391413066fc11f0a493b15e3777cc8e', 'attrib': {'handleEnd': 0, 'handleStart': 0, 'resolutionHeight': 858, 'pixelAspect': 1.0, 'fps': 24.0, 'frameStart': 1001, 'description': None, 'location': None, 'frameEnd': 3880, 'priority': 'normal', 'clipOut': 0, 'resolutionWidth': 2048, 'clipIn': 1, 'startDate': '2025-01-01T23:00:00+00:00', 'endDate': '2026-12-21T23:00:00+00:00'}, 'label': 'cube', 'folderType': 'Asset', 'thumbnailId': None, 'name': 'cube', 'tags': [], 'status': 'Not ready', 'active': True, 'data': {}, 'path': '/Assets/cube', 'id': '13f288202c5511f1bcc9796637753fbe'}\"", "name": "pyblish.CollectContextEntities", "lineno": 61, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_context_entities.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_context_entities.py", "msecs": 443.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "http://danielvanwesten.com:5000 \"POST /graphql HTTP/1.1\" 200 692", "name": "urllib3.connectionpool", "lineno": 544, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "connectionpool.py", "pathname": "/home/daniel/apps/blender-5.1.0-linux-x64/5.1/python/lib/python3.13/site-packages/urllib3/connectionpool.py", "msecs": 521.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Response <RestApiResponse [200]>", "name": "GlobalServerAPI", "lineno": 1293, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "server_api.py", "pathname": "/home/daniel/AYON-1.5.3-linux-rocky9/dependencies/ayon_api/server_api.py", "msecs": 521.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Task entity \"{'attrib': {'handleEnd': 0, 'handleStart': 0, 'resolutionHeight': 858, 'pixelAspect': 1.0, 'fps': 24.0, 'frameStart': 1001, 'description': None, 'frameEnd': 3880, 'priority': 'normal', 'clipOut': 0, 'resolutionWidth': 2048, 'clipIn': 1, 'startDate': '2025-01-01T23:00:00+00:00', 'endDate': '2026-12-21T23:00:00+00:00'}, 'label': 'Lookdev', 'data': {}, 'active': True, 'thumbnailId': None, 'assignees': [], 'name': 'lookdev', 'tags': [], 'status': 'Not ready', 'taskType': 'Lookdev', 'folderId': '13f288202c5511f1bcc9796637753fbe', 'id': '1e6f29c02c5511f1bcc9796637753fbe'}\"", "name": "pyblish.CollectContextEntities", "lineno": 68, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_context_entities.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_context_entities.py", "msecs": 521.0, "exc_info": null, "instance_id": null}], "process_time": 268.9344882965088}], "actions_data": [], "skipped": false, "passed": true}, {"id": "d5781698-1a56-45b4-9ec8-2ca09cb7ce67", "name": "CollectApplicationsJobEnvVars", "label": "Collect Applications farm environment variables", "order": -0.45, "filepath": "/home/daniel/.local/share/AYON/addons/applications_1.3.4/ayon_applications/plugins/publish/collect_farm_env_variables.py", "docstring": "Collect set of environment variables for farm jobs", "plugin_type": "context", "families": ["*"], "targets": ["local"], "instances_data": [{"id": null, "logs": [{"type": "record", "msg": "Setting job env: AYON_APP_NAME: blender/5-1-0", "name": "pyblish.CollectApplicationsJobEnvVars", "lineno": 25, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_farm_env_variables.py", "pathname": "/home/daniel/.local/share/AYON/addons/applications_1.3.4/ayon_applications/plugins/publish/collect_farm_env_variables.py", "msecs": 631.0, "exc_info": null, "instance_id": null}], "process_time": 0.11038780212402344}], "actions_data": [], "skipped": false, "passed": true}, {"id": "651c86fa-f248-46c3-bf4b-457623bc66a8", "name": "CollectFrameRangeFromCreator", "label": "Collect Frame Range from creator", "order": -0.4, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/collect_instance_frame_range.py", "docstring": null, "plugin_type": "instance", "families": ["*"], "targets": ["default"], "instances_data": [{"id": "cd7c35ee-9389-4120-8755-a79cf97b9f79", "logs": [], "process_time": 0.07700920104980469}], "actions_data": [], "skipped": false, "passed": true}, {"id": "417e061a-a122-4307-b2da-4943e96c21d3", "name": "CollectInstanceEntities", "label": "Collect Instance entities", "order": -0.4, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_instance_entities.py", "docstring": "Collect instance entities based on their context.\n\nPlugin is running for all instances on context even not active instances.\n\nLogic was separated from CollectInstanceAnatomy data to run the logic\n    earlier. Instances that don't have set 'folderPath' will be skipped.\n    If there is a plugin adding or changing entities after this plugin\n    they should make sure that correct entities are filled. Collect\n    anatomy instance data plugin can do that but it runs later.", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [{"type": "record", "msg": "Collecting entities all instances.", "name": "pyblish.CollectInstanceEntities", "lineno": 35, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_instance_entities.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_instance_entities.py", "msecs": 37.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Fetching folder entities for instances.", "name": "pyblish.CollectInstanceEntities", "lineno": 51, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_instance_entities.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_instance_entities.py", "msecs": 37.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "All instances already had right folder entity.", "name": "pyblish.CollectInstanceEntities", "lineno": 87, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_instance_entities.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_instance_entities.py", "msecs": 37.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Fetching task entities for instances.", "name": "pyblish.CollectInstanceEntities", "lineno": 124, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_instance_entities.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_instance_entities.py", "msecs": 37.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "All instances already had right task entity.", "name": "pyblish.CollectInstanceEntities", "lineno": 182, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_instance_entities.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_instance_entities.py", "msecs": 37.0, "exc_info": null, "instance_id": null}], "process_time": 0.1678466796875}], "actions_data": [], "skipped": false, "passed": true}, {"id": "1adbf14a-b57c-4d59-ac5d-14a5d0764e63", "name": "CollectRenderedFiles", "label": "Collect rendered frames", "order": -0.2, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_rendered_files.py", "docstring": "This collector will try to find json files in provided\n`AYON_PUBLISH_DATA`. Those files _MUST_ share same context.\n\nNote:\n    We should split this collector and move the part which handle reading\n        of file and it's context from session data before collect anatomy\n        and instance creation dependent on anatomy can be done here.", "plugin_type": "context", "families": ["*"], "targets": ["filesequence", "farm"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "82ad5627-7d4d-44a8-a444-15bafe66bb9c", "name": "CollectExplicitResolution", "label": "Choose Explicit Resolution", "order": -0.091, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_explicit_resolution.py", "docstring": "Collect explicit user defined resolution attributes for instances", "plugin_type": "instance", "families": ["*"], "targets": ["default"], "instances_data": [{"id": "cd7c35ee-9389-4120-8755-a79cf97b9f79", "logs": [], "process_time": 0.08535385131835938}], "actions_data": [], "skipped": false, "passed": true}, {"id": "08698ba7-baed-4fa1-b351-542458bd2e6e", "name": "CollectOtioRanges", "label": "Collect OTIO Ranges", "order": -0.08, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_otio_frame_ranges.py", "docstring": "Collect all OTIO-related frame ranges and timing information.\n\nThis plugin handles collection of:\n- Basic timeline frame ranges with handles\n- Source media frame ranges with handles\n- Retimed clip frame ranges\n\nRequires:\n    otioClip (otio.schema.Clip): OTIO clip object\n    workfileFrameStart (int): Starting frame of work file\n\nOptional:\n    shotDurationFromSource (int): Duration from source if retimed\n\nProvides:\n    frameStart (int): Start frame in timeline\n    frameEnd (int): End frame in timeline\n    clipIn (int): Clip in point\n    clipOut (int): Clip out point\n    clipInH (int): Clip in point with handles\n    clipOutH (int): Clip out point with handles\n    sourceStart (int): Source media start frame\n    sourceEnd (int): Source media end frame\n    sourceStartH (int): Source media start frame with handles\n    sourceEndH (int): Source media end frame with handles", "plugin_type": "instance", "families": ["shot", "clip"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "c7e1f572-f40c-458c-a720-a421cdcbdf6f", "name": "CollectHierarchy", "label": "Collect Hierarchy", "order": -0.076, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_hierarchy.py", "docstring": "Collecting hierarchy from `parents`.\n\npresent in `clip` family instances coming from the request json data file\n\nIt will add `hierarchical_context` into each instance for integrate\nplugins to be able to create needed parents for the context if they\ndon't exist yet", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [{"type": "record", "msg": "Skipping not a shot: ['look', 'look']", "name": "pyblish.CollectHierarchy", "lineno": 69, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_hierarchy.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_hierarchy.py", "msecs": 445.0, "exc_info": null, "instance_id": null}], "process_time": 0.12183189392089844}], "actions_data": [], "skipped": false, "passed": true}, {"id": "a2fa6ead-c370-49c0-945a-8b53783d6b06", "name": "CollectCurrentWorkingDirectory", "label": "Current working directory", "order": 0, "filepath": "/home/daniel/.local/share/AYON/dependency_packages/ayon_2502101346_linux-rocky9.zip/dependencies/pyblish/plugins/collect_current_working_directory.py", "docstring": "Inject the current working directory into Context", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [], "process_time": 0.0762939453125}], "actions_data": [], "skipped": false, "passed": true}, {"id": "0a5e4124-11c6-4625-87f2-2208d07a0fbe", "name": "CollectCurrentDate", "label": "Current date", "order": 0, "filepath": "/home/daniel/.local/share/AYON/dependency_packages/ayon_2502101346_linux-rocky9.zip/dependencies/pyblish/plugins/collect_current_date.py", "docstring": "Inject the current time into the Context", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [], "process_time": 0.09679794311523438}], "actions_data": [], "skipped": false, "passed": true}, {"id": "4701ab17-25e9-4d6e-b1f5-26c5ff61c948", "name": "CollectCurrentUser", "label": "Current user", "order": 0, "filepath": "/home/daniel/.local/share/AYON/dependency_packages/ayon_2502101346_linux-rocky9.zip/dependencies/pyblish/plugins/collect_current_user.py", "docstring": "Inject the currently logged on user into the Context", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [], "process_time": 0.07939338684082031}], "actions_data": [], "skipped": false, "passed": true}, {"id": "a5ec8bd8-06e2-48ce-bc10-28ab824a35c4", "name": "CollectWorkfile", "label": "Collect Workfile", "order": 0, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/collect_workfile.py", "docstring": "Inject workfile data into its instance.", "plugin_type": "instance", "families": ["workfile"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "7ccf934b-7ef7-4412-9ae6-1391ffb486a3", "name": "CollectBlenderInstanceData", "label": "Collect Instance", "order": 0, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/collect_instance.py", "docstring": "Collect members of the instance.\n\nFor a Collection this includes itself and all directly linked objects and\ntheir full hierarchy of children objects. It also includes direct child\ncollections. It does *not* include objects or collections from collections\ninside the Collection (it does not recurse into nested collections).\n\nFor an Object (e.g. instance asset group) this includes all its children\nhierarchy and the Object itself.\n\nThese members are then set on the instance as a list of objects.", "plugin_type": "instance", "families": ["model", "pointcache", "animation", "rig", "camera", "layout", "blendScene", "usd", "action", "look"], "targets": ["default"], "instances_data": [{"id": "cd7c35ee-9389-4120-8755-a79cf97b9f79", "logs": [{"type": "record", "msg": "Found instance node: <bpy_struct, Collection(\"cube_lookMain\") at 0x7f423055f120>", "name": "pyblish.CollectBlenderInstanceData", "lineno": 43, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_instance.py", "pathname": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/collect_instance.py", "msecs": 273.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}], "process_time": 0.24247169494628906}], "actions_data": [], "skipped": false, "passed": true}, {"id": "01bde7e6-16fc-4d47-9c06-72248593b894", "name": "CollectSceneVersion", "label": "Collect Scene Version", "order": 0, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_scene_version.py", "docstring": "Finds version in the filename or passes the one found in the context\nArguments:\nversion (int, optional): version number of the publish", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [{"type": "record", "msg": "Collecting scene version from filename: RatS_cube_lookdev_v001.blend", "name": "pyblish.CollectSceneVersion", "lineno": 44, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_scene_version.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_scene_version.py", "msecs": 477.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Collected scene version: 1", "name": "pyblish.CollectSceneVersion", "lineno": 54, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_scene_version.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_scene_version.py", "msecs": 477.0, "exc_info": null, "instance_id": null}], "process_time": 0.5743503570556641}], "actions_data": [], "skipped": false, "passed": true}, {"id": "fe99f37e-9d9d-4aff-9cc8-73037ea69cb4", "name": "RepairUnicodeStrings", "label": "Unicode Strings", "order": 0, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/repair_unicode_strings.py", "docstring": "Validate all environment variables are string type.\n\n    ", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [], "process_time": 1.2891292572021484}], "actions_data": [], "skipped": false, "passed": true}, {"id": "13f2b6cb-40b8-4d51-af01-0b36cf2e3d2a", "name": "CollectParentAudioInstanceAttribute", "label": "Collect Audio Instance Attribute", "order": 0, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/extract_otio_audio_tracks.py", "docstring": "Collect audio instance attribute", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [], "process_time": 0.10824203491210938}], "actions_data": [], "skipped": false, "passed": true}, {"id": "64fa9c53-a35c-4e65-9061-d087cac62c4e", "name": "CollectSceneLoadedVersions", "label": "Collect Versions Loaded in Scene", "order": 0.0001, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_scene_loaded_versions.py", "docstring": null, "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [{"type": "record", "msg": "Installing schema 'container-1.0.json'..", "name": "ayon_core.pipeline.schema", "lineno": 98, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "__init__.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/pipeline/schema/__init__.py", "msecs": 90.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Installing schema 'container-2.0.json'..", "name": "ayon_core.pipeline.schema", "lineno": 98, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "__init__.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/pipeline/schema/__init__.py", "msecs": 96.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Installing schema 'container-3.0.json'..", "name": "ayon_core.pipeline.schema", "lineno": 98, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "__init__.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/pipeline/schema/__init__.py", "msecs": 97.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Resetting dropped connection: danielvanwesten.com", "name": "urllib3.connectionpool", "lineno": 289, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "connectionpool.py", "pathname": "/home/daniel/apps/blender-5.1.0-linux-x64/5.1/python/lib/python3.13/site-packages/urllib3/connectionpool.py", "msecs": 103.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "http://danielvanwesten.com:5000 \"POST /graphql HTTP/1.1\" 200 235", "name": "urllib3.connectionpool", "lineno": 544, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "connectionpool.py", "pathname": "/home/daniel/apps/blender-5.1.0-linux-x64/5.1/python/lib/python3.13/site-packages/urllib3/connectionpool.py", "msecs": 199.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Response <RestApiResponse [200]>", "name": "GlobalServerAPI", "lineno": 1293, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "server_api.py", "pathname": "/home/daniel/AYON-1.5.3-linux-rocky9/dependencies/ayon_api/server_api.py", "msecs": 200.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Collected 1 loaded versions.", "name": "pyblish.CollectSceneLoadedVersions", "lineno": 82, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_scene_loaded_versions.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_scene_loaded_versions.py", "msecs": 200.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "http://danielvanwesten.com:5000 \"POST /graphql HTTP/1.1\" 200 105", "name": "urllib3.connectionpool", "lineno": 544, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "connectionpool.py", "pathname": "/home/daniel/apps/blender-5.1.0-linux-x64/5.1/python/lib/python3.13/site-packages/urllib3/connectionpool.py", "msecs": 283.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Response <RestApiResponse [200]>", "name": "GlobalServerAPI", "lineno": 1293, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "server_api.py", "pathname": "/home/daniel/AYON-1.5.3-linux-rocky9/dependencies/ayon_api/server_api.py", "msecs": 284.0, "exc_info": null, "instance_id": null}], "process_time": 195.65296173095703}], "actions_data": [], "skipped": false, "passed": true}, {"id": "8994b05e-6bcd-490e-b775-1041660f19e5", "name": "CollectCurrentAYONUser", "label": "Collect AYON User", "order": 0.001, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_current_ayon_user.py", "docstring": "Inject the currently logged on user into the Context", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [{"type": "record", "msg": "Collected user \"daniel\"", "name": "pyblish.CollectCurrentAYONUser", "lineno": 16, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_current_ayon_user.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_current_ayon_user.py", "msecs": 395.0, "exc_info": null, "instance_id": null}], "process_time": 0.5183219909667969}], "actions_data": [], "skipped": false, "passed": true}, {"id": "50e5dfd8-f127-4cfc-8983-d1f6f0dcea9a", "name": "CollectAnatomyContextData", "label": "Collect Anatomy Context Data", "order": 0.002, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_anatomy_context_data.py", "docstring": "Collect Anatomy Context data.\n\nExample:\ncontext.data[\"anatomyData\"] = {\n    \"project\": {\n        \"name\": \"MyProject\",\n        \"code\": \"myproj\"\n    },\n    \"asset\": \"AssetName\",\n    \"hierarchy\": \"path/to/asset\",\n    \"task\": \"Working\",\n    \"user\": \"MeDespicable\",\n    # Duplicated entry\n    \"username\": \"MeDespicable\",\n\n    # Current host name\n    \"app\": \"maya\"\n\n    *** OPTIONAL ***\n    + mutliple keys from `datetimeData` (See it's collector)\n}", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [{"type": "record", "msg": "Global Anatomy Context Data collected:\n{\n    \"studio\": {\n        \"name\": \"\",\n        \"code\": \"\"\n    },\n    \"user\": {\n        \"name\": \"daniel\",\n        \"attrib\": {\n            \"fullName\": \"Daniel van Westen\",\n            \"email\": \"daniel.vanwesten@gmail.com\"\n        },\n        \"data\": {\n            \"isAdmin\": true,\n            \"password\": \"7f477e8869991316b5d9fb4f95d31f1adf703949c1dbdab9fa8807bc467e3e0a:e041bc4714874b0bce65c17055dbebe92ce704cfac837585d66a3bf7afb163ce\"\n        }\n    },\n    \"project\": {\n        \"name\": \"Recently_at_the_Supermarket\",\n        \"code\": \"RatS\"\n    },\n    \"folder\": {\n        \"name\": \"cube\",\n        \"type\": \"Asset\",\n        \"path\": \"/Assets/cube\",\n        \"parents\": [\n            \"Assets\"\n        ]\n    },\n    \"hierarchy\": \"Assets\",\n    \"parent\": \"Assets\",\n    \"task\": {\n        \"name\": \"lookdev\",\n        \"type\": \"Lookdev\",\n        \"short\": \"look\"\n    },\n    \"app\": \"blender\",\n    \"d\": \"31\",\n    \"dd\": \"31\",\n    \"ddd\": \"Di\",\n    \"dddd\": \"Dienstag\",\n    \"m\": \"3\",\n    \"mm\": \"03\",\n    \"mmm\": \"M\\u00e4r\",\n    \"mmmm\": \"M\\u00e4rz\",\n    \"yy\": \"26\",\n    \"yyyy\": \"2026\",\n    \"H\": \"9\",\n    \"HH\": \"09\",\n    \"h\": \"9\",\n    \"hh\": \"09\",\n    \"ht\": \"\",\n    \"M\": \"33\",\n    \"MM\": \"33\",\n    \"S\": \"51\",\n    \"SS\": \"51\",\n    \"username\": \"daniel\"\n}", "name": "pyblish.CollectAnatomyContextData", "lineno": 77, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_anatomy_context_data.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_anatomy_context_data.py", "msecs": 603.0, "exc_info": null, "instance_id": null}], "process_time": 0.23865699768066406}], "actions_data": [], "skipped": false, "passed": true}, {"id": "8da36453-7d8f-46c7-9086-1a07b05129d0", "name": "CollectBlenderRender", "label": "Collect Render", "order": 0.01, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/collect_render.py", "docstring": "Gather all publishable render instances.\n\nFor the instance node (bpy.types.CompositorNodeOutputFile) we collect the\nconfigured output paths (FileSlots or LayerSlots) and their colorspaces.\n\n### AOV identifiers\n\nWhen multiple outputs are present (only the case when not rendering to\nmultilayer EXR) then we assign each output an 'aov identifier' that will\nbe added to the product name. So that product: `renderLightingMain` becomes\nfor example `renderLightingMain.beauty` and `renderLightingMain.diffuse`.\n\n### Requires enabled compositing node tree\n\nThe render workflow requires Blender to be configured to use the\nCompositor Node Tree, because it relies on `CompositorNodeOutputFile` to\ndefine the output files for rendering.", "plugin_type": "instance", "families": ["render"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "50733b7b-f7b6-485f-9265-2ea884472b60", "name": "CollectContextLabel", "label": "Context Label", "order": 0.25, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_context_label.py", "docstring": "Labelize context using the registered host and current file", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [{"type": "record", "msg": "Context label is changed to \"Blender - RatS_cube_lookdev_v001.blend\"", "name": "pyblish.CollectContextLabel", "lineno": 41, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_context_label.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_context_label.py", "msecs": 807.0, "exc_info": null, "instance_id": null}], "process_time": 0.12636184692382812}], "actions_data": [], "skipped": false, "passed": true}, {"id": "d7f0ba79-a80d-41c5-b13c-48c9cafe44f8", "name": "CollectReview", "label": "Collect Review Data", "order": 0.3, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/collect_review.py", "docstring": "Collect Review data\n\n    ", "plugin_type": "instance", "families": ["review"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "2408c761-5424-4dcf-8641-6246263bce40", "name": "CollectLocalRenderInstances", "label": "Collect local render instances", "order": 0.31, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/collect_local_render_instances.py", "docstring": "Collect instances for local render.\n    ", "plugin_type": "instance", "families": ["render"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "616d2883-3baf-4a17-aa56-8c1644ae4e24", "name": "CollectUSDLayerContributions", "label": "Collect USD Layer Contributions (Asset/Shot)", "order": 0.35, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/extract_usd_layer_contributions.py", "docstring": "Collect the USD Layer Contributions and create dependent instances.\n\nOur contributions go to the layer\n\n    Instance representation -> Department Layer -> Asset\n\nSo that for example:\n    modelMain --> variant 'main' in model.usd -> asset.usd\n    modelDamaged --> variant 'damaged' in model.usd -> asset.usd", "plugin_type": "instance", "families": ["usd"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "3054d6aa-be98-424d-b96c-479903caf8bf", "name": "CollectAnatomyInstanceData", "label": "Collect Anatomy Instance data", "order": 0.49, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_anatomy_instance_data.py", "docstring": "Collect Instance specific Anatomy data.\n\nPlugin is running for all instances on context even not active instances.", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [{"type": "record", "msg": "Collecting anatomy data for all instances.", "name": "pyblish.CollectAnatomyInstanceData", "lineno": 55, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_anatomy_instance_data.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_anatomy_instance_data.py", "msecs": 11.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Querying folder entities for instances.", "name": "pyblish.CollectAnatomyInstanceData", "lineno": 66, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_anatomy_instance_data.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_anatomy_instance_data.py", "msecs": 11.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "All instances already had right folder entity.", "name": "pyblish.CollectAnatomyInstanceData", "lineno": 95, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_anatomy_instance_data.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_anatomy_instance_data.py", "msecs": 11.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Querying task entities for instances.", "name": "pyblish.CollectAnatomyInstanceData", "lineno": 129, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_anatomy_instance_data.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_anatomy_instance_data.py", "msecs": 11.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "All instances already had right task entity.", "name": "pyblish.CollectAnatomyInstanceData", "lineno": 177, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_anatomy_instance_data.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_anatomy_instance_data.py", "msecs": 11.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Querying latest versions for instances.", "name": "pyblish.CollectAnatomyInstanceData", "lineno": 238, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_anatomy_instance_data.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_anatomy_instance_data.py", "msecs": 11.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "http://danielvanwesten.com:5000 \"POST /graphql HTTP/1.1\" 200 105", "name": "urllib3.connectionpool", "lineno": 544, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "connectionpool.py", "pathname": "/home/daniel/apps/blender-5.1.0-linux-x64/5.1/python/lib/python3.13/site-packages/urllib3/connectionpool.py", "msecs": 79.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Response <RestApiResponse [200]>", "name": "GlobalServerAPI", "lineno": 1293, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "server_api.py", "pathname": "/home/daniel/AYON-1.5.3-linux-rocky9/dependencies/ayon_api/server_api.py", "msecs": 79.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Storing anatomy data to instance data.", "name": "pyblish.CollectAnatomyInstanceData", "lineno": 292, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_anatomy_instance_data.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_anatomy_instance_data.py", "msecs": 79.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Executing [GET] http://danielvanwesten.com:5000/api/settings?bundle_name=2026-03-30&variant=production&project_name=Recently_at_the_Supermarket&site_id=tiny-ultramarine-earwig", "name": "GlobalServerAPI", "lineno": 1325, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "server_api.py", "pathname": "/home/daniel/AYON-1.5.3-linux-rocky9/dependencies/ayon_api/server_api.py", "msecs": 79.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "http://danielvanwesten.com:5000 \"GET /api/settings?bundle_name=2026-03-30&variant=production&project_name=Recently_at_the_Supermarket&site_id=tiny-ultramarine-earwig HTTP/1.1\" 200 103928", "name": "urllib3.connectionpool", "lineno": 544, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "connectionpool.py", "pathname": "/home/daniel/apps/blender-5.1.0-linux-x64/5.1/python/lib/python3.13/site-packages/urllib3/connectionpool.py", "msecs": 205.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Response <RestApiResponse [200]>", "name": "GlobalServerAPI", "lineno": 1293, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "server_api.py", "pathname": "/home/daniel/AYON-1.5.3-linux-rocky9/dependencies/ayon_api/server_api.py", "msecs": 299.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Anatomy data for instance lookMain (lookMain): {\n    \"studio\": {\n        \"name\": \"\",\n        \"code\": \"\"\n    },\n    \"user\": {\n        \"name\": \"daniel\",\n        \"attrib\": {\n            \"fullName\": \"Daniel van Westen\",\n            \"email\": \"daniel.vanwesten@gmail.com\"\n        },\n        \"data\": {\n            \"isAdmin\": true,\n            \"password\": \"7f477e8869991316b5d9fb4f95d31f1adf703949c1dbdab9fa8807bc467e3e0a:e041bc4714874b0bce65c17055dbebe92ce704cfac837585d66a3bf7afb163ce\"\n        }\n    },\n    \"project\": {\n        \"name\": \"Recently_at_the_Supermarket\",\n        \"code\": \"RatS\"\n    },\n    \"folder\": {\n        \"name\": \"cube\",\n        \"type\": \"Asset\",\n        \"path\": \"/Assets/cube\",\n        \"parents\": [\n            \"Assets\"\n        ]\n    },\n    \"hierarchy\": \"Assets\",\n    \"parent\": \"Assets\",\n    \"task\": {\n        \"name\": \"lookdev\",\n        \"type\": \"Lookdev\",\n        \"short\": \"look\"\n    },\n    \"app\": \"blender\",\n    \"d\": \"31\",\n    \"dd\": \"31\",\n    \"ddd\": \"Di\",\n    \"dddd\": \"Dienstag\",\n    \"m\": \"3\",\n    \"mm\": \"03\",\n    \"mmm\": \"M\\u00e4r\",\n    \"mmmm\": \"M\\u00e4rz\",\n    \"yy\": \"26\",\n    \"yyyy\": \"2026\",\n    \"H\": \"9\",\n    \"HH\": \"09\",\n    \"h\": \"9\",\n    \"hh\": \"09\",\n    \"ht\": \"\",\n    \"M\": \"33\",\n    \"MM\": \"33\",\n    \"S\": \"51\",\n    \"SS\": \"51\",\n    \"username\": \"daniel\",\n    \"product\": {\n        \"name\": \"lookMain\",\n        \"type\": \"look\",\n        \"basetype\": \"look\"\n    },\n    \"version\": 1\n}", "name": "pyblish.CollectAnatomyInstanceData", "lineno": 387, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_anatomy_instance_data.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_anatomy_instance_data.py", "msecs": 303.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "Anatomy Data collection finished.", "name": "pyblish.CollectAnatomyInstanceData", "lineno": 63, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_anatomy_instance_data.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_anatomy_instance_data.py", "msecs": 303.0, "exc_info": null, "instance_id": null}], "process_time": 292.560338973999}], "actions_data": [], "skipped": false, "passed": true}, {"id": "d4f7332b-1604-47af-945a-a7297c651b52", "name": "CollectSourceForSource", "label": "Collect Source", "order": 0.495, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_source_for_source.py", "docstring": "Collects source location of file for instance.\n\nUsed for 'source' template name which handles in place publishing.\nFor this kind of publishing files are present with correct file name\npattern and correct location.", "plugin_type": "instance", "families": ["*"], "targets": ["default"], "instances_data": [{"id": "cd7c35ee-9389-4120-8755-a79cf97b9f79", "logs": [], "process_time": 0.0762939453125}], "actions_data": [], "skipped": false, "passed": true}, {"id": "9fc39969-947d-4342-aa88-59875d6b966b", "name": "CollectResourcesPath", "label": "Collect Resources Path", "order": 0.495, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_resources_path.py", "docstring": "Generate directory path where the files and resources will be stored.\n\nCollects folder name and file name from files, if exists, for in-situ\npublishing.", "plugin_type": "instance", "families": ["workfile", "pointcache", "proxyAbc", "camera", "animation", "model", "mayaAscii", "mayaScene", "setdress", "layout", "ass", "vdbcache", "scene", "vrayproxy", "render", "prerender", "imagesequence", "rendersetup", "rig", "plate", "look", "mvLook", "yetiRig", "yeticache", "nukenodes", "gizmo", "source", "matchmove", "image", "source", "assembly", "fbx", "gltf", "textures", "action", "background", "effect", "staticMesh", "skeletalMesh", "xgen", "yeticacheUE", "tycache", "usd", "oxrig", "sbsar", "zfab"], "targets": ["default"], "instances_data": [{"id": "cd7c35ee-9389-4120-8755-a79cf97b9f79", "logs": [{"type": "record", "msg": "Looking for matching profile for: host_names: \"blender\" | product_base_types: \"look\" | task_names: \"lookdev\" | task_types: \"Lookdev\"", "name": "pyblish.CollectResourcesPath", "lineno": 170, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "profiles_filtering.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/lib/profiles_filtering.py", "msecs": 612.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}, {"type": "record", "msg": "\"look\" not found in \"product_base_types\": ['review', 'render', 'prerender']", "name": "pyblish.CollectResourcesPath", "lineno": 188, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "profiles_filtering.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/lib/profiles_filtering.py", "msecs": 612.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}, {"type": "record", "msg": "\"blender\" not found in \"host_names\": ['substancedesigner']", "name": "pyblish.CollectResourcesPath", "lineno": 188, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "profiles_filtering.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/lib/profiles_filtering.py", "msecs": 612.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}, {"type": "record", "msg": "\"blender\" not found in \"host_names\": ['maya']", "name": "pyblish.CollectResourcesPath", "lineno": 188, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "profiles_filtering.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/lib/profiles_filtering.py", "msecs": 612.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}, {"type": "record", "msg": "\"blender\" not found in \"host_names\": ['traypublisher']", "name": "pyblish.CollectResourcesPath", "lineno": 188, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "profiles_filtering.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/lib/profiles_filtering.py", "msecs": 612.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}, {"type": "record", "msg": "\"blender\" not found in \"host_names\": ['max']", "name": "pyblish.CollectResourcesPath", "lineno": 188, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "profiles_filtering.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/lib/profiles_filtering.py", "msecs": 612.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}, {"type": "record", "msg": "\"blender\" not found in \"host_names\": ['unreal']", "name": "pyblish.CollectResourcesPath", "lineno": 188, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "profiles_filtering.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/lib/profiles_filtering.py", "msecs": 612.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}, {"type": "record", "msg": "Profile selected: {'host_names': [], 'product_base_types': [], 'task_names': [], 'task_types': [], 'template_name': 'default'}", "name": "pyblish.CollectResourcesPath", "lineno": 224, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "profiles_filtering.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/lib/profiles_filtering.py", "msecs": 612.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}, {"type": "record", "msg": "publishDir: \"/home/daniel/Shortfilms/Recently_at_the_Supermarket/Assets/cube/publish/look/lookMain/v001\"", "name": "pyblish.CollectResourcesPath", "lineno": 116, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_resources_path.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_resources_path.py", "msecs": 613.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}, {"type": "record", "msg": "resourcesDir: \"/home/daniel/Shortfilms/Recently_at_the_Supermarket/Assets/cube/publish/look/lookMain/v001/resources\"", "name": "pyblish.CollectResourcesPath", "lineno": 117, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_resources_path.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_resources_path.py", "msecs": 613.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}], "process_time": 1.436471939086914}], "actions_data": [], "skipped": false, "passed": true}, {"id": "9ed4d840-52f8-4c54-851e-ae0d08da7a75", "name": "CollectFarmTarget", "label": "Collect Farm Target", "order": 0.499, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_farm_target.py", "docstring": "Collects the render target for the instance\n    ", "plugin_type": "instance", "families": ["*"], "targets": ["local"], "instances_data": [{"id": "cd7c35ee-9389-4120-8755-a79cf97b9f79", "logs": [], "process_time": 0.07486343383789062}], "actions_data": [], "skipped": false, "passed": true}, {"id": "5a0fc7cb-009a-4b49-bcc9-eb4fa32ab560", "name": "CollectInputRepresentationsToVersions", "label": "Input Representations to Versions", "order": 0.499, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_input_representations_to_versions.py", "docstring": "Converts collected input representations to input versions.\n\nAny data in `instance.data[\"inputRepresentations\"]` gets converted into\n`instance.data[\"inputVersions\"]` as supported in AYON.", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [], "process_time": 0.10156631469726562}], "actions_data": [], "skipped": false, "passed": true}, {"id": "3f9507cf-9391-4b64-85fa-e566d31e02b4", "name": "CollectManagedStagingDir", "label": "Collect Managed Staging Directory", "order": 0.499, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_managed_staging_dir.py", "docstring": "Apply matching Staging Dir profile to a instance.\n\nApply Staging dir via profiles could be useful in specific use cases\nwhere is desirable to have temporary renders in specific,\npersistent folders, could be on disks optimized for speed for example.\n\nIt is studio's responsibility to clean up obsolete folders with data.\n\nLocation of the folder is configured in:\n    `ayon+anatomy://_/templates/staging`.\n\nWhich product type/task type/product is applicable is configured in:\n    `ayon+settings://core/tools/publish/custom_staging_dir_profiles`", "plugin_type": "instance", "families": ["*"], "targets": ["default"], "instances_data": [{"id": "cd7c35ee-9389-4120-8755-a79cf97b9f79", "logs": [{"type": "record", "msg": "Instance staging dir was set to `/tmp/ay_tmp_6qd2bk7x` and persistence is set to `False`", "name": "pyblish.CollectManagedStagingDir", "lineno": 44, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_managed_staging_dir.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_managed_staging_dir.py", "msecs": 227.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}], "process_time": 0.3516674041748047}], "actions_data": [], "skipped": false, "passed": true}, {"id": "a0136dc0-dcb7-44ef-a5f2-54a361f5a40f", "name": "ValidateCurrentSaveFile", "label": "Validate File Saved", "order": 0.9, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/validate_file_saved.py", "docstring": "File must be saved before publishing\n\nThis does not validate for unsaved changes. It only validates whether\nthe current context was able to identify any 'currentFile'.", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [], "process_time": 0.08654594421386719}], "actions_data": [], "skipped": false, "passed": true}, {"id": "70221742-4da9-41b5-9b4d-52fee9096ea1", "name": "ValidateInstanceEmpty", "label": "Validate Instance is not Empty", "order": 0.99, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/validate_instance_empty.py", "docstring": "Validator to verify that the instance is not empty", "plugin_type": "instance", "families": ["model", "pointcache", "rig", "cameralayout", "blendScene"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "55132d1d-730a-4da1-a9c6-a056dde6b3ee", "name": "ValidateFileSaved", "label": "Validate File Saved (Legacy)", "order": 0.99, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/validate_file_saved.py", "docstring": "Validate that the workfile has been saved.\n\nIf ayon-core version is >=1.4.1, this validation will be ignored due to\nan equivalent validation implementation in ayon-core.", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [], "process_time": 0.09107589721679688}], "actions_data": [], "skipped": false, "passed": true}, {"id": "e53d2766-9c3e-4c59-8da8-99d1057968b4", "name": "ValidateObjectIsInObjectMode", "label": "Validate Object Mode", "order": 0.99, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/validate_object_mode.py", "docstring": "Validate that the objects in the instance are in Object Mode.", "plugin_type": "instance", "families": ["model", "rig", "layout"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "193c0612-3a7b-44e1-b82b-327e32814f70", "name": "ValidateRenderCompositorNodeFileOutputConnected", "label": "Validate Render Inputs", "order": 1, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/validate_render_inputs.py", "docstring": "Validate the Compositor File Output Node has all its image slots\nconnected to an input.", "plugin_type": "instance", "families": ["render"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "d4ed49c5-f3d8-48f4-8a1f-0fab157ebcd8", "name": "ValidateRenderCameraIsSet", "label": "Validate Render Camera Is Set", "order": 1, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/validate_render_camera_is_set.py", "docstring": "Validate that there is a camera set as active for rendering.", "plugin_type": "instance", "families": ["render"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "e1c84630-dc40-45a7-91d1-896fbe654061", "name": "ValidateRenderNoCompositing", "label": "Validate Render No Compositing", "order": 1, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/validate_render_no_compositing.py", "docstring": "Validate Post Processing > Compositing checkbox\nis enabled in the render settings.\n\nThis is required as the rendering workflow relies on the compositing\nnodes to process the final render.", "plugin_type": "instance", "families": ["render"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "b8483b8a-d355-4f52-b148-0633b755fad0", "name": "ValidateVersion", "label": "Validate Version", "order": 1, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/validate_version.py", "docstring": "Validate instance version.\n\nAYON does not allow overwriting previously published versions.", "plugin_type": "instance", "families": ["*"], "targets": ["default"], "instances_data": [{"id": "cd7c35ee-9389-4120-8755-a79cf97b9f79", "logs": [], "process_time": 0.07319450378417969}], "actions_data": [], "skipped": false, "passed": true}, {"id": "2d5c4b7a-a948-47a4-b8cd-5b72af1c8302", "name": "ValidateUSDDependencies", "label": null, "order": 1, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/extract_usd_layer_contributions.py", "docstring": null, "plugin_type": "instance", "families": ["usdLayer"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "23cf6360-e2b1-4883-b22f-bca96975dd87", "name": "ValidateProductUniqueness", "label": "Validate Product Uniqueness", "order": 1, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/validate_unique_subsets.py", "docstring": "Validate all product names are unique.\n\nThis only validates whether the instances currently set to publish from\nthe workfile overlap one another for the folder + product they are\npublishing to.\n\nThis does not perform any check against existing publishes in the database\nsince it is allowed to publish into existing products resulting in\nversioning.\n\nA product may appear twice to publish from the workfile if one\nof them is set to publish to another folder than the other.", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [], "process_time": 0.08368492126464844}], "actions_data": [], "skipped": false, "passed": true}, {"id": "60f3da03-220f-4519-8f54-d1242fc05fac", "name": "ValidateFileSequences", "label": "Validate File Sequences", "order": 1, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/validate_filesequences.py", "docstring": "Validates whether any file sequences were collected.", "plugin_type": "context", "families": ["*"], "targets": ["filesequence", "farm"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "19454335-afab-4f92-955d-499e4a4a307b", "name": "ValidateFolderEntities", "label": "Validate Folder entities", "order": 1, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/validate_asset_docs.py", "docstring": "Validate existence of folder entity on instances.\n\nWithout folder entity it is not possible to publish the instance.\n\nIf context has set folder entity the validation is skipped.\n\nPlugin was added because there are cases when context folder is not\ndefined e.g. in tray publisher.", "plugin_type": "instance", "families": ["*"], "targets": ["default"], "instances_data": [{"id": "cd7c35ee-9389-4120-8755-a79cf97b9f79", "logs": [], "process_time": 0.07462501525878906}], "actions_data": [], "skipped": false, "passed": true}, {"id": "5782fdf7-fc58-4509-8e04-0069e75eb108", "name": "ValidateRenderLocalHasExistingFrames", "label": "Validate Existing Frames", "order": 1.1, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/validate_render_existing_frames.py", "docstring": "Validate all files for the representations exist on disk.", "plugin_type": "instance", "families": ["render.local_no_render"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "0161f4e0-b801-4d28-a1d7-60f16c95cb07", "name": "ValidateNoMaterial", "label": "No Material", "order": 1.1, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/validate_no_material.py", "docstring": "Ensure that objects have material assigned.", "plugin_type": "instance", "families": ["look"], "targets": ["default"], "instances_data": [{"id": "cd7c35ee-9389-4120-8755-a79cf97b9f79", "logs": [], "process_time": 0.09369850158691406}], "actions_data": [], "skipped": false, "passed": true}, {"id": "64b49264-17aa-40fd-83b2-421a5cb27c1d", "name": "ValidateNoAction", "label": "No Action", "order": 1.1, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/validate_no_action.py", "docstring": "Ensure that objects have action with animation data.", "plugin_type": "instance", "families": ["action"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "1d16cbc4-b537-4647-8f71-4a5e31c65759", "name": "ValidateCompositorNodeFileOutputPaths", "label": "Validate Output Paths", "order": 1.1, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/validate_render_output_paths.py", "docstring": "Validate output render paths from the Compositor Node Output File.\n\nThis validator checks that the render output paths set in the\n`CompositorNodeOutputFile` adhere to a few strict requirements:\n- The output base path must include the workfile name in the output path.\n- The output filename must end with `.{frame}.{ext}` where it is fine\n  if the path on the node is set as `filename.` because if frame number\n  and extension are missing Blender will automatically append them.", "plugin_type": "instance", "families": ["render"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "f4477643-34ec-4098-b157-522ab853bc50", "name": "ValidateSceneRenderFilePath", "label": "Validate Scene Output", "order": 1.1, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/validate_render_output_paths.py", "docstring": "Validate Scene Render Output File Path is not empty.\n\nValidates `bpy.context.scene.render.filepath` is set to a valid directory.", "plugin_type": "instance", "families": ["render"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "8d5500a7-c665-4bed-b4f2-b2cb8cf86fc5", "name": "ValidateAbsoluteDataBlockPaths", "label": "Validate Absolute Data Block Paths", "order": 1.1, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/validate_absolute_external_data_paths.py", "docstring": "Validates Absolute Data Block Paths\n\nThis validator checks if all external data paths are absolute\nto ensure the links would not be broken when publishing", "plugin_type": "context", "families": ["workfile"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "4572c069-ad48-451f-bebe-dafa393d188c", "name": "ValidateMeshHasUvs", "label": "Mesh Has UVs", "order": 1.1, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/validate_mesh_has_uv.py", "docstring": "Validate that the current mesh has UV's.", "plugin_type": "instance", "families": ["model"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "f8216ce8-2dc1-4b40-b74d-d53b2ed2c79a", "name": "ValidateNoAnimation", "label": "No Animation", "order": 1.1, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/validate_no_animation.py", "docstring": "Ensure that meshes do not have animation data.", "plugin_type": "instance", "families": ["blendScene", "model", "rig"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "eb06adc0-49be-4aac-9770-628baa40a0a9", "name": "ValidateNoLinkedObject", "label": "Validate No Linked Object", "order": 1.1, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/validate_no_linked_object.py", "docstring": "Validates object is not linked from other file.", "plugin_type": "instance", "families": ["look"], "targets": ["default"], "instances_data": [{"id": "cd7c35ee-9389-4120-8755-a79cf97b9f79", "logs": [], "process_time": 0.14972686767578125}], "actions_data": [], "skipped": false, "passed": true}, {"id": "ef78f892-0811-47e3-a845-72f87f7f9820", "name": "ValidateFrameRange", "label": "Validate Frame Range", "order": 1.1, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/validate_frame_range.py", "docstring": "Validates the frame ranges.\n\nThis is an optional validator checking if the frame range on instance\nmatches the frame range specified for the folder.\n\nIt also validates render frame ranges of render layers.\n\nRepair action will change everything to match the folder frame range.\n\nThis can be turned off by the artist to allow custom ranges.", "plugin_type": "instance", "families": ["animation", "camera", "pointcache", "render", "review"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "260552d3-8cd1-4bad-b245-ac05d90e713a", "name": "ValidateMeshNoNegativeScale", "label": "Mesh No Negative Scale", "order": 1.1, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/validate_mesh_no_negative_scale.py", "docstring": "Ensure that meshes don't have a negative scale.", "plugin_type": "instance", "families": ["model"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "adcdf5e1-3284-42ed-a9f9-fdfbf4bb374b", "name": "ValidatePublishDir", "label": "Validate publish dir", "order": 1.1, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/validate_publish_dir.py", "docstring": "Validates if files are being published into a project directory\n\nIn specific cases ('source' template - in place publishing) source folder\nof published items is used as a regular `publish` dir.\nThis validates if it is inside any project dir for the project.\n(eg. files are not published from local folder, inaccessible for studio')", "plugin_type": "instance", "families": ["*"], "targets": ["default"], "instances_data": [{"id": "cd7c35ee-9389-4120-8755-a79cf97b9f79", "logs": [{"type": "record", "msg": "Looking for matching profile for: host_names: \"blender\" | product_base_types: \"look\" | task_names: \"lookdev\" | task_types: \"Lookdev\"", "name": "pyblish.ValidatePublishDir", "lineno": 170, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "profiles_filtering.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/lib/profiles_filtering.py", "msecs": 867.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}, {"type": "record", "msg": "\"look\" not found in \"product_base_types\": ['review', 'render', 'prerender']", "name": "pyblish.ValidatePublishDir", "lineno": 188, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "profiles_filtering.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/lib/profiles_filtering.py", "msecs": 867.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}, {"type": "record", "msg": "\"blender\" not found in \"host_names\": ['substancedesigner']", "name": "pyblish.ValidatePublishDir", "lineno": 188, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "profiles_filtering.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/lib/profiles_filtering.py", "msecs": 867.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}, {"type": "record", "msg": "\"blender\" not found in \"host_names\": ['maya']", "name": "pyblish.ValidatePublishDir", "lineno": 188, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "profiles_filtering.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/lib/profiles_filtering.py", "msecs": 867.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}, {"type": "record", "msg": "\"blender\" not found in \"host_names\": ['traypublisher']", "name": "pyblish.ValidatePublishDir", "lineno": 188, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "profiles_filtering.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/lib/profiles_filtering.py", "msecs": 868.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}, {"type": "record", "msg": "\"blender\" not found in \"host_names\": ['max']", "name": "pyblish.ValidatePublishDir", "lineno": 188, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "profiles_filtering.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/lib/profiles_filtering.py", "msecs": 868.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}, {"type": "record", "msg": "\"blender\" not found in \"host_names\": ['unreal']", "name": "pyblish.ValidatePublishDir", "lineno": 188, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "profiles_filtering.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/lib/profiles_filtering.py", "msecs": 868.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}, {"type": "record", "msg": "Profile selected: {'host_names': [], 'product_base_types': [], 'task_names': [], 'task_types': [], 'template_name': 'default'}", "name": "pyblish.ValidatePublishDir", "lineno": 224, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "profiles_filtering.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/lib/profiles_filtering.py", "msecs": 868.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}], "process_time": 0.37550926208496094}], "actions_data": [], "skipped": false, "passed": true}, {"id": "1956b231-9f4d-4109-a396-8d6e3ae946e0", "name": "ValidateResources", "label": "Resources", "order": 1.1, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/validate_resources.py", "docstring": "Validates mapped resources.\n\nThese are external files to the current application, for example\nthese could be textures, image planes, cache files or other linked\nmedia.\n\nA single resource entry MUST contain `source` and `files`:\n    {\n        \"source\": \"/path/to/file.<UDIM>.exr\",\n        \"files\": ['/path/to/file.1001.exr', '/path/to/file.1002.exr']\n    }\n\nIt may contain additional metadata like `attribute` or `node` so other\npublishing plug-ins can detect where the resource was used. The\n`color_space` data is also frequently used (e.g. in Maya and Houdini)\n\nThis validates:\n    - The resources are existing files.\n    - The resources have correctly collected the data.\n    - The resources must be unique to the source filepath so that multiple\n      source filepaths do not write to the same publish filepath.", "plugin_type": "instance", "families": ["*"], "targets": ["default"], "instances_data": [{"id": "cd7c35ee-9389-4120-8755-a79cf97b9f79", "logs": [{"type": "record", "msg": "No resources to validate..", "name": "pyblish.ValidateResources", "lineno": 45, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "validate_resources.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/validate_resources.py", "msecs": 74.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}], "process_time": 0.11730194091796875}], "actions_data": [], "skipped": false, "passed": true}, {"id": "cb02f979-0dc5-477c-8da1-72fc693fdb77", "name": "SaveCurrentSceneBlender", "label": "Save current file", "order": 1.51, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/save_scene.py", "docstring": "Save current scene.\n\nAlways ensure the current scene is saved before we continue extracting,\nso that our scene state is reproducable and consistent.", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [{"type": "record", "msg": "Saving current file: /home/daniel/Shortfilms/Recently_at_the_Supermarket/Assets/cube/work/lookdev/RatS_cube_lookdev_v001.blend", "name": "pyblish.SaveCurrentSceneBlender", "lineno": 35, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "save_scene.py", "pathname": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/save_scene.py", "msecs": 278.0, "exc_info": null, "instance_id": null}], "process_time": 17.357587814331055}], "actions_data": [], "skipped": false, "passed": true}, {"id": "9f5d5057-ba33-421c-84fc-988ae35e9e17", "name": "CollectComment", "label": "Collect Instance Comment", "order": 1.51, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_comment.py", "docstring": "Collect comment per each instance.\n\nPlugin makes sure each instance to publish has set \"comment\" in data so any\nfurther plugin can use it directly.", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [{"type": "record", "msg": "Instance lookMain does not have set comment", "name": "pyblish.CollectComment", "lineno": 110, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "collect_comment.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/collect_comment.py", "msecs": 484.0, "exc_info": null, "instance_id": null}], "process_time": 0.13446807861328125}], "actions_data": [], "skipped": false, "passed": true}, {"id": "ac7eb0df-6455-4d0a-86cb-894d5783305b", "name": "ExtractOtioAudioTracks", "label": "Extract OTIO Audio Tracks", "order": 1.56, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/extract_otio_audio_tracks.py", "docstring": "Extract Audio tracks from OTIO timeline.\n\nProcess will merge all found audio tracks into one long .wav file at frist\nstage. Then it will trim it into individual short audio files relative to\nasset length and add it to each marked instance data representation. This\nis influenced by instance data audio attribute ", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [], "process_time": 0.2989768981933594}], "actions_data": [], "skipped": false, "passed": true}, {"id": "525fca8c-fa88-4f62-8529-0b6983affbc4", "name": "ExtractLocalRender", "label": "Extract Local Render", "order": 1.6, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/extract_render.py", "docstring": "Render the sequence locally during publish when not using farm.\n\nThis extractor renders the current scene's animation to the file output\npaths collected on the render instance. It only runs when the instance\nis not marked for farm processing (farm=False).", "plugin_type": "instance", "families": ["render"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "14367abd-96e1-4cce-a72c-fcb06f69a176", "name": "ExtractHierarchyToAYON", "label": "Extract Hierarchy To AYON", "order": 1.99, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/extract_hierarchy_to_ayon.py", "docstring": "Create entities in AYON based on collected data.", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [{"type": "record", "msg": "Skipping ExtractHierarchyToAYON", "name": "pyblish.ExtractHierarchyToAYON", "lineno": 28, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "extract_hierarchy_to_ayon.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/extract_hierarchy_to_ayon.py", "msecs": 899.0, "exc_info": null, "instance_id": null}], "process_time": 0.4572868347167969}], "actions_data": [], "skipped": false, "passed": true}, {"id": "1fdc4641-f1be-48a6-86e2-cc7514b8f52f", "name": "ExtractThumbnailFromSource", "label": "Extract Thumbnail from source", "order": 1.99999, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/extract_thumbnail_from_source.py", "docstring": "Create jpg thumbnail for instance based on 'thumbnailSource'.\n\nThumbnail source must be a single image or video filepath.", "plugin_type": "instance", "families": ["*"], "targets": ["default"], "instances_data": [{"id": "cd7c35ee-9389-4120-8755-a79cf97b9f79", "logs": [{"type": "record", "msg": "Thumbnail source not filled. Skipping.", "name": "pyblish.ExtractThumbnailFromSource", "lineno": 92, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "extract_thumbnail_from_source.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/extract_thumbnail_from_source.py", "msecs": 107.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}, {"type": "record", "msg": "Thumbnail source not filled. Skipping.", "name": "pyblish.ExtractThumbnailFromSource", "lineno": 52, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "extract_thumbnail_from_source.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/extract_thumbnail_from_source.py", "msecs": 107.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}], "process_time": 0.25153160095214844}], "actions_data": [], "skipped": false, "passed": true}, {"id": "c52f5445-21d4-4402-a4d2-174309b73a82", "name": "ExtractAnimationABC", "label": "Extract Animation ABC", "order": 2.0, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/extract_abc_animation.py", "docstring": "Extract as ABC.\n\nFor more details on the export options, see:\nhttps://docs.blender.org/api/current/bpy.ops.wm.html#bpy.ops.wm.alembic_export   # noqa", "plugin_type": "instance", "families": ["animation"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "92c467e8-79cf-4c92-abf5-2029b0f55b51", "name": "ExtractUSD", "label": "Extract USD", "order": 2.0, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/extract_usd.py", "docstring": "Extract as USD.", "plugin_type": "instance", "families": ["usd"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "afa9058d-9b92-4b62-81f4-52697d074792", "name": "ExtractCamera", "label": "Extract Camera (FBX)", "order": 2.0, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/extract_camera_fbx.py", "docstring": "Extract as the camera as FBX.", "plugin_type": "instance", "families": ["camera"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "835a8277-3f12-4907-a03e-930dc068ce14", "name": "ExtractCameraABC", "label": "Extract Camera (ABC)", "order": 2.0, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/extract_camera_abc.py", "docstring": "Extract camera as ABC.", "plugin_type": "instance", "families": ["camera"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "526327b4-982d-4096-a13c-7c85f16066bd", "name": "ExtractBlendAnimation", "label": "Extract Blend", "order": 2.0, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/extract_blend_animation.py", "docstring": "Extract a blend file.", "plugin_type": "instance", "families": ["animation"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "f8114131-0cf7-4c64-a8f8-98f1ac9bf0aa", "name": "ExtractLayout", "label": "Extract Layout (JSON)", "order": 2.0, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/extract_layout.py", "docstring": "Extract a layout.", "plugin_type": "instance", "families": ["layout"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "e996dd28-579f-4720-9d37-0f8bd627fba0", "name": "ExtractABC", "label": "Extract ABC", "order": 2.0, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/extract_abc.py", "docstring": "Extract as ABC.\n\nFor more details on the export options, see:\nhttps://docs.blender.org/api/current/bpy.ops.wm.html#bpy.ops.wm.alembic_export   # noqa", "plugin_type": "instance", "families": ["pointcache"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "66ac0062-1d94-4c42-b9b9-9ef2a1c2c608", "name": "ExtractModelABC", "label": "Extract Model ABC", "order": 2.0, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/extract_abc.py", "docstring": "Extract model as ABC.", "plugin_type": "instance", "families": ["model"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "2ece7f3f-d388-4af3-b59a-69c42a53dfec", "name": "ExtractBlend", "label": "Extract Blend", "order": 2.0, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/extract_blend.py", "docstring": "Extract a blend file.", "plugin_type": "instance", "families": ["model", "camera", "rig", "layout", "blendScene"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "3790f881-6e32-45ee-b954-71e82544ddc8", "name": "ExtractBlendAction", "label": "Extract Blend (Action)", "order": 2.0, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/extract_blend.py", "docstring": "Extract a blend file from the current scene.\n    ", "plugin_type": "instance", "families": ["action"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "cb7e03c5-debb-4093-bcce-446d4e939cf5", "name": "ExtractBlendLook", "label": "Extract Blend (Look)", "order": 2.0, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/extract_blend.py", "docstring": "Extract a blend file from the current scene.", "plugin_type": "instance", "families": ["look"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "a841701d-5b82-4540-a527-673b2f390cfa", "name": "ExtractThumbnail", "label": "Extract Thumbnail", "order": 2.01, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/extract_thumbnail.py", "docstring": "Extract viewport thumbnail.\n\nTakes review camera and creates a thumbnail based on viewport\ncapture.", "plugin_type": "instance", "families": ["review.playblast"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "13bab544-decb-4472-bedb-c6bfca70b0b4", "name": "ExtractPlayblast", "label": "Extract Playblast", "order": 2.01, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/extract_playblast.py", "docstring": "Extract viewport playblast.\n\nTakes review camera and creates review Quicktime video based on viewport\ncapture.", "plugin_type": "instance", "families": ["review.playblast"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "2c4bbc7f-7cf0-4f68-ba97-a691edb5cbe7", "name": "ExtractOIIOTranscode", "label": "Transcode color spaces", "order": 2.019, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/extract_color_transcode.py", "docstring": "Extractor to convert colors from one colorspace to different.\n\nExpects \"colorspaceData\" on representation. This dictionary is collected\npreviously and denotes that representation files should be converted.\nThis dict contains source colorspace information, collected by hosts.\n\nTarget colorspace is selected by profiles in the Settings, based on:\n- host names\n- product base types\n- product names\n- task types\n- task names\n\nCan produce one or more representations (with different extensions) based\non output definition in format:\n    \"output_name: {\n        \"extension\": \"png\",\n        \"colorspace\": \"ACES - ACEScg\",\n        \"display\": \"\",\n        \"view\": \"\",\n        \"tags\": [],\n        \"custom_tags\": []\n    }\n\nIf 'extension' is empty original representation extension is used.\n'output_name' will be used as name of new representation. In case of value\n    'passthrough' name of original representation will be used.\n\n'colorspace' denotes target colorspace to be transcoded into. Could be\nempty if transcoding should be only into display and viewer colorspace.\n(In that case both 'display' and 'view' must be filled.)", "plugin_type": "instance", "families": ["*"], "targets": ["default"], "instances_data": [{"id": "cd7c35ee-9389-4120-8755-a79cf97b9f79", "logs": [{"type": "record", "msg": "No profiles present for color transcode", "name": "pyblish.ExtractOIIOTranscode", "lineno": 74, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "extract_color_transcode.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/extract_color_transcode.py", "msecs": 315.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}], "process_time": 0.11014938354492188}], "actions_data": [], "skipped": false, "passed": true}, {"id": "3f738852-586d-4bb9-9546-e64658519e6d", "name": "ExtractOIIOPostProcess", "label": "OIIO Post Process", "order": 2.02, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/extract_oiio_postprocess.py", "docstring": "Process representations through `oiiotool` with profile defined\nsettings so that e.g. color space conversions can be applied or images\ncould be converted to scanline, resized, etc. regardless of colorspace\ndata.", "plugin_type": "instance", "families": ["*"], "targets": ["default"], "instances_data": [{"id": "cd7c35ee-9389-4120-8755-a79cf97b9f79", "logs": [{"type": "record", "msg": "No profiles present for OIIO Post Process", "name": "pyblish.ExtractOIIOPostProcess", "lineno": 48, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "extract_oiio_postprocess.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/extract_oiio_postprocess.py", "msecs": 523.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}], "process_time": 0.11682510375976562}], "actions_data": [], "skipped": false, "passed": true}, {"id": "409d2c80-8b26-4077-bc9b-b5bc3087cb50", "name": "ExtractReview", "label": "Extract Review", "order": 2.02, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/extract_review.py", "docstring": "Extracting Reviewable medias\n\nCompulsory attribute of representation is tags list with \"review\",\notherwise the representation is ignored.\n\nAll new representations are created and encoded by ffmpeg following\npresets found in AYON Settings interface at\n`project_settings/global/publish/ExtractReview/profiles:outputs`.", "plugin_type": "instance", "families": ["review"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "acd59428-d630-4b4d-b4f6-04106a879298", "name": "ExtractBurnin", "label": "Extract burnins", "order": 2.03, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/extract_burnin.py", "docstring": "Extractor to create video with pre-defined burnins from\nexisting extracted video representation.\n\nIt will work only on representations having `burnin = True` or\n`tags` including `burnin`", "plugin_type": "instance", "families": ["review", "burnin"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "76b143ce-5980-4517-b37e-519a4100fd9a", "name": "ExtractUSDLayerContribution", "label": "Extract USD Layer Contributions (Asset/Shot)", "order": 2.45, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/extract_usd_layer_contributions.py", "docstring": null, "plugin_type": "instance", "families": ["usdLayer"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "200f563e-61ce-4445-93d5-08adf6c2edea", "name": "ExtractUSDAssetContribution", "label": "Extract USD Asset/Shot Contributions", "order": 2.46, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/extract_usd_layer_contributions.py", "docstring": null, "plugin_type": "instance", "families": ["usdAsset"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "f08ae254-d83f-4d05-bdc5-285da61d4d2c", "name": "ExtractColorspaceData", "label": "Extract Colorspace data", "order": 2.49, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/extract_colorspace_data.py", "docstring": "Inject Colorspace data to available representations.\n\nInput data:\n- context.data[colorspace_config_path]:\n    for anatomy formatting of possible template tokens in config path\n- context.data[colorspace_config_path]:\n    for resolving project and host related config.ocio\n- context.data[colorspace_file_rules]:\n    for resolving matched file rule from representation file name\n    and adding it to representation\n\nOutput data:\n    representation[colorspaceData] = {\n        \"colorspace\": \"linear\",\n        \"config\": {\n            \"path\": \"/abs/path/to/config.ocio\",\n            \"template\": \"{project[root]}/path/to/config.ocio\"\n        }\n    }", "plugin_type": "instance", "families": ["*"], "targets": ["default"], "instances_data": [{"id": "cd7c35ee-9389-4120-8755-a79cf97b9f79", "logs": [{"type": "record", "msg": "No representations at instance : `lookMain`", "name": "pyblish.ExtractColorspaceData", "lineno": 33, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "extract_colorspace_data.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/extract_colorspace_data.py", "msecs": 726.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}], "process_time": 0.10848045349121094}], "actions_data": [], "skipped": false, "passed": true}, {"id": "e3fb94e4-97ce-4a75-b7df-9c85c4ef219d", "name": "AttachReviewables", "label": "Attach reviewables", "order": 2.501, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/integrate_attach_reviewable.py", "docstring": "Attach reviewable to other instances\n\nThis pre-integrator plugin allows instances to be 'attached to' other\ninstances by moving all its representations over to the other instance.\nEven though this technically could work for any representation the current\nintent is to use for reviewables only, like e.g. `review` or `render`\nproduct type.\n\nWhen the reviewable is attached to another instance, the instance itself\nwill not be published as a separate entity. Instead, the representations\nwill be copied/moved to the instances it is attached to.", "plugin_type": "instance", "families": ["render", "review"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "8a574cf5-16ed-4cf9-8c9e-f271944bdfea", "name": "IntegrateVersionAppNameData", "label": "Add app name to version data", "order": 2.51, "filepath": "/home/daniel/.local/share/AYON/addons/applications_1.3.4/ayon_applications/plugins/publish/integrate_app_name.py", "docstring": "Add application name to version data.", "plugin_type": "instance", "families": ["*"], "targets": ["default"], "instances_data": [{"id": "cd7c35ee-9389-4120-8755-a79cf97b9f79", "logs": [{"type": "record", "msg": "Version data 'ayon_app_name' set to: blender/5-1-0", "name": "pyblish.IntegrateVersionAppNameData", "lineno": 13, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "integrate_app_name.py", "pathname": "/home/daniel/.local/share/AYON/addons/applications_1.3.4/ayon_applications/plugins/publish/integrate_app_name.py", "msecs": 930.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}], "process_time": 0.11682510375976562}], "actions_data": [], "skipped": false, "passed": true}, {"id": "fc797df0-9eb5-42af-b61d-ec22f5b67048", "name": "IntegrateProductGroup", "label": "Product Group", "order": 2.9, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/integrate_product_group.py", "docstring": "Integrate Product Group for publish.", "plugin_type": "instance", "families": ["*"], "targets": ["default"], "instances_data": [{"id": "cd7c35ee-9389-4120-8755-a79cf97b9f79", "logs": [{"type": "record", "msg": "Looking for matching profile for: product_base_types: \"look\" | host_names: \"blender\" | task_names: \"lookdev\" | task_types: \"Lookdev\"", "name": "pyblish.IntegrateProductGroup", "lineno": 170, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "profiles_filtering.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/lib/profiles_filtering.py", "msecs": 136.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}, {"type": "record", "msg": "Profile selected: {'host_names': [], 'product_base_types': [], 'task_names': [], 'task_types': [], 'template': ''}", "name": "pyblish.IntegrateProductGroup", "lineno": 224, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "profiles_filtering.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/lib/profiles_filtering.py", "msecs": 137.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}], "process_time": 0.22125244140625}], "actions_data": [], "skipped": false, "passed": true}, {"id": "cb3072e0-d03c-46fb-85ed-2c2f56df473d", "name": "PreIntegrateThumbnails", "label": "Override Integrate Thumbnail Representations", "order": 2.9, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/preintegrate_thumbnail_representation.py", "docstring": "Marks thumbnail representation for integrate to DB or not.", "plugin_type": "instance", "families": ["*"], "targets": ["default"], "instances_data": [{"id": "cd7c35ee-9389-4120-8755-a79cf97b9f79", "logs": [], "process_time": 0.07653236389160156}], "actions_data": [], "skipped": false, "passed": true}, {"id": "d564b8f4-ec28-407a-b606-b5225e5fd486", "name": "IntegrateResourcesPath", "label": "Integrate Resources Path", "order": 2.95, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/integrate_resources_path.py", "docstring": "Generate directory path where the files and resources will be stored", "plugin_type": "instance", "families": ["clip", "projectfile", "plate"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "25cdd835-535b-4537-83cf-a05da4d340b6", "name": "IntegrateTraits", "label": "Integrate Traits of an Asset", "order": 3, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/integrate_traits.py", "docstring": "Integrate representations with traits.", "plugin_type": "instance", "families": ["*"], "targets": ["default"], "instances_data": [{"id": "cd7c35ee-9389-4120-8755-a79cf97b9f79", "logs": [{"type": "record", "msg": "Instance has no representations with traits. Skipping", "name": "pyblish.IntegrateTraits", "lineno": 340, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "integrate_traits.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/integrate_traits.py", "msecs": 547.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}], "process_time": 0.1373291015625}], "actions_data": [], "skipped": false, "passed": true}, {"id": "063e5211-7226-4979-a8ea-8a2664ec3fd7", "name": "IntegrateAsset", "label": "Integrate Asset", "order": 3, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/integrate.py", "docstring": "Register publish in the database and transfer files to destinations.\n\nSteps:\n    1) Register the product and version\n    2) Transfer the representation files to the destination\n    3) Register the representation\n\nRequires:\n    instance.data['representations'] - must be a list and each member\n    must be a dictionary with following data:\n        'files': list of filenames for sequence, string for single file.\n                 Only the filename is allowed, without the folder path.\n        'stagingDir': \"path/to/folder/with/files\"\n        'name': representation name (usually the same as extension)\n        'ext': file extension\n    optional data\n        \"frameStart\"\n        \"frameEnd\"\n        'fps'\n        \"data\": additional metadata for each representation.", "plugin_type": "instance", "families": ["*"], "targets": ["default"], "instances_data": [{"id": "cd7c35ee-9389-4120-8755-a79cf97b9f79", "logs": [{"type": "record", "msg": "Skipping, there are no representations to integrate for instance look", "name": "pyblish.IntegrateAsset", "lineno": 147, "levelno": 20, "levelname": "INFO", "threadName": "MainThread", "filename": "integrate.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/integrate.py", "msecs": 750.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}], "process_time": 0.20074844360351562}], "actions_data": [], "skipped": false, "passed": true}, {"id": "8c49ea2b-d7fd-4259-a2fd-2c7da4825b65", "name": "IntegrateThumbnailsAYON", "label": "Integrate Thumbnails to AYON", "order": 3.01, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/integrate_thumbnail.py", "docstring": "Integrate Thumbnails for use in Loaders.", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [{"type": "record", "msg": "There are no published representations on the instance lookMain.", "name": "pyblish.IntegrateThumbnailsAYON", "lineno": 100, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "integrate_thumbnail.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/integrate_thumbnail.py", "msecs": 958.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "All instances were filtered. Thumbnail integration skipped.", "name": "pyblish.IntegrateThumbnailsAYON", "lineno": 55, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "integrate_thumbnail.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/integrate_thumbnail.py", "msecs": 958.0, "exc_info": null, "instance_id": null}], "process_time": 0.12564659118652344}], "actions_data": [], "skipped": false, "passed": true}, {"id": "7d09e97b-680c-45e5-b982-47bae4ac9404", "name": "IntegrateAnimation", "label": "Integrate Animation", "order": 3.1, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/integrate_animation.py", "docstring": "Generate a JSON file for animation.", "plugin_type": "instance", "families": ["setdress"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "c5a43786-5172-44f5-8796-89a5fea9850f", "name": "IntegrateHeroVersion", "label": "Integrate Hero Version", "order": 3.1, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/integrate_hero_version.py", "docstring": null, "plugin_type": "instance", "families": ["model", "rig", "look", "pointcache", "animation", "setdress", "layout", "mayaScene", "simpleUnrealTexture"], "targets": ["default"], "instances_data": [{"id": "cd7c35ee-9389-4120-8755-a79cf97b9f79", "logs": [{"type": "record", "msg": "--- Integration of Hero version for product `lookMain` begins.", "name": "pyblish.IntegrateHeroVersion", "lineno": 102, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "integrate_hero_version.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/integrate_hero_version.py", "msecs": 161.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}, {"type": "record", "msg": "*** There are no published representations on the instance.", "name": "pyblish.IntegrateHeroVersion", "lineno": 109, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "integrate_hero_version.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/integrate_hero_version.py", "msecs": 161.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}], "process_time": 0.12683868408203125}], "actions_data": [], "skipped": false, "passed": true}, {"id": "24ad9698-d1b0-4ecd-8ba2-f387700050ef", "name": "IntegrateAYONReview", "label": "Integrate AYON Review", "order": 3.15, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/integrate_review.py", "docstring": null, "plugin_type": "instance", "families": ["*"], "targets": ["default"], "instances_data": [{"id": "cd7c35ee-9389-4120-8755-a79cf97b9f79", "logs": [], "process_time": 0.07963180541992188}], "actions_data": [], "skipped": false, "passed": true}, {"id": "664d220f-310f-4b52-8786-544f7610c571", "name": "IntegrateInputLinksAYON", "label": "Connect Dependency InputLinks AYON", "order": 3.2, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/integrate_inputlinks.py", "docstring": "Connecting version level dependency links\n\nHandles links:\n    - generative - what gets produced from workfile\n    - reference - what was loaded into workfile\n\nIt expects workfile instance is being published.", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [{"type": "record", "msg": "Instance lookMain doesn't have version.", "name": "pyblish.IntegrateInputLinksAYON", "lineno": 114, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "integrate_inputlinks.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/integrate_inputlinks.py", "msecs": 572.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "No workfile in this publish session.", "name": "pyblish.IntegrateInputLinksAYON", "lineno": 172, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "integrate_inputlinks.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/integrate_inputlinks.py", "msecs": 572.0, "exc_info": null, "instance_id": null}], "process_time": 0.2338886260986328}], "actions_data": [], "skipped": false, "passed": true}, {"id": "e41c3190-ac6e-4724-9dcb-af3b623084a3", "name": "IntegrateVersionAttributes", "label": "Integrate Version Attributes", "order": 3.5, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/integrate_version_attrs.py", "docstring": "Integrate version attributes from predefined key.\n\nAny integration after 'IntegrateAsset' can fill 'versionAttributes' with\nattribute key & value to be updated on created version.\n\nThe integration must make sure the attribute is available for the version\nentity otherwise an error would be raised.\n\nExample of 'versionAttributes':\n    {\n        \"ftrack_id\": \"0123456789-101112-131415\",\n        \"syncsketch_id\": \"987654321-012345-678910\"\n    }", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [{"type": "record", "msg": "There are no version attributes to update", "name": "pyblish.IntegrateVersionAttributes", "lineno": 79, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "integrate_version_attrs.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/integrate_version_attrs.py", "msecs": 782.0, "exc_info": null, "instance_id": null}], "process_time": 1.405477523803711}], "actions_data": [], "skipped": false, "passed": true}, {"id": "b6833c06-eba6-44a7-a74f-e3a9a3f1f644", "name": "IncrementWorkfileVersion", "label": "Increment Workfile Version", "order": 3.9, "filepath": "/home/daniel/.local/share/AYON/addons/blender_1.1.0/ayon_blender/plugins/publish/increment_workfile_version.py", "docstring": "Increment current workfile version.", "plugin_type": "context", "families": ["animation", "model", "rig", "action", "layout", "blendScene", "pointcache", "render.farm"], "targets": ["default"], "instances_data": [], "actions_data": [], "skipped": true, "passed": false}, {"id": "76046f8c-ac24-417f-a37c-8309fc24ac38", "name": "ExplicitCleanUp", "label": "Explicit Clean Up", "order": 13, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/cleanup_explicit.py", "docstring": "Cleans up the files and folder defined to be deleted.\n\nplugin is looking for 2 keys into context data:\n- `cleanupFullPaths` - full paths that should be removed not matter if\n    is path to file or to directory\n- `cleanupEmptyDirs` - full paths to directories that should be removed\n    only if do not contain any file in it but will be removed if contain\n    sub-folders", "plugin_type": "context", "families": ["*"], "targets": ["default"], "instances_data": [{"id": null, "logs": [{"type": "record", "msg": "No full paths to cleanup were collected.", "name": "pyblish.ExplicitCleanUp", "lineno": 37, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "cleanup_explicit.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/cleanup_explicit.py", "msecs": 984.0, "exc_info": null, "instance_id": null}, {"type": "record", "msg": "No empty dirs to cleanup were collected.", "name": "pyblish.ExplicitCleanUp", "lineno": 110, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "cleanup_explicit.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/cleanup_explicit.py", "msecs": 984.0, "exc_info": null, "instance_id": null}], "process_time": 0.48923492431640625}], "actions_data": [], "skipped": false, "passed": true}, {"id": "cf19bf6d-69f3-434a-ba6b-e6b1ee5b2df0", "name": "CleanUp", "label": "Clean Up", "order": 13, "filepath": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/cleanup.py", "docstring": "Cleans up the staging directory after a successful publish.\n\nThis will also clean published renders and delete their parent directories.", "plugin_type": "instance", "families": ["*"], "targets": ["default"], "instances_data": [{"id": "cd7c35ee-9389-4120-8755-a79cf97b9f79", "logs": [{"type": "record", "msg": "Removing staging directory /tmp/ay_tmp_6qd2bk7x", "name": "pyblish.CleanUp", "lineno": 115, "levelno": 10, "levelname": "DEBUG", "threadName": "MainThread", "filename": "cleanup.py", "pathname": "/home/daniel/.local/share/AYON/addons/core_1.8.7/ayon_core/plugins/publish/cleanup.py", "msecs": 190.0, "exc_info": null, "instance_id": "cd7c35ee-9389-4120-8755-a79cf97b9f79"}], "process_time": 0.21004676818847656}], "actions_data": [], "skipped": false, "passed": true}], "instances": {"cd7c35ee-9389-4120-8755-a79cf97b9f79": {"name": "lookMain", "label": "lookMain", "product_type": "look", "product_base_type": "look", "family": "look", "families": ["look", "look"], "exists": true, "creator_identifier": "io.ayon.creators.blender.look", "instance_id": "2eb2fbfd-9bd9-418c-a86a-25286013d56a"}}, "context": {"label": "Blender - RatS_cube_lookdev_v001.blend"}, "crashed_file_paths": {}, "blocking_crashed_paths": [], "id": "716d9d9a6d5742ec97b48f3684620d32", "created_at": "2026-03-31T09:35:52.665077+02:00", "report_version": "1.1.1"}