← luna

Commit 145cac7

2
files
+10
added
-5
deleted
@@ -326,7 +326,8 @@ XDG_CONFIG_HOME="$PWD/examples" cargo run -p luna-demo --bin render -- --lang fr
326 326 (segmentowy), `NavList` (menu nawigacji z sekcjami), `Menu` (popover `☰`), `Button`
327 327 (z wariantami i chevronem), `Switch`, `Slider`, `DropDown` (z rozwinięciem przez `Menu`),
328 328 `HeaderBar` (pasek tytułu: tytuł, kontrolki okna, obszar na treść), `TabBar`/`TabView`
329 - (pasek zakładek i model stron: wybór, dodawanie, zamykanie), `BottomSheet` (dolny panel
329 + (pasek zakładek i model stron: wybór, dodawanie, zamykanie; przy przepełnieniu przewijany
330 + z przyciskami na krawędziach), `BottomSheet` (dolny panel
330 331 modalny z „grabberem”, przeciąganiem i zamykaniem), `Pager` (karuzela stron z kropkami),
331 332 `PathBar` (okruszki z separatorem `›`, wskaźnikiem `▾` i zwijaniem do `…`), `Entry`
332 333 (pole tekstowe: kursor, edycja, opcjonalna ikona wiodąca i czyszczenie) — z `SearchEntry`
@@ -357,13 +358,14 @@ XDG_CONFIG_HOME="$PWD/examples" cargo run -p luna-demo --bin render -- --lang fr
357 358
358 359 ## Układ (measure/allocate)
359 360
360 -Prostokąty można nadal liczyć ręcznie (jak karta „Pliki” w demo), ale `libluna-widgets::layout`
361 +Prostokąty można liczyć ręcznie, ale `libluna-widgets::layout`
361 362 daje **retencyjne drzewo**: aplikacja składa [`Node`], silnik robi **pomiar** (`measure`, względem
362 363 `Constraints` min/max) i **rozmieszczenie** (`allocate`) — dwuprzebiegowo, jak w klasycznych
363 364 toolkitach. Kontenery: `VBox`/`HBox` (odstęp `gap`), `Padding`, `Expanded`/`Spacer` (pochłaniają
364 365 nadmiar wzdłuż osi), `Center` (naturalny rozmiar wyśrodkowany). Liściami są `Fixed`, `Label`
365 366 (mierzy się czcionką) i `Spacer`; `Node::visit` pozwala obejść drzewo z prostokątami, a
366 -`Layout::fit` zwraca prostokąty liści w kolejności DFS.
367 +`Layout::fit` zwraca prostokąty liści w kolejności DFS. **Demo Ustawień** używa już tego silnika
368 +(karty i ich wiersze w `ui::layout`).
367 369
368 370 Minimalny przykład (`apps/luna-demo/src/bin/layout.rs`) buduje kartę ustawień **wyłącznie**
369 371 z drzewa i renderuje ją headless:
@@ -61,8 +61,11 @@ a na końcu odtworzył realne aplikacje środowiska Luna z makiet.
61 61 stosowany na żywo i zapisywany w `theme.conf`; `LUNA_THEMES_DIR` dla dev/testów.
62 62 - Podgląd motywów (headless): `bin/styles` renderuje realny interfejs w kilku stylach i składa
63 63 montaż (`docs/images/styles.png`) — odpowiednik „okna podglądu”.
64 -- Dalej: **okno podglądu na żywo w aplikacji**, scroll/overflow w `TabBar`,
65 - migracja `luna-demo` na drzewo układu.
64 +- `TabBar`: przewijanie przy przepełnieniu (scroll + przyciski chevron na krawędziach, wybór
65 + zawsze widoczny).
66 +- `luna-demo` używa drzewa układu: karty i ich wiersze liczy `measure`/`allocate`.
67 +- Dalej: **okno podglądu na żywo w aplikacji**, stany (disabled/focus/pierścień fokusu),
68 + `Separator`/`Spacer` jako widżety, kolejne kamienie (M1 render, M3 listy).
66 69
67 70 ## M2 — Układ + widgety bazowe
68 71 - Dwuprzebiegowy silnik measure/allocate — ✅ **częściowo** (silnik + kontenery `VBox`/`HBox`,