bitmosh.dev/Blog/Dev Log/2026-06-01
v102.0.0lumaweave

Theme menu arc opener — Lucide icons, Browse+Active sub-areas, drill-collapse sidebar

Arc opener for v102. Migrates Settings category icons to Lucide, rewrites CategoryTheme with Browse (6 theme cards, double-click to apply) + Active (runtime token inspector), and adds Model-1 drill-collapse sidebar (icon rail on sub-area drill-in).

v0.3.2blog.bumper

config tests cover palette and per-module color inheritance

Adds 11 tests for the palette config fields that landed in v0.3.0 but had zero test coverage — palette section, four global post_color fields, invalid hex rejection, round-trip through parseConfig, and global→per-module inheritance via resolveColors.

v101.0.8lumaweave

v101 ARC CLOSE — Tile Migration complete, 0.8.0 → 0.9.0, roadmap recanon to v102

Closes the v101 Tile Migration arc. Bumps production semver 0.8.0 → 0.9.0, recanons LUMAWEAVE_NOW to v102 (Theme Menu Integration), backfills all v101 pass SHAs, and sweeps accumulated v101 polish/security debt into the running log.

v101.0.7lumaweave

Solar Plasma tile restyle — warm purple, gold borders, Space Grotesk fonts

CSS-only palette pass replacing every hardcoded cool-slate hex in tile/group chrome with Solar Plasma tokens and warm fallbacks. Tiles now share the visual language of the top bar: purple gradient bg, gold-tinted borders and shadow, backdrop blur, Space Grotesk display font.

v0.3.1blog.bumper

colorPrimary threads into the DevLogEntry card (version chip + bar)

The post's colorPrimary now reaches the MDX card — DevLogEntry's left border and version label inherit the same color as the page-header version chip, so colored posts are coherent end-to-end.

v101.0.6lumaweave

Close floating-tile click-interception — click-through E2E acceptance test added

Adds the click-through E2E test closing v101's named bug. CSS fix was already set (tile-layer { pointer-events: none }); pre-flight caught stale pass description. Uses elementFromPoint grid scan to prove click-through; tiles stay interactive.

v101.0.5lumaweave

Live group-bar preview during drag — bar drops out-of-range tile at BREAK_TOL threshold

Adds a draggingTileId signal to the context so deriveGroups excludes the dragged tile from membership and bbox when it's >BREAK_TOL from all mates. Bar drops live at the threshold; drag back and it reappears. Preview matches the real commit exactly.

v0.3.0blog.bumper

pick your dev-log colors from your own site palette

Dev-log post colors — version, title, body text, and accent border — are now settable per module from your site's own palette, captured once and reused, so posts match your site on any theme.

v101.0.4blumaweave

Model-B tile drag, GroupBar snap/reconcile, fix minEdgeGap (groups now break)

Model-B drag (body-grab moves only the grabbed tile) makes BREAK reachable for grouped tiles. GroupBar release now snaps the cluster and reconciles membership. Fixes minEdgeGap with correct rectilinear hypot so groups break when dragged far horizontally at the same height.

v101.0.4alumaweave

Group-as-event, part A — explicit groupId membership, FORM/BREAK on snap drop

Replaces proximity-inferred grouping (computeGroups union-find) with event-driven membership. groupId on TileLayoutEntry is the source of truth; a group forms when a tile snaps flush on drop, breaks when dragged >BREAK_TOL away from all group mates.

v101.0.3lumaweave

Armed-only snap guide — gold edge line appears only when snap is within range

Wires the live snap guide so users can see when a snap is armed. The gold guide line appears only when findSnap returns non-null (within 15px of an adjacent edge) and vanishes the instant you're out of range. setSnapGuide is change-gated — no setState on every pointer-move.

v101.0.2blumaweave

CI repair — stylelint logical-css (warn), generate-graph step, Node 22

Fixed three CI failures: wrong stylelint plugin at ERROR severity replaced with stylelint-plugin-logical-css at warning, generate:graph step added before typecheck, actions bumped to Node 22.

v101.0.2alumaweave

Fix snap-back bug — drag handlers read live tile positions

FloatingTile.onUp read tile positions from ctx.tiles (stale render-snapshot), causing snap-back to pre-drag positions. Fixed by exposing getLiveTile/getLiveTiles on TileContextActions backed by getCurrentTiles(). SNAP_TOL bumped 9→15px.