Desktop GUI Framework
This report presents the forensic synthetic code analysis of fschutt/azul, a Rust project with 6,111 GitHub stars. SynthScan v2.0 examined 1,236,680 lines of code across 2000 source files, recording 5436 pattern matches distributed across 19 syntactic categories. The overall adjusted score of 7.1 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 5436 distinct pattern matches across 19 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | packaging/pypi/pyproject.toml | 1 | # ============================================================================= | COMMENT |
| MEDIUM | packaging/pypi/pyproject.toml | 23 | # ============================================================================= | COMMENT |
| MEDIUM | core/tests/host_invoker.rs | 48 | // ── Releaser observer ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | core/tests/host_invoker.rs | 58 | // ── Tests ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | core/tests/host_invoker.rs | 173 | // ── Generic-invoker fallback ──────────────────────────────────────────── | COMMENT |
| MEDIUM | core/src/xml.rs | 6995 | // ─────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | core/src/xml.rs | 7003 | // ─────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | core/src/xml.rs | 7032 | // ─────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | core/src/xml.rs | 7054 | // ─────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | core/src/xml.rs | 7712 | // ─────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | core/src/xml.rs | 7717 | // ─────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | core/src/ua_css.rs | 922 | // ── scrollbar-width per OS ────────────────────────────────────────── | COMMENT |
| MEDIUM | core/src/ua_css.rs | 943 | // ── scrollbar-visibility per OS ───────────────────────────────────── | COMMENT |
| MEDIUM | core/src/ua_css.rs | 964 | // ── scrollbar-fade-delay per OS ───────────────────────────────────── | COMMENT |
| MEDIUM | core/src/ua_css.rs | 982 | // ── scrollbar-fade-duration per OS ────────────────────────────────── | COMMENT |
| MEDIUM | core/src/ua_css.rs | 1000 | // ── scrollbar-color per OS + theme ────────────────────────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 765 | // ── Input interaction metrics ──────────────────────────────────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 811 | // ── Text rendering hints ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 858 | // ── Focus ring visuals ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 877 | // ── Scrollbar preferences ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 926 | // ── Linux-specific customisation ───────────────────────────────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 948 | // ── Visual hints (icons in menus / buttons / toolbar style) ────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 999 | // ── Animation metrics ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 1046 | // ── Audio metrics ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 2752 | // ── SystemFontType::from_css_str — parser ──────────────────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 2889 | // ── SystemFontType round-trip / getters ────────────────────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 2932 | // ── SystemFontType::is_bold / is_italic — predicates ───────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 2971 | // ── SystemFontType::get_fallback_chain (+ private per-OS chains) ───── | COMMENT |
| MEDIUM | css/src/system.rs | 3065 | // ── Platform::current ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 3097 | // ── TitlebarMetrics constructors ───────────────────────────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 3176 | // ── SystemStyle::new / detect / default_for_platform ───────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 3211 | // ── defaults::* (+ the private scrollbar_info_to_computed helper) ───── | COMMENT |
| MEDIUM | css/src/system.rs | 3275 | // ── SystemStyle::to_json_string ────────────────────────────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 3393 | // ── SystemStyle::create_csd_stylesheet ─────────────────────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 3465 | // ── AZ_RICING / environment probes ─────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/coretext_autoregression.rs | 84 | // ── Bitmap ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/coretext_autoregression.rs | 130 | // ── OURS: rasterize hinted / unhinted glyph runs via agg ──────────── | COMMENT |
| MEDIUM | layout/tests/coretext_autoregression.rs | 247 | // ── CORETEXT rendering ────────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/coretext_autoregression.rs | 360 | // ── Metrics ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/coretext_autoregression.rs | 471 | // ── PNG panels (16x nearest-neighbor + grid) ──────────────────────── | COMMENT |
| MEDIUM | layout/tests/coretext_autoregression.rs | 636 | // ── One case's result (for SUMMARY ranking) ───────────────────────── | COMMENT |
| MEDIUM | layout/tests/coretext_autoregression.rs | 651 | // ── Config ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/coretext_autoregression.rs | 671 | // ── The test ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/test_coretext_compare.rs | 21 | // ── Bitmap helpers ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/test_coretext_compare.rs | 161 | // ── CoreText rendering ───────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/test_coretext_compare.rs | 196 | // ── Azul rendering ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/test_coretext_compare.rs | 236 | // ── Comparison helpers ───────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/test_coretext_compare.rs | 325 | // ── Tests ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/icu_parity.rs | 71 | // ─── Helpers ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/icu_parity.rs | 117 | // ─── Number formatting ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/icu_parity.rs | 150 | // ─── Date formatting ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/icu_parity.rs | 175 | // ─── Time formatting ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/icu_parity.rs | 204 | // ─── Date+time formatting ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/icu_parity.rs | 231 | // ─── List formatting ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/icu_parity.rs | 280 | // ─── Plural rules ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/icu_parity.rs | 317 | // ─── Reference matrix dump ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | layout/src/icu.rs | 591 | // ─── macOS Foundation backend ───────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | layout/src/icu.rs | 596 | // ─── Windows NLS backend ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | layout/src/icu.rs | 601 | // ─── ICU4X backend ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/src/icu.rs | 140 | // ─── Shared helpers for macOS / Windows backends ───────────────────────────── | COMMENT |
| 1115 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Cargo.toml | 41 | # on published deps" release gate). See dll/Cargo.toml: | COMMENT |
| LOW | Cargo.toml | 61 | # layout/ pin `>=4.4.7, <4.5`; the lock is on 4.4.9. | COMMENT |
| LOW | Cargo.toml | 101 | # panic=abort" step in rust.yml). eh_frame still present = | COMMENT |
| LOW | deny.toml | 1 | # cargo-deny configuration — supply-chain, license, and dependency-tree gates. | COMMENT |
| LOW | packaging/pypi/pyproject.toml | 1 | # ============================================================================= | COMMENT |
| LOW | core/tests/dom_a11y.rs | 1 | //! Compile-time coverage gate for the a11y soft-force constructor pattern. | COMMENT |
| LOW | core/tests/node_id_encoding.rs | 1 | //! NodeId Encoding Tests | COMMENT |
| LOW | core/tests/host_invoker.rs | 1 | //! Safety + behaviour tests for the host-language callback invoker plumbing. | COMMENT |
| LOW | core/tests/css_inheritance.rs | 501 | COMMENT | |
| LOW | core/tests/css_scope_47.rs | 1 | //! Regression test for #47: inline (`set_css`/`with_css`) CSS must scope to the | COMMENT |
| LOW | core/tests/restyle_unified.rs | 1 | //! Unified Restyle Architecture Tests | COMMENT |
| LOW | core/tests/diff.rs | 1261 | fn test_cursor_reconcile_text_prepended() { | COMMENT |
| LOW | core/tests/dom_constructor.rs | 1 | //! Compile-time coverage gate for the public `Dom` constructor surface. | COMMENT |
| LOW | core/tests/reconciliation/deep_reconciliation.rs | 1 | // Deep reconciliation tests — exercise the hierarchical / structural branches | COMMENT |
| LOW | core/tests/reconciliation/deep_reconciliation.rs | 221 | fn identical_leaves_under_different_parents_do_not_match() { | COMMENT |
| LOW | core/tests/reconciliation/mod.rs | 1 | // Incremental layout reconciliation test suite | COMMENT |
| LOW | core/tests/reconciliation/text_reconciliation.rs | 161 | fn cursor_after_middle_insertion() { | COMMENT |
| LOW | core/src/xml.rs | 1 | //! XML and XHTML parsing for declarative UI definitions. | COMMENT |
| LOW | core/src/xml.rs | 341 | /// (`find_body_recursive`) passes. These bound descent per nesting level, so a pathologically deep | COMMENT |
| LOW | core/src/xml.rs | 361 | /// Scan the XML/HTML document for external resource URLs. | COMMENT |
| LOW | core/src/xml.rs | 1661 | /// Default value for a component field. | COMMENT |
| LOW | core/src/xml.rs | 1701 | COMMENT | |
| LOW | core/src/xml.rs | 1901 | ComponentDataField, | COMMENT |
| LOW | core/src/xml.rs | 2401 | /// `ctx` set to `Some(RefAny(...))` wrapping the Python callable. | COMMENT |
| LOW | core/src/xml.rs | 2421 | /// In Python: construct this struct with `cb` set to a trampoline and | COMMENT |
| LOW | core/src/xml.rs | 2441 | /// Human-readable display name, e.g. "Link" for builtin:a, "Avatar" for shadcn:avatar | COMMENT |
| LOW | core/src/xml.rs | 2581 | // ============================================================================ | COMMENT |
| LOW | core/src/xml.rs | 2881 | /// Default render function for user-defined (JSON-imported) components. | COMMENT |
| LOW | core/src/xml.rs | 3221 | }; | COMMENT |
| LOW | core/src/xml.rs | 4041 | Self { | COMMENT |
| LOW | core/src/xml.rs | 4481 | COMMENT | |
| LOW | core/src/xml.rs | 4501 | /// # use azul::dom::Dom; | COMMENT |
| LOW | core/src/xml.rs | 4661 | impl_vec_hash!(XmlNode, XmlNodeVec); | COMMENT |
| LOW | core/src/xml.rs | 5161 | } | COMMENT |
| LOW | core/src/xml.rs | 6121 | /// Optional format specifier after the colon: "?" for debug, ".2" for precision, etc. | COMMENT |
| LOW | core/src/xml.rs | 6261 | } | COMMENT |
| LOW | core/src/xml.rs | 7001 | // differ, captured in `FluentSyntax`. Plain C is imperative and has its own | COMMENT |
| LOW | core/src/xml.rs | 7021 | "S", "Samp", "Script", "Section", "Small", "Span", "Strong", "Style", "Sub", | COMMENT |
| LOW | core/src/xml.rs | 7041 | // • Tier B aria-only / void widgets (Details, Summary, Form, Canvas, Area, | COMMENT |
| LOW | core/src/compact.rs | 21 | use core::hash::{Hash, Hasher}; | COMMENT |
| LOW | core/src/compact.rs | 561 | COMMENT | |
| LOW | core/src/compact.rs | 901 | #[inline] | COMMENT |
| LOW | core/src/compact.rs | 1501 | let mut dims = vec![CompactNodeProps::default(); 2]; | COMMENT |
| LOW | core/src/host_invoker.rs | 1 | //! Host-language callback invoker registry. | COMMENT |
| LOW | core/src/host_invoker.rs | 21 | //! runtime. | COMMENT |
| LOW | core/src/host_invoker.rs | 61 | /// host callable lives on the host side keyed by this id. | COMMENT |
| LOW | core/src/host_invoker.rs | 121 | /// libffi-restricted hosts (Lua, PHP, koffi, …) that can't easily ship | COMMENT |
| LOW | core/src/host_invoker.rs | 161 | #[no_mangle] | COMMENT |
| LOW | core/src/host_invoker.rs | 201 | // SAFETY: HOST_HANDLE_RELEASER only ever holds a value that came from | COMMENT |
| LOW | core/src/host_invoker.rs | 261 | /// bindings use the same machinery for user data that callbacks already use | COMMENT |
| LOW | core/src/host_invoker.rs | 281 | pub extern "C" fn AzRefAny_getHostHandle(refany: *const RefAny) -> u64 { | COMMENT |
| LOW | core/src/host_invoker.rs | 301 | /// Caller responsibilities: | COMMENT |
| LOW | core/src/host_invoker.rs | 361 | extra_args: [ $( $extra_name:ident : $extra_ty:ty ),* $(,)? ] $(,)? | COMMENT |
| LOW | core/src/host_invoker.rs | 401 | // Wrapper name as a null-terminated C string. `stringify!` | COMMENT |
| LOW | core/src/host_invoker.rs | 521 | // register real Rust `extern "C"` fns through the public C-ABI setters, so the | COMMENT |
| LOW | core/src/host_invoker.rs | 621 | // get_ctx() panics inside the thunk body; catch_unwind must contain it | COMMENT |
| LOW | core/src/drag.rs | 1 | //! Unified drag context for all drag operations. | COMMENT |
| LOW | core/src/drag.rs | 21 | COMMENT | |
| LOW | core/src/drag.rs | 41 | } | COMMENT |
| LOW | core/src/drag.rs | 61 | /// The scroll container that should be auto-scrolled (if any) | COMMENT |
| 3547 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | core/src/selection.rs | 2027 | assert!(sel.anchor.char_bounds.origin.x.is_nan()); | CODE |
| CRITICAL | …der/swgl/src/shaders/composite_fast_path_texture_2d.rs | 259 | self.frag.vert.common.attrib_locations.get_loc(name) | CODE |
| CRITICAL | …der/swgl/src/shaders/composite_fast_path_texture_2d.rs | 263 | self.frag.vert.common.attrib_locations.bind_loc(name, index); | CODE |
| CRITICAL | webrender/swgl/src/shaders/cs_conic_gradient.rs | 277 | self.frag.vert.common.attrib_locations.get_loc(name) | CODE |
| CRITICAL | webrender/swgl/src/shaders/cs_conic_gradient.rs | 281 | self.frag.vert.common.attrib_locations.bind_loc(name, index); | CODE |
| CRITICAL | …c/shaders/brush_yuv_image_alpha_pass_texture_2d_yuv.rs | 522 | self.frag.vert.common.attrib_locations.get_loc(name) | CODE |
| CRITICAL | …c/shaders/brush_yuv_image_alpha_pass_texture_2d_yuv.rs | 526 | self.frag.vert.common.attrib_locations.bind_loc(name, index); | CODE |
| CRITICAL | …brender/swgl/src/shaders/composite_texture_rect_yuv.rs | 452 | self.frag.vert.common.attrib_locations.get_loc(name) | CODE |
| CRITICAL | …brender/swgl/src/shaders/composite_texture_rect_yuv.rs | 456 | self.frag.vert.common.attrib_locations.bind_loc(name, index); | CODE |
| CRITICAL | …blend_alpha_pass_antialiasing_repetition_texture_2d.rs | 541 | self.frag.vert.common.attrib_locations.get_loc(name) | CODE |
| CRITICAL | …blend_alpha_pass_antialiasing_repetition_texture_2d.rs | 545 | self.frag.vert.common.attrib_locations.bind_loc(name, index); | CODE |
| CRITICAL | webrender/swgl/src/shaders/brush_image_texture_2d.rs | 329 | self.frag.vert.common.attrib_locations.get_loc(name) | CODE |
| CRITICAL | webrender/swgl/src/shaders/brush_image_texture_2d.rs | 333 | self.frag.vert.common.attrib_locations.bind_loc(name, index); | CODE |
| CRITICAL | webrender/swgl/src/shaders/debug_color.rs | 227 | self.frag.vert.common.attrib_locations.get_loc(name) | CODE |
| CRITICAL | webrender/swgl/src/shaders/debug_color.rs | 231 | self.frag.vert.common.attrib_locations.bind_loc(name, index); | CODE |
| CRITICAL | webrender/swgl/src/shaders/cs_border_solid.rs | 384 | self.frag.vert.common.attrib_locations.get_loc(name) | CODE |
| CRITICAL | webrender/swgl/src/shaders/cs_border_solid.rs | 388 | self.frag.vert.common.attrib_locations.bind_loc(name, index); | CODE |
| CRITICAL | …text_run_alpha_pass_dual_source_blending_texture_2d.rs | 324 | self.frag.vert.common.attrib_locations.get_loc(name) | CODE |
| CRITICAL | …text_run_alpha_pass_dual_source_blending_texture_2d.rs | 328 | self.frag.vert.common.attrib_locations.bind_loc(name, index); | CODE |
| CRITICAL | …r/swgl/src/shaders/composite_fast_path_texture_rect.rs | 250 | self.frag.vert.common.attrib_locations.get_loc(name) | CODE |
| CRITICAL | …r/swgl/src/shaders/composite_fast_path_texture_rect.rs | 254 | self.frag.vert.common.attrib_locations.bind_loc(name, index); | CODE |
| CRITICAL | …aliasing_dual_source_blending_repetition_texture_2d.rs | 519 | self.frag.vert.common.attrib_locations.get_loc(name) | CODE |
| CRITICAL | …aliasing_dual_source_blending_repetition_texture_2d.rs | 523 | self.frag.vert.common.attrib_locations.bind_loc(name, index); | CODE |
| CRITICAL | …wgl/src/shaders/brush_image_alpha_pass_texture_rect.rs | 397 | self.frag.vert.common.attrib_locations.get_loc(name) | CODE |
| CRITICAL | …wgl/src/shaders/brush_image_alpha_pass_texture_rect.rs | 401 | self.frag.vert.common.attrib_locations.bind_loc(name, index); | CODE |
| CRITICAL | …l/src/shaders/brush_opacity_alpha_pass_antialiasing.rs | 376 | self.frag.vert.common.attrib_locations.get_loc(name) | CODE |
| CRITICAL | …l/src/shaders/brush_opacity_alpha_pass_antialiasing.rs | 380 | self.frag.vert.common.attrib_locations.bind_loc(name, index); | CODE |
| CRITICAL | …der/swgl/src/shaders/brush_yuv_image_texture_2d_yuv.rs | 481 | self.frag.vert.common.attrib_locations.get_loc(name) | CODE |
| CRITICAL | …der/swgl/src/shaders/brush_yuv_image_texture_2d_yuv.rs | 485 | self.frag.vert.common.attrib_locations.bind_loc(name, index); | CODE |
| CRITICAL | …rs/brush_image_advanced_blend_alpha_pass_texture_2d.rs | 535 | self.frag.vert.common.attrib_locations.get_loc(name) | CODE |
| CRITICAL | …rs/brush_image_advanced_blend_alpha_pass_texture_2d.rs | 539 | self.frag.vert.common.attrib_locations.bind_loc(name, index); | CODE |
| CRITICAL | webrender/swgl/src/shaders/cs_blur_color_target.rs | 235 | let support = self.vert.common.v_support.x.min(300); | CODE |
| CRITICAL | webrender/swgl/src/shaders/cs_blur_color_target.rs | 338 | self.frag.vert.common.attrib_locations.get_loc(name) | CODE |
| CRITICAL | webrender/swgl/src/shaders/cs_blur_color_target.rs | 342 | self.frag.vert.common.attrib_locations.bind_loc(name, index); | CODE |
| CRITICAL | webrender/swgl/src/shaders/cs_clip_rectangle.rs | 508 | self.frag.vert.common.attrib_locations.get_loc(name) | CODE |
| CRITICAL | webrender/swgl/src/shaders/cs_clip_rectangle.rs | 512 | self.frag.vert.common.attrib_locations.bind_loc(name, index); | CODE |
| CRITICAL | webrender/swgl/src/shaders/brush_image_texture_rect.rs | 389 | self.frag.vert.common.attrib_locations.get_loc(name) | CODE |
| CRITICAL | webrender/swgl/src/shaders/brush_image_texture_rect.rs | 393 | self.frag.vert.common.attrib_locations.bind_loc(name, index); | CODE |
| CRITICAL | webrender/swgl/src/shaders/cs_scale_texture_2d.rs | 251 | self.frag.vert.common.attrib_locations.get_loc(name) | CODE |
| CRITICAL | webrender/swgl/src/shaders/cs_scale_texture_2d.rs | 255 | self.frag.vert.common.attrib_locations.bind_loc(name, index); | CODE |
| CRITICAL | …nder/swgl/src/shaders/cs_clip_box_shadow_texture_2d.rs | 344 | result = self.vert.common.v_clip_mode.x.lerp(alpha, in_shadow_rect); | CODE |
| CRITICAL | …nder/swgl/src/shaders/cs_clip_box_shadow_texture_2d.rs | 456 | self.frag.vert.common.attrib_locations.get_loc(name) | CODE |
| CRITICAL | …nder/swgl/src/shaders/cs_clip_box_shadow_texture_2d.rs | 460 | self.frag.vert.common.attrib_locations.bind_loc(name, index); | CODE |
| CRITICAL | webrender/swgl/src/shaders/cs_linear_gradient.rs | 285 | self.frag.vert.common.attrib_locations.get_loc(name) | CODE |
| CRITICAL | webrender/swgl/src/shaders/cs_linear_gradient.rs | 289 | self.frag.vert.common.attrib_locations.bind_loc(name, index); | CODE |
| CRITICAL | webrender/swgl/src/shaders/cs_blur_alpha_target.rs | 246 | let support = self.vert.common.v_support.x.min(300); | CODE |
| CRITICAL | webrender/swgl/src/shaders/cs_blur_alpha_target.rs | 373 | self.frag.vert.common.attrib_locations.get_loc(name) | CODE |
| CRITICAL | webrender/swgl/src/shaders/cs_blur_alpha_target.rs | 377 | self.frag.vert.common.attrib_locations.bind_loc(name, index); | CODE |
| CRITICAL | …iasing_dual_source_blending_repetition_texture_rect.rs | 476 | self.frag.vert.common.attrib_locations.get_loc(name) | CODE |
| CRITICAL | …iasing_dual_source_blending_repetition_texture_rect.rs | 480 | self.frag.vert.common.attrib_locations.bind_loc(name, index); | CODE |
| CRITICAL | …brender/swgl/src/shaders/brush_opacity_antialiasing.rs | 358 | self.frag.vert.common.attrib_locations.get_loc(name) | CODE |
| CRITICAL | …brender/swgl/src/shaders/brush_opacity_antialiasing.rs | 362 | self.frag.vert.common.attrib_locations.bind_loc(name, index); | CODE |
| CRITICAL | …ass_dual_source_blending_glyph_transform_texture_2d.rs | 381 | self.frag.vert.common.attrib_locations.get_loc(name) | CODE |
| CRITICAL | …ass_dual_source_blending_glyph_transform_texture_2d.rs | 385 | self.frag.vert.common.attrib_locations.bind_loc(name, index); | CODE |
| CRITICAL | webrender/swgl/src/shaders/brush_opacity_alpha_pass.rs | 394 | self.frag.vert.common.attrib_locations.get_loc(name) | CODE |
| CRITICAL | webrender/swgl/src/shaders/brush_opacity_alpha_pass.rs | 398 | self.frag.vert.common.attrib_locations.bind_loc(name, index); | CODE |
| CRITICAL | webrender/swgl/src/shaders/cs_radial_gradient.rs | 312 | self.frag.vert.common.attrib_locations.get_loc(name) | CODE |
| CRITICAL | webrender/swgl/src/shaders/cs_radial_gradient.rs | 316 | self.frag.vert.common.attrib_locations.bind_loc(name, index); | CODE |
| CRITICAL | …shaders/brush_yuv_image_alpha_pass_texture_rect_yuv.rs | 507 | self.frag.vert.common.attrib_locations.get_loc(name) | CODE |
| CRITICAL | …shaders/brush_yuv_image_alpha_pass_texture_rect_yuv.rs | 511 | self.frag.vert.common.attrib_locations.bind_loc(name, index); | CODE |
| 71 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/tests/diff.rs | 1217 | // Step 1: Reconcile | COMMENT |
| LOW | core/tests/diff.rs | 1232 | // Step 2: Transfer states | COMMENT |
| LOW⚡ | core/src/compact.rs | 566 | // Step 0: Apply UA CSS defaults first (lowest priority). | COMMENT |
| LOW⚡ | core/src/compact.rs | 572 | // Step 1: Inherit from parent's COMPACT values (not computed_values) | COMMENT |
| LOW⚡ | core/src/compact.rs | 575 | // Step 1: Inherit ONLY inheritable CSS properties from parent. | COMMENT |
| LOW | core/src/compact.rs | 620 | // Step 2: Apply UA CSS defaults for this node type directly to compact values. | COMMENT |
| LOW | core/src/compact.rs | 673 | // Step 3: Apply this node's CSS properties directly to compact values. | COMMENT |
| LOW⚡ | core/src/icon.rs | 722 | // Step 1: Collect all icon nodes | COMMENT |
| LOW⚡ | core/src/icon.rs | 729 | // Step 2: Resolve all icons to their StyledDom representations | COMMENT |
| LOW⚡ | core/src/icon.rs | 733 | // Step 3: Apply replacements (reverse order to preserve indices) | COMMENT |
| LOW⚡ | core/src/refany.rs | 1437 | // Step 1: Call destructor on old value (if non-ZST) | COMMENT |
| LOW⚡ | core/src/refany.rs | 1442 | // Step 2: Deallocate old memory (if non-ZST). Use the *checked* | COMMENT |
| LOW⚡ | core/src/refany.rs | 1478 | // Step 4: Update the shared internal pointer in RefCountInner | COMMENT |
| LOW⚡ | core/src/refany.rs | 1482 | // Step 5: Update metadata in RefCountInner | COMMENT |
| LOW | core/src/refany.rs | 1459 | // Step 3: Allocate new memory and copy data | COMMENT |
| LOW | core/src/diff.rs | 1546 | // Step 1: Run standard reconciliation | COMMENT |
| LOW | core/src/diff.rs | 1558 | // Step 2: For each matched pair, compute what changed | COMMENT |
| LOW⚡ | core/src/path_parser.rs | 576 | // Step 1: Compute (x1', y1') | COMMENT |
| LOW⚡ | core/src/path_parser.rs | 582 | // Step 2: Compute (cx', cy') - correct radii if too small | COMMENT |
| LOW⚡ | core/src/path_parser.rs | 609 | // Step 3: Compute (cx, cy) from (cx', cy') | COMMENT |
| LOW⚡ | core/src/path_parser.rs | 615 | // Step 4: Compute theta1 and dtheta | COMMENT |
| LOW | core/src/prop_cache.rs | 3486 | // Step 1: Inherit from parent | COMMENT |
| LOW | core/src/prop_cache.rs | 3536 | // Step 2: Cascaded properties (UA CSS) | COMMENT |
| LOW⚡ | core/src/prop_cache.rs | 3547 | // Step 3: CSS properties (stylesheets) | COMMENT |
| LOW⚡ | core/src/prop_cache.rs | 3557 | // Step 4: Inline CSS properties | COMMENT |
| LOW⚡ | core/src/prop_cache.rs | 3565 | // Step 5: User-overridden properties | COMMENT |
| LOW⚡ | layout/src/window.rs | 4454 | // Step 1: if step > Character, expand cursors to ranges first | COMMENT |
| LOW⚡ | layout/src/window.rs | 4464 | // Step 2: delete the expanded ranges (or single char for Character step) | COMMENT |
| LOW | layout/src/window.rs | 2409 | // Step 5: Update font chain cache (and stash the | COMMENT |
| LOW | layout/src/solver3/fc.rs | 5537 | // Step 2: Check first-row cells for explicit width properties. | COMMENT |
| LOW | layout/src/solver3/fc.rs | 5810 | // Step 1: Measure all cells to determine column min/max widths | COMMENT |
| LOW | layout/src/solver3/fc.rs | 5868 | // Step 2: Calculate final column widths based on available space | COMMENT |
| LOW⚡ | layout/src/solver3/getters.rs | 4764 | // Step 3: Extract all required FontIds | COMMENT |
| LOW⚡ | layout/src/solver3/getters.rs | 4767 | // Step 4: Compute diff | COMMENT |
| LOW⚡ | layout/src/solver3/getters.rs | 4770 | // Step 5: Load missing fonts | COMMENT |
| LOW⚡ | layout/src/solver3/getters.rs | 5063 | // Step 6: Check for -azul-scrollbar-fade-delay | COMMENT |
| LOW⚡ | layout/src/solver3/getters.rs | 5073 | // Step 7: Check for -azul-scrollbar-fade-duration | COMMENT |
| LOW | layout/src/solver3/getters.rs | 144 | // Step 1: computed_values short-circuit (matches original). | COMMENT |
| LOW | layout/src/solver3/getters.rs | 158 | // Step 2: full cascade walk. | COMMENT |
| LOW | layout/src/solver3/getters.rs | 233 | // Step 3: fallback to DEFAULT (matches original .unwrap_or). | COMMENT |
| LOW | layout/src/solver3/getters.rs | 4955 | // Step 1: Evaluate UA scrollbar CSS using the DynamicSelector system. | COMMENT |
| LOW | layout/src/solver3/getters.rs | 4973 | // Step 2: Check individual scrollbar part backgrounds | COMMENT |
| LOW | layout/src/solver3/getters.rs | 5007 | // Step 3: Check for scrollbar-width (overrides width only, not overlay) | COMMENT |
| LOW | layout/src/solver3/getters.rs | 5026 | // Step 4: Check for scrollbar-color (overrides thumb/track colors) | COMMENT |
| LOW | layout/src/solver3/getters.rs | 5042 | // Step 5: Check for -azul-scrollbar-visibility | COMMENT |
| LOW | layout/src/solver3/sizing.rs | 1483 | // Step 1: Resolve the CSS `width` property into a concrete pixel value. | COMMENT |
| LOW | layout/src/solver3/sizing.rs | 1679 | // Step 2: Resolve the CSS `height` property into a concrete pixel value. | COMMENT |
| LOW | layout/src/solver3/sizing.rs | 1873 | // Step 3: Apply min/max constraints (CSS 2.2 § 10.4 and § 10.7) | COMMENT |
| LOW | layout/src/solver3/sizing.rs | 1930 | // Step 4: Convert to border-box dimensions, respecting box-sizing property | COMMENT |
| LOW | layout/src/solver3/sizing.rs | 1998 | // Step 5: Map the resolved physical dimensions to logical dimensions. | COMMENT |
| LOW | layout/src/solver3/sizing.rs | 2015 | // Step 6: Construct the final LogicalSize from the logical dimensions. | COMMENT |
| LOW | layout/src/solver3/paged_layout.rs | 436 | // Step 1: Generate ONE complete display list (infinite canvas) | COMMENT |
| LOW | layout/src/solver3/paged_layout.rs | 456 | // Step 2: Configure the slicer with page dimensions and headers/footers | COMMENT |
| LOW | layout/src/solver3/paged_layout.rs | 486 | // Step 3: Analyze the breaks, THEN paginate against them — the analysis | COMMENT |
| LOW | layout/src/solver3/display_list.rs | 5784 | // Step 1: Calculate page break positions based on CSS properties | COMMENT |
| LOW⚡ | tests/e2e/test_scroll_webrender.sh | 32 | # Step 1: Get initial scroll states | COMMENT |
| LOW⚡ | tests/e2e/test_scroll_webrender.sh | 39 | # Step 2: Get initial display list (before scroll) | COMMENT |
| LOW | tests/e2e/test_scroll_webrender.sh | 54 | # Step 3: Find a scrollable node | COMMENT |
| LOW | tests/e2e/test_scroll_webrender.sh | 67 | # Step 4: Perform a scroll operation using scroll_node_by | COMMENT |
| LOW⚡ | tests/e2e/test_scroll_webrender.sh | 79 | # Step 5: Wait for frame render | COMMENT |
| 127 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/tests/diff.rs | 1217 | // Step 1: Reconcile | COMMENT |
| LOW | core/tests/diff.rs | 1232 | // Step 2: Transfer states | COMMENT |
| LOW⚡ | core/src/compact.rs | 566 | // Step 0: Apply UA CSS defaults first (lowest priority). | COMMENT |
| LOW⚡ | core/src/compact.rs | 572 | // Step 1: Inherit from parent's COMPACT values (not computed_values) | COMMENT |
| LOW⚡ | core/src/compact.rs | 575 | // Step 1: Inherit ONLY inheritable CSS properties from parent. | COMMENT |
| LOW | core/src/compact.rs | 620 | // Step 2: Apply UA CSS defaults for this node type directly to compact values. | COMMENT |
| LOW | core/src/compact.rs | 673 | // Step 3: Apply this node's CSS properties directly to compact values. | COMMENT |
| LOW⚡ | core/src/icon.rs | 722 | // Step 1: Collect all icon nodes | COMMENT |
| LOW⚡ | core/src/icon.rs | 729 | // Step 2: Resolve all icons to their StyledDom representations | COMMENT |
| LOW⚡ | core/src/icon.rs | 733 | // Step 3: Apply replacements (reverse order to preserve indices) | COMMENT |
| LOW⚡ | core/src/refany.rs | 1437 | // Step 1: Call destructor on old value (if non-ZST) | COMMENT |
| LOW⚡ | core/src/refany.rs | 1442 | // Step 2: Deallocate old memory (if non-ZST). Use the *checked* | COMMENT |
| LOW⚡ | core/src/refany.rs | 1478 | // Step 4: Update the shared internal pointer in RefCountInner | COMMENT |
| LOW⚡ | core/src/refany.rs | 1482 | // Step 5: Update metadata in RefCountInner | COMMENT |
| LOW | core/src/refany.rs | 1459 | // Step 3: Allocate new memory and copy data | COMMENT |
| LOW | core/src/diff.rs | 1546 | // Step 1: Run standard reconciliation | COMMENT |
| LOW | core/src/diff.rs | 1558 | // Step 2: For each matched pair, compute what changed | COMMENT |
| LOW⚡ | core/src/path_parser.rs | 576 | // Step 1: Compute (x1', y1') | COMMENT |
| LOW⚡ | core/src/path_parser.rs | 582 | // Step 2: Compute (cx', cy') - correct radii if too small | COMMENT |
| LOW⚡ | core/src/path_parser.rs | 609 | // Step 3: Compute (cx, cy) from (cx', cy') | COMMENT |
| LOW⚡ | core/src/path_parser.rs | 615 | // Step 4: Compute theta1 and dtheta | COMMENT |
| LOW | core/src/prop_cache.rs | 3486 | // Step 1: Inherit from parent | COMMENT |
| LOW | core/src/prop_cache.rs | 3536 | // Step 2: Cascaded properties (UA CSS) | COMMENT |
| LOW⚡ | core/src/prop_cache.rs | 3547 | // Step 3: CSS properties (stylesheets) | COMMENT |
| LOW⚡ | core/src/prop_cache.rs | 3557 | // Step 4: Inline CSS properties | COMMENT |
| LOW⚡ | core/src/prop_cache.rs | 3565 | // Step 5: User-overridden properties | COMMENT |
| LOW⚡ | layout/src/window.rs | 4454 | // Step 1: if step > Character, expand cursors to ranges first | COMMENT |
| LOW⚡ | layout/src/window.rs | 4464 | // Step 2: delete the expanded ranges (or single char for Character step) | COMMENT |
| LOW | layout/src/window.rs | 2409 | // Step 5: Update font chain cache (and stash the | COMMENT |
| LOW | layout/src/solver3/fc.rs | 5537 | // Step 2: Check first-row cells for explicit width properties. | COMMENT |
| LOW | layout/src/solver3/fc.rs | 5810 | // Step 1: Measure all cells to determine column min/max widths | COMMENT |
| LOW | layout/src/solver3/fc.rs | 5868 | // Step 2: Calculate final column widths based on available space | COMMENT |
| LOW⚡ | layout/src/solver3/getters.rs | 4764 | // Step 3: Extract all required FontIds | COMMENT |
| LOW⚡ | layout/src/solver3/getters.rs | 4767 | // Step 4: Compute diff | COMMENT |
| LOW⚡ | layout/src/solver3/getters.rs | 4770 | // Step 5: Load missing fonts | COMMENT |
| LOW⚡ | layout/src/solver3/getters.rs | 5063 | // Step 6: Check for -azul-scrollbar-fade-delay | COMMENT |
| LOW⚡ | layout/src/solver3/getters.rs | 5073 | // Step 7: Check for -azul-scrollbar-fade-duration | COMMENT |
| LOW | layout/src/solver3/getters.rs | 144 | // Step 1: computed_values short-circuit (matches original). | COMMENT |
| LOW | layout/src/solver3/getters.rs | 158 | // Step 2: full cascade walk. | COMMENT |
| LOW | layout/src/solver3/getters.rs | 233 | // Step 3: fallback to DEFAULT (matches original .unwrap_or). | COMMENT |
| LOW | layout/src/solver3/getters.rs | 4955 | // Step 1: Evaluate UA scrollbar CSS using the DynamicSelector system. | COMMENT |
| LOW | layout/src/solver3/getters.rs | 4973 | // Step 2: Check individual scrollbar part backgrounds | COMMENT |
| LOW | layout/src/solver3/getters.rs | 5007 | // Step 3: Check for scrollbar-width (overrides width only, not overlay) | COMMENT |
| LOW | layout/src/solver3/getters.rs | 5026 | // Step 4: Check for scrollbar-color (overrides thumb/track colors) | COMMENT |
| LOW | layout/src/solver3/getters.rs | 5042 | // Step 5: Check for -azul-scrollbar-visibility | COMMENT |
| LOW | layout/src/solver3/sizing.rs | 1483 | // Step 1: Resolve the CSS `width` property into a concrete pixel value. | COMMENT |
| LOW | layout/src/solver3/sizing.rs | 1679 | // Step 2: Resolve the CSS `height` property into a concrete pixel value. | COMMENT |
| LOW | layout/src/solver3/sizing.rs | 1873 | // Step 3: Apply min/max constraints (CSS 2.2 § 10.4 and § 10.7) | COMMENT |
| LOW | layout/src/solver3/sizing.rs | 1930 | // Step 4: Convert to border-box dimensions, respecting box-sizing property | COMMENT |
| LOW | layout/src/solver3/sizing.rs | 1998 | // Step 5: Map the resolved physical dimensions to logical dimensions. | COMMENT |
| LOW | layout/src/solver3/sizing.rs | 2015 | // Step 6: Construct the final LogicalSize from the logical dimensions. | COMMENT |
| LOW | layout/src/solver3/paged_layout.rs | 436 | // Step 1: Generate ONE complete display list (infinite canvas) | COMMENT |
| LOW | layout/src/solver3/paged_layout.rs | 456 | // Step 2: Configure the slicer with page dimensions and headers/footers | COMMENT |
| LOW | layout/src/solver3/paged_layout.rs | 486 | // Step 3: Analyze the breaks, THEN paginate against them — the analysis | COMMENT |
| LOW | layout/src/solver3/display_list.rs | 5784 | // Step 1: Calculate page break positions based on CSS properties | COMMENT |
| LOW⚡ | tests/e2e/test_scroll_webrender.sh | 32 | # Step 1: Get initial scroll states | COMMENT |
| LOW⚡ | tests/e2e/test_scroll_webrender.sh | 39 | # Step 2: Get initial display list (before scroll) | COMMENT |
| LOW | tests/e2e/test_scroll_webrender.sh | 54 | # Step 3: Find a scrollable node | COMMENT |
| LOW | tests/e2e/test_scroll_webrender.sh | 67 | # Step 4: Perform a scroll operation using scroll_node_by | COMMENT |
| LOW⚡ | tests/e2e/test_scroll_webrender.sh | 79 | # Step 5: Wait for frame render | COMMENT |
| 71 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | core/src/window.rs | 984 | /// screen position as `parent_top_left + offset`. This is robust where | COMMENT |
| MEDIUM | core/src/dom.rs | 1091 | /// Absolutely positioned (out of flow) | COMMENT |
| MEDIUM | core/src/transform.rs | 297 | // these intrinsics faults with SIGILL. The robust gate is | COMMENT |
| MEDIUM | css/src/props/layout/dimensions.rs | 911 | // therefore be robust against unbalanced braces and dangling operators. | COMMENT |
| MEDIUM | css/src/props/style/background.rs | 1320 | // A more robust parser would handle them in any order. | COMMENT |
| MEDIUM | layout/Cargo.toml | 367 | # Dev-only: JSON fixture deserialization for the e2e_json harness. Dev-deps are | COMMENT |
| MEDIUM | layout/src/callbacks.rs | 2648 | /// position for robust titlebar drag: | COMMENT |
| MEDIUM | layout/src/text3/cache.rs | 9478 | // --- 1. Concatenate the TRUE text and build a robust map --- | COMMENT |
| MEDIUM | layout/src/text3/cache.rs | 9690 | /// - The function assumes `line_index == 0` means first line for text-indent. A more robust system | COMMENT |
| MEDIUM | layout/src/text3/cache.rs | 10504 | // This is a robust heuristic for mixed-script lines. | COMMENT |
| MEDIUM | layout/src/managers/gesture.rs | 1446 | /// This approach is more robust than `initial_pos + total_delta` because it | COMMENT |
| MEDIUM | layout/src/widgets/titlebar.rs | 578 | /// the current window position from the OS, this approach is robust against | COMMENT |
| MEDIUM | layout/src/widgets/map.rs | 1249 | // world) while positioning the div at the un-wrapped column — seamless pan | COMMENT |
| MEDIUM | layout/src/solver3/cache.rs | 1049 | // AND robust against a mis-lifted `dirty_flag`/Option match (the suspected | COMMENT |
| MEDIUM | layout/src/solver3/fc.rs | 1210 | // +spec:positioning:77a2d2 - Absolutely positioned children are ignored for auto height | COMMENT |
| MEDIUM | layout/src/solver3/fc.rs | 1214 | // +spec:positioning:7dd6d1 - Absolutely positioned boxes are taken out of the normal flow (no impact on lat | COMMENT |
| MEDIUM | layout/src/solver3/fc.rs | 3208 | /// - Absolutely positioned elements (position: absolute or fixed) | COMMENT |
| MEDIUM | layout/src/solver3/mod.rs | 689 | // robust. (rc=5 post-reconcile, step=2: this was the failing `?`.) | COMMENT |
| MEDIUM | layout/src/solver3/paged_layout.rs | 39 | /// +spec:positioning:a4936a - Absolutely positioned elements positioned relative to containing block ignoring page brea | COMMENT |
| MEDIUM | tests/memtest/mem_test.py | 4 | # Kept deliberately simple: the harness (scripts/run_memtest.sh) does the work. | COMMENT |
| MEDIUM | tests/memtest/mem_test.rb | 3 | # The harness measures RSS/gdb externally; this file just exercises the | COMMENT |
| MEDIUM | webrender/core/src/internal_types.rs | 106 | /// to when advance() was called, which allows for more nuanced cache eviction | COMMENT |
| MEDIUM | webrender/core/src/quad.rs | 1150 | // should be more robust here... | COMMENT |
| MEDIUM | webrender/core/src/prepare.rs | 1855 | // segments where there is no benefit. The long term / robust fix | COMMENT |
| MEDIUM | webrender/core/src/render_task.rs | 1712 | // Determine the local space to device pixel scaling in the most robust | COMMENT |
| MEDIUM | webrender/core/src/composite.rs | 851 | // TODO(gw): Make this more robust in other cases - there are other situations where | COMMENT |
| MEDIUM | scripts/web_relift.sh | 7 | # Run it with run_in_background so the harness re-invokes you when the port is up. | COMMENT |
| MEDIUM⚡ | scripts/e2e_language_matrix.sh | 24 | # grepping, so the match is robust either way. | COMMENT |
| MEDIUM | scripts/e2e_language_matrix.sh | 1570 | # time from the loader path the harness already exports (target/release). | COMMENT |
| MEDIUM | scripts/mobile-snapshot.sh | 2 | # Sprint J — golden-PNG snapshot harness for the headless backend. | COMMENT |
| MEDIUM⚡ | scripts/coretext_regression.sh | 2 | # coretext_regression.sh — drive the CoreText-vs-azul hinting autoregression harness. | COMMENT |
| MEDIUM | scripts/merge-groups.json | 9 | "agent_context": "## Intent\nSkip this patch.\n\n## Reason\nThis patch is a regression that replaces the comprehensi | CODE |
| MEDIUM⚡ | scripts/gen_e2e_cases.py | 2009 | # to red on the harness rather than on the engine. So a second file carries the | COMMENT |
| MEDIUM | scripts/gen_e2e_cases.py | 523 | # screenshot's DIMENSIONS, and every pixel-diff assertion in the harness | COMMENT |
| MEDIUM | scripts/gen_e2e_cases.py | 763 | # FRAME BUDGET, in the harness's own vocabulary. | COMMENT |
| MEDIUM | scripts/gen_e2e_cases.py | 857 | # sample points is the strongest form the harness actually supports: a | COMMENT |
| MEDIUM | scripts/gen_e2e_cases.py | 990 | # `forbid_full` in one call and is named here in the harness's vocabulary. | COMMENT |
| MEDIUM | scripts/gen_e2e_cases.py | 1182 | # liveness half of every resize line was decided by the harness | COMMENT |
| MEDIUM | scripts/gen_e2e_cases.py | 1211 | # THE DIMENSION-SAFE FORM. Every pixel-diff assertion in the harness is | COMMENT |
| MEDIUM | scripts/web_relift_win.sh | 10 | # (TIMEOUT/DEAD). Run it with run_in_background so the harness re-invokes | COMMENT |
| MEDIUM | scripts/build_gemini_prompt.sh | 2 | # Build comprehensive Gemini prompt for performance optimization analysis | COMMENT |
| MEDIUM | scripts/m9_e2e/full-cycle.js | 467 | // so recover the true length from it — what a robust loader.js should do regardless. (Root fix = | COMMENT |
| MEDIUM | .github/workflows/rust.yml | 5826 | # -Zsanitizer=thread -Zbuild-std, same source and same harness, it | COMMENT |
| MEDIUM | doc/src/gene2e.rs | 3822 | r#"{"name":"harness","steps":[{"op":"key_down","key":"c"}, | CODE |
| MEDIUM | doc/src/reftest/apply_midlevel.rs | 1522 | /// Definitely don't apply — record as rejected with a reason. | COMMENT |
| MEDIUM | dll/src/web/eventloop.rs | 83 | // mismatch). The robust fix (how a real web app loads fonts): the JS harness allocates a wasm | COMMENT |
| MEDIUM | dll/src/web/loader_js.rs | 777 | // robust loader should do regardless of the lift bug. Single-patch recovery | COMMENT |
| MEDIUM | dll/src/desktop/extra/video_codec/provision.rs | 1146 | /// PCI vendor IDs from `/sys/class/drm/card*/device/vendor` — robust and needs | COMMENT |
| MEDIUM | e2e/bug-unresolved-family-drops-text.json | 33 | "#txt { font-family: \"Definitely Not Installed Sans\", Cantarell; font-size: 32px; color: black; }" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | layout/src/e2e/full.rs | 2362 | /// Export code: compile all exportable components into a project scaffold | COMMENT |
| MEDIUM | layout/src/e2e/full.rs | 10052 | // Gather component info for scaffold generation | COMMENT |
| MEDIUM | layout/src/e2e/full.rs | 10121 | /// Collected info about a component for scaffold generation | COMMENT |
| MEDIUM | layout/src/e2e/full.rs | 10533 | /// Generate a project scaffold for the given target language | COMMENT |
| MEDIUM | layout/src/e2e/full.rs | 10549 | /// Generate a complete Rust project scaffold | COMMENT |
| MEDIUM | layout/src/e2e/full.rs | 10699 | /// Generate a complete C project scaffold | COMMENT |
| MEDIUM | layout/src/e2e/full.rs | 10790 | /// Generate a complete C++ project scaffold | COMMENT |
| MEDIUM | layout/src/e2e/full.rs | 10867 | /// Generate a complete Python project scaffold | COMMENT |
| MEDIUM | layout/src/e2e/full.rs | 15436 | // Build ZIP entries from exported files (scaffold already includes build config) | COMMENT |
| MEDIUM | scripts/HIGHLEVEL_SUPERPLAN.md | 80 | ## Group 7 — Platform shell2 scaffolding (a11y, menus, display-info, window lifecycle, view dedup) | COMMENT |
| MEDIUM | scripts/COMPONENT_TYPE_SYSTEM_DESIGN.md | 1351 | ### 11.3 Example: Rust scaffold for a UserCard component | COMMENT |
| MEDIUM | scripts/COMPONENT_TYPE_SYSTEM_DESIGN.md | 1387 | ### 11.4 Example: C scaffold | COMMENT |
| MEDIUM | scripts/HANDOFF_FABLE_web_lift_2026_06_10.md | 133 | ### F. Diagnostic scaffolding (revert at the end, not workarounds) | COMMENT |
| MEDIUM | scripts/TEXT3_HINTING_REVIEW_2026_07_06.md | 176 | ## Finder findings (multi-agent scan) | COMMENT |
| MEDIUM | scripts/CODEGEN_BINDINGS_PLAN.md | 122 | ## Subdir scaffolding template | COMMENT |
| MEDIUM | scripts/MOBILE_SESSION_LOG.md | 292 | ### Tick — P1.2 platform-stub scaffold (dll/desktop/extra/permission/) | COMMENT |
| MEDIUM | scripts/MOBILE_SESSION_LOG.md | 1728 | ### Tick — P6.camera.widget.1 — CameraWidget scaffold (2026-05-20) | COMMENT |
| MEDIUM | scripts/E2E_PROTOCOL_AUDIT.md | 442 | ### C. HARNESS-CONTROL ops — legitimate scaffolding, explicitly *not* the boundary | COMMENT |
| MEDIUM | scripts/HANDOFF_web_helloworld_NEXT_2026_06_06.md | 572 | ## 4. REVERT-at-cleanup (diagnostic scaffolding, all `web_lift`-gated) | COMMENT |
| MEDIUM | doc/guide/en/hello-world/csharp.md | 70 | # optional project scaffold: | COMMENT |
| MEDIUM | doc/src/codegen/v2/lang_c.rs | 1416 | // the debug_server Export->Code scaffold, so a user (or generated | COMMENT |
| MEDIUM | doc/src/docgen/agentic.rs | 1 | //! Generate the "agentic release" bundle: artefacts that let a coding agent | COMMENT |
| MEDIUM | doc/src/dllgen/deploy.rs | 884 | // Exe scaffold `dotnet run` needs next to hello-world.cs. | COMMENT |
| MEDIUM | doc/src/dllgen/deploy.rs | 1725 | <li><a href='#agentic'>Agentic</a></li> | CODE |
| MEDIUM⚡ | dll/Cargo.toml | 699 | # no-op), no E2E runner, no DOM-inspector/scaffold-generator machinery, and the | COMMENT |
| MEDIUM | dll/tests/xml_to_rust_compilation.rs | 54 | // public C++ builder idiom + per-tag creators + scaffold | COMMENT |
| MEDIUM | dll/src/desktop/shell2/common/debug_server/mod.rs | 19 | //! handlers, no scaffold generators — removing several MB and an | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/tests/icon.rs | 18 | let dummy_data = azul_core::refany::RefAny::new_c( | CODE |
| LOW | core/tests/icon.rs | 29 | provider.register_icon("images", "home", dummy_data.clone()); | CODE |
| LOW | core/tests/icon.rs | 41 | let dummy_data = azul_core::refany::RefAny::new_c( | CODE |
| LOW | core/tests/icon.rs | 52 | provider.register_icon("images", "logo", dummy_data); | CODE |
| LOW | core/tests/icon.rs | 65 | let dummy_data = azul_core::refany::RefAny::new_c( | CODE |
| LOW | core/tests/icon.rs | 77 | provider.register_icon("pack1", "icon1", dummy_data.clone()); | CODE |
| LOW | core/tests/icon.rs | 78 | provider.register_icon("pack2", "icon2", dummy_data); | CODE |
| LOW | core/src/xml.rs | 3428 | "placeholder", | CODE |
| LOW | core/src/xml.rs | 3562 | "placeholder", | CODE |
| LOW | core/src/dom.rs | 1436 | Self::Placeholder(_) => "placeholder", | CODE |
| LOW | css/tests/test_node_type_tag.rs | 250 | ("placeholder", NodeTypeTag::Placeholder), | CODE |
| LOW | css/src/css.rs | 1276 | "placeholder" | "::placeholder" => Ok(Self::Placeholder), | CODE |
| LOW | css/src/css.rs | 2897 | ("placeholder", "::placeholder", NodeTypeTag::Placeholder), | CODE |
| LOW | layout/tests/text3_dropcap_baseline_visual.rs | 107 | <div id="body">lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor incididunt ut labore et do | CODE |
| LOW | layout/tests/text3_dropcap_baseline_visual.rs | 107 | <div id="body">lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor incididunt ut labore et do | CODE |
| LOW | layout/tests/test_bytecode_decode.rs | 355 | /// Decode ALL glyphs used in lorem ipsum and verify no decode errors | COMMENT |
| LOW | layout/tests/test_hint_vs_freetype.rs | 1854 | let text = "Lorem ipsum dolor."; | CODE |
| LOW | layout/tests/debug_font_parse_compare.py | 5 | Focus on glyphs that appear in the lorem ipsum test. | STRING |
| LOW⚡ | layout/tests/debug_font_parse_compare.py | 19 | # Test at multiple ppem values that matter for the lorem ipsum test | COMMENT |
| LOW⚡ | layout/tests/debug_font_parse_compare.py | 21 | test_chars = 'Lorem ipsum dolor sit amet.' | CODE |
| LOW⚡ | layout/tests/debug_font_parse_compare.py | 21 | test_chars = 'Lorem ipsum dolor sit amet.' | CODE |
| LOW | layout/tests/text3_visual.rs | 185 | <div id="body">lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor incididunt ut labore et do | CODE |
| LOW | layout/tests/text3_visual.rs | 185 | <div id="body">lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor incididunt ut labore et do | CODE |
| LOW | layout/src/callbacks.rs | 2358 | ("placeholder", AttributeType::Placeholder(v)) => return Some(v.clone()), | CODE |
| LOW | layout/src/e2e/full.rs | 11046 | ("placeholder", "String"), ("required", "bool"), ("disabled", "bool"), | CODE |
| LOW | layout/src/e2e/full.rs | 11057 | ("name", "String"), ("placeholder", "String"), ("rows", "i32"), | CODE |
| LOW | webrender/core/src/renderer/upload.rs | 94 | let dummy_data; | CODE |
| LOW | webrender/core/src/renderer/upload.rs | 116 | dummy_data = vec![0xFFu8; total_size as usize]; | CODE |
| LOW | webrender/core/src/renderer/upload.rs | 117 | &dummy_data | CODE |
| LOW | scripts/WIDGET_JSON_FEASIBILITY_REPORT.md | 409 | { "name": "placeholder", "type": "String?", "default": null }, | CODE |
| LOW | scripts/research/06_mvt_pdf.md | 337 | 1. **Tile loading is async.** Display-list builder needs a "placeholder" emission for tiles still in flight. v1: emit a | CODE |
| LOW | doc/working/float-text-wrap-test.html | 36 | <p>This is some text that should wrap around the red box on the left and the blue box on the right. The yellow b | CODE |
| LOW | doc/working/float-text-wrap-test.html | 36 | <p>This is some text that should wrap around the red box on the left and the blue box on the right. The yellow b | CODE |
| LOW | doc/templates/azul-search.js | 562 | if (opts.placeholder && input) input.setAttribute('placeholder', opts.placeholder); | CODE |
| LOW | doc/src/reftest/autoreview.rs | 218 | `"placeholder"`, `"dummy"`, `"stub"` — anything that was never finished. | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/e2e/hello-world.sh | 335 | # Check if "6" is in the HTML (counter should have increased from 5 to 6) | COMMENT |
| LOW | tests/e2e/hello-world.sh | 275 | # Check if "5" is in the HTML (initial counter value) | COMMENT |
| LOW | tests/e2e/scrolling.sh | 282 | # Check if scroll position changed (positive = scrolled down) | COMMENT |
| LOW⚡ | tests/e2e/async.sh | 186 | # Check if "Start" button is visible | COMMENT |
| LOW | tests/e2e/async.sh | 317 | # Check if "Start" button is back (indicates completion) | COMMENT |
| LOW | tests/e2e/test_simple_contenteditable.sh | 25 | # Check if app is running | COMMENT |
| LOW | tests/e2e/test_nested_tabs.sh | 87 | # Check if server is running, if not start it | COMMENT |
| LOW⚡ | scripts/screenshot_single.sh | 293 | # Check if process is still alive | COMMENT |
| LOW⚡ | scripts/screenshot_single.sh | 454 | # Check if process is gone | COMMENT |
| LOW⚡ | scripts/screenshot_single.sh | 461 | # Check if port is free | COMMENT |
| LOW | scripts/screenshot_single.sh | 113 | # Check if example source exists | COMMENT |
| LOW | scripts/screenshot_single.sh | 266 | # Check if DLL exists | COMMENT |
| LOW | scripts/screenshot_single.sh | 314 | # Check if port is listening | COMMENT |
| LOW⚡ | scripts/build_all.sh | 143 | # Check if header exists | COMMENT |
| LOW | scripts/build_cpp_examples.sh | 25 | # Check if library exists | COMMENT |
| LOW | scripts/build_cpp_examples.sh | 32 | # Check if headers exist | COMMENT |
| LOW | scripts/test_cpp_examples.sh | 56 | # Check if headers exist | COMMENT |
| LOW | scripts/test_cpp_examples.sh | 66 | # Check if azul.h exists (needed by C++ headers) | COMMENT |
| LOW | scripts/validate_fn_bodies.py | 130 | # Check if it looks like it's calling a completely different function | COMMENT |
| LOW | scripts/test_dom_inspection.sh | 39 | # Check if the example binary exists | COMMENT |
| LOW | scripts/test_dom_inspection.sh | 205 | # Check if text is present in the HTML (should have "Hello World" or counter text) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/screenshot_single.sh | 415 | except Exception as e: | CODE |
| LOW | scripts/gemini_debug_hittest_v2.py | 64 | except Exception as e: | CODE |
| LOW | scripts/probe_az_debug.sh | 39 | except Exception as e: | CODE |
| LOW | scripts/check_links.py | 176 | except Exception as e: # noqa: BLE001 — network errors are "broken" for our purpose | CODE |
| LOW | scripts/hello_world_debug_gemini.py | 99 | except Exception: | CODE |
| MEDIUM | scripts/validate_fn_bodies.py | 144 | print(f"Error: {api_json_path} not found") | CODE |
| LOW | scripts/azul-a11y-probe.py | 21 | except Exception as e: | CODE |
| LOW | scripts/azul-a11y-probe.py | 40 | except Exception: | CODE |
| LOW | scripts/azul-a11y-probe.py | 48 | except Exception: | CODE |
| LOW | scripts/azul-a11y-probe.py | 70 | except Exception: | CODE |
| LOW⚡ | scripts/azul-a11y-probe.py | 81 | except Exception: | CODE |
| LOW⚡ | scripts/azul-a11y-probe.py | 88 | except Exception: | CODE |
| LOW⚡ | scripts/azul-a11y-probe.py | 96 | except Exception: | CODE |
| MEDIUM | scripts/azul-a11y-probe.py | 45 | def role_name(acc): | CODE |
| MEDIUM | scripts/azul-a11y-probe.py | 52 | def state_set(acc): | CODE |
| LOW | scripts/test_install_instructions.py | 288 | except Exception as e: # noqa: BLE001 - report anything else as an error | CODE |
| MEDIUM | scripts/analyze_coverage.py | 52 | print(f"Error: {coverage_file} not found. Run scripts/coverage.sh first.") | CODE |
| LOW | scripts/send_perf_to_gemini.py | 82 | except Exception as e: | CODE |
| MEDIUM | scripts/send_perf_to_gemini.py | 83 | print(f"Error: {e}", file=sys.stderr) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | css/src/macros.rs | 327 | /// Example usage: | COMMENT |
| LOW | css/src/macros.rs | 363 | /// Example usage: | COMMENT |
| LOW | scripts/probe_az_debug.sh | 8 | # Usage: | COMMENT |
| LOW | scripts/mobile-snapshot.sh | 10 | # Usage: | COMMENT |
| LOW | scripts/build-android.sh | 11 | # Usage: | COMMENT |
| LOW | scripts/cross_check.sh | 5 | # Usage: | COMMENT |
| LOW | scripts/verify-system-style-macos.sh | 7 | # Usage: | COMMENT |
| LOW | scripts/build-ios.sh | 13 | # Usage: | COMMENT |
| LOW | scripts/verify_install_commands.sh | 24 | # Usage: | COMMENT |
| LOW | scripts/coverage.sh | 10 | # Usage: | COMMENT |
| LOW⚡ | doc/src/codegen/v2/lang_fortran/makefile.rs | 31 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | layout/tests/debug_contours.py | 3 | CODE | |
| LOW | layout/tests/debug_font_parse.py | 8 | CODE | |
| LOW | layout/tests/debug_font_parse_compare.py | 9 | CODE | |
| LOW | tests/memtest/mem_test.py | 12 | CODE | |
| LOW | examples/python/xhtml.py | 3 | CODE | |
| LOW | examples/python/infinity.py | 3 | CODE | |
| LOW | examples/python/widgets.py | 3 | CODE | |
| LOW | examples/python/opengl.py | 3 | CODE | |
| LOW | examples/python/calc.py | 3 | CODE | |
| LOW | examples/python/hello-world.py | 3 | CODE | |
| LOW | examples/python/async.py | 3 | CODE | |
| LOW | scripts/gemini_debug_hittest_v2.py | 11 | CODE | |
| LOW | scripts/web_lift_triage.py | 1 | CODE | |
| LOW | scripts/check_dep_justifications.py | 38 | CODE | |
| LOW | scripts/api-json-additions/merge_into_api_json.py | 18 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | examples/python/hello_world_window.py | 34 | # Create a simple label | COMMENT |
| MEDIUM | examples/python/hello_world_window.py | 37 | # Create a button that increments the counter | COMMENT |
| MEDIUM | examples/python/hello_world_window.py | 52 | # Create the application with our data and config | COMMENT |
| MEDIUM | .github/workflows/rust.yml | 773 | # Create the release once; thereafter just clobber the asset. | COMMENT |
| MEDIUM | .github/workflows/rust.yml | 5033 | # Create the release if it doesn't exist yet (idempotent: a 2nd deploy | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/python/calc.py | 96 | CODE | |
| LOW | examples/python/calc.py | 32 | CODE | |
| LOW | examples/python/calc.py | 97 | CODE | |
| LOW | scripts/gen_mock_fonts.py | 113 | CODE | |
| LOW | scripts/strip_coff_lib.py | 85 | CODE | |
| LOW | scripts/azinput-portal.py | 69 | CODE | |
| LOW | scripts/validate_fn_bodies.py | 140 | CODE | |
| LOW | scripts/analyze_fc_coverage.py | 14 | CODE | |
| LOW | scripts/gen_e2e_cases.py | 88 | CODE | |
| LOW | scripts/test_install_instructions.py | 153 | CODE | |
| LOW | scripts/api-json-additions/merge_into_api_json.py | 39 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | webrender/core/src/renderer/mod.rs | 1917 | // Create a new native texture, as requested by the texture cache. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/gemini_debug_hittest_v2.py | 55 | def read_file_with_line_numbers(filepath): | CODE |
| LOW | scripts/test_install_instructions.py | 122 | def _urls_from_invoke_webrequest(tokens): | CODE |
| LOW | scripts/test_install_instructions.py | 153 | def extract_urls_from_content(content): | CODE |
| LOW | scripts/M8_ARCHITECTURE_2026_05_19.md | 400 | function azRegisterNativeListeners() { | CODE |
| LOW | scripts/api-json-additions/merge_into_api_json.py | 29 | def find_latest_version_block(api_data: dict) -> dict: | CODE |
| LOW | doc/guide/en/architecture.md | 529 | def _validate_text_input_as_number(data, callbackinfo, string): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | layout/src/e2e/full.rs | 10632 | // TODO: implement {slot_name} callback | COMMENT |
| LOW | layout/src/e2e/full.rs | 10621 | " Dom::create_div() // TODO: implement {} rendering\n", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | webrender/core/src/pattern.rs | 23 | // When adding patterns, don't forget to update the NUM_PATTERNS constant. | COMMENT |
| MEDIUM | doc/autodoc-groups.toml | 92 | "Throat-clearing: 'In this guide…', 'Let's start by…', 'First, we will…', 'It is important to note…', 'As mentioned ea | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/test_install_instructions.py | 198 | CODE |