Initial commit with Phase 0 Scaffolding
This commit is contained in:
parent
b393607602
commit
c545d4b17d
51 changed files with 7064 additions and 4 deletions
|
|
@ -70,7 +70,7 @@ Because the app is WAN-exposed, auth is a real login screen backed by an Argon2i
|
|||
| PDF rendering (client) | PDF.js (`pdfjs-dist`) | Display only |
|
||||
| Canvas editing overlay | Fabric.js | Text boxes, drawing, drag/resize/select handles |
|
||||
| Frontend state | Zustand | Lightweight, predictable; good fit for editor + undo stack |
|
||||
| Styling | Tailwind CSS | Fast iteration toward a clean Sejda-like light UI |
|
||||
| Styling | Tailwind CSS v4 | CSS-first `@theme` config; fast iteration toward a clean Sejda-like light UI |
|
||||
| Backend language | Python 3.12 | Chosen for PyMuPDF |
|
||||
| Backend framework | FastAPI | Async, typed, auto-generates OpenAPI |
|
||||
| PDF processing (server) | PyMuPDF (`pymupdf` / fitz) | Thumbnails + export flatten. MuPDF compiled into the wheel — self-contained |
|
||||
|
|
@ -138,7 +138,7 @@ paperjet/
|
|||
│ ├── package.json
|
||||
│ ├── tsconfig.json # strict: true
|
||||
│ ├── vite.config.ts
|
||||
│ ├── tailwind.config.ts
|
||||
│ ├── # Tailwind v4: no config file — design tokens are defined via @theme in src/index.css
|
||||
│ └── src/
|
||||
│ ├── main.tsx
|
||||
│ ├── app/ # routing, layout, theme
|
||||
|
|
@ -492,7 +492,7 @@ Triggered by the signature tool, a modal offers two tabs (Sejda-style):
|
|||
Once placed, a signature behaves like any other annotation — drag, resize, rotate, delete, undo/redo. Recently used signatures may be offered for quick re-insertion (future enhancement; not required for v1). Because typed signatures are stored as text + font (not flattened to an image until export), they stay crisp at any zoom and re-render identically on the server.
|
||||
|
||||
### 12.6 UI / visual design direction
|
||||
Target the Sejda feel: bright, airy, light mode, generous whitespace, a restrained palette (one accent color), soft shadows, rounded corners, clear iconography. Tailwind tokens defined once in `tailwind.config.ts`. The editor chrome stays out of the way; the page is the focus. Mobile/touch: the canvas supports pinch-zoom and touch drag; toolbar collapses into an overflow menu on narrow viewports. Define a small design-token set (spacing scale, radius, accent, neutrals) up front so all three agents produce visually consistent components.
|
||||
Target the Sejda feel: bright, airy, light mode, generous whitespace, a restrained palette (one accent color), soft shadows, rounded corners, clear iconography. Design tokens (colors, spacing, radius, shadows, typography) defined once via Tailwind v4's CSS-first `@theme` directives in `src/index.css`. The editor chrome stays out of the way; the page is the focus. Mobile/touch: the canvas supports pinch-zoom and touch drag; toolbar collapses into an overflow menu on narrow viewports. Define a small design-token set (spacing scale, radius, accent, neutrals) up front so all three agents produce visually consistent components.
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue