makepad/libs/render_kernels/tools
Admin 1a04137994 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.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-30 12:57:59 +02:00
..
src 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 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