diff --git a/openspec/changes/pano360-viewer/.openspec.yaml b/openspec/changes/archive/2026-10-11-pano360-viewer/.openspec.yaml similarity index 100% rename from openspec/changes/pano360-viewer/.openspec.yaml rename to openspec/changes/archive/2026-10-11-pano360-viewer/.openspec.yaml diff --git a/openspec/changes/pano360-viewer/design.md b/openspec/changes/archive/2026-10-11-pano360-viewer/design.md similarity index 100% rename from openspec/changes/pano360-viewer/design.md rename to openspec/changes/archive/2026-10-11-pano360-viewer/design.md diff --git a/openspec/changes/pano360-viewer/proposal.md b/openspec/changes/archive/2026-10-11-pano360-viewer/proposal.md similarity index 100% rename from openspec/changes/pano360-viewer/proposal.md rename to openspec/changes/archive/2026-10-11-pano360-viewer/proposal.md diff --git a/openspec/changes/pano360-viewer/specs/ui-workspace/spec.md b/openspec/changes/archive/2026-10-11-pano360-viewer/specs/ui-workspace/spec.md similarity index 100% rename from openspec/changes/pano360-viewer/specs/ui-workspace/spec.md rename to openspec/changes/archive/2026-10-11-pano360-viewer/specs/ui-workspace/spec.md diff --git a/openspec/changes/pano360-viewer/tasks.md b/openspec/changes/archive/2026-10-11-pano360-viewer/tasks.md similarity index 100% rename from openspec/changes/pano360-viewer/tasks.md rename to openspec/changes/archive/2026-10-11-pano360-viewer/tasks.md diff --git a/openspec/specs/ui-workspace/spec.md b/openspec/specs/ui-workspace/spec.md index 9cb2a85..54502bb 100644 --- a/openspec/specs/ui-workspace/spec.md +++ b/openspec/specs/ui-workspace/spec.md @@ -502,3 +502,34 @@ Ctrl/Cmd-клик — добавить или убрать, Shift-клик — #### Scenario: Клавиатура после возврата - **WHEN** фокус восстановлен после просмотра - **THEN** стрелки сразу двигают курсор без дополнительного Tab + +### Requirement: Просмотр 360-панорамы +Фото с тегом `pano360` SHALL открываться в режиме сферического обзора (equirect) вместо плоского +изображения. Перетаскивание SHALL менять направление взгляда, колесо — угол обзора, `Space` — +сбрасывать вид. Остальные фото SHALL просматриваться как прежде. При недоступности WebGL или +сбое загрузки/декодирования SHALL показываться плоское изображение. На публичных share-страницах +панорамный режим SHALL не активироваться. + +#### Scenario: Обзор панорамы +- **WHEN** пользователь открывает фото с тегом `pano360` +- **THEN** показывается сферический обзор, и перетаскивание меняет направление взгляда + +#### Scenario: Обычное фото +- **WHEN** пользователь открывает фото без тега `pano360` +- **THEN** показывается обычное плоское изображение + +#### Scenario: Управление обзором +- **WHEN** в режиме панорамы пользователь вращает колесо или нажимает `Space` +- **THEN** колесо меняет угол обзора, а `Space` сбрасывает направление взгляда и угол обзора + +#### Scenario: Навигация между фото +- **WHEN** в режиме панорамы пользователь нажимает стрелки влево/вправо или выбирает миниатюру +- **THEN** открывается соседнее фото, панорамный режим включается или выключается по его тегу + +#### Scenario: Нет WebGL +- **WHEN** WebGL недоступен или изображение не загружается +- **THEN** показывается плоское изображение + +#### Scenario: Публичная share-страница +- **WHEN** фото открыто по публичной share-ссылке +- **THEN** панорамный режим не активируется, показывается плоское изображение