Skip to content

epic(ui): Fluid morphing — evolve QueryaMotion (post-0.4.11 shell) #342

Description

@ZhuchkaTriplesix

Context

QueryaMotion foundation shipped in 0.4.4. After shell UX #339 (on dev / planned 0.4.11), tokens cover toast/tab strip/dialogs/trees, but major shell transitions are still hard-cuts.

Design / plan: Obsidian 06 — Планирование/Fluid morphing и QueryaMotion (based on dev post-#339).

Goal

Make the desktop shell feel continuous (morphing), without rewriting shadcn or blocking the 0.4.11 release.

Prefer: land after 0.4.11 packaging, or small non-blocking PRs on dev if release is delayed.

Workstreams

Phase A — Primitives (lib/core/motion/)

  • QueryaFadeSlide (enter/exit + offset)
  • QueryaHoverSurface (unified hover)
  • QueryaSwitchingBody (preserve mounted children like CrossFadeStack)
  • QueryaStagger (first-paint only, capped)
  • Widget tests + honor Full/Reduced/Off + OS disableAnimations

Phase B — Shell morphing

  • Empty hero ↔ connected workspace (workspace_panel / workspace_empty_hero)
  • Tab strip sliding indicator (querya_tab_strip)
  • Hero quick-start ↔ recent list transition
  • Results idle → running → grid/error (no per-row scroll animation)
  • Dialog/dropdown exit curves + fade-slide enter
  • Theme animation tied to motion level
  • Split-handle focus / sidebar drag-end settle (not mid-drag)

Phase C — Guardrails

  • Update docs/perf-baseline.md scenarios @ 120 Hz
  • Review rule: no magic UI Duration for animations

Non-goals

  • Animating virtualized grid rows on scroll
  • Replacing shadcn / expanding third_party for motion
  • Rust core (parallel research track)

Depends on

Metadata

Metadata

Labels

accessibilityReduced motion, OS accessibility preferencesepicEpic / umbrella issueuiUser interface components and widgets

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions