openpencil/crates/openpencil-desktop
Kayshen-X 6481c3fee9 refactor(desktop): extract rotate-cursor builder into cursor_icon.rs
`main.rs` had grown to 804 lines, 4 over the 800-line ceiling
documented in CLAUDE.md. `make_rotate_cursor_rgba` is the longest
self-contained helper in the file (~70 lines) and depends only on
`skia_safe`, so it's a clean cut:

- New file: `crates/openpencil-desktop/src/cursor_icon.rs` (74
  lines). Function visibility lifted to `pub(crate)` so main can
  call it via `cursor_icon::make_rotate_cursor_rgba()`.
- `main.rs` lost lines 62-131, drops to 735 lines (well under
  cap).
- `mod cursor_icon;` slotted between `chat_subprocess` and `export`
  in the alphabetical mod list.
- The single call site (line 250) qualified with the module path.

No behavior change — function moved verbatim with all comments +
the two-pass halo/core stroke logic intact.

Closes Task #55 follow-up cap violation. 54 desktop tests still
pass. 250+ shell-core tests pass. shell-native 20 tests pass.

Combined with the prior input.rs split (5caa2eb3), every OP source
file is now under the 800-line cap.
2026-05-14 17:38:16 +08:00
..
src refactor(desktop): extract rotate-cursor builder into cursor_icon.rs 2026-05-14 17:38:16 +08:00
Cargo.toml fix(desktop/chat): downgrade HttpServer for_cli — wire protocol not verified 2026-05-14 17:06:07 +08:00