Update sequence labels and add compatibility check in ProjectSchedulePane

This commit is contained in:
2026-04-15 00:07:52 +02:00
parent 1c22b8c4f8
commit 6bfb25ed6d
2 changed files with 21 additions and 5 deletions

View File

@@ -458,7 +458,7 @@ export function ProjectSequencerPane({
</select>
</label>
<label className="form-field">
<span className="label">Sequence</span>
<span className="label">Held Sequence</span>
<select
className="select-input"
value={selectedRoutine.sequenceId ?? ""}
@@ -471,7 +471,7 @@ export function ProjectSequencerPane({
)
}
>
<option value="">Inline Routine Effects</option>
<option value="">This Clip (inline held steps)</option>
{compatibleHeldSequences.map((sequence) => (
<option key={sequence.id} value={sequence.id}>
{sequence.title}
@@ -487,6 +487,14 @@ export function ProjectSequencerPane({
</div>
) : null}
{selectedRoutine.sequenceId === null &&
compatibleHeldSequences.length === 0 ? (
<div className="material-summary">
No compatible held project sequences are authored for this
target yet. Use the Sequences panel to author held steps, or
keep this clip on its own inline held controls.
</div>
) : null}
{selectedRoutine.sequenceId === null &&
selectedRoutine.target.kind === "actor" ? (
<>
<label className="form-field">

View File

@@ -10,6 +10,8 @@ import {
type ProjectScheduleTargetOption
} from "../scheduler/project-schedule-control-options";
import {
getProjectSequenceHeldSteps,
getProjectSequenceImpulseSteps,
getSequenceStepLabel,
type SequenceStep
} from "../sequencer/project-sequence-steps";
@@ -156,8 +158,8 @@ export function ProjectSequencesPanel({
>
<span className="outliner-item__title">{sequence.title}</span>
<span className="outliner-item__meta">
{sequence.steps.length} step
{sequence.steps.length === 1 ? "" : "s"}
{getProjectSequenceHeldSteps(sequence).length} held ·{" "}
{getProjectSequenceImpulseSteps(sequence).length} impulse
</span>
</button>
<button
@@ -186,6 +188,10 @@ export function ProjectSequencesPanel({
</div>
) : (
<div className="form-section">
<div className="material-summary">
Held steps are resolved by sequencer timeline clips. Impulse steps
can be started immediately from interaction links.
</div>
<label className="form-field">
<span className="label">Title</span>
<input
@@ -206,7 +212,9 @@ export function ProjectSequencesPanel({
<div className="label">Steps</div>
{selectedSequence.steps.length === 0 ? (
<div className="outliner-empty">
Add held control, impulse control, or dialogue steps.
Add held control, impulse control, or dialogue steps. Interaction
links can only run sequences that contain at least one impulse
step.
</div>
) : (
<div className="outliner-list">