Things to know
Size, rendering, keyboard focus, persistence and the upstream patches.
- Size. The binary is about 30 MB, or about 12 MB gzipped, and it's the full application, including its fonts. Load it on the pages that need it, and call
preloadWordcraft()on hover or route prefetch. - Rendering. WordCraft draws onto a
<canvas>with its own UI toolkit (egui), which is why it can match Word's interface pixel for pixel. The flip side is that host CSS can't style what's inside the editor. Useprefs(dark mode, language, ribbon) and commands instead. - Keyboard. As with any embedded app, shortcuts go to the editor once it has focus.
- Persistence. The editor keeps the document out of browser storage. Your app owns it, and both AutoSave and Save go through
onSave; you can also callexport()whenever you like. The browser keeps only small conveniences (recently used fonts, AI Studio settings, a key someone added) and, with the default store, version history. - Patches on upstream. The package applies six small patches to WordCraft, listed in
patches/. They cover AutoSave on the web, hiding the title bar and ribbon, the co-editing hooks, host controls (tabs, modes, turned-off commands, fonts), the AI button with Word's ribbon collapse, Windows-style inline tools, rulers, font previews and Version History's entry points, and hiding the status bar for the phone layout. Access levels use WordCraft's own Restrict Editing. The touch gestures live in this package's own code, not in a patch. They're written so they can be offered upstream. docs/DIVERGENCES.md lists every resulting difference from WordCraft. - How close to Word. See docs/WORD-PARITY.md.
- Versions. Each release bumps the patch number until a version is declared stable (docs/VERSIONING.md); CHANGELOG.md says what each one changed.