Add specifications for two-times upscale and unified depth plane features

- Introduced the two-times upscale specification detailing requirements for unified output, fixed model presets, arbitrary dimensions, and consistent job behavior.
- Added scenarios for existing models, repeated upscale, and handling of alpha preservation.
- Created the unified depth plane specification outlining geometry modes, stable interface, and asset evaluation.
- Defined scenarios for mode switching, relief and camera preservation, and validation of delivered assets.
This commit is contained in:
2026-09-17 17:19:05 +08:00
parent 2811c7bf3a
commit 076a8c90f1
524 changed files with 6514 additions and 3 deletions

View File

@@ -0,0 +1,46 @@
# panorama-input-cropping Specification
## Purpose
TBD - created by archiving change auto-crop-panorama-input. Update Purpose after archive.
## Requirements
### Requirement: Panorama input uses an exact centered 2:1 crop
The system SHALL prepare panorama conversion from the largest centered integer-pixel rectangle whose width is exactly twice its height. The prepared color material and AI analysis input MUST use the same cropped pixels without stretching, padding, or aspect-ratio resampling.
#### Scenario: Source is wider than 2:1
- **WHEN** a user converts a usable static image whose width is greater than twice its height
- **THEN** the system crops columns equally where possible from the left and right and prepares an exact 2:1 input at the source height
#### Scenario: Source is narrower than 2:1
- **WHEN** a user converts a usable static image whose width is less than twice its height
- **THEN** the system crops rows equally where possible from the top and bottom and prepares the largest exact 2:1 input at or below the source width
#### Scenario: Source width is odd
- **WHEN** a usable static source has an odd width that cannot be part of an exact integer-pixel 2:1 rectangle
- **THEN** the system omits the unmatched column as part of its deterministic centered crop
#### Scenario: Source is already 2:1
- **WHEN** a user converts a usable static image whose width is exactly twice its height
- **THEN** the system prepares the full source image without removing pixels
### Requirement: Panorama crop is disclosed to the user
The system SHALL issue one warning whenever panorama input preparation removes source pixels, and the warning MUST identify both the original and cropped pixel dimensions.
#### Scenario: Conversion requires cropping
- **WHEN** the computed 2:1 bounds differ from the source bounds
- **THEN** the system reports a warning containing the source width and height and the cropped width and height
#### Scenario: Conversion does not require cropping
- **WHEN** the source bounds already form an exact 2:1 image
- **THEN** the system does not report a crop warning
### Requirement: Unsupported panorama sources remain rejected
The system MUST reject animated images and images too small to produce a positive integer-pixel 2:1 crop before submitting panorama generation.
#### Scenario: Source is animated
- **WHEN** a user attempts to convert an animated image
- **THEN** the system reports an error and does not submit panorama generation
#### Scenario: Source cannot produce a positive crop
- **WHEN** a source image cannot provide at least a 2-pixel-wide by 1-pixel-high crop
- **THEN** the system reports an error and does not submit panorama generation