0000000000000000000000000000000000000000 bbab5e238daff5efaefa6ed6cf5f3408aa5c2d95 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1778419290 +0200	clone: from https://git.eydos.io/liberux/ltk.git
bbab5e238daff5efaefa6ed6cf5f3408aa5c2d95 f3621b72c93cbb33814b5a024853371e5cca6980 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1778419402 +0200	commit: Added examples in README.md
f3621b72c93cbb33814b5a024853371e5cca6980 703a1ed22814bad59f116877da188614e04400ee Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1778447777 +0200	commit: event_loop: honour `App::window_size_hint()` on the first configure
703a1ed22814bad59f116877da188614e04400ee 39fbafec248000c40a640f71bae3ba6b380c9c57 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1778494828 +0200	commit: container: generalise `background` from `Color` to `Paint`
39fbafec248000c40a640f71bae3ba6b380c9c57 dc781fb78dca29e2bdcc2b1ae08c2bce90d5d33c Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1778531429 +0200	commit: event_loop: client binding for ext-foreign-toplevel-list-v1
dc781fb78dca29e2bdcc2b1ae08c2bce90d5d33c c3839060ccfce4a3a50b492eaaab99aeb158c410 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1778660256 +0200	commit: theme, event_loop: window_controls.bar_bg slot + graceful exit on compositor disconnect
c3839060ccfce4a3a50b492eaaab99aeb158c410 96f437544a2a9a0418cd95223cb02f6f8195e55e Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1778672821 +0200	commit: event_loop: route `take_focus_request` to widgets on overlay surfaces
96f437544a2a9a0418cd95223cb02f6f8195e55e 821037f509308adb11fae19e41af2561520f4be7 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1778693921 +0200	commit: container, text, date_picker: width-aware sizing pass
821037f509308adb11fae19e41af2561520f4be7 bfe27b6fef56b14d1b82a0b7467b10cc0911b857 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1778790977 +0200	commit: event_loop, widget, input: pointer-dwell tooltips, global drag coords, foreign-toplevel name cascade
bfe27b6fef56b14d1b82a0b7467b10cc0911b857 5ff4fa7e59519aff2d760b446b972ff16691d2a3 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1778795348 +0200	commit: Fixed default dark theme
5ff4fa7e59519aff2d760b446b972ff16691d2a3 3d237039c64b6cd450420a94bf216ee0f8251a13 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1778798401 +0200	commit: input/keyboard: let the app intercept arrow / Tab keys before the default text-edit and focus-shift behaviours
3d237039c64b6cd450420a94bf216ee0f8251a13 4aa3480b647b7cabf1127e56ccaf907effa39bd2 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1778881616 +0200	commit: refactor: split every monolithic module into focused submodules
4aa3480b647b7cabf1127e56ccaf907effa39bd2 4a801654281dc2200c38d3d009f957ff33187a4f Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1778962199 +0200	commit: event_loop, a11y, text_shaping: AccessKit AT-SPI2 bridge, cross-app clipboard, xdg-activation, HarfBuzz shaping, multi-touch hooks
4a801654281dc2200c38d3d009f957ff33187a4f 9cc65e70eaf177a602442aa6063fc5a495c22371 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1779169737 +0200	pull: Fast-forward
9cc65e70eaf177a602442aa6063fc5a495c22371 a8bbd1e35c9def37c15ea801c180a783512236e1 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1779219620 +0200	commit: input/keyboard: fall through to App::on_key when the Enter dispatch target widget has no submit/press message
a8bbd1e35c9def37c15ea801c180a783512236e1 640db23de25ac555fc614e630ede701f1213d804 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1779223302 +0200	commit: doc: silence rustdoc intra-doc warnings (private-item links and palette/surface ambiguities)
640db23de25ac555fc614e630ede701f1213d804 757063694e340d85640a82123dfdfa7493376e4e Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1779283474 +0200	commit: layout/stack: opt-in `Stack::fit_content()` so a wrapping container can adopt the stack's intrinsic size
757063694e340d85640a82123dfdfa7493376e4e 78a7ae151c63aad7b0fa40d2f574354462633ff9 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1779283601 +0200	commit: layout/stack: opt-in `Stack::fit_content()` so a wrapping container can adopt the stack's intrinsic size
78a7ae151c63aad7b0fa40d2f574354462633ff9 0e52274053a3a5334e80becead93eb741885d640 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1779321079 +0200	commit: app, event_loop: first-frame-committed hook and foreign_toplevel app_id only
0e52274053a3a5334e80becead93eb741885d640 88385e14b27fe4e1cde20d0dc87048e6c66417aa Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1779471528 +0200	commit: add Carousel widget and WrapGrid::centre_last_row
88385e14b27fe4e1cde20d0dc87048e6c66417aa c553c4df4b82ba2d4de7703b553a5ae313b3a4ca Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1779490393 +0200	commit: themes/default: drop the inner shadows from the `launcher.svg` glyph
c553c4df4b82ba2d4de7703b553a5ae313b3a4ca 24f4d2703a672a4cc894ab0be45bdbd99e89e04d Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1779574370 +0200	commit: ltk: introduce viewport-relative `Length` so any size, padding, spacing or font height can scale with the surface instead of being frozen at a px constant, fix `text::preferred_size` to honour the font-declared line gap, and add a responsive typographic scale
24f4d2703a672a4cc894ab0be45bdbd99e89e04d bebec214b1cb1262cb436af21f275bdc5188ea18 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1779702165 +0200	commit: event_loop: drop the duplicate on_resize that clobbered physical dimensions with logical ones
bebec214b1cb1262cb436af21f275bdc5188ea18 cff4b12a4a7a78c0ffc1ff7e91e3b74934ea4479 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1779702361 +0200	pull --rebase (finish): refs/heads/main onto f7ef932976d438f72f25c9828cb37cb4155a53c3
cff4b12a4a7a78c0ffc1ff7e91e3b74934ea4479 fc045a9c22a12908effc58d87770fceb2b266d0f Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1779747093 +0200	commit: ltk: ext-session-lock-v1 client surface mode, plus a read-only mode for text fields
fc045a9c22a12908effc58d87770fceb2b266d0f 1e2cb836f49cad02d0f0291ba9feb73943f08852 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1779826938 +0200	commit: ltk: convert physical sizes to logical for overlays and input regions on HiDPI
1e2cb836f49cad02d0f0291ba9feb73943f08852 3d8523533cf8554e6e185609c9e5dcb8393ba681 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1779913896 +0200	commit: text-input: re-sync on `enter` and flag secure fields as Password
3d8523533cf8554e6e185609c9e5dcb8393ba681 9ca3b60f3adab3b726b6eb61320ac4ad4031f71e Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1780002674 +0200	commit: ltk: responsive padding/spacing and scrolling, expanded theme palette, and bundled Adwaita cursors
9ca3b60f3adab3b726b6eb61320ac4ad4031f71e 042652ec73e578ffe2a3868f4842bdd415d0e483 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1780090128 +0200	commit: windows: centralise input focus on a single FocusTarget, raise+focus on every window interaction
042652ec73e578ffe2a3868f4842bdd415d0e483 582f9e1a376ca1cc8dea4287a9c00de994126491 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1780186474 +0200	commit: Removed extra debug prints
582f9e1a376ca1cc8dea4287a9c00de994126491 48c5a897129f37f5d58a6d560ae738c96dcc858d Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1780265989 +0200	commit: touch: treat a compositor re-grab `down` as a drag continuation
48c5a897129f37f5d58a6d560ae738c96dcc858d c15008449461d0fb214c3f01a72efd401b4a74fa Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1780339905 +0200	commit: Added pkg-config debian dependency
c15008449461d0fb214c3f01a72efd401b4a74fa b8a32cfb960f03c712b43c0382823ca004a4d207 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1780339934 +0200	pull --rebase origin main (finish): refs/heads/main onto 34b3e76ac17eefe6604531caac5bbf7291b30d16
b8a32cfb960f03c712b43c0382823ca004a4d207 d221d5a0cd29e1277944a9be3fe9d8387e88ae4d Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1780343620 +0200	commit: app: add `App::subsurface_motion_only` so a slide-to-reveal panel animates without re-rastering the main surface
d221d5a0cd29e1277944a9be3fe9d8387e88ae4d e40ab637a6648cfac2dccd74c039a4d2be7e6968 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1780392708 +0200	pull: Fast-forward
e40ab637a6648cfac2dccd74c039a4d2be7e6968 ae8380b1ac7f6e0cca55633a8a49a6491110cc26 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1780402237 +0200	commit: event_loop: retry focus requests that land before the view is rebuilt
ae8380b1ac7f6e0cca55633a8a49a6491110cc26 68c6a87bf6c09da80414dd452ed2f3944d77b6c1 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1780642307 +0200	pull: Fast-forward
68c6a87bf6c09da80414dd452ed2f3944d77b6c1 cfa0faff26bd3e083ad499b3e0f41f2e11dd39e1 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1780843559 +0200	commit: ltk: subsurface slides over overlays, axis-locked swipes, physical-space layout, touch reset on resume
cfa0faff26bd3e083ad499b3e0f41f2e11dd39e1 df8fcbf757a913a4d3318061401157b4d794570f Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1781042011 +0200	commit: app: client-side xdg-activation token requests
df8fcbf757a913a4d3318061401157b4d794570f b00cf460bb29192aa605d76318b235538f8fb1d0 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1781295242 +0200	commit: Mature ltk to host an externally-laid-out Android view tree
b00cf460bb29192aa605d76318b235538f8fb1d0 f8c45f0e308229fb2c80b9dd4cc3c003eeee48af Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1781819978 +0200	commit: Add Canvas::set_clip_path — anti-aliased arbitrary-path clipping on both backends
f8c45f0e308229fb2c80b9dd4cc3c003eeee48af 588a3f7e36ce74702ee5679989804360a5377cc2 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1781820264 +0200	commit: Fix vertically-flipped content in the GLES path-clip composite
588a3f7e36ce74702ee5679989804360a5377cc2 8809313be17227cb735fe67cc59d08dde5ea9df0 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1782068119 +0200	pull: Fast-forward
8809313be17227cb735fe67cc59d08dde5ea9df0 fb3552e9f78cb7e6c221b25914955db210eae663 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1782333770 +0200	commit: Embedder primitives: placed-child clipping, offscreen RGBA readback, standalone text measurement
fb3552e9f78cb7e6c221b25914955db210eae663 d4d7ee742ea9aa05ffd29a794aad1e8777fc5878 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1782384220 +0200	commit: Bump to 0.2.0: SW/GLES paint parity, shared font resolution, FrameState refactor, docs and packaging fixes
d4d7ee742ea9aa05ffd29a794aad1e8777fc5878 ce893ac776c932e3729bd6c087743b399bbcd61e Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1783438833 +0200	commit: responsive fluid/physical scaling, widget-API stabilization, and perf guardrails
ce893ac776c932e3729bd6c087743b399bbcd61e 8762ab9ce0fcecd783d1b945cf9870c6f3a6c456 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1783672710 +0200	commit: text_edit font sizing on Length; add Button::width and Text::line_height
8762ab9ce0fcecd783d1b945cf9870c6f3a6c456 3d7f3c53debfdda822e88b5945a2f97fc31e162a Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1784620565 +0200	commit: ltk: opt-in raw touch stream for apps that consume input themselves
3d7f3c53debfdda822e88b5945a2f97fc31e162a 142096827e4c6c2109689c0bc60de9355b99b4c5 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1784928016 +0200	commit: event_loop: drop the built-in titlebar when the compositor decorates
142096827e4c6c2109689c0bc60de9355b99b4c5 0062bc565c088c72d192324844d73bcbf0fa48ef Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1785313245 +0200	commit: app, event_loop/run: add `App::window_resizable()` so a window_size_hint can declare a permanently fixed-size toplevel
0062bc565c088c72d192324844d73bcbf0fa48ef 1234943e86117473fe02e27997662df62feb10a9 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1785325437 +0200	commit: Pin fontdue to =0.9.3 — 0.9.4 requires Rust 1.87 and the toolchain is 1.85
1234943e86117473fe02e27997662df62feb10a9 16c04f4159fa8eac23e84839c8f1ee3daf50dda7 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1785366150 +0200	commit: event_loop, text_edit, layout: focus-time cursor as an end-of-value sentinel, caret height tied to the text line, row align_top/fill_height modes
16c04f4159fa8eac23e84839c8f1ee3daf50dda7 d31e7222dac33813c7734123fb72a4ab2ccb5a0f Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1785403177 +0200	commit: list_item: trailing icon slot and horizontal inset override
d31e7222dac33813c7734123fb72a4ab2ccb5a0f 9b99a18e26641880b05479ad03021f091ea9998f Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1785404254 +0200	commit: style guide: rewrite for Rust, guard against cargo fmt
9b99a18e26641880b05479ad03021f091ea9998f 14572ebfb6ed335657b17108f7edb4e4d9035086 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1785417832 +0200	commit: render: sub-canvases inherit the root layout viewport for fluid resolution
14572ebfb6ed335657b17108f7edb4e4d9035086 1fd697aa6d7b2be64e85f79fa8db50a98b3bb387 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1785432506 +0200	commit: docs overhaul, orientation API, fluid-sizing fixes, examples made honest
1fd697aa6d7b2be64e85f79fa8db50a98b3bb387 a7f953ca4283c4d18924fdb591276493334714db Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1785442821 +0200	commit: layout: adaptive grid and vertical flex; enforce the mechanical style rules
a7f953ca4283c4d18924fdb591276493334714db 806dee516732740da3fd01a00669faf58b6e3472 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1785572220 +0200	commit: render, types, ci: resolution-time dp with per-canvas density, bounded GLES image cache, clippy gate, backend capability matrix
806dee516732740da3fd01a00669faf58b6e3472 4247613bb0e3ab729642b37885e65d2f034f8e7b Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1785578876 +0200	commit: widget/toggle, widget/radio: `height()` builder to override the theme row height, floored at the control's visual so it never clips
4247613bb0e3ab729642b37885e65d2f034f8e7b e343142347d73e7fe5f94b1788993270d0d617ce Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1785670696 +0200	commit: viewport: local_viewport() opt-out of root-viewport inheritance; list_item: height/font_size builders
e343142347d73e7fe5f94b1788993270d0d617ce d9652dce98bddda99659e1307cd7c096ece512fd Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1785703819 +0200	commit: accessibility text scale: global font multiplier synced to the desktop's text-scaling-factor
d9652dce98bddda99659e1307cd7c096ece512fd 530a5696b9c295ad67a68cc0b606d558a91e5dfc Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1785861861 +0200	commit: event_loop, slider, list_item: overlay exclusive zones follow the surface, on_release for sliders, list labels elide against the trailing slot
530a5696b9c295ad67a68cc0b606d558a91e5dfc 1290f9400ecafd8c6c26b06403b9adf8f9852273 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1785926223 +0200	commit: row, button, widget: distribute a row's width shortfall instead of overflowing, elide button labels into the rect they are granted, icon_size takes a Length
1290f9400ecafd8c6c26b06403b9adf8f9852273 477ef13ff472b7e566f67e1fc52a5f35ec856457 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1786270055 +0200	commit: toggle, widget: scale the pill with an explicit row height, and give elide a half-pixel tolerance
477ef13ff472b7e566f67e1fc52a5f35ec856457 98c82385c7368a58620f2fdd43cd1bb2c1cceb50 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1786455623 +0200	commit: tooltip: compute the hover pill in the overlay's physical space, drop it on scale change
98c82385c7368a58620f2fdd43cd1bb2c1cceb50 adbbc0248bfb0acb960f93abd29e310fe1702da4 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1786478662 +0200	commit: render: pre-scale font_line_metrics by dpi_scale
adbbc0248bfb0acb960f93abd29e310fe1702da4 99a47678158b49ac7d5b72552d8a9281a701538b Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1786705275 +0200	commit: event_loop: cover every output with a session-lock surface, with the app's backdrop on the secondary ones
99a47678158b49ac7d5b72552d8a9281a701538b 78053b8b012beb25e4bae0a3df98000d0aa47135 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1786742458 +0200	commit: Cover every output from a background shell: the session-lock secondary machinery generalizes to layer surfaces
78053b8b012beb25e4bae0a3df98000d0aa47135 ccf07de593a9666307e979fae82486a38199a873 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1786781790 +0200	commit: Session management: xdg-session-management-v1 client, mandatory App::app_id / save_state / restore_state, runtime-managed state persistence and clean exit on signals (0.3.0)
ccf07de593a9666307e979fae82486a38199a873 3046d86337d28b67e0942d547442aafba45d5175 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1786809366 +0200	commit: Layer::Window overlays: an OverlaySpec can now be an ordinary xdg toplevel, named through App::overlay_title; showcase persists the last pressed button too
3046d86337d28b67e0942d547442aafba45d5175 902e23e7f2e0a945f6b0c92bda44d0866b162668 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1787045788 +0200	commit: Fallback fonts: probe glyph coverage with ttf-parser before building the fontdue face
902e23e7f2e0a945f6b0c92bda44d0866b162668 a2752a5bd31bd4c4a818eaa4863320814d19e661 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1787644028 +0200	commit: Handle SIGTERM/SIGINT with a sigaction self-pipe instead of a signalfd, and clear the signal mask of spawned children
a2752a5bd31bd4c4a818eaa4863320814d19e661 492553829e97cf50a3072d4d8e5530782be92e2c Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1788967662 +0200	commit: widgets, input: PatternGrid for pattern unlock, framed icon buttons, and text keys that bubble past a focused non-text widget; Debian 0.3.0-2
492553829e97cf50a3072d4d8e5530782be92e2c 2cee9a1c57d449015a576eb7e1d7df4ed4a408f6 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1789067565 +0200	commit: event_loop: drop the text-input focus when the focused field vanishes from a rebuilt view
2cee9a1c57d449015a576eb7e1d7df4ed4a408f6 7c1ef86afe0d6d5188040727dfedb016bbd7bde6 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1789067904 +0200	commit: Resolve fluid geometry bounds in logical space and let the runtime set the density from the buffer scale
7c1ef86afe0d6d5188040727dfedb016bbd7bde6 c9ae5438f8340d71d5e45104e46c32e96fb3e6dc Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1789068835 +0200	commit: pattern_grid: explicit side through PatternGrid::size
c9ae5438f8340d71d5e45104e46c32e96fb3e6dc 87f52565c361a9b736362cf91c7a4dbefcdd9465 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1789073667 +0200	commit: App: add on_main_frame_committed, called after every main-surface commit
87f52565c361a9b736362cf91c7a4dbefcdd9465 92b090a44103865e3c07d8fe151138c4c8b13ead Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1789073850 +0200	commit: App: fix the on_main_frame_committed doc, the hook orders a swap, it does not make it atomic
92b090a44103865e3c07d8fe151138c4c8b13ead 0a4afd8f81bd10941d79854bbef21fda268e3000 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1789147489 +0200	commit: tree, text_edit, render: hit-test only the visible part of scrolled widgets; keep the clip when a text field's interior misses the dirty region
0a4afd8f81bd10941d79854bbef21fda268e3000 75be8003900c6ee912501d2364867eed9a89c73e Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1789202631 +0200	commit: input, render: keep fast touch typing whole, fire pattern nodes once, and make the software image path cheap
75be8003900c6ee912501d2364867eed9a89c73e 5b8ae35830db11387b1706686863a3988321ef83 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1789376230 +0200	commit: [ltk — src/input/gesture/mod.rs, src/input/gesture/tests.rs, src/widget/handlers.rs, src/input/keyboard/dispatch.rs, src/render/image.rs, docs/architecture.md, CHANGELOG.md] Keep a tap on a button while the finger rolls inside it, treat XF86Back like Escape, and convert ARGB8888 by whole pixels
5b8ae35830db11387b1706686863a3988321ef83 58b8dd7b901516ad24e929e3ee958b70ca23bde4 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1789379427 +0200	commit: Focus requests reach widgets clipped by a scroll viewport, and stop retrying after a few frames
58b8dd7b901516ad24e929e3ee958b70ca23bde4 03bb7eeede4b7be85874921c43286bd48a2e8b85 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1789589534 +0200	commit: button: elide the label against a minimal inset instead of the horizontal padding
03bb7eeede4b7be85874921c43286bd48a2e8b85 53e7ccc46eb1662ebbc7df86655e12ccaf0d450a Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1789718109 +0200	commit: Keep the GLES path when the scale arrives first, stop re-rendering what does not change, and let the compositor skip what the surface covers
53e7ccc46eb1662ebbc7df86655e12ccaf0d450a 495968fca5cea600f994b949e988493346d9ac8c Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1789826458 +0200	commit: text_edit: size the password eye and the caret in physical pixels, and resolve the multiline layout through the canvas
495968fca5cea600f994b949e988493346d9ac8c eaf88754f34fda25415cfb798472e0dc804af1a9 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1789827261 +0200	commit: text_edit: scale the single-line horizontal padding with the field height
eaf88754f34fda25415cfb798472e0dc804af1a9 2252a63f16870d3d2c1a92c251b481158147786c Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1789885366 +0200	commit: App: claim raw touch per press with `claims_raw_touch_at`, and toggle fullscreen at runtime with `fullscreen`
2252a63f16870d3d2c1a92c251b481158147786c 96a9e880514de8fe92b14a6342703ace5d51ef37 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1789939406 +0200	commit: Back as a navigation request: `App::on_back`, `BackAtRoot`, `NavStack` and docs/navigation.md; renew the text-input enable on a press; fit an oversized `window_size_hint` to the screen
96a9e880514de8fe92b14a6342703ace5d51ef37 2af281520bdb30d950c14beec582fc7fe4fcaadd Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1789987509 +0200	commit: External text input for fields ltk does not own; `TextEdit::color` and `TextEdit::on_focus`
2af281520bdb30d950c14beec582fc7fe4fcaadd 1db7a026c90c1aa7825f42fde8247322df8fe084 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1789991629 +0200	commit: Default theme: `navigation/close-small` drew nothing, in either variant
1db7a026c90c1aa7825f42fde8247322df8fe084 919df606812607b8a280cfc0cd8f18ac749131bc Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1790023516 +0200	commit: `App::take_blur_request`, and a press on a focused `select_on_focus` field positions the cursor
919df606812607b8a280cfc0cd8f18ac749131bc 494fb26f9e6d3f44cdce56faceaaec4fe0c5eb76 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1790189707 +0200	commit: README: ltk is not mobile-first, its surfaces adapt to any screen
494fb26f9e6d3f44cdce56faceaaec4fe0c5eb76 b591950f67e55554100527801fce50a6c128a537 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1790315027 +0200	commit: Glyphs on demand: `FontFace` replaces fontdue, DejaVu ahead of the CJK collection in the fallback chain; `App::take_clipboard_request` and `App::on_pointer_secondary`
b591950f67e55554100527801fce50a6c128a537 a1a4d5167784e6e92d03cdb8b557a3564dbf8b0f Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1790333458 +0200	commit: An on-screen keyboard of ltk's own, driven by layout files; `TextEdit::purpose` for the row a terminal needs; the wheel scrolls a multiline field; a notebook page fills its height
a1a4d5167784e6e92d03cdb8b557a3564dbf8b0f a0ceef51ef8f89af9a9ce83377cfaa991248efd0 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1790538213 +0200	commit: `WallpaperBundle::blurred`; the on-screen keyboard at the right size on a scaled output, keys as tall as they are wide, a terminal row that fits and a Spanish symbols layer that does not squeeze the rest
a0ceef51ef8f89af9a9ce83377cfaa991248efd0 88f69ebffed735a88a5a3222dd6963d1c18d84b2 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1790756242 +0200	commit: A horizontal swipe commits on a fling; `App::overlay_namespace`; flat Quick Settings slots in the default theme; the on-screen keyboard's rows twice as far apart, with presses between keys kept; `LTK_PERF_RASTER`
88f69ebffed735a88a5a3222dd6963d1c18d84b2 0fd23acd2bff2d06fb2feb76e8b275ddfba94d8a Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1790920523 +0200	commit: A `Length::dp` font size keeps its logical size on a scaled output instead of growing with the scale
0fd23acd2bff2d06fb2feb76e8b275ddfba94d8a 1ad9898f66b349cd7812bd124f9e128db188fd83 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1790958629 +0200	commit: A subsurface maps with the main surface's first buffer, not a frame after it
1ad9898f66b349cd7812bd124f9e128db188fd83 17e649dd322db278e23f37f4ddf9df58c6db186a Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1791320983 +0200	commit: The on-screen keyboard is capped at 40 % of the screen height, and the runtime publishes the logical size of the output the main surface is on
17e649dd322db278e23f37f4ddf9df58c6db186a 4a6ec797a26f5b7cdbfa5c648461d9ac6854074e Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1791456509 +0200	commit: Wrapped text breaks a word wider than the line instead of letting it overflow
4a6ec797a26f5b7cdbfa5c648461d9ac6854074e 0d492f7c1de9c322bc959280e1b15393d92a1c19 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1791489790 +0200	commit: Text measuring for hosts, colour emoji, caller-supplied faces, aligned rich text and a wheel hook in detents
0d492f7c1de9c322bc959280e1b15393d92a1c19 6e4bf83c91ec28490e75cd306a00eadb6fcc6ab6 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1791728761 +0200	commit: The default theme declares Noto Serif as a font family
6e4bf83c91ec28490e75cd306a00eadb6fcc6ab6 c385605de08eb825f74fc159b844ef0f4953a905 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1791916311 +0200	commit: An application can keep the keyboard to itself and see Alt, an external field declares what it is for, and the size hint is fitted to the screen before the first commit
c385605de08eb825f74fc159b844ef0f4953a905 e3b76423fb4acf133da7d0be089fcd6786ee8b58 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1791916589 +0200	commit: A text field can take its horizontal padding from its host, the primary finger reaches the pointer hooks, and the screen probe left out of the previous commit is added
e3b76423fb4acf133da7d0be089fcd6786ee8b58 99b195ea13b9e91b785b8188498835d337cdbf88 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1791988914 +0200	commit: The primary selection is kept in step with other applications, an application can paste either selection and hear the middle button, raw keys carry the text dead keys compose, and an application can ask for a cursor where the pointer is
99b195ea13b9e91b785b8188498835d337cdbf88 ce98c7b82c8f8588b4c8950da068cf9e432f8df6 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1792045361 +0200	commit: TabStrip, the open documents of an application as a browser or a terminal shows them, with tabs that grow, shrink and can be dragged, an overview of cards for a phone, a widget anchored under another one and list items in colours of their own
ce98c7b82c8f8588b4c8950da068cf9e432f8df6 dcb1c7dff31ebde50e0e3bc88827a077a0c3acf1 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1792052731 +0200	commit: A tab strip that scrolls to the selected tab and while a tab is dragged against its edge, and hooks for every mouse button and for the modifiers, for an application that hands the mouse on
dcb1c7dff31ebde50e0e3bc88827a077a0c3acf1 312fb7e0fdd0bb976866912f5b19b5ec9d29517d Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1792053170 +0200	commit: Tooltips in a window are popups beside their widget, theme SVGs with plus-lighter highlights are no longer painted grey, and the folder-files icon is shaped as a folder
312fb7e0fdd0bb976866912f5b19b5ec9d29517d a63e905a7a7e4e279ea2ab5c1b0c63b0f99fd610 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1792056121 +0200	commit: A text field keeps the cursor where an edit left it unless it asks to be pinned to the end, which only the time picker does, and a hook for a window that loses the keyboard
a63e905a7a7e4e279ea2ab5c1b0c63b0f99fd610 35ab8ac2b062f182443760dcf7087abcd467b709 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1792056303 +0200	commit: The tab strip example in make examples
35ab8ac2b062f182443760dcf7087abcd467b709 3edd82291810ca31933ec650716937ec5aa65788 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1792068565 +0200	commit: Toplevel events name the window, apps hear the pointer hover a surface and where their blurred cards were laid out, and rows can align to the bottom
3edd82291810ca31933ec650716937ec5aa65788 85aa85a35767dc7f171a02636747de9a4bcd77ae Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1792096443 +0200	commit: The GLES backend keeps one glyph atlas per GL context, split into pages, so a surface that is created again does not rasterise and upload its text again
85aa85a35767dc7f171a02636747de9a4bcd77ae cacf871ddd8b2c6a153ab3aa2864237cbce174c5 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1792187210 +0200	commit: An Android backend, a platform layer that keeps Wayland out of the runtime, the built-in keyboard for an app's own text input, and APKs packaged with Debian's own tools
cacf871ddd8b2c6a153ab3aa2864237cbce174c5 ef6847b12c1ce3692650b79a69141d24d51c1a2b Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1792260280 +0200	commit: Rectangles with square corners are filled with hard edges on the GLES backend, so rectangles that share an edge leave no seam between them
ef6847b12c1ce3692650b79a69141d24d51c1a2b 4c7e73d492757813957fef810c8e43e6cb89588a Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1792339278 +0200	commit: Text and RichText take a font face the host loaded itself, for hosts that resolve their own system families
4c7e73d492757813957fef810c8e43e6cb89588a 20dc21448e9b5226111fa4a0bed1fe03b536cc86 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1792434012 +0200	commit: A browser backend: ltk runs on a page's canvas through WebGL2, on a core that builds for wasm32, and a surface's scale may be fractional
20dc21448e9b5226111fa4a0bed1fe03b536cc86 1a39c4376295c06ffd530527add98abb9a59eafe Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1792440977 +0200	commit: Composite modes on the GLES canvas: Canvas::set_composite_mode and CompositeMode, completing the blend state the previous commit already applies
1a39c4376295c06ffd530527add98abb9a59eafe 95beeda66aaaee61c428c635154416626309e8de Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1792442374 +0200	commit: Image caches that find an entry in O(log n), so drawing many small images no longer slows down as the caches fill
95beeda66aaaee61c428c635154416626309e8de cd1a233b2e4a785a00003648e5f93be91a2699d9 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1792442532 +0200	commit: A browser app joins the page's desktop: on a page with forge/web its main surface, overlays and subsurfaces are surfaces of that desktop, all painted through one WebGL context
cd1a233b2e4a785a00003648e5f93be91a2699d9 af4009374d12a50e8c6d2241e562ecfe72df13eb Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1792570871 +0200	commit: A browser app takes part in the desktop as a Wayland client does: fullscreen, the desktop's windows, activation and the shell protocol through forge/web, its own files through ltk::vfs, and images its caller names
af4009374d12a50e8c6d2241e562ecfe72df13eb cf187a3dcc405449812a4a43e27429c0ad7f7372 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1792620939 +0200	commit: The user's files through ltk::files, alike natively and in a browser, and a shell's requests answered in a browser through ltk::web::shell_request
cf187a3dcc405449812a4a43e27429c0ad7f7372 8f689ec4794b40490188a1293cfb8360d63f36d7 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1792776010 +0200	commit: An ltk app pastes what other applications copied, the middle button pastes the selection just made, a browser desktop's applications share the clipboard and the primary selection, and the office icons are drawn like the terminal's
8f689ec4794b40490188a1293cfb8360d63f36d7 18a0e02249eb6c7d1f6d0cd19a9c0f206839cb2d Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1792946012 +0100	commit: A pull from the top that is unwound back to where it started still reports its release, so an app that followed the pull hears that it was not committed
18a0e02249eb6c7d1f6d0cd19a9c0f206839cb2d 8882078743756aee78f895b2683293cef26b95a2 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1793052033 +0100	commit: A text field that serves as an editor, a file chooser, ltk::files with callbacks, Text::fit, App::window_title, and a stack that keeps its children inside it
8882078743756aee78f895b2683293cef26b95a2 da34eee9e6ad716e33965e2280b567cec480f905 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1793101580 +0100	commit: External textures drawn at their own size, a repaint without rebuilding the view, an icon size for list rows, and lighter tabs on the desktop strip
da34eee9e6ad716e33965e2280b567cec480f905 02ab10b3ef0b758311ceddcc8c11c0a36097453c Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1793521163 +0100	commit: State restored on an ordinary launch for apps that ask, focus that follows its widget's id, buttons that do not take the focus when pressed, a focus ring only after the keyboard, and a browser app's surfaces copied rather than transferred, which WebKit got wrong
02ab10b3ef0b758311ceddcc8c11c0a36097453c 45b8ddd483629f5f20a6fefd4819f6af1690bea6 Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1793569758 +0100	commit: A print dialog with a preview, CUPS and the print portal, a Windows backend, and ltk::dirs for the user's folders
45b8ddd483629f5f20a6fefd4819f6af1690bea6 058a65546dcd7a918dd451a503dea1792d1f32cb Pedro M. de Echanove Pasquin <pedro.echanove@tuxum.com> 1793570026 +0100	commit: The print dialog in the CHANGELOG and the widget catalogue
