Browse Source

note: decruft checklist (quantified fonts/css/js cruft)

Extend dependencies.md with a concrete, quantified decruft inventory: fonts
(~4.9MB; Computer Modern 3.2MB, FA 689KB, FontMfizz 390KB, BS Icons 306KB,
Glyphicons 208KB), CSS (472KB built; animate 93KB, fullcalendar 40KB, Bootstrap
full), JS bundles, with used-by + drop-when per item. Recommended first cut:
CM format trim + Glyphicons removal + BS-icons subset (~3MB, design-neutral).
windhamdavid 1 week ago
parent
commit
c009e78ba8
1 changed files with 44 additions and 0 deletions
  1. 44 0
      _claude/notes/dependencies.md

+ 44 - 0
_claude/notes/dependencies.md

@@ -10,6 +10,50 @@ and decide each one's fate during the v0.5.0 FSE migration. Status legend:
 
 
 ---
 ---
 
 
+## ⭐ Decruft checklist (current focus — 2026-06-19)
+
+Primary goal of the FSE branch: **shed cruft**, not pixel-reproduce the old designs.
+Classic templates + old CSS stay on the `fse-migration` branch as the reference/safety
+net; we delete each piece only once its replacement is confirmed. Quantified below.
+
+**Already removed (since this doc was written):** gulp + all `gulp-*` (→ webpack), the
+whole messenger/online-status feature, page-chat + `chat.*`, `terminal.js`, `modernizr.js`,
+`scripts.js` pile, jasny-bootstrap, root `tweaks.php`, the orphaned `v4-*` copies.
+
+### Fonts — `fonts/` ≈ **4.9 MB** (biggest raw cruft)
+
+| Family | On disk | Used by | Action | Priority |
+|---|---|---|---|---|
+| **Computer Modern** | **3.2 MB** | `.cm*`/`cmun` in `index/404/page-{analytics,archive,music,desk,studio,now}` + `style.css` @font-face + `theme.json` fontFace | **Trim formats** → keep woff2 (+woff) for *used weights only*; drop ttf/eot/svg. ~3.2 MB → ~300 KB. (Confirm which weights are actually referenced first.) | 🔥 **biggest, low-risk** |
+| Bootstrap Icons | 306 KB | header nav (8 `bi-*`) — the go-forward set | **Keep but subset** to used glyphs → ~10 KB | medium win |
+| Glyphicons | 208 KB | only legacy `css/boot.css` + `style.min.css` (NOT enqueued) + `inc/template.php` (verify) | **Drop** — Bootstrap-3 leftover, dead in the active bundle | easy win |
+| FontMfizz | 390 KB | active `v4-style.min.css` + `page-about.php` (a few tech-stack icons) | **Replace** the few uses (inline SVG / BI) → drop font | medium |
+| Font Awesome 4 | 689 KB | **134 uses, ~40 icons** across `page-{contact,studio,sitemap,about}`, `comments.php`, `searchform.php`, **`parts/footer-home.html`** (live) | **Replace → Bootstrap Icons** (icon map). Do the live footer part first; classic templates as each migrates. Drop FA **last**. | late / per-page |
+
+### CSS — `v4-style.min.css` = **472 KB**
+
+| Chunk | Size | Drop when |
+|---|---|---|
+| Bootstrap 5 **full** (via `styles.scss`) | ~bulk | subset to used components (container/grid/carousel/offcanvas/nav) |
+| animate.css | 93 KB | WOW removed (→ IntersectionObserver/CSS) — drops together |
+| fullcalendar CSS | 40 KB | About-only → conditional-load, or replace calendar |
+| `style.css` custom | 58 KB | per-page: `.entry-content`/`.posts-front`/`.archive-page`/carousel rules die as each page blockifies |
+| `fonts.css` @font-face | 39 KB | shrinks as icon fonts above are dropped |
+
+### JS — `v4-script.min.js` 511 KB / `v4-front.min.js` 117 KB
+
+WOW→IntersectionObserver/CSS (also kills animate.css) · backstretch→CSS bg · lazyload→`loading="lazy"` ·
+jquery-validation→native/GF · rainbow→Prism/modern · fullcalendar→conditional or replace · jquery→vanilla (long-term).
+Keep for now: svg-morpheus (homepage), drawfillsvg (homepage/about), js-cookie.
+
+### Recommended first cut (safe, big, design-neutral, no page migration needed)
+1. **Computer Modern format trim** (~2.8 MB) — confirm used weights, keep woff2/woff, delete ttf/eot/svg.
+2. **Glyphicons removal** (~208 KB) — verify `inc/template.php`, then delete files + legacy `boot.css`/`style.min.css` refs.
+3. **Bootstrap Icons subset** (~296 KB) — build a subset of the ~8–15 used glyphs.
+Then per-page: animate/WOW, FontMfizz, FA→BI, fullcalendar — as each area blockifies.
+
+---
+
 ## 1. npm — runtime (`package.json` › dependencies)
 ## 1. npm — runtime (`package.json` › dependencies)
 
 
 | Package | Ver | Used by | Status |
 | Package | Ver | Used by | Status |