# 130 — Roadmap

Status: approved 2026-09-30; **all phases built by 2026-10-01** (results in the chapters; tuning continues on the user's requests). Each phase ends with the checks in 120 §3, the
chapters updated, and the user's OK before the next phase.

```
F0 harness + baseline ─► F1 fork + installer ─► F2 Home + widgets ─► F3 search
                        ─► F4 library actions ─► F5 acceptance + docs
```

Order is fixed: F3 before F4.

### F0 — Skin harness and Estuary baseline (100, 120 §2) — done 2026-09-30

- `--native` captures, `skin`, `reload`, `window`, `jsonrpc`, `log` (100 §3).
- `scripts/skin_harness/baseline.py` + `screens.json` with masks.
- Sample video fixture for playback screens.
- Fix `AGENTS.md` / `kodi-harness` skill resolution statement.
- **Exit:** Estuary captured twice, compare → 0 differing px outside masks on
  every screen; report and timings in 100 §6.

### F1 — Fork and installer (030, 040) — done 2026-09-30 (skin 1.0.0)

- Fetch Estuary 4.0.0 from `21.3-Omega` into `resources/skin.milionar/`;
  renames and branding only (030 §2–3); logo wordmark generated and shown to
  the user on a live Home capture.
- Dev symlink, `wcs/skin/installer.py` called from `service.py`, addon
  settings button "Přepnout na skin Milionář" (cs/sk/en), version keys.
- `/deploy` includes the skin and checks the version bump (040 §3).
- **Exit:** 120 §3 F1 row; install/update tests 040 §7.

### F2 — Home, settings menu, skin settings, widgets (050, 060) — built 2026-09-30

- Main menu items and defaults, widget groups, 1108 settings menu, search
  button wired to `skin_search` (window arrives in F3; until then the button
  opens the keyboard and falls back to the addon's universal search listing).
- `wcs/skin/widgets.py`, `main.py` fast path, caches, service refresher,
  invalidation hooks, `skin_browse` listing, `channel_id` param for MyTV and
  MyCinema dialogs, provider properties.
- Skin settings Milionář section; menu icons from the Estuary mapping (050 §2);
  topic picker 1122 and `skin_game` (050 §4a); AI recommendation history
  store (060 §6).
- **Exit:** 120 §3 F2 row.

### F3 — Search window (070) — built 2026-10-01

- `skin_search` action, `widget_search`, `Custom_1120_MilionarSearch.xml`.
- **Exit:** 120 §3 F3 row.

### F4 — Library integration (080) — built 2026-10-01

- `lib_*` actions, `wcs/skin/library_actions.py`, `context.py`,
  `kodi.context.item` in `addon.xml`, info dialog button, 1121 menu.
- **Exit:** 120 §3 F4 row.

### F5 — Acceptance and documentation (120 §4) — done 2026-10-01 (feature doc; the full compare was dropped by the user's decision)

- Full compare, fresh-install/update on the deploy ZIP, skin screenshots,
  `docs/features/012-skin-milionar.md` after the user's test.

## Outside this plan

- Fixing the addon's undefined font names (010 §5) — addon backlog.
- Media stay loose PNGs; TexturePacker is used only under the measured
  condition in 030 §5.
