makepad/libs/render_kernels
Admin 53e0e85b92 draw and widgets: Slug text everywhere, no blank glyphs, slimmer widgets
All outline text draws with Slug curves on every platform (SDF/MSDF stays
selectable per size); a frame never presents a blank glyph and retained draw
lists keep theirs. One coverage model for vector feathering, widget families
split out of the core crate, fewer steady-state allocations, video keeps its
aspect (Contain/Cover), render and SSAO pass unification.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-13 12:26:21 +02:00
..
examples draw and widgets: Slug text everywhere, no blank glyphs, slimmer widgets 2026-10-13 12:26:21 +02:00
src draw and widgets: Slug text everywhere, no blank glyphs, slimmer widgets 2026-10-13 12:26:21 +02:00
tests draw and widgets: Slug text everywhere, no blank glyphs, slimmer widgets 2026-10-13 12:26:21 +02:00
tools render (kernels): kernel_guide and kernel_check, the AI side of compute kernels; a run-time loop past its cap is reported -- makepad-kernel-tools (libs/render_kernels/tools, dependency-free, SR1's shared-tools pattern) defines the two tools once (dotted and api names, descriptions, JSON schemas); makepad_render_kernels::tools runs them: guide() is a reference card (declarations, entries, semantics, parallel and four-wide rules, budgets, the traps: literal / literal is float division so a constant-bound loop index gives k / 2 = 0.5 and integer division is int(k) / 2; let x = 0 is a float; an if-value of literals is a float to bit operators; an operator cannot start a line) followed by the prelude, every std module and the host components listed from the code; call("kernel_check") compiles with the call's layouts and modules, returns every problem with line, column and the line's text, describes what compiled (entry, kind, math, buffers, params, worst ops per element, parallel, four-wide, worst ms per million elements on 8 threads, whether untrusted work of it is admissible) and dry-runs it on up to 4096 synthetic elements as untrusted work (admission and watchdog), reporting NaN or infinite outputs, emit or loop overflow, host-component errors, ns per element and each output's first record. Compute: a kernel's for over a run-time range longer than 1024, a while still true after 1024 iterations and a loop entering its 1025th set the call's overflow word (they stopped silently before; KERNELS.md §3.5.3 says reported, never cut); audio and init() keep plain caps. Checked: cargo test --release -p makepad-render-kernels (tools: problems with lines, facts, NaN, emit overflow, capped loop, layouts, refused slow work; the guide lists the stdlib and host components), -p makepad-kernel-tools, -p makepad-script-compute -p makepad-script-audio-aot (all suites; kernels 4 incl. the cap on both backends; audio 21, 36 golden hashes unchanged); makepad-game-script terrain_goldens 277/277. 2026-09-30 12:57:59 +02:00
Cargo.toml draw and widgets: Slug text everywhere, no blank glyphs, slimmer widgets 2026-10-13 12:26:21 +02:00