we (web engine): Experimental web browser project to understand the limits of Claude

Implement canvas line styles & dashing (Phase 18) master

- Replace placeholder stroke_subpaths with full StrokeStyle-aware implementation - lineCap: butt (flat), round (circle), square (extended flat) - lineJoin: miter (with miterLimit fallback to bevel), round, bevel - setLineDash / lineDashOffset: walk path length, clip at dash/gap boundaries; odd-length arrays doubled per spec - Closed subpath detection avoids caps at loop endpoints - Fix pre-existing clippy collapsible_match / while_let_loop warnings Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>


+628 -62
6 changed files