59 lines
3.5 KiB
Markdown
59 lines
3.5 KiB
Markdown
## ADDED Requirements
|
|
|
|
### Requirement: Shared Subject Asset Category
|
|
The system SHALL support reusable subject assets in the asset library for video workflows.
|
|
|
|
#### Scenario: Filter reusable subject assets
|
|
- **GIVEN** the asset library contains subject assets and ordinary image assets
|
|
- **WHEN** the user opens a subject asset picker from a supported video workflow
|
|
- **THEN** the picker SHALL prioritize assets categorized as subjects
|
|
- **AND** it SHALL still allow ordinary image assets to be selected as a fallback
|
|
|
|
#### Scenario: Mark image as subject
|
|
- **GIVEN** the user selects an image asset in the asset library
|
|
- **WHEN** the user chooses to set it as a subject
|
|
- **THEN** the system SHALL require a subject name separate from the asset title
|
|
- **AND** it SHALL persist the subject category and lightweight subject metadata for future reuse
|
|
|
|
#### Scenario: Preserve lightweight asset references
|
|
- **WHEN** a subject asset is selected for a workflow character
|
|
- **THEN** the workflow record SHALL persist only lightweight subject fields and image URL references
|
|
- **AND** it SHALL NOT persist image binaries, base64 payloads, or full asset objects in the workflow record
|
|
|
|
### Requirement: Shared Script Page Subject Asset Selection
|
|
The system SHALL let users select asset-library subject materials from both the MV creator script page and the video analyzer script page.
|
|
|
|
#### Scenario: Select subject asset in MV creator script page
|
|
- **GIVEN** the user is editing a character on the MV creator script page
|
|
- **WHEN** the user selects a subject asset from the asset library
|
|
- **THEN** the editor SHALL populate `name`, `description`, and `referenceImageUrl` from the selected asset
|
|
- **AND** the populated values SHALL be persisted with the MV workflow record
|
|
|
|
#### Scenario: Select subject asset in video analyzer script page
|
|
- **GIVEN** the user is editing a detected character on the video analyzer script page
|
|
- **WHEN** the user selects a subject asset from the asset library
|
|
- **THEN** the editor SHALL populate `name`, `description`, and `referenceImageUrl` from the selected asset
|
|
- **AND** the populated values SHALL be persisted with the video analyzer record
|
|
|
|
#### Scenario: Use ordinary image fallback
|
|
- **GIVEN** the user is editing a character in either supported script page
|
|
- **WHEN** the user selects an ordinary image asset instead of a subject asset
|
|
- **THEN** the character editor SHALL populate `referenceImageUrl` from the image asset
|
|
- **AND** it SHALL populate `name` when a title or filename can be inferred
|
|
- **AND** it SHALL preserve any existing user-edited `description` unless the image asset explicitly provides one
|
|
|
|
### Requirement: Shared Step Three Subject Reference Preview
|
|
The system SHALL show selected subject reference images in step 3 of both MV creator and video analyzer generation flows.
|
|
|
|
#### Scenario: Reflect selected reference image in step 3
|
|
- **GIVEN** a workflow character has a `referenceImageUrl` populated from a selected asset
|
|
- **WHEN** the user reaches step 3 of the generation flow
|
|
- **THEN** the step SHALL display that character reference image with the character identity
|
|
- **AND** the displayed image SHALL match the image reference used when submitting generation
|
|
|
|
#### Scenario: Handle unavailable reference image
|
|
- **GIVEN** a workflow character has an unavailable or unreadable `referenceImageUrl`
|
|
- **WHEN** the user reaches step 3 of the generation flow
|
|
- **THEN** the step SHALL render the remaining character information without blocking the page
|
|
- **AND** it SHALL allow the user to replace or clear the reference image
|