Update sequence labels and add compatibility check in ProjectSchedulePane
This commit is contained in:
@@ -458,7 +458,7 @@ export function ProjectSequencerPane({
|
|||||||
</select>
|
</select>
|
||||||
</label>
|
</label>
|
||||||
<label className="form-field">
|
<label className="form-field">
|
||||||
<span className="label">Sequence</span>
|
<span className="label">Held Sequence</span>
|
||||||
<select
|
<select
|
||||||
className="select-input"
|
className="select-input"
|
||||||
value={selectedRoutine.sequenceId ?? ""}
|
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) => (
|
{compatibleHeldSequences.map((sequence) => (
|
||||||
<option key={sequence.id} value={sequence.id}>
|
<option key={sequence.id} value={sequence.id}>
|
||||||
{sequence.title}
|
{sequence.title}
|
||||||
@@ -487,6 +487,14 @@ export function ProjectSequencerPane({
|
|||||||
</div>
|
</div>
|
||||||
) : null}
|
) : null}
|
||||||
{selectedRoutine.sequenceId === 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" ? (
|
selectedRoutine.target.kind === "actor" ? (
|
||||||
<>
|
<>
|
||||||
<label className="form-field">
|
<label className="form-field">
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ import {
|
|||||||
type ProjectScheduleTargetOption
|
type ProjectScheduleTargetOption
|
||||||
} from "../scheduler/project-schedule-control-options";
|
} from "../scheduler/project-schedule-control-options";
|
||||||
import {
|
import {
|
||||||
|
getProjectSequenceHeldSteps,
|
||||||
|
getProjectSequenceImpulseSteps,
|
||||||
getSequenceStepLabel,
|
getSequenceStepLabel,
|
||||||
type SequenceStep
|
type SequenceStep
|
||||||
} from "../sequencer/project-sequence-steps";
|
} from "../sequencer/project-sequence-steps";
|
||||||
@@ -156,8 +158,8 @@ export function ProjectSequencesPanel({
|
|||||||
>
|
>
|
||||||
<span className="outliner-item__title">{sequence.title}</span>
|
<span className="outliner-item__title">{sequence.title}</span>
|
||||||
<span className="outliner-item__meta">
|
<span className="outliner-item__meta">
|
||||||
{sequence.steps.length} step
|
{getProjectSequenceHeldSteps(sequence).length} held ·{" "}
|
||||||
{sequence.steps.length === 1 ? "" : "s"}
|
{getProjectSequenceImpulseSteps(sequence).length} impulse
|
||||||
</span>
|
</span>
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
@@ -186,6 +188,10 @@ export function ProjectSequencesPanel({
|
|||||||
</div>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className="form-section">
|
<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">
|
<label className="form-field">
|
||||||
<span className="label">Title</span>
|
<span className="label">Title</span>
|
||||||
<input
|
<input
|
||||||
@@ -206,7 +212,9 @@ export function ProjectSequencesPanel({
|
|||||||
<div className="label">Steps</div>
|
<div className="label">Steps</div>
|
||||||
{selectedSequence.steps.length === 0 ? (
|
{selectedSequence.steps.length === 0 ? (
|
||||||
<div className="outliner-empty">
|
<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>
|
||||||
) : (
|
) : (
|
||||||
<div className="outliner-list">
|
<div className="outliner-list">
|
||||||
|
|||||||
Reference in New Issue
Block a user