- Extra Weight Field (#14): Track DryPods, custom holders in spool weight
calculations. New extra_weight field on spool with DB migration.
- Price/Cost Tracking: Compute remaining_value based on remaining weight
and price. Added column to spool list, inventory value on dashboard.
- Print History: Show print job history on spool detail page with
collapsible table showing filename, filament used, status, dates.
- Usage Analytics: New dashboard component with time-series chart
showing daily consumption, period selector (7/30/90 days), and
material breakdown. New API endpoints for analytics data.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add optional color column to spool list showing filament color swatches
with multi-select filtering capability.
Backend:
- GET /api/v1/color endpoint to list distinct filament colors
- filament.color_hex query param on spool list for filtering
Frontend:
- ColorFilterColumn component renders color swatches
- useSpoolmanColors() hook fetches available colors
- Filter dropdown shows swatches with hex codes
- Column hidden by default (enable via column selector)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>