Skip to content

Commit bc20f71

Browse files
committed
Synchronize README and wireframe docs with current layout
1 parent 373cf06 commit bc20f71

2 files changed

Lines changed: 21 additions & 25 deletions

File tree

‎README.md‎

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ That's it. Every asset is compiled into the binary via `include_dir!`.
2525

2626
## Screenshots
2727

28-
**Planner123** — Gantt chart with dependency arrows, project-colored bars, and constraint scoring:
28+
**Planner123** — Gantt chart with split panes, project-colored bars, and constraint scoring:
2929

3030
![Planner123 Gantt](screenshots/planner123-gantt.png)
3131

@@ -166,7 +166,7 @@ SF.createButton({ text: 'Sm', variant: 'primary', size: 'small' })
166166
## Timeline Rail
167167

168168
The scheduling hero view. Resource lanes with positioned task blocks,
169-
gauges, stats, heatmaps, and changeover indicators.
169+
gauges, stats, and changeover indicators.
170170

171171
```javascript
172172
// Day header
@@ -227,7 +227,8 @@ Gauge styles: `heat` (blue→amber→red), `load` (emerald→amber→red), `emer
227227

228228
Interactive task scheduling with Frappe Gantt. Split-pane layout: task grid
229229
on top, SVG timeline chart on bottom. Drag to reschedule, resize to change
230-
duration, sortable grid columns, project-colored bars, and pinned task styling.
230+
duration, sortable grid columns, project-colored bars, dependency arrows,
231+
and pinned task styling.
231232

232233
```html
233234
<link rel="stylesheet" href="/sf/vendor/frappe-gantt/frappe-gantt.min.css">
@@ -394,8 +395,9 @@ SF.map.decodePolyline('_p~iF~ps|U...'); // Google polyline algorithm
394395
solverforge-ui/
395396
├── Cargo.toml # 2 deps: axum + include_dir
396397
├── src/lib.rs # routes() + asset serving
397-
├── Makefile # make → cats css-src/ + js-src/ into sf.css + sf.js
398-
├── css-src/ # 16 CSS source files (numbered for concat order)
398+
├── Makefile # bundles css-src/ + js-src/ into sf.css + sf.js
399+
├── .github/workflows/ # CI, release, and publish automation
400+
├── css-src/ # 19 CSS source files (numbered for concat order)
399401
│ ├── 00-tokens.css # design system variables
400402
│ ├── 01-reset.css # box-sizing reset
401403
│ ├── 02-typography.css # @font-face declarations
@@ -411,8 +413,10 @@ solverforge-ui/
411413
│ ├── 12-footer.css # .sf-footer
412414
│ ├── 13-scrollbars.css # custom webkit scrollbars
413415
│ ├── 14-animations.css # @keyframes + toast + api guide
414-
│ ├── 15-rail.css # timeline rail, resource cards, blocks
415-
│ └── 16-gantt.css # Frappe Gantt + Split.js layout + bar styling
416+
│ ├── 15-rail-resources.css # resource cards, gauges, resource layout
417+
│ ├── 16-rail-blocks.css # rail blocks, changeovers, unassigned styles
418+
│ ├── 17-gantt-layout.css # split layout, grid table, view controls
419+
│ └── 18-gantt-bars.css # Frappe bar overrides, pinned/highlighted bars
416420
├── js-src/ # 15 JS source files
417421
│ ├── 00-core.js # SF namespace, escHtml, el()
418422
│ ├── 01-score.js # score parsing
@@ -427,7 +431,7 @@ solverforge-ui/
427431
│ ├── 10-backend.js # createBackend() — axum/tauri/fetch
428432
│ ├── 11-solver.js # createSolver() — SSE state machine
429433
│ ├── 12-api-guide.js # createApiGuide(), createFooter()
430-
│ ├── 13-rail.js # timeline rail, resource cards, blocks
434+
│ ├── 13-rail.js # timeline rail header, cards, blocks, changeovers
431435
│ └── 14-gantt.js # Frappe Gantt wrapper (split pane, grid, chart)
432436
└── static/sf/ # Embedded assets (include_dir!)
433437
├── sf.css # concatenated from css-src/

‎WIREFRAME.md‎

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -290,16 +290,8 @@ Shorthand: `SF.showError(title, detail)`
290290
│ resource- │ color per process, late blocks glow red │
291291
│ stats │ │
292292
│ │ ╲╲╲╲ .sf-changeover (diagonal amber stripes) │
293-
├────────────┼──────────────────────────────────────────────────────┤
294-
│ │ ░░░░░░░░░░░░░ .sf-heatmap-segment ░░░░░░░░░░░░░░ │
295293
└────────────┴──────────────────────────────────────────────────────┘
296294
200px fixed ← remaining width is the rail →
297-
298-
Unassigned:
299-
┌──────────────────────────────────────────────────────────────────┐
300-
│ ODL-55 — Tempra — Rossi ODL-88 — Ricottura — Verdi │
301-
│ ↑ .sf-unassigned-pill (red border, red text) │
302-
└──────────────────────────────────────────────────────────────────┘
303295
```
304296

305297
**JS:**
@@ -345,31 +337,31 @@ card.clearBlocks();
345337
┌──────────────────────────────────────────────────────────────────┐
346338
│ .sf-gantt-pane (grid) │
347339
│ ┌────────────────────────────────────────────────────────────┐ │
348-
│ │ Tasks [expand] │ │ .sf-gantt-pane-header
340+
│ │ Tasks │ │ .sf-gantt-pane-header
349341
│ ├────────────────────────────────────────────────────────────┤ │
350-
│ │ TASK │ PROJECT │ START │ P │ PIN │ │ .sf-gantt-table th
342+
│ │ TASK │ START │ P │ │ │ .sf-gantt-table th
351343
│ ├───────────────────────────────────────────────────────────│ │
352-
│ │▌ Design review │ ● Alpha │ 09:00 │ P1 │ │ │ .sf-gantt-row
353-
│ │▌ Implementation │ ● Alpha │ 10:30 │ P2 │ │ │ left border = project color
354-
│ │▌ Testing │ ● Beta │ 14:00 │ P3 │ 📌 │ │ sweep underline on hover
344+
│ │▌ Design review │ 09:00 │ P1 │ │ │ .sf-gantt-row
345+
│ │▌ Implementation │ 10:30 │ P2 │ │ │ left border = custom_class
346+
│ │▌ Testing │ 14:00 │ P3 │ │ │ sweep underline on hover
355347
│ └────────────────────────────────────────────────────────────┘ │
356348
├══════════════════════════════════════════════════════════════════┤ ← Split.js gutter (4px, emerald on hover)
357349
│ .sf-gantt-pane (chart) │
358350
│ ┌────────────────────────────────────────────────────────────┐ │
359-
│ │ Schedule [Quarter Day ▾] [expand] │ │ .sf-gantt-pane-header
351+
│ │ Schedule [Quarter Day ▾] │ │ .sf-gantt-pane-header
360352
│ ├────────────────────────────────────────────────────────────┤ │
361353
│ │ Frappe Gantt SVG │ │
362354
│ │ ┌───────────────┬──────────────────────────┬─────────┐ │ │
363355
│ │ │ 09:00 10:00 │ 11:00 12:00 13:00 │ 14:00 │ │ │
364356
│ │ ├───────────────┼──────────────────────────┼─────────┤ │ │
365-
│ │ │ ████████████ ┼──→ ██████████████████████│ │ │ │ bars colored by project
357+
│ │ │ ████████████ ┼──→ ██████████████████████│ │ │ │ bars colored by custom_class
366358
│ │ │ Design │ Implementation │ │ │ │ arrows = dependencies
367-
│ │ │ │ │ ████████│ │ │ pinned = dashed amber stroke
359+
│ │ │ │ │ ████████│ │ │
368360
│ │ │ │ │ Testing │ │ │
369361
│ │ └───────────────┴──────────────────────────┴─────────┘ │ │
370362
│ │ │ │
371363
│ │ hover: brightness(1.12) + drop-shadow │ │
372-
│ │ drag: grab cursor, tooltip shows time range │ │
364+
│ │ drag: grab cursor │ │
373365
│ │ resize: ew-resize handles appear on hover │ │
374366
│ └────────────────────────────────────────────────────────────┘ │
375367
└──────────────────────────────────────────────────────────────────┘

0 commit comments

Comments
 (0)