42 lines
1.5 KiB
Markdown
42 lines
1.5 KiB
Markdown
---
|
|
epic: 8
|
|
story: 8.1
|
|
title: "iced Two-Column Editor"
|
|
status: draft
|
|
---
|
|
|
|
## Epic 8 — Windows App (Rust + iced)
|
|
**Goal:** Fast, lightweight native Windows app -- single .exe, no runtime dependencies.
|
|
|
|
### Story 8.1: iced Two-Column Editor
|
|
|
|
As a **Windows user**,
|
|
I want a two-column editor with input on the left and results on the right, rendered with GPU acceleration,
|
|
So that I get a fast, smooth editing experience even with large documents.
|
|
|
|
**Acceptance Criteria:**
|
|
|
|
**Given** the app is launched on Windows
|
|
**When** the main window appears
|
|
**Then** it displays a two-column layout: a custom `TextEditor` widget on the left for input and aligned `Text` widgets on the right for answers
|
|
|
|
**Given** the user types a calculation on line N
|
|
**When** the engine evaluates the line
|
|
**Then** the result appears aligned on line N in the answer column
|
|
|
|
**Given** the system has a GPU with wgpu support
|
|
**When** the app renders
|
|
**Then** it uses GPU-accelerated rendering via wgpu for smooth text and UI rendering
|
|
|
|
**Given** the system does not have compatible GPU support (e.g., older hardware, VM, RDP session)
|
|
**When** the app starts
|
|
**Then** it falls back to software rendering via tiny-skia without crashing or user intervention
|
|
|
|
**Given** a document with 1000+ lines
|
|
**When** the user scrolls and edits
|
|
**Then** the app maintains 60 fps with no perceptible lag
|
|
|
|
**Given** the user resizes the window
|
|
**When** the layout recalculates
|
|
**Then** the two columns adjust proportionally and text reflows appropriately
|