# BaoCut Slides: adapting an interactive web editor

> Documents BaoCut’s interactive slide editor, whose author says the implementation draws on Claude Slides. It adds a local deck store, HTML/CSS compiler and annotation-to-agent bridge for browser and desktop hosts; the design reports a Web-flow check, without establishing original backend recovery or full behavioral parity.

- Type: Case study
- Targets: App · Website
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-10-17
- Added to the catalog: 2026-10-17
- Original resource: <https://github.com/JimLiu/baocut/tree/b8585e0c8d7a82bdee9f0ed019cf6edb075e41c1/packages/slides-runtime>
- Primary source: <https://github.com/JimLiu/baocut/blob/b8585e0c8d7a82bdee9f0ed019cf6edb075e41c1/docs/design/slides/slides-design.md>
- Catalog page: <https://awesomerea.org/resources/baocut-slides-editor-case/>
- Record JSON: <https://awesomerea.org/resources/baocut-slides-editor-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/baocut-slides-editor-case/index.md)

## Requirements & limits

- **Prerequisites:** Needs Node.js >=22.12.0, npm workspace dependencies, the apps/slides-editor build and a BaoCut Runtime/host; the runtime declares React ^19.3.0 and patched PptxGenJS 3.12.0. Full BaoCut builds add Rust/Cargo, CMake and C++ tools, with full Xcode/Metal for Apple Silicon inference. Agent-made decks need Codex CLI, Claude Code or another configured engine under its own terms.
- **Scope:** The pinned Slides component is an editor runtime, a restricted HTML/CSS slide compiler and a new BaoCut host; decks are a v4 deck.json index with per-slide HTML and local assets.
- **Limits:** Single-user and file-backed, with per-file conflict checks but no whole-batch rollback. Shared rooms/presence, share links, persistent comment threads and sending to Google Drive/Slides are out of scope; PPTX/PDF downloads remain P1.
- **Testing evidence:** End-to-end validation covers only the Web annotation flow, not Electron; the published tests use fakes and no comparison with the original.
- **License:** BaoCut Community License 1.0 is source-available: personal/internal use and content creation are allowed; commercializing the code or commercial hosting needs a separate license. PptxGenJS (MIT) and mediabunny (MPL-2.0) keep their terms; no reuse rights are shown for Claude material or the bundled icon font, slated for replacement.
- **Attribution:** Use independently authorized slide content.

## Primary sources

1. <https://github.com/JimLiu/baocut/blob/b8585e0c8d7a82bdee9f0ed019cf6edb075e41c1/docs/design/slides/slides-design.md>
2. <https://github.com/JimLiu/baocut/blob/b8585e0c8d7a82bdee9f0ed019cf6edb075e41c1/packages/slides-runtime/README.md>
3. <https://github.com/JimLiu/baocut/blob/b8585e0c8d7a82bdee9f0ed019cf6edb075e41c1/LICENSE>
4. <https://github.com/JimLiu/baocut/blob/b8585e0c8d7a82bdee9f0ed019cf6edb075e41c1/THIRD_PARTY_NOTICES.md>
5. <https://github.com/JimLiu/baocut/blob/b8585e0c8d7a82bdee9f0ed019cf6edb075e41c1/package.json>
6. <https://github.com/JimLiu/baocut/blob/b8585e0c8d7a82bdee9f0ed019cf6edb075e41c1/packages/slides-runtime/package.json>
7. <https://github.com/JimLiu/baocut/blob/b8585e0c8d7a82bdee9f0ed019cf6edb075e41c1/apps/slides-editor/build.mjs>
8. <https://github.com/JimLiu/baocut/blob/b8585e0c8d7a82bdee9f0ed019cf6edb075e41c1/packages/slides/src/deck-store.ts>
9. <https://github.com/JimLiu/baocut/blob/b8585e0c8d7a82bdee9f0ed019cf6edb075e41c1/packages/slides/src/deck-store.test.ts>
10. <https://github.com/JimLiu/baocut/blob/b8585e0c8d7a82bdee9f0ed019cf6edb075e41c1/packages/slides/src/deck-routes.test.ts>
11. <https://github.com/JimLiu/baocut/blob/b8585e0c8d7a82bdee9f0ed019cf6edb075e41c1/packages/slides/src/deck-check.test.ts>
12. <https://github.com/JimLiu/baocut/blob/b8585e0c8d7a82bdee9f0ed019cf6edb075e41c1/packages/slides/src/editor/editor-host.test.ts>
13. <https://github.com/JimLiu/baocut/blob/b8585e0c8d7a82bdee9f0ed019cf6edb075e41c1/packages/harness/src/slide-annotations.test.ts>

## More in Websites

- [REA in Claude Code: an isolated static-analysis A/B trial](https://awesomerea.org/resources/rea-claude-code-isolated-ab-case/index.md) · Case study
- [Dinosaur runner: an REA-inspected speed rule rebuilt with Codex](https://awesomerea.org/resources/rea-dino-runner-community-case/index.md) · Case study
- [Terminal: a Rust terminal informed by TradingView chart research](https://awesomerea.org/resources/terminal-tradingview-rea-chart-case/index.md) · Case study
- [BaoCut Design: porting reconstructed canvas and design-system editors](https://awesomerea.org/resources/baocut-design-canvas-case/index.md) · Case study
- [whatsapp-web-reveng: documenting the legacy WhatsApp Web protocol](https://awesomerea.org/resources/whatsapp-web-reveng-legacy-protocol-case/index.md) · Case study
- [Ruffle: a Rust reimplementation of Adobe Flash Player](https://awesomerea.org/resources/ruffle-flash-player-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
