Light Lane v3.0.3

Channel: stable | Released: 2026-07-08

# Light Lane v3.0.3

Linked PR: PR #89: fix(icons): correct macOS app icon size and repair icon pipeline


## What's New
## What

Fixes the macOS app icon rendering too large next to other apps, and repairs the icon build pipeline so it can't silently drift again.

## Why the icon looked too big

The source artwork (`build/appicon.png` and the shipped `build/darwin/iconfile.icns`) was **full-bleed**: the blue rounded-square filled the entire 1024x1024 tile, edge to edge. Apple's macOS icon grid puts the icon body at ~80.5% of the tile (824px) with transparent margin around it, so macOS was drawing ours ~20% larger per side than its neighbours and pushing past the Dock/Finder grid line.

Fix: scale the existing art into the 824px safe area, centred on transparent margin. Same logo, same colours, nothing redrawn, no baked shadow (modern macOS composites its own).

## The pipeline was also broken

`build/Taskfile.yml` `generate:icons` was doubly wrong, confirmed against the installed `wails3` binary:

1. **Wrong output filename.** It wrote `darwin/icons.icns`, but the bundle copies `darwin/iconfile.icns` (`Info.plist` `CFBundleIconFile=iconfile`). So `wails3 generate icons` never updated the real shipped icon; `iconfile.icns` was hand-maintained.
2. **Hard failure.** `-iconcomposerinput appicon.icon` pointed at a file that doesn't exist, so `actool` exited 1 and the command produced zero files. Builds only survived because Task's fingerprint cache skipped the step.

Fix: point `-macfilename` at `darwin/iconfile.icns` and drop the Icon Composer flags (`-iconcomposerinput` / `-macassetdir`), with a comment documenting how to re-enable them for the macOS 26 Liquid Glass `Assets.car` flow once a real `appicon.icon` exists. The bundle already copies `Assets.car` when present, so that path stays open.

## Result

- Pipeline is coherent: edit `build/appicon.png`, a build regenerates the shipped icon. No hand-maintained `.icns`.
- `windows/icon.ico` regenerated from the padded source, so **Windows inherits the padding too**.
- No stray `darwin/icons.icns`.

## Files

- `build/appicon.png`: repadded source of truth
- `build/darwin/iconfile.icns`: repadded, now produced by the pipeline
- `build/windows/icon.ico`: regenerated, padded
- `build/Taskfile.yml`: `generate:icons` fixed and documented

## Verification

- `task check` passes (eslint `--max-warnings 0`, purity, prettier).
- `task --force common:generate:icons` runs end to end (exit 0); regenerated `.icns` confirmed padded (corner alpha 0, centre alpha 255).
- Assets-and-build-config only; no Go or frontend code touched.

## Test plan

Rebuild the app (`task package` / normal build), then `killall Dock Finder` or relaunch. The icon should sit at the same size as neighbouring Dock apps.

https://claude.ai/code/session_01NY6eqQZe1V8iBFuCtgn6rQ

## Downloads
- **macOS (Apple Silicon)**: Light-Lane-3.0.3-darwin-arm64.dmg
- **macOS (Intel)**: Light-Lane-3.0.3-darwin-amd64.dmg
- **Windows**: Light-Lane-3.0.3-windows-amd64.exe

## Installation
- **macOS**: Download the appropriate .dmg file, open it, and drag Light Lane to Applications
- **Windows**: Download the .exe installer and run it

Released: 2026-07-08