Files
AnyImage/openspec/changes/archive/2026-09-17-auto-crop-panorama-input/proposal.md
nan 076a8c90f1 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.
2026-09-17 17:19:05 +08:00

1.4 KiB

Why

Convert to Panorama currently rejects any image whose pixel dimensions are not exactly 2:1, so even a nearly compliant panorama cannot be processed. Panorama conversion should accept arbitrary static image aspect ratios by preparing a valid 2:1 input automatically while making the loss of edge content visible to the user.

What Changes

  • Accept static panorama source images regardless of their original aspect ratio.
  • Center-crop the source to the largest integer-pixel 2:1 region before preparing both the AI analysis input and panorama color material.
  • Report a warning when any rows or columns are removed, including the original and cropped dimensions.
  • Preserve the existing behavior without a warning when the source dimensions are already exactly 2:1.
  • Continue rejecting animated or unusably small images that cannot produce a positive 2:1 crop.

Capabilities

New Capabilities

  • panorama-input-cropping: Defines validation, centered 2:1 crop selection, prepared panorama inputs, and user warning behavior.

Modified Capabilities

None.

Impact

  • Affects the Blender-side Convert to Panorama operator and shared material color input preparation used by its job submission.
  • Adds focused operator and image-preparation tests for wide, tall, odd-width, already-2:1, animated, and unusably small inputs.
  • Does not change the panorama job protocol, server geometry pipeline, model dependencies, or node assets.