Brandon Thomas and Claude Opus 5.5
b899290f4b
AutoRecover: unsaved presentations saved to a recovery folder and reopened after a crash; save-changes prompt when quitting
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-06 01:26:54 -04:00
Brandon Thomas and Claude Opus 5.5
ad469f9b13
Merge Shapes (union, combine, fragment, intersect, subtract); CI workflow running cargo xtask ci; control protocol and MCP docs
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-06 01:14:15 -04:00
Brandon Thomas and Claude Opus 5.5
f0d230bdcd
Freeform, Curve and Scribble drawing tools; shape.freeform command; composite commands are one undo step
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-06 01:00:06 -04:00
Brandon Thomas and Claude Opus 5.5
8598c41085
Cargo.lock: sync with slidecraft-pptx dependencies (release builds use --locked)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-06 00:55:34 -04:00
Brandon Thomas and Claude Opus 5.5
0b394ad433
Web build and release CI: slidecraft-web, packaging, release workflow
...
- apps/slidecraft-web: SlideApp in the browser via eframe's web runner (trunk; WebGPU with
WebGL2 fallback). Opens the sample deck (?blank for empty, ?show to present, ?webgl to force
WebGL2). Open/Insert use the browser file picker through Services::open_async + inbox;
Save/Export download; dropped files are read asynchronously.
- ui-egui: native-only synchronous drop handling (wasm uses the inbox), real clock on wasm
(js_sys::Date::now), About shows build commit/date when SLIDECRAFT_BUILD_SHA/DATE are set.
- .github/workflows/release.yml (push to `release` / workflow_dispatch): macOS universal
signed+notarized dmg, Windows x64/x86 signed msi + portable zip, Linux AppImage/deb/rpm/tar.gz
(x86_64, aarch64), Flatpak bundle, FreeBSD tar.gz (vmactions), web zip; draft GitHub Release
"SlideCraft v<version>" from [workspace.package] version. Same secret names as DesignCraft.
- freebsd.yml and packaging-lint.yml CI, ported from DesignCraft.
- packaging/: macOS (Info.plist, entitlements, cert import), Windows (WiX with new UpgradeCode,
.slidecraft ProgId, Open-with for pptx), Linux (.desktop, AppStream, MIME, nfpm, Flatpak),
FreeBSD and web scripts; shared setup in packaging/common.sh.
- apps/slidecraft/build.rs embeds icon + VERSIONINFO on Windows; slidecraft.icns/.ico generated
from the committed PNGs by packaging/icons.sh.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-06 00:53:58 -04:00
Brandon Thomas and Claude Opus 5.5
e273d60f22
PPTX import/export: full OPC package, themes, masters/layouts, shapes, text, pictures, media, tables, charts, transitions, animations, comments; verified opening in PowerPoint
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-06 00:50:02 -04:00
Brandon Thomas and Claude Opus 5.5
74ea37b36a
Connectors: glue ends to connection sites, reroute on move/resize, shape.connect / shape.sites commands, site feedback on canvas
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-06 00:49:15 -04:00
Brandon Thomas and Claude Opus 5.5
639957c68a
PDF export: slides, notes pages and handouts with selectable text layer, links and bookmarks; Export dialog PDF options
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-06 00:39:54 -04:00
Brandon Thomas and Claude Opus 5.5
0c0f55e47c
xtask (ci, assets, layers, wasm, parity, version, ico), PowerPoint parity catalog, ROADMAP
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-06 00:17:57 -04:00
Brandon Thomas and Claude Opus 5.5
55a5752d25
Slide show: by-paragraph text builds render per paragraph, sub-bullets follow their parent
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-06 00:14:59 -04:00
Brandon Thomas and Claude Opus 5.5
e62b7ccd15
M0: PowerPoint-style egui UI, slide show engine, icons, desktop app
...
- ui-egui: title bar, ribbon with every tab (Home, Insert, Draw, Design, Transitions,
Animations, Slide Show, Record, Review, View) plus contextual Shape/Picture Format,
Table Design/Layout, Chart Design, Playback and Slide Master tabs; thumbnail pane with
sections and drag reorder; canvas with selection handles, smart guides, marquee,
in-place text editing; notes pane; status bar with views and zoom; task panes
(Format Shape, Background, Animation, Selection, Comments, Design Ideas); dialogs;
Slide Sorter, Notes Page, Outline view; command palette; control channel
- anim: timelines for every animation effect, transition layers for every transition,
morph pairing, show navigation (hidden slides, custom shows, loops)
- show: full-screen slide show with transitions, animations, pen, black/white
screens, presenter view window, rehearse timings, reading view
- icons: 238 original icons drawn in code
- render: filters force single-threaded rendering (regression test), panic guard
- engine: chart type/data/options, SmartArt-style graphics
- apps/slidecraft: desktop host with control server, file dialogs, clipboard images
- placeholder app icon rendered by SlideCraft itself
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-06 00:08:13 -04:00
Brandon Thomas and Claude Opus 5.5
6078b68e97
M0: workspace, model, geometry, fonts, text, renderer, engine, MCP and CLI
...
Clean-room PowerPoint-class presentation engine in pure Rust:
- geom: units, transforms and 150+ re-derived preset shapes with adjust handles
- color: theme slots and colour transforms
- model: presentations, masters, 11 layouts, placeholder inheritance, themes,
text, tables, charts, transitions, animations, text edit operations
- fonts: font DB with craft-fonts, system fonts and open substitutes
- text: shaping, line breaking, bullets/numbering, alignment, autofit, caret hit tests
- render: vello_cpu slides with fills, gradients, pictures, effects, tables, charts
- format: native .slidecraft (zip + JSON)
- engine: ~200 commands, undo/redo, clipboard, pointer tools, keys, sample deck
- mcp: MCP server (headless or bridged to the app); slidecraft-cli
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-05 23:27:20 -04:00
Brandon Thomas
9e68eb6d60
initial commit
2026-10-05 22:13:02 -04:00