Desktop GUI Framework
This report summarizes scanner evidence for fschutt/azul, a Rust project with 6,126 GitHub stars. SynthScan examined 1,474,116 lines of code across 1979 source files, recording 7057 pattern matches distributed across 19 syntactic categories. The legacy adjusted pattern signal is 6.6 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 5733 finding(s).
Are imports declared and package/API names verified? 202 finding(s).
Are wrappers, guards, and repeated structures necessary? 1125 finding(s).
Which changes need focused human review? 7057 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 7057 distinct pattern matches across 19 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Cargo.toml | 21 | "third_party", | COMMENT |
| LOW | Cargo.toml | 41 | # Swap both back to upstream crates.io once smelter#2109 ships in a release. | COMMENT |
| LOW | Cargo.toml | 61 | # `5.0`. | COMMENT |
| LOW | Cargo.toml | 81 | # conflict above. Publish each from a copy of the crate directory with | COMMENT |
| LOW | Cargo.toml | 101 | # feature of turso_core in 0.7.x. That fix does not reach us: turso 0.7 added | COMMENT |
| LOW | Cargo.toml | 121 | # resolver that links on every Windows target incl. legacy i686-rust9x. layout/ | COMMENT |
| LOW | Cargo.toml | 141 | # machine code that hit NEW unlifted jump-tables/instructions (missing_block 0→39), broke font | COMMENT |
| LOW | deny.toml | 1 | # cargo-deny configuration — supply-chain, license, and dependency-tree gates. | COMMENT |
| LOW | rust-toolchain.toml | 1 | # Pinned, not floating. The version is chosen by what the dependency tree | COMMENT |
| LOW | packaging/pypi/pyproject.toml | 1 | # ============================================================================= | COMMENT |
| LOW | packaging/pypi/pyproject.toml | 61 | # (pyo3's `abi3` feature in dll/Cargo.toml makes the produced .so abi3-tagged.) | 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 | 401 | 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/reconciliation/deep_reconciliation.rs | 1 | // Deep reconciliation tests — exercise the hierarchical / structural branches | COMMENT |
| LOW | core/tests/reconciliation/deep_reconciliation.rs | 241 | 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/src/xml.rs | 1 | //! XML and XHTML parsing for declarative UI definitions. | COMMENT |
| LOW | core/src/xml.rs | 341 | /// DOM-build (`xml_node_to_dom_fast`, `xml_node_to_fast_dom`), resource-scan | COMMENT |
| LOW | core/src/xml.rs | 361 | COMMENT | |
| LOW | core/src/xml.rs | 641 | // into `lower` maps 1:1 onto `css`. The old code called `to_lowercase()` | COMMENT |
| LOW | core/src/xml.rs | 1781 | pub enum ComponentFieldValueSource { | COMMENT |
| LOW | core/src/xml.rs | 1941 | ); | COMMENT |
| LOW | core/src/xml.rs | 2341 | /// | COMMENT |
| LOW | core/src/xml.rs | 2441 | pub cb: RegisterComponentFnType, | COMMENT |
| LOW | core/src/xml.rs | 2501 | } | COMMENT |
| LOW | core/src/xml.rs | 2561 | pub struct ComponentLibrary { | COMMENT |
| LOW | core/src/xml.rs | 2661 | /// Each `"tag" => Variant` entry expands to **both** a `NodeType::Variant` arm in | COMMENT |
| LOW | core/src/xml.rs | 2981 | /// | COMMENT |
| LOW | core/src/xml.rs | 4181 | } | COMMENT |
| LOW | core/src/xml.rs | 4661 | /// Wrapper for the XML parser - necessary to easily create a Dom from | COMMENT |
| LOW | core/src/xml.rs | 4941 | COMMENT | |
| LOW | core/src/xml.rs | 5201 | COMMENT | |
| LOW | core/src/xml.rs | 5681 | ) | COMMENT |
| LOW | core/src/xml.rs | 5761 | COMMENT | |
| LOW | core/src/xml.rs | 5881 | } | COMMENT |
| LOW | core/src/xml.rs | 5941 | COMMENT | |
| LOW | core/src/xml.rs | 6261 | spans.push(crate::dom::AttributeType::RowSpan(n)); | COMMENT |
| LOW | core/src/xml.rs | 6321 | let child_inside_svg = inside_svg || component_name == "svg"; | COMMENT |
| LOW | core/src/xml.rs | 6701 | /// Item of a split string - either a variable name (with optional format spec) or a string | COMMENT |
| LOW | core/src/xml.rs | 6721 | /// Var { | COMMENT |
| LOW | core/src/xml.rs | 6861 | } | COMMENT |
| LOW | core/src/xml.rs | 6881 | /// let expected = "hello value1, value2{ {c} }".to_string(); | COMMENT |
| LOW | core/src/xml.rs | 7081 | // "div.__azul_native-ribbon-container" | COMMENT |
| LOW | core/src/xml.rs | 7621 | // ─────────────────────────────────────────────────────────────────────────── | COMMENT |
| LOW | core/src/xml.rs | 7721 | COMMENT | |
| LOW | core/src/xml.rs | 7741 | // • Tier B aria-only / void widgets (Details, Summary, Form, Canvas, Area, | COMMENT |
| LOW | core/src/hid.rs | 1 | //! Generic HID — the escape hatch for devices azul does not model. | COMMENT |
| LOW | core/src/hid.rs | 21 | COMMENT | |
| LOW | core/src/hid.rs | 41 | /// HID usage page of the device's top-level collection. | COMMENT |
| LOW | core/src/compact.rs | 41 | /// Tier 1/2/2b provide fast-path access for layout-hot properties. | COMMENT |
| LOW | core/src/compact.rs | 401 | result.tier2b_text[i].font_family_hash = h; | COMMENT |
| LOW | core/src/compact.rs | 721 | COMMENT | |
| LOW | core/src/compact.rs | 1101 | /// It must hold a slot exactly when that slot's property is `is_inheritable()`. | COMMENT |
| LOW | core/src/compact.rs | 1281 | CssProperty::TabSize(v) => inner(v), | COMMENT |
| LOW | core/src/refany_test.rs | 1261 | /// took the whole app down on an ordinary focus change (device report, | COMMENT |
| LOW | core/src/spaces.rs | 1 | //! Pointer coordinate spaces, as distinct types. | COMMENT |
| 5359 more matches not shown… | ||||
| 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 | 49 | // ── Releaser observer ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | core/tests/host_invoker.rs | 59 | // ── Tests ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | core/tests/host_invoker.rs | 177 | // ── Generic-invoker fallback ──────────────────────────────────────────── | COMMENT |
| MEDIUM | core/src/xml.rs | 7621 | // ─────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | core/src/xml.rs | 7629 | // ─────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | core/src/xml.rs | 7732 | // ─────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | core/src/xml.rs | 7754 | // ─────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | core/src/xml.rs | 8614 | // ─────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | core/src/xml.rs | 8619 | // ─────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | core/src/ua_css.rs | 1270 | // ── scrollbar-width per OS ────────────────────────────────────────── | COMMENT |
| MEDIUM | core/src/ua_css.rs | 1288 | // ── scrollbar-visibility per OS ───────────────────────────────────── | COMMENT |
| MEDIUM | core/src/ua_css.rs | 1306 | // ── scrollbar-fade-delay per OS ───────────────────────────────────── | COMMENT |
| MEDIUM | core/src/ua_css.rs | 1321 | // ── scrollbar-fade-duration per OS ────────────────────────────────── | COMMENT |
| MEDIUM | core/src/ua_css.rs | 1336 | // ── scrollbar-color per OS + theme ────────────────────────────────── | COMMENT |
| MEDIUM | core/src/events_test.rs | 2353 | // ── Added by 13f ────────────────────────────────────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 944 | // ── Input interaction metrics ──────────────────────────────────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 990 | // ── Text rendering hints ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 1037 | // ── Focus ring visuals ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 1056 | // ── Scrollbar preferences ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 1105 | // ── Linux-specific customisation ───────────────────────────────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 1127 | // ── Visual hints (icons in menus / buttons / toolbar style) ────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 1178 | // ── Animation metrics ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 1223 | // ── Audio metrics ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 3088 | // ── SystemFontType::from_css_str — parser ──────────────────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 3240 | // ── SystemFontType round-trip / getters ────────────────────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 3287 | // ── SystemFontType::is_bold / is_italic — predicates ───────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 3329 | // ── SystemFontType::get_fallback_chain (+ private per-OS chains) ───── | COMMENT |
| MEDIUM | css/src/system.rs | 3427 | // ── Platform::current ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 3459 | // ── TitlebarMetrics constructors ───────────────────────────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 3559 | // ── SystemStyle::new / detect / default_for_platform ───────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 3600 | // ── defaults::* (+ the private scrollbar_info_to_computed helper) ───── | COMMENT |
| MEDIUM | css/src/system.rs | 3702 | // ── SystemStyle::to_json_string ────────────────────────────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 3823 | // ── SystemStyle::create_csd_stylesheet ─────────────────────────────── | COMMENT |
| MEDIUM | css/src/system.rs | 3895 | // ── AZ_RICING / environment probes ─────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/coretext_autoregression.rs | 79 | // ── Bitmap ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/coretext_autoregression.rs | 125 | // ── OURS: rasterize hinted / unhinted glyph runs via agg ──────────── | COMMENT |
| MEDIUM | layout/tests/coretext_autoregression.rs | 242 | // ── CORETEXT rendering ────────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/coretext_autoregression.rs | 355 | // ── Metrics ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/coretext_autoregression.rs | 466 | // ── PNG panels (16x nearest-neighbor + grid) ──────────────────────── | COMMENT |
| MEDIUM | layout/tests/coretext_autoregression.rs | 639 | // ── One case's result (for SUMMARY ranking) ───────────────────────── | COMMENT |
| MEDIUM | layout/tests/coretext_autoregression.rs | 654 | // ── Config ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/coretext_autoregression.rs | 677 | // ── The test ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/icon_pipeline.rs | 138 | // ── The VirtualView path ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/icon_pipeline.rs | 207 | // ── The measure path ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/icon_pipeline.rs | 261 | // ── The swappable icon view ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/selection_handles.rs | 241 | // ─── Cross-block selections (U2-a-i) ──────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/pagination_dom_breaks.rs | 974 | // ── AppliedEdit::inverse_resume: undo must be replayable verbatim ────────── | COMMENT |
| MEDIUM | layout/tests/test_coretext_compare.rs | 23 | // ── Bitmap helpers ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/test_coretext_compare.rs | 182 | // ── CoreText rendering ───────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/test_coretext_compare.rs | 230 | // ── Azul rendering ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/test_coretext_compare.rs | 277 | // ── Comparison helpers ───────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/test_coretext_compare.rs | 372 | // ── Tests ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/icu_parity.rs | 70 | // ─── Helpers ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/icu_parity.rs | 116 | // ─── Number formatting ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/icu_parity.rs | 158 | // ─── Date formatting ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/icu_parity.rs | 219 | // ─── Time formatting ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/icu_parity.rs | 263 | // ─── Date+time formatting ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | layout/tests/icu_parity.rs | 296 | // ─── List formatting ──────────────────────────────────────────────────────── | COMMENT |
| 1043 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | core/src/selection_test.rs | 1338 | assert!(sel.anchor.char_bounds.origin.x.is_nan()); | CODE |
| CRITICAL | layout/src/e2e/runner.rs | 4662 | runner.layout_window.text_edit_manager.tween.caret.is_none(), | CODE |
| CRITICAL | layout/src/e2e/runner.rs | 4748 | runner.layout_window.text_edit_manager.tween.caret.is_none(), | CODE |
| CRITICAL | layout/src/widgets/number_input.rs | 300 | self.text_input.text_input_state.inner.text.len(); | CODE |
| CRITICAL | layout/src/solver3/fc.rs | 3671 | let compact = ctx.styled_dom.css_property_cache.ptr.compact_cache.as_ref(); | 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 |
| 72 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/tests/diff.rs | 1284 | // Step 1: Reconcile | COMMENT |
| LOW | core/tests/diff.rs | 1299 | // Step 2: Transfer states | COMMENT |
| LOW⚡ | core/src/compact.rs | 722 | // Step 0: Apply UA CSS defaults first (lowest priority). | COMMENT |
| LOW⚡ | core/src/compact.rs | 728 | // Step 1: Inherit from parent's COMPACT values (not computed_values) | COMMENT |
| LOW⚡ | core/src/compact.rs | 731 | // Step 1: Inherit ONLY inheritable CSS properties from parent. | COMMENT |
| LOW | core/src/compact.rs | 792 | // Step 2: Apply UA CSS defaults for this node type directly to compact values. | COMMENT |
| LOW | core/src/compact.rs | 884 | // Step 3: Apply this node's CSS properties directly to compact values. | COMMENT |
| LOW⚡ | core/src/refany.rs | 1536 | // Step 1: Call destructor on old value (if non-ZST) | COMMENT |
| LOW⚡ | core/src/refany.rs | 1541 | // Step 2: Deallocate old memory (if non-ZST). Use the *checked* | COMMENT |
| LOW⚡ | core/src/refany.rs | 1573 | // Step 4: Update the shared internal pointer in RefCountInner | COMMENT |
| LOW⚡ | core/src/refany.rs | 1577 | // Step 5: Update metadata in RefCountInner | COMMENT |
| LOW | core/src/refany.rs | 1558 | // Step 3: Allocate new memory and copy data | COMMENT |
| LOW | core/src/diff.rs | 2011 | // Step 1: Run standard reconciliation | COMMENT |
| LOW | core/src/diff.rs | 2023 | // Step 2: For each matched pair, compute what changed | COMMENT |
| LOW⚡ | core/src/path_parser.rs | 643 | // Step 1: Compute (x1', y1') | COMMENT |
| LOW⚡ | core/src/path_parser.rs | 649 | // Step 2: Compute (cx', cy') - correct radii if too small | COMMENT |
| LOW⚡ | core/src/path_parser.rs | 672 | // Step 3: Compute (cx, cy) from (cx', cy') | COMMENT |
| LOW⚡ | core/src/path_parser.rs | 678 | // Step 4: Compute theta1 and dtheta | COMMENT |
| LOW⚡ | core/src/prop_cache.rs | 5160 | // Step 3: CSS properties (stylesheets) | COMMENT |
| LOW⚡ | core/src/prop_cache.rs | 5170 | // Step 4: Inline CSS properties. | COMMENT |
| LOW | core/src/prop_cache.rs | 5092 | // Step 1: Inherit from parent | COMMENT |
| LOW | core/src/prop_cache.rs | 5148 | // Step 2: Cascaded properties (UA CSS) | COMMENT |
| LOW | core/src/prop_cache.rs | 5194 | // Step 5: User-overridden properties | COMMENT |
| LOW | layout/src/solver3/fc.rs | 6941 | // Step 2: Check first-row cells for explicit width properties. | COMMENT |
| LOW | layout/src/solver3/fc.rs | 7252 | // Step 1: Measure all cells to determine column min/max widths | COMMENT |
| LOW | layout/src/solver3/fc.rs | 7310 | // Step 2: Calculate final column widths based on available space | COMMENT |
| LOW⚡ | layout/src/solver3/getters.rs | 5421 | // Step 3: Extract all required FontIds | COMMENT |
| LOW⚡ | layout/src/solver3/getters.rs | 5424 | // Step 4: Compute diff | COMMENT |
| LOW⚡ | layout/src/solver3/getters.rs | 5427 | // Step 5: Load missing fonts | COMMENT |
| LOW⚡ | layout/src/solver3/getters.rs | 5809 | // Step 6: Check for -azul-scrollbar-fade-delay | COMMENT |
| LOW⚡ | layout/src/solver3/getters.rs | 5819 | // Step 7: Check for -azul-scrollbar-fade-duration | COMMENT |
| LOW | layout/src/solver3/getters.rs | 150 | // Step 1: computed_values short-circuit (matches original). | COMMENT |
| LOW | layout/src/solver3/getters.rs | 166 | // Step 2: full cascade walk. | COMMENT |
| LOW | layout/src/solver3/getters.rs | 243 | // Step 3: fallback to DEFAULT (matches original .unwrap_or). | COMMENT |
| LOW | layout/src/solver3/getters.rs | 5624 | // Step 1: Evaluate UA scrollbar CSS using the DynamicSelector system — | COMMENT |
| LOW | layout/src/solver3/getters.rs | 5719 | // Step 2: Check individual scrollbar part backgrounds | COMMENT |
| LOW | layout/src/solver3/getters.rs | 5753 | // Step 3: Check for scrollbar-width (overrides width only, not overlay) | COMMENT |
| LOW | layout/src/solver3/getters.rs | 5772 | // Step 4: Check for scrollbar-color (overrides thumb/track colors) | COMMENT |
| LOW | layout/src/solver3/getters.rs | 5788 | // Step 5: Check for -azul-scrollbar-visibility | COMMENT |
| LOW | layout/src/solver3/sizing.rs | 1850 | // Step 1: Resolve the CSS `width` property into a concrete pixel value. | COMMENT |
| LOW | layout/src/solver3/sizing.rs | 2347 | // Step 3: Apply min/max constraints (CSS 2.2 § 10.4 and § 10.7) | COMMENT |
| LOW | layout/src/solver3/sizing.rs | 2498 | // Step 6: Construct the final LogicalSize from the logical dimensions. | COMMENT |
| LOW | layout/src/solver3/paged_layout.rs | 533 | // Step 1: Generate ONE complete display list (infinite canvas) | COMMENT |
| LOW | layout/src/solver3/paged_layout.rs | 555 | // Step 2: Configure the slicer with page dimensions and headers/footers | COMMENT |
| LOW | layout/src/solver3/paged_layout.rs | 585 | // Step 3: Analyze the breaks, THEN paginate against them — the analysis | COMMENT |
| LOW | layout/src/solver3/display_list.rs | 9621 | // Step 1: Calculate page break positions based on CSS properties | COMMENT |
| LOW | webrender/core/src/picture.rs | 2488 | // then we need to check if there are incompatible tiles. | COMMENT |
| LOW | webrender/core/src/picture.rs | 3592 | // For backdrop-filter, we need to check if any of the dirty rects | COMMENT |
| LOW⚡ | scripts/build_all.sh | 60 | # Step 1: Generate codegen files | COMMENT |
| LOW⚡ | scripts/build_all.sh | 66 | # Step 2: Build DLL in static mode | COMMENT |
| LOW⚡ | scripts/build_all.sh | 72 | # Step 3: Build DLL with Python extension | COMMENT |
| LOW⚡ | scripts/build_all.sh | 78 | # Step 4: Build DLL as shared library (for dynamic linking) | COMMENT |
| LOW⚡ | scripts/build_all.sh | 96 | # Step 5: Build all Rust examples (static linking) | COMMENT |
| LOW⚡ | scripts/build_all.sh | 116 | # Step 6: Build all Rust examples (dynamic linking) | COMMENT |
| LOW⚡ | scripts/build_all.sh | 132 | # Step 7: Build all C examples | COMMENT |
| LOW⚡ | doc/src/autofix/diff.rs | 717 | // Step 1: Build type index from workspace (source of truth for types) | COMMENT |
| LOW⚡ | doc/src/autofix/diff.rs | 723 | // Step 2: Extract all type names referenced by api.json functions | COMMENT |
| LOW | doc/src/autofix/diff.rs | 750 | // Step 3: Collect current api.json type definitions (for comparison) | COMMENT |
| LOW | doc/src/autofix/diff.rs | 764 | // Step 4: Generate diff between expected and current | COMMENT |
| LOW | doc/src/autofix/analysis/reachability.rs | 33 | // Step 1: Build type dependency graph | COMMENT |
| 38 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | core/tests/diff.rs | 1284 | // Step 1: Reconcile | COMMENT |
| LOW | core/tests/diff.rs | 1299 | // Step 2: Transfer states | COMMENT |
| LOW⚡ | core/src/compact.rs | 722 | // Step 0: Apply UA CSS defaults first (lowest priority). | COMMENT |
| LOW⚡ | core/src/compact.rs | 728 | // Step 1: Inherit from parent's COMPACT values (not computed_values) | COMMENT |
| LOW⚡ | core/src/compact.rs | 731 | // Step 1: Inherit ONLY inheritable CSS properties from parent. | COMMENT |
| LOW | core/src/compact.rs | 792 | // Step 2: Apply UA CSS defaults for this node type directly to compact values. | COMMENT |
| LOW | core/src/compact.rs | 884 | // Step 3: Apply this node's CSS properties directly to compact values. | COMMENT |
| LOW⚡ | core/src/refany.rs | 1536 | // Step 1: Call destructor on old value (if non-ZST) | COMMENT |
| LOW⚡ | core/src/refany.rs | 1541 | // Step 2: Deallocate old memory (if non-ZST). Use the *checked* | COMMENT |
| LOW⚡ | core/src/refany.rs | 1573 | // Step 4: Update the shared internal pointer in RefCountInner | COMMENT |
| LOW⚡ | core/src/refany.rs | 1577 | // Step 5: Update metadata in RefCountInner | COMMENT |
| LOW | core/src/refany.rs | 1558 | // Step 3: Allocate new memory and copy data | COMMENT |
| LOW | core/src/diff.rs | 2011 | // Step 1: Run standard reconciliation | COMMENT |
| LOW | core/src/diff.rs | 2023 | // Step 2: For each matched pair, compute what changed | COMMENT |
| LOW⚡ | core/src/path_parser.rs | 643 | // Step 1: Compute (x1', y1') | COMMENT |
| LOW⚡ | core/src/path_parser.rs | 649 | // Step 2: Compute (cx', cy') - correct radii if too small | COMMENT |
| LOW⚡ | core/src/path_parser.rs | 672 | // Step 3: Compute (cx, cy) from (cx', cy') | COMMENT |
| LOW⚡ | core/src/path_parser.rs | 678 | // Step 4: Compute theta1 and dtheta | COMMENT |
| LOW⚡ | core/src/prop_cache.rs | 5160 | // Step 3: CSS properties (stylesheets) | COMMENT |
| LOW⚡ | core/src/prop_cache.rs | 5170 | // Step 4: Inline CSS properties. | COMMENT |
| LOW | core/src/prop_cache.rs | 5092 | // Step 1: Inherit from parent | COMMENT |
| LOW | core/src/prop_cache.rs | 5148 | // Step 2: Cascaded properties (UA CSS) | COMMENT |
| LOW | core/src/prop_cache.rs | 5194 | // Step 5: User-overridden properties | COMMENT |
| LOW | layout/src/solver3/fc.rs | 6941 | // Step 2: Check first-row cells for explicit width properties. | COMMENT |
| LOW | layout/src/solver3/fc.rs | 7252 | // Step 1: Measure all cells to determine column min/max widths | COMMENT |
| LOW | layout/src/solver3/fc.rs | 7310 | // Step 2: Calculate final column widths based on available space | COMMENT |
| LOW⚡ | layout/src/solver3/getters.rs | 5421 | // Step 3: Extract all required FontIds | COMMENT |
| LOW⚡ | layout/src/solver3/getters.rs | 5424 | // Step 4: Compute diff | COMMENT |
| LOW⚡ | layout/src/solver3/getters.rs | 5427 | // Step 5: Load missing fonts | COMMENT |
| LOW⚡ | layout/src/solver3/getters.rs | 5809 | // Step 6: Check for -azul-scrollbar-fade-delay | COMMENT |
| LOW⚡ | layout/src/solver3/getters.rs | 5819 | // Step 7: Check for -azul-scrollbar-fade-duration | COMMENT |
| LOW | layout/src/solver3/getters.rs | 150 | // Step 1: computed_values short-circuit (matches original). | COMMENT |
| LOW | layout/src/solver3/getters.rs | 166 | // Step 2: full cascade walk. | COMMENT |
| LOW | layout/src/solver3/getters.rs | 243 | // Step 3: fallback to DEFAULT (matches original .unwrap_or). | COMMENT |
| LOW | layout/src/solver3/getters.rs | 5624 | // Step 1: Evaluate UA scrollbar CSS using the DynamicSelector system — | COMMENT |
| LOW | layout/src/solver3/getters.rs | 5719 | // Step 2: Check individual scrollbar part backgrounds | COMMENT |
| LOW | layout/src/solver3/getters.rs | 5753 | // Step 3: Check for scrollbar-width (overrides width only, not overlay) | COMMENT |
| LOW | layout/src/solver3/getters.rs | 5772 | // Step 4: Check for scrollbar-color (overrides thumb/track colors) | COMMENT |
| LOW | layout/src/solver3/getters.rs | 5788 | // Step 5: Check for -azul-scrollbar-visibility | COMMENT |
| LOW | layout/src/solver3/sizing.rs | 1850 | // Step 1: Resolve the CSS `width` property into a concrete pixel value. | COMMENT |
| LOW | layout/src/solver3/sizing.rs | 2347 | // Step 3: Apply min/max constraints (CSS 2.2 § 10.4 and § 10.7) | COMMENT |
| LOW | layout/src/solver3/sizing.rs | 2498 | // Step 6: Construct the final LogicalSize from the logical dimensions. | COMMENT |
| LOW | layout/src/solver3/paged_layout.rs | 533 | // Step 1: Generate ONE complete display list (infinite canvas) | COMMENT |
| LOW | layout/src/solver3/paged_layout.rs | 555 | // Step 2: Configure the slicer with page dimensions and headers/footers | COMMENT |
| LOW | layout/src/solver3/paged_layout.rs | 585 | // Step 3: Analyze the breaks, THEN paginate against them — the analysis | COMMENT |
| LOW | layout/src/solver3/display_list.rs | 9621 | // Step 1: Calculate page break positions based on CSS properties | COMMENT |
| LOW⚡ | scripts/build_all.sh | 60 | # Step 1: Generate codegen files | COMMENT |
| LOW⚡ | scripts/build_all.sh | 66 | # Step 2: Build DLL in static mode | COMMENT |
| LOW⚡ | scripts/build_all.sh | 72 | # Step 3: Build DLL with Python extension | COMMENT |
| LOW⚡ | scripts/build_all.sh | 78 | # Step 4: Build DLL as shared library (for dynamic linking) | COMMENT |
| LOW⚡ | scripts/build_all.sh | 96 | # Step 5: Build all Rust examples (static linking) | COMMENT |
| LOW⚡ | scripts/build_all.sh | 116 | # Step 6: Build all Rust examples (dynamic linking) | COMMENT |
| LOW⚡ | scripts/build_all.sh | 132 | # Step 7: Build all C examples | COMMENT |
| LOW⚡ | doc/src/autofix/diff.rs | 717 | // Step 1: Build type index from workspace (source of truth for types) | COMMENT |
| LOW⚡ | doc/src/autofix/diff.rs | 723 | // Step 2: Extract all type names referenced by api.json functions | COMMENT |
| LOW | doc/src/autofix/diff.rs | 750 | // Step 3: Collect current api.json type definitions (for comparison) | COMMENT |
| LOW | doc/src/autofix/diff.rs | 764 | // Step 4: Generate diff between expected and current | COMMENT |
| LOW | doc/src/autofix/analysis/reachability.rs | 33 | // Step 1: Build type dependency graph | COMMENT |
| LOW⚡ | doc/src/autofix/analysis/reachability.rs | 46 | // Step 2: Find entry points (types used in public function signatures) | COMMENT |
| LOW⚡ | doc/src/autofix/analysis/reachability.rs | 49 | // Step 3: BFS from entry points to find all reachable types | COMMENT |
| 36 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | core/src/window.rs | 1483 | /// screen position as `parent_top_left + offset`. This is robust where | COMMENT |
| MEDIUM | core/src/dom.rs | 1182 | /// Absolutely positioned (out of flow) | COMMENT |
| MEDIUM | core/src/transform.rs | 301 | // these intrinsics faults with SIGILL. The robust gate is | COMMENT |
| MEDIUM | css/src/props/layout/dimensions.rs | 984 | // therefore be robust against unbalanced braces and dangling operators. | COMMENT |
| MEDIUM | css/src/props/style/background.rs | 1395 | // A more robust parser would handle them in any order. | COMMENT |
| MEDIUM | layout/Cargo.toml | 489 | # it links an empty ~6 MB harness — far cheaper than breaking the script. | COMMENT |
| MEDIUM | layout/Cargo.toml | 495 | # it compiled to an EMPTY harness and printed a green `running 0 tests`. | COMMENT |
| MEDIUM | layout/Cargo.toml | 533 | # Dev-only: JSON fixture deserialization for the e2e_json harness. Dev-deps are | COMMENT |
| MEDIUM | layout/src/callbacks.rs | 4044 | /// position for robust titlebar drag: | COMMENT |
| MEDIUM | layout/src/probe.rs | 196 | /// NOT resolve, robust against concurrent tests resolving THEIR pointers. | COMMENT |
| MEDIUM | layout/src/text3/cache.rs | 11606 | // --- 1. Concatenate the TRUE text and build a robust map --- | COMMENT |
| MEDIUM | layout/src/text3/cache.rs | 11819 | /// - The function assumes `line_index == 0` means first line for text-indent. A more robust system | COMMENT |
| MEDIUM | layout/src/text3/cache.rs | 12739 | // This is a robust heuristic for mixed-script lines. | COMMENT |
| MEDIUM | layout/src/managers/gesture.rs | 2315 | /// This approach is more robust than `initial_pos + total_delta` because it | COMMENT |
| MEDIUM | layout/src/dialogs/report_problem.rs | 643 | // Absolutely-positioned black rectangles over it. | COMMENT |
| MEDIUM | layout/src/widgets/titlebar.rs | 990 | /// the current window position from the OS, this approach is robust against | COMMENT |
| MEDIUM | layout/src/solver3/cache.rs | 1715 | // AND robust against a mis-lifted `dirty_flag`/Option match (the suspected | COMMENT |
| MEDIUM | layout/src/solver3/fc.rs | 1377 | // normal layout +spec:positioning:77a2d2 - Absolutely positioned children | COMMENT |
| MEDIUM | layout/src/solver3/fc.rs | 1382 | // +spec:positioning:7dd6d1 - Absolutely positioned boxes are taken out of the normal | COMMENT |
| MEDIUM | layout/src/solver3/fc.rs | 4436 | /// - Absolutely positioned elements (position: absolute or fixed) | COMMENT |
| MEDIUM | layout/src/solver3/mod.rs | 1069 | // robust. (rc=5 post-reconcile, step=2: this was the failing `?`.) | COMMENT |
| MEDIUM | layout/src/solver3/paged_layout.rs | 37 | /// +spec:positioning:a4936a - Absolutely positioned elements positioned relative to containing | 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 | 1735 | # time from the loader path the harness already exports (target/release). | COMMENT |
| MEDIUM | scripts/zero_test_guard.sh | 12 | # still COMPILES (to an empty harness) and still reports success. | COMMENT |
| MEDIUM | scripts/zero_test_guard.sh | 32 | # explicitly (`--test foo`, `--lib`, `--bins`): there, an empty harness is | COMMENT |
| MEDIUM | scripts/zero_test_guard.sh | 50 | # named `--test`) so an empty harness here means something. | COMMENT |
| MEDIUM | scripts/check.sh | 456 | # --strict: this names its targets (`--bins`), so an empty harness is always | COMMENT |
| MEDIUM | scripts/check.sh | 498 | # --strict: `--lib` produces exactly one harness per crate; none of them may | COMMENT |
| MEDIUM | scripts/check.sh | 531 | # empty harness is allowlisted. The old helper flags any `running 0 tests` | COMMENT |
| 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 | doc/src/gene2e.rs | 4107 | r#"{"name":"harness","steps":[{"op":"key_down","key":"c"}, | CODE |
| MEDIUM | doc/src/reftest/apply_midlevel.rs | 1750 | /// Definitely don't apply — record as rejected with a reason. | COMMENT |
| MEDIUM⚡ | dll/Cargo.toml | 1137 | # each of them into an EMPTY test harness and printed a green `running 0 tests`. | COMMENT |
| MEDIUM | dll/src/web/eventloop.rs | 84 | // 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 | 982 | // robust loader should do regardless of the lift bug. Single-patch recovery | COMMENT |
| MEDIUM | dll/src/web/loader_js.rs | 1031 | // user SAW diverged from what clicks HIT. Absolutely position every | COMMENT |
| MEDIUM | dll/src/desktop/extra/video_codec/provision.rs | 1197 | /// 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 | 2773 | /// Export code: compile all exportable components into a project scaffold | COMMENT |
| MEDIUM | layout/src/e2e/full.rs | 11894 | // Gather component info for scaffold generation | COMMENT |
| MEDIUM | layout/src/e2e/full.rs | 11992 | /// Collected info about a component for scaffold generation | COMMENT |
| MEDIUM | layout/src/e2e/full.rs | 12495 | /// Generate a project scaffold for the given target language | COMMENT |
| MEDIUM | layout/src/e2e/full.rs | 12511 | /// Generate a complete Rust project scaffold | COMMENT |
| MEDIUM | layout/src/e2e/full.rs | 12667 | /// Generate a complete C project scaffold | COMMENT |
| MEDIUM | layout/src/e2e/full.rs | 12774 | /// Generate a complete C++ project scaffold | COMMENT |
| MEDIUM | layout/src/e2e/full.rs | 12866 | /// Generate a complete Python project scaffold | COMMENT |
| MEDIUM | layout/src/e2e/full.rs | 18129 | // Build ZIP entries from exported files (scaffold already includes build | COMMENT |
| MEDIUM | doc/guide/en/hello-world/csharp.md | 66 | # optional project scaffold: | COMMENT |
| MEDIUM | doc/src/assemble_context.rs | 2 | //! SELF-CONTAINED context bundle a non-agentic writing model can rewrite from. | COMMENT |
| MEDIUM | doc/src/assemble_context.rs | 6 | //! - **Finding out what is true** is agentic work. It means reading the source at HEAD, following | COMMENT |
| MEDIUM | doc/src/codegen/v2/lang_c.rs | 1581 | // 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 | 1321 | // Exe scaffold `dotnet run` needs next to hello-world.cs. | COMMENT |
| MEDIUM | doc/src/dllgen/deploy.rs | 2455 | <li><a href='#agentic'>Agentic</a></li> | CODE |
| MEDIUM | dll/Cargo.toml | 903 | # no-op), no E2E runner, no DOM-inspector/scaffold-generator machinery, and the | COMMENT |
| MEDIUM | dll/tests/xml_to_rust_compilation.rs | 79 | // 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 | 17 | let dummy_data = azul_core::refany::RefAny::new_c( | CODE |
| LOW | core/tests/icon.rs | 28 | provider.register_icon("images", "home", dummy_data.clone()); | CODE |
| LOW | core/tests/icon.rs | 40 | let dummy_data = azul_core::refany::RefAny::new_c( | CODE |
| LOW | core/tests/icon.rs | 51 | provider.register_icon("images", "logo", dummy_data); | CODE |
| LOW | core/tests/icon.rs | 64 | let dummy_data = azul_core::refany::RefAny::new_c( | CODE |
| LOW | core/tests/icon.rs | 76 | provider.register_icon("pack1", "icon1", dummy_data.clone()); | CODE |
| LOW | core/tests/icon.rs | 77 | provider.register_icon("pack2", "icon2", dummy_data); | CODE |
| LOW | core/src/xml.rs | 3561 | "placeholder", | CODE |
| LOW | core/src/xml.rs | 3695 | "placeholder", | CODE |
| LOW | core/src/diff_test.rs | 1732 | b"placeholder".to_vec(), | CODE |
| LOW | core/src/dom.rs | 3114 | /// "placeholder" means "no frame yet" — see `diff::transfer_states`, which | COMMENT |
| LOW | core/src/dom.rs | 1583 | Self::Placeholder(_) => "placeholder", | CODE |
| LOW | css/tests/test_node_type_tag.rs | 247 | ("placeholder", NodeTypeTag::Placeholder), | CODE |
| LOW | css/src/parser2.rs | 469 | "placeholder" | ":placeholder" => Ok(CssPathPseudoSelector::Placeholder), | CODE |
| LOW | css/src/css.rs | 1534 | "placeholder" | "::placeholder" => Ok(Self::Placeholder), | CODE |
| LOW | css/src/css.rs | 3399 | ("placeholder", "::placeholder", NodeTypeTag::Placeholder), | CODE |
| LOW | layout/tests/text3_dropcap_baseline_visual.rs | 115 | <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 | 115 | <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 | 547 | /// Decode ALL glyphs used in lorem ipsum and verify no decode errors | COMMENT |
| LOW | layout/tests/test_hint_vs_freetype.rs | 2501 | let text = "Lorem ipsum dolor."; | CODE |
| LOW | layout/tests/pagination_perf.rs | 46 | "<p>Paragraph number {i}: lorem ipsum dolor sit amet, consectetur adipiscing elit, \ | CODE |
| LOW | layout/tests/pagination_perf.rs | 46 | "<p>Paragraph number {i}: lorem ipsum dolor sit amet, consectetur adipiscing elit, \ | CODE |
| LOW | layout/tests/frame_perf.rs | 58 | "<p>Paragraph number {i}: lorem ipsum dolor sit amet, consectetur adipiscing elit, \ | CODE |
| LOW | layout/tests/frame_perf.rs | 58 | "<p>Paragraph number {i}: lorem ipsum dolor sit amet, consectetur adipiscing elit, \ | CODE |
| LOW | layout/tests/textarea_enter_repaint.rs | 625 | let _ = h.type_str("lorem ipsum dolor sit amet consectetur "); | CODE |
| LOW | layout/tests/textarea_enter_repaint.rs | 625 | let _ = h.type_str("lorem ipsum dolor sit amet consectetur "); | CODE |
| LOW | layout/tests/pagination_dom_breaks.rs | 860 | let long = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do\neiusmod tempor \ | CODE |
| LOW | layout/tests/pagination_dom_breaks.rs | 860 | let long = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do\neiusmod tempor \ | CODE |
| LOW | layout/tests/pagination_dom_breaks.rs | 947 | <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod | CODE |
| LOW | layout/tests/pagination_dom_breaks.rs | 947 | <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod | CODE |
| LOW | layout/tests/pagination_dom_breaks.rs | 959 | nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, | CODE |
| LOW | layout/tests/pagination_dom_breaks.rs | 959 | nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, | 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 | 203 | <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 | 203 | <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 | 3707 | ("placeholder", AttributeType::Placeholder(v)) => return Some(v.clone()), | CODE |
| LOW | layout/src/xml/mod.rs | 536 | "placeholder" => attr_vec.push(azul_core::dom::AttributeType::Placeholder( | CODE |
| LOW | layout/src/e2e/full.rs | 13062 | ("placeholder", "String"), | CODE |
| LOW | layout/src/e2e/full.rs | 13095 | ("placeholder", "String"), | 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 | 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 | 581 | if (opts.placeholder && input) input.setAttribute('placeholder', opts.placeholder); | CODE |
| LOW | doc/src/reftest/autoreview.rs | 217 | `"placeholder"`, `"dummy"`, `"stub"` — anything that was never finished. | CODE |
| LOW | dll/src/desktop/shell2/headless/mod.rs | 4566 | _ => "lorem ipsum dolor sit amet consectetur adipiscing elit sed do", | CODE |
| LOW | dll/src/desktop/shell2/headless/mod.rs | 4566 | _ => "lorem ipsum dolor sit amet consectetur adipiscing elit sed do", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| 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/preflight_contracts.py | 345 | except Exception as e: # noqa: BLE001 - report any parse failure verbatim | CODE |
| MEDIUM | scripts/preflight_contracts.py | 342 | def check_api_json_parses() -> None: | CODE |
| MEDIUM | scripts/analyze_coverage.py | 52 | print(f"Error: {coverage_file} not found. Run scripts/coverage.sh first.") | CODE |
| LOW | scripts/debugging/azul-a11y-probe.py | 21 | except Exception as e: | CODE |
| LOW | scripts/debugging/azul-a11y-probe.py | 40 | except Exception: | CODE |
| LOW | scripts/debugging/azul-a11y-probe.py | 48 | except Exception: | CODE |
| LOW | scripts/debugging/azul-a11y-probe.py | 70 | except Exception: | CODE |
| LOW⚡ | scripts/debugging/azul-a11y-probe.py | 81 | except Exception: | CODE |
| LOW⚡ | scripts/debugging/azul-a11y-probe.py | 88 | except Exception: | CODE |
| LOW⚡ | scripts/debugging/azul-a11y-probe.py | 96 | except Exception: | CODE |
| MEDIUM | scripts/debugging/azul-a11y-probe.py | 45 | def role_name(acc): | CODE |
| MEDIUM | scripts/debugging/azul-a11y-probe.py | 52 | def state_set(acc): | CODE |
| LOW | scripts/supply-chain/lockfile_guard.py | 142 | except Exception: | CODE |
| LOW | scripts/supply-chain/lockfile_guard.py | 172 | except Exception: | CODE |
| MEDIUM | scripts/supply-chain/lockfile_guard.py | 137 | def one(n): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | css/src/macros.rs | 353 | /// Example usage: | COMMENT |
| LOW | css/src/macros.rs | 389 | /// Example usage: | COMMENT |
| LOW | scripts/screenshot_single.sh | 20 | # Usage: | COMMENT |
| LOW | scripts/probe_az_debug.sh | 8 | # Usage: | COMMENT |
| LOW | scripts/build-android.sh | 11 | # Usage: | COMMENT |
| LOW | scripts/cross_check.sh | 5 | # Usage: | COMMENT |
| LOW | scripts/sign-release.sh | 16 | # Usage: | COMMENT |
| LOW | scripts/build-ios.sh | 13 | # Usage: | COMMENT |
| LOW | scripts/check_artifact_size.sh | 11 | # 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 | 91 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | scripts/preflight_contracts.py | 189 | f"directory', or — if guarded by || true — passes while doing nothing, " | CODE |
| HIGH | scripts/run_install_steps.py | 103 | "export -f sudo 2>/dev/null || true"] | CODE |
| HIGH | scripts/run_install_steps.py | 120 | lines.append(f'copy /y "{src}" "{f}" >nul || exit /b 1') | CODE |
| 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 | 1 | CODE | |
| LOW | examples/python/widgets.py | 1 | CODE | |
| LOW | examples/python/opengl.py | 1 | CODE | |
| LOW | examples/python/calc.py | 1 | CODE | |
| LOW | examples/python/hello-world.py | 1 | CODE | |
| LOW | examples/python/async.py | 1 | CODE | |
| LOW | scripts/check_dep_justifications.py | 38 | CODE | |
| LOW | scripts/supply-chain/lockfile_guard.py | 46 | CODE | |
| LOW | scripts/supply-chain/env_guard.py | 42 | CODE | |
| LOW | scripts/supply-chain/scan_build_scripts.py | 44 | CODE | |
| LOW | scripts/supply-chain/sc_common.py | 23 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/python/calc.py | 91 | CODE | |
| LOW | examples/python/calc.py | 29 | CODE | |
| LOW | examples/python/calc.py | 92 | CODE | |
| LOW | scripts/gen_mock_fonts.py | 113 | CODE | |
| LOW | scripts/strip_coff_lib.py | 84 | CODE | |
| LOW | scripts/preflight_contracts.py | 53 | CODE | |
| LOW | scripts/preflight_contracts.py | 148 | CODE | |
| LOW | scripts/run_install_steps.py | 85 | CODE | |
| LOW | scripts/gen_e2e_cases.py | 88 | CODE | |
| LOW | scripts/debugging/azinput-portal.py | 69 | CODE | |
| LOW | scripts/supply-chain/lockfile_guard.py | 133 | CODE | |
| LOW | scripts/supply-chain/lockfile_guard.py | 251 | CODE | |
| LOW | scripts/supply-chain/env_guard.py | 249 | CODE | |
| LOW | scripts/supply-chain/sc_common.py | 76 | CODE | |
| LOW | scripts/supply-chain/sc_common.py | 136 | CODE | |
| LOW | scripts/supply-chain/sc_common.py | 470 | 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/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/build_all.sh | 139 | # 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/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 |
|---|---|---|---|---|
| HIGH | scripts/check_dep_justifications.py | 128 | except (AttributeError, ValueError): | CODE |
| HIGH | scripts/debugging/azul-a11y-probe.py | 81 | except Exception: | 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/preflight_contracts.py | 221 | def check_widget_override_latch() -> None: | CODE |
| LOW | scripts/preflight_contracts.py | 302 | def check_demo_state_round_trip() -> None: | CODE |
| LOW | doc/guide/en/architecture.md | 499 | def _validate_text_input_as_number(data, callbackinfo, string): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | layout/src/e2e/full.rs | 12597 | // TODO: implement {slot_name} callback | COMMENT |
| LOW | layout/src/e2e/full.rs | 12586 | " 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 | 82 | "Throat-clearing: 'In this guide…', 'Let's start by…', 'First, we will…', 'It is important to note…', 'As mentioned ea | STRING |