# daw theme — dependency inventory (pre-0.5.0) Snapshot of everything the **classic** `daw` theme depends on, so we can isolate and decide each one's fate during the v0.5.0 FSE migration. Status legend: - **Keep** — still wanted; carry forward (possibly repackaged). - **Replace** — functionality stays, implementation changes (native/blocks/modern lib). - **Drop?** — likely dead or superseded; confirm before removing. - **Audit** — usage unclear; verify what still references it before deciding. --- ## ⭐ 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~~ → **585 KB** | `.cm*`/`cmun` (5 used weights) | **✅ DONE 2026-06-19** — woff-only; dropped all ttf/eot/svg + unused CM Bright (cmunbbx) + unreferenced cmunbmr/cmunbsr. style.css/theme.json pruned, rebuilt. | — | | ~~Bootstrap Icons~~ | ~~314 KB~~ font + ~78 KB CSS | header nav (8 icons) | **✅ DONE 2026-06-19 — dropped entirely** — 8 nav icons → inline SVG in `parts/header.html`; removed the `styles.scss` @import (~2000 `.bi-*` rules), font files, and the npm dep. v4-style 472→393 KB. | — | | ~~Glyphicons~~ | ~~208 KB~~ | (legacy only; comment-form spans in `inc/template.php` already render nothing — font never loaded by active bundle) | **✅ DONE 2026-06-19** — font files deleted. (Dead `inc/template.php` glyphicon spans + legacy `boot.css`/`style.min.css` left for the CSS cut.) | — | | ~~FontMfizz~~ | ~~390 KB~~ → **28 KB** | `page-about.php` icon-grid (14 tech-stack **brand** logos: ubuntu/apache/nginx/aws/rails/node/redis/mysql/postgres/js/python/php/ruby/heroku) | **✅ DONE 2026-06-21** — trimmed to woff-only (dropped eot/ttf/svg, −372 KB); icons still render. **KEEP (2026-06-21):** FA (even Pro) lacks nginx/postgres/mysql/heroku/rails, so the 14 tech icons stay on FontMfizz (woff-only, 28 KB -- its final state). The FA kit covers the *other* (FA-font) icons instead. | — | | 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~~ → **subset** | −49 KB | **✅ DONE 2026-06-21** — only used partials imported (grid/offcanvas/carousel/nav/forms/buttons/tables/list-group/card/pagination/alert + utilities API); dropped modal/dropdown/tooltip/popover/accordion/toasts/etc. Full removal still the end-goal. | | ~~animate.css~~ + ~~WOW~~ | ~~93 KB~~ CSS + JS | **✅ DONE 2026-06-21** — both dropped (npm deps removed, bundle imports + the 4 `new WOW().init()` calls gone). v4-style 348→278 KB. The 26 inert `.wow`/`fadeIn*` classes left in markup to re-enable later if wanted. | | ~~fullcalendar~~ (CSS + JS) | ~~40 KB CSS~~ + 263 KB JS off site-wide | **✅ DONE 2026-06-21** — split to an About-only bundle: `js/v4-fullcalendar.min.js` + `css/v4-fullcalendar.css`, enqueued in dw_scripts on `is_page(about)` only. Site-wide `v4-script.min.js` 503→240 KB, `v4-style.min.css` 278→253 KB. (v6 upgrade still its own task.) | | `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 → inline SVG, FA → FA-Pro SVG sprite, fullcalendar — as each area blockifies. **Icon/font strategy is recorded in [[upgrade-plan]] Phase 5** (SVG sprite via npm FA-Pro SVG packages, `.npmrc` token gitignored, one-offs inline, text fonts via `@fontsource`/vendored). --- ## 1. npm — runtime (`package.json` › dependencies) | Package | Ver | Used by | Status | |---|---|---|---| | bootstrap | **5.3.8** | site-wide; CSS via `styles.scss` @import (webpack sass-compiled); JS bundle `v4-bootstrap` | **KEEP** — upgraded 5.2.3→5.3.8 (2026-06-16). FSE/blocks may reduce need later. | | bootstrap-icons | **1.13.1** | header nav icons (`bi-*` ×7); `@import`ed in `styles.scss`, font files in `fonts/` | **KEEP** — upgraded 1.10.2→1.13.1 (2026-06-16); font files re-copied. | | jquery | ^3.6.1 | deregistered globally, re-enqueued per page | **Replace** — goal is no-jQuery; vanilla per block | | jquery-validation | ^1.19.5 | contact/forms | **Drop?** — Gravity Forms handles validation now | | ~~jasny-bootstrap~~ | ~~^4.0.0~~ | — | **REMOVED 2026-06-16** — fully unused; offcanvas is BS5-native (`data-bs-toggle`, `.offcanvas-end`, `--bs-offcanvas-*`). jasny was never bundled by gulp and referenced nowhere but package.json. (Vestigial `.navmenu` class still on the `