todo-app/lib
Krzysztof kuhy Rudnicki 63725e726f Split note_editor.dart into nine files under the cap
702 -> 220 lines, decomposed rather than just moved, because a single
~600-line State class was the actual problem:

  note_editor_document.dart   the text model -- template, controllers, and
                              which of the two sources (raw body vs. section
                              fields) is authoritative. None of it needed a
                              BuildContext or a setState, which is what made
                              it the honest seam. The raw<->guided conversions
                              and the initial-template detection moved here as
                              tryAdoptGuided/materialiseToRaw/forInitialText.
  note_editor_wizard.dart     the two-step priority+template wizard, which now
                              owns its own step state instead of parking three
                              fields on the editor.
  note_editor_step_page.dart  the guided per-step view.
  note_editor_chrome.dart     the template picker + mode toggle.
  note_editor_raw_field.dart  the raw-mode text field.
  note_editor_mode.dart       the mode enum, re-exported so callers are
                              unaffected.
  note_editor_{widget,views}  parts, not libraries: createState returns a
                              private class, so the widget and its State
                              cannot be split across libraries.

The layout comments about Expanded/expands:true are load-bearing (nesting
broke the constraint chain in release builds before), so they travelled with
the code they describe rather than being summarised away.

Verified: 313 tests pass, flutter analyze clean. Covered lines went UP,
1922 -> 1958, because the wizard's state is now exercised in a widget of its
own; every new file reports 100%.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-14 16:12:04 +02:00
..
analytics Simplify capture UI behind an advanced-mode toggle, add usage analytics 2026-08-12 21:30:40 +02:00
data Enforce the 250-line file cap, and split the first four files 2026-08-14 16:01:24 +02:00
desktop Enforce the 250-line file cap, and split the first four files 2026-08-14 16:01:24 +02:00
sync Enforce the 250-line file cap, and split the first four files 2026-08-14 16:01:24 +02:00
ui Split note_editor.dart into nine files under the cap 2026-08-14 16:12:04 +02:00
frame_stats_io.dart Cut the llm-design-spec template from 12 sections to 7 2026-07-26 22:03:35 +02:00
frame_stats_web.dart Cut the llm-design-spec template from 12 sections to 7 2026-07-26 22:03:35 +02:00
frame_stats.dart Make the app compile and run for web, behind platform seams 2026-07-20 13:14:03 +02:00
main.dart Simplify capture UI behind an advanced-mode toggle, add usage analytics 2026-08-12 21:30:40 +02:00