Files
HartOMat/backend/app/core/process_steps.py
T
HartmutandClaude Sonnet 4.6 3401b06b19 feat: BLENDER_CINEMATIC workflow graph node (M1)
Add StepName.BLENDER_CINEMATIC and full graph runtime support so cinematic
output types can be promoted from legacy_only to graph/shadow rollout mode.

- process_steps.py: add BLENDER_CINEMATIC = "blender_cinematic" enum value
- workflow_executor.py: map to render_cinematic_task in STEP_TASK_MAP
- workflow_node_registry.py: node definition with render/scene/camera fields
  (no animation params — cinematic is fixed at 250 frames @ 25fps)
- workflow_graph_runtime.py: _ORDER_LINE_RENDER_STEPS, _CINEMATIC_TASK_KEYS,
  shadow queue routing, predict_render_output_artifact (mp4),
  _build_task_kwargs, _artifact_kind_override_for_step
- tasks.py: _normalize_cinematic_params + render_cinematic_task Celery task
  (calls render_cinematic_to_file, publishes as turntable asset type since mp4)

No DB migration needed: admins can now manually set cinematic output types
to graph rollout mode via the admin panel and assign a workflow definition.

docs: learnings erfasst — BLENDER_CINEMATIC workflow graph node M1

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-22 15:09:47 +02:00

39 lines
1.9 KiB
Python

"""Named pipeline step identifiers.
All Celery tasks and render scripts reference these constants so that log
messages, DB records, and UI labels stay consistent across the codebase.
"""
from enum import StrEnum
class StepName(StrEnum):
# ── STEP file processing ──────────────────────────────────────────
RESOLVE_STEP_PATH = "resolve_step_path"
OCC_OBJECT_EXTRACT = "occ_object_extract"
OCC_GLB_EXPORT = "occ_glb_export"
GLB_BBOX = "glb_bbox"
MATERIAL_MAP_RESOLVE = "material_map_resolve"
AUTO_POPULATE_MATERIALS = "auto_populate_materials"
# ── Thumbnail generation ─────────────────────────────────────────
BLENDER_RENDER = "blender_render"
THREEJS_RENDER = "threejs_render"
THUMBNAIL_SAVE = "thumbnail_save"
# ── Order line render ─────────────────────────────────────────────
ORDER_LINE_SETUP = "order_line_setup"
RESOLVE_TEMPLATE = "resolve_template"
BLENDER_STILL = "blender_still"
BLENDER_TURNTABLE = "blender_turntable"
BLENDER_CINEMATIC = "blender_cinematic"
OUTPUT_SAVE = "output_save"
# ── Asset export ──────────────────────────────────────────────────
EXPORT_BLEND = "export_blend"
# ── STL cache ────────────────────────────────────────────────────
STL_CACHE_GENERATE = "stl_cache_generate"
# ── Notifications ─────────────────────────────────────────────────
NOTIFY = "notify"