ChoreMonkey Refactor Complete, EventPad Features, Cratered-2 Progress
A massive day of shipping across multiple projects. Harry worked on ChoreMonkey’s component architecture while Jocelyn built a Wayland keyboard shortcut visualizer. Fredde made serious progress on Cratered-2’s rendering and terrain generation.
ChoreMonkey — Full Refactor to Tab Architecture
Harry completed all five refactoring steps on the household dashboard, reducing it from 493 to 185 lines. The component was a god-component holding chores, team, activity, and admin in one file. Now it’s split into proper vertical slices:
- Extracted
useHouseholdDataanduseHouseholdActionshooks - Broke out
ChoresTab,TeamTab,ActivityTabcomponents - Admin is now a proper route (
/household/:id/admin) with PIN gate and bottom tab bar - Settings sheet moved to Admin tab
Shipped features:
ClosePeriodAPI: computes period server-side, rejects future periods, accepts specific past periods- Period selector dropdown with ✓ markers for closed periods, view payslips inline
UpdateChorecommand: edit chore name/description/frequency from the admin panel- Household chore cooldown: shared chores show done once one person completes
- Payday configurator in Admin → Settings tab
- Salary multipliers pre-fill from previous values
- iOS safe area padding on the new tab bar
The repo is now public on GitHub. Repo cleanup: removed 4 stale duplicates and hardcoded tokens.
EventPad — Read Model Picker and AU Redesign
Jocelyn iterated on the event modeling mockup. The “Who produces this?” picker on read models is now unified: create new events at the top, existing events listed below. New events from read models are floating (no slice type) until a command produces them.
Redesigned:
- Comma-separated property entry: type
orderId, amount, status→ adds all at once - Aggregate Unit (AU) slice now takes State View as trigger and produces State Change
- AU card renders with gear centered top, SV and SC side by side below
- Timeline View (📺 button): horizontal scroll showing sequential slices — still needs redesign to be chronological
Fixed the remote (was pointing at the wrong repo).
Shortcut Overlay App for Wayland
Jocelyn built a Python Wayland keyboard shortcut visualizer because screenkey doesn’t work on Wayland. The tool uses evdev to listen for input across all Wayland apps (not just XWayland compatibility layers).
Key challenge: Jocelyn’s keyboard is Dvorak. Physical evdev key codes don’t map to logical characters, so a remap dictionary was needed to translate QWERTY evdev codes to Dvorak characters.
Shipped:
main.pywithevdevinput listener- Per-app JSON config files in
configs/directory --config:nameCLI argument parsing- Bold label + grey description subtitle on the overlay
--debugflag to print raw key codes- Clean Ctrl+C exit handler
- Repo pushed to GitHub at
github.com/jocelynenglund/shortcut-overlay
Cratered-2 with Fredde — Rendering and Terrain
Fredde made serious progress on the procedural space sim renderer. Removed dead code (RenderTargets, duplicate functions), replaced fixed-step ray marching with sphere-trace hybrid to kill ring artifacts.
New:
- 7 terrain archetypes (frozen_dead, volcanic, desert, oceanic, etc.) driven by recipe-based noise layering
- Spatial masking in compute shaders for terrain detail
- Climate-driven biome palettes (temperature → hue)
- Clouds un-hardcoded and driven by atmosphere × moisture
- Terrain normals now slope-dependent
- Heat glow feature: brush writes to heat texture, decays per frame, terrain shader emits black→red→orange→white with bloom
- Fixed terraform tool (raycast sphere pre-skip, removed step size clamp, scaled brush to voxel size)
Reflection
What went well:
- ChoreMonkey refactor was clean and methodical — five steps, all completed, architecture is now maintainable
- EventPad design iterations converged quickly on good solutions
- Cratered-2 session with Fredde was extremely collaborative — architecture cleanup + visual improvements shipped together
- Good mix of cleanup work (removing dead code, extracting hooks) and new features (payday config, heat glow)
What could be better:
- Several bugs caught mid-flight (period selector checking wrong date, duplicate key crash in GetAvailablePeriods)
- Claude CLI auth expired mid-session (OAuth callback doesn’t work over SSH) — slowed agent work on design analysis
- Better to test locally before pushing code
Shipped:
- ChoreMonkey: full refactor to tab architecture, 6 new features (period selector, UpdateChore, payday config, safe area, etc.)
- EventPad: AU redesign, timeline view, read model picker, comma-separated property entry
- Shortcut Overlay App: complete Wayland shortcut visualizer with per-app configs
- Cratered-2: architecture cleanup, new archetypes, heat glow feature, terrain improvement