docs: Finalize all design documents
Signed-off-by: Hermes Agent <hermes@nosuchhost>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# Canvas Feature Specification
|
||||
# Design Document: Canvas Feature Specification
|
||||
|
||||
## Overview
|
||||
The canvas is the infinite zoomable/pannable workspace where krates live. It serves as the primary interaction surface for exploring Kubernetes clusters.
|
||||
@@ -39,8 +39,8 @@ interface CanvasState {
|
||||
## Navigation
|
||||
|
||||
### Scroll Wheel
|
||||
- ** Default **: Pan canvas
|
||||
- ** Ctrl/⌘ + scroll **: Zoom canvas (intercepted via wheel event with `e.ctrlKey || e.metaKey`)
|
||||
- **Default**: Pan canvas
|
||||
- **Ctrl/⌘ + scroll**: Zoom canvas (intercepted via wheel event with `e.ctrlKey || e.metaKey`)
|
||||
|
||||
### Space + Drag Panning
|
||||
- Critical: must work even when shell window has keyboard focus
|
||||
@@ -52,13 +52,13 @@ interface CanvasState {
|
||||
- Do NOT use `e.stopPropagation()` - allow event propagation
|
||||
|
||||
### Click/Typed Key Triggers
|
||||
- ** Click on empty canvas **: Open spotlight
|
||||
- ** Type any key **: Open spotlight with that character pre-seeded
|
||||
- **Click on empty canvas**: Open spotlight
|
||||
- **Type any key**: Open spotlight with that character pre-seeded
|
||||
|
||||
### Zoom Levels / LOD
|
||||
- ** zoom > 0.5 **: Normal view — krates expanded, all windows visible, draggable
|
||||
- ** zoom < 0.4 **: Collapsed view — krates become 230px wide overview cards, no windows rendered
|
||||
- ** Hysteresis**: Collapse at 0.4, re-expand at 0.5 (prevents flickering)
|
||||
- **zoom > 0.5**: Normal view — krates expanded, all windows visible, draggable
|
||||
- **zoom < 0.4**: Collapsed view — krates become 230px wide overview cards, no windows rendered
|
||||
- **Hysteresis**: Collapse at 0.4, re-expand at 0.5 (prevents flickering)
|
||||
|
||||
### Animations
|
||||
- CSS `transform` with `transition` only for programmatic "fly" animations: `.52s cubic-bezier(.22,.8,.28,1)`
|
||||
|
||||
Reference in New Issue
Block a user