UsdLayerManager/openspec/changes/multi-viewport-support/specs/per-viewport-settings/spec.md

2.4 KiB
Raw Permalink Blame History

ADDED Requirements

Requirement: Per-tile grid toggle

Each viewport tile SHALL have an independent grid visibility setting. Toggling the grid in one tile SHALL NOT affect other tiles.

Scenario: Grid on in Tile A, off in Tile B

  • WHEN the user toggles grid ON in tile A and OFF in tile B
  • THEN tile A shows the ground grid and tile B does not

Requirement: Per-tile anti-aliasing toggle

Each viewport tile SHALL have an independent line-AA setting. Toggling AA in one tile SHALL NOT affect other tiles.

Scenario: AA on in Tile A, off in Tile B

  • WHEN the user toggles AA ON in tile A and OFF in tile B
  • THEN tile A renders line overlays with GL_LINE_SMOOTH, tile B renders without

Requirement: Per-tile background color

Each viewport tile SHALL have an independent background color. Changing the background color in one tile SHALL NOT affect other tiles.

Scenario: Two tiles show different background colors

  • WHEN the user sets tile A's background to "Black" and tile B's background to "Dark Gray"
  • THEN tile A renders with a black background and tile B with a dark gray background

Requirement: Per-tile bounding box display

Each viewport tile SHALL have an independent bounding box display mode (None / Per Object / All Selection). Changing the bbox mode in one tile SHALL NOT affect other tiles.

Scenario: BBox mode differs between tiles

  • WHEN the user sets tile A to "Per Object" bbox mode and tile B to "None"
  • THEN tile A draws bounding boxes on each selected prim, tile B draws none

Requirement: Per-tile render delegate

Each viewport tile SHALL support an independent render delegate selection. Changing the render delegate in one tile SHALL NOT affect other tiles.

Scenario: Storm in Tile A, HdEmbree in Tile B

  • WHEN the user selects "HdStorm" for tile A and "HdEmbree" for tile B
  • THEN tile A renders via HdStorm and tile B via HdEmbree

Requirement: Compact per-tile toolbar

Each tile's toolbar SHALL use compact icon-only buttons (16×16) arranged in a single horizontal row above the rendered image, consuming no more than 32px height. Tooltips SHALL be available on hover.

Scenario: Toolbar renders compactly in a small tile

  • WHEN a tile is 300px wide in an HSplit layout
  • THEN the toolbar fits within the tile width without clipping, using a horizontal scroll or overflow dropdown if necessary