TiddlyForge Tiered Core Builder

Four stacked layers, each independently removable

The official core is a single 2.6 MB artifact. TiddlyForge re-layers it by real dependency: each layer only depends on the one below — UI, filters, wikitext can each be removed, and what remains still runs.

Full data: module size statistics · modules per tier

Layer overview

Sizes are cumulative build output (raw, before gzip); upper layers are removable, lower layers are self-sufficient.

full ≈ 2.6 MB removable

PageTemplate / Story River / sidebar / themes — remove it and the core goes fully headless.

full depends on standard
standard ≈ 1.0 MB self-contained

filter engine / wikitext parser / render tree / base widgets — remove it and a storage-capable data core remains.

standard depends on lite
lite ≈ 320 KB self-contained

storage adaptors (filesystem · tiddlyweb) / syncer / browser savers — remove it and only the minimal data kernel remains.

lite depends on nano
nano ≈ 48 KB atomic

boot kernel / tiddler store / module loader / base serialization — every line is needed above.

nano is the minimal complete core: boot kernel + tiddler store + module loader, running standalone on Node.js and in browsers.

Dependencies point one way

Arrows follow dependencies (upper module → lower dependency); hover any node to highlight its dependency paths.

full standard lite nano page-template story.js sidebar widget.js parse.js wikirules filter.js syncer.js wiki.js boot.js

Conclusion: wikitext depends on filters, the UI depends on wikitext — never the reverse — so every layer detaches cleanly.

Compared with the official core

Official core

tiddlywiki5.js
$:/core one monolith · inseparable
  • 2.6 MB: all or nothing
  • Inseparable: UI, parser and storage fused together
  • The UI is mandatory; headless requires hacks

TiddlyForge core

assembled by layer
full≈ 2.6 MB
standard≈ 1.0 MB
lite≈ 320 KB
nano≈ 48 KB
  • 48 KB ~ 2.6 MB: four sizes scaling with layers
  • Assembled by layer: toggle and combine freely
  • Headless optional: drop full for pure API

Design principles

One-way dependencies

Dependencies only point downward: UI → wikitext → filters. Remove any upper layer and what remains is still a complete, runnable core.

Zero frameworks

No third-party runtime dependencies in the core or toolchain. The output is a single file — copy and run, nothing to install.

Standard interfaces

UIs drive the wiki through the standard store API and are swappable — the official UI is just one pluggable implementation.