Enhance perspective handling in GetActivePlan and ExpandStoryArc nodes by providing default values. This ensures a fallback to scene perspective or a sensible default when none is provided.

This commit is contained in:
vegu-ai-tools
2026-04-01 00:40:11 +03:00
parent 20df239dfa
commit 79f73a35fb

View File

@@ -268,9 +268,14 @@ class GetActivePlan(Node):
beats = []
if plan:
perspective = plan.meta.get("perspective", "")
perspective = plan.meta.get("perspective") or ""
beats = [t for t in plan.tasks if isinstance(t, Beat)]
# Fall back to scene perspective or a sensible default
if not perspective:
scene = active_scene.get()
perspective = getattr(scene, "perspective", "") or "Third person, past tense."
self.set_output_values(
{
"state": input_state,
@@ -364,7 +369,7 @@ class ExpandStoryArc(AgentNode):
input_state = self.require_input("state")
plan_id = self.require_input("plan_id")
beats = self.require_input("beats")
perspective = self.require_input("perspective")
perspective = self.normalized_input_value("perspective") or "Third person, past tense."
director_notes = self.normalized_input_value("director_notes") or ""
chunk_size = self.normalized_input_value("chunk_size") or int(
self.get_property("chunk_size")