AI Slop Code Risk Monitor

zumerlab/snapdom

SlopCodeMonitor badge for zumerlab/snapdom Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

High-performance engine for capturing, modifying, and converting DOM elements into any format.

2.3 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for zumerlab/snapdom, a JavaScript project with 8,216 GitHub stars. SynthScan examined 178,444 lines of code across 731 source files, recording 259 pattern matches distributed across 10 syntactic categories. The legacy adjusted pattern signal is 2.3 (Low 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.

2.3
Adjusted Signal
2.3
Raw Pattern Score
100%
Time Factor
2026-10-29
Last Push
8.2K
Stars
JavaScript
Language
178.4K
Lines of Code
731
Files
259
Pattern Hits
2026-10-31
Scan Date
0.00
HC Hit Rate

Risk Review · Payload v1

Use each vector to guide manual verification of the underlying findings.

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 4.7/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 142 finding(s).

Hallucinated Dependency & Supply Chain Risk 1.2/100 · LOW

Are imports declared and package/API names verified? 44 finding(s).

Agent Over-Engineering Ratio 6.1/100 · LOW

Are wrappers, guards, and repeated structures necessary? 99 finding(s).

PR Review Velocity Impact 11.5/100 · LOW

Which changes need focused human review? 259 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

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.

Severity Breakdown

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.

CRITICAL 0HIGH 0MEDIUM 88LOW 171

Directory Score Breakdown

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.

Pattern Findings

The scanner identified 259 distinct pattern matches across 10 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.

Decorative Section Separators73 hits · 198 pts
SeverityFileLineSnippetContext
MEDIUMdocs/labs/capture-stages/index.html93// ── the element under capture ────────────────────────────────────────────────────────COMMENT
MEDIUMdocs/labs/capture-stages/index.html97// ── two plugins, same knob, different depth ──────────────────────────────────────────COMMENT
MEDIUMdocs/compare/live/harness.js93// ── Scenes ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMdocs/compare/live/harness.js312// ── Capability matrix: fixture + pixel oracle ───────────────────────────────COMMENT
MEDIUMdocs/compare/live/lab.js48// ── Scenes ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMdocs/compare/live/lab.js108// ── DOM ─────────────────────────────────────────────────────────────────────COMMENT
MEDIUMdocs/compare/live/lab.js141// ── Measurement ─────────────────────────────────────────────────────────────COMMENT
MEDIUMdocs/compare/live/lab.js289// ── Rendering ───────────────────────────────────────────────────────────────COMMENT
MEDIUMdocs/compare/live/lab.js437// ── Run ─────────────────────────────────────────────────────────────────────COMMENT
MEDIUMdocs/compare/live/lab.js502// ── Capability matrix ───────────────────────────────────────────────────────COMMENT
MEDIUMdocs/compare/live/lab.js581// ── Wiring ──────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/module.fonts.more.more.test.js247// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/module.fonts.more.more.test.js250// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/category.capabilities.test.js37// ── Tests ───────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.clone.more.test.js690// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.clone.more.test.js692// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.clone.more.test.js707 // ── #277 ──────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.clone.more.test.js707 // ── #277 ──────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.clone.more.test.js744 // ── #365 ──────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.clone.more.test.js744 // ── #365 ──────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.clone.more.test.js774 // ── NEW-7 ─────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.clone.more.test.js798 // ── #315 ──────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.clone.more.test.js798 // ── #315 ──────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.clone.more.test.js826// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.clone.more.test.js828// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.clone.more.test.js893// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.clone.more.test.js895// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.clone.more.test.js928// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.clone.more.test.js931// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.clone.more.test.js989// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.clone.more.test.js991// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/snapdom.benchmark.js68// ── Image-heavy scenario (rasterized PNG) ───────────────────────────────────COMMENT
MEDIUM__tests__/category.libs.js96// ── Scenes that need files on disk ──────────────────────────────────────────COMMENT
MEDIUM⚡__tests__/core.capture.more.test.js533// ──────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡__tests__/core.capture.more.test.js534// ──────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡__tests__/core.capture.more.test.js536// ──────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.capture.more.test.js35// ──────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.capture.more.test.js37// ──────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.capture.more.test.js62// ──────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.capture.more.test.js64// ──────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.capture.more.test.js91// ──────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.capture.more.test.js93// ──────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.capture.more.test.js114// ──────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.capture.more.test.js116// ──────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.capture.more.test.js165// ──────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.capture.more.test.js167// ──────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.capture.more.test.js183// ──────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.capture.more.test.js185// ──────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.capture.more.test.js210// ──────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.capture.more.test.js212// ──────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.capture.more.test.js244// ──────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.capture.more.test.js246// ──────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.capture.more.test.js276// ──────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.capture.more.test.js278// ──────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.capture.more.test.js306// ──────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.capture.more.test.js308// ──────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.capture.more.test.js332// ──────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.capture.more.test.js336// ──────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.capture.more.test.js356// ──────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUM__tests__/core.capture.more.test.js358// ──────────────────────────────────────────────────────────────────────────────COMMENT
13 more matches not shown…
Over-Commented Block98 hits · 98 pts
SeverityFileLineSnippetContext
LOWvitest.config.js21 return snapDiffCommands({ baseDir })[name](ctx, ...args)COMMENT
LOWvitest.config.js81// probe is bounded and paid once per run.COMMENT
LOWdocs/panes.js1// The 3-pane template (panes.css): sidebar · live demo · reading column.COMMENT
LOWdocs/compare/live/harness.js1// Shared comparison harness — the SINGLE source of the public competitor adapters, the realisticCOMMENT
LOWdocs/compare/live/lab.js1// Live comparison lab — runs the repo's own measurement scenes in the visitor's browser.COMMENT
LOWdocs/compare/live/lab.js21 buildCapabilityFixture, analyzeCapabilities, CAPS,COMMENT
LOW__tests__/category.shadowdom.benchmark.js1// Deep shadow-DOM component tree at scale — the design-system norm.COMMENT
LOW__tests__/snapdom.issue516.test.js1// #516, Firefox-for-Android defects from the issue's two demos.COMMENT
LOW__tests__/module.styles.inlineImportant.test.js1// normalizeInlineStyleToComputed re-resolves an element's inline declarations through theCOMMENT
LOW__tests__/visual.fidelity.crossengine.test.js1// Cross-engine pixel coverage for the five capture shapes the demos/ corpus never exercises.COMMENT
LOW__tests__/category.capabilities.test.js1// __tests__/category.capabilities.test.jsCOMMENT
LOW__tests__/category.images.benchmark.js1// Image-heavy page over REAL same-origin URLs — the fetch → inline path.COMMENT
LOW__tests__/snapdom.issue498.test.js1// #498 — three layout misalignments in one report.COMMENT
LOW__tests__/snapdom.issue491.test.js1// #491 — a row of inline boxes line-wrapped in the capture (ilios/frontend header buttons).COMMENT
LOW__tests__/category.gallery.benchmark.js1// Photo gallery — one 3000x1400 hero and eight 1500x1000 thumbnails shown at 960x360 andCOMMENT
LOW__tests__/category.hostcss.benchmark.js1// Lo que la HOJA DE ESTILO de la pagina le cuesta a una captura.COMMENT
LOW__tests__/category.deeptree.benchmark.js1// Deep nested flex/grid tree — ~2,100 elements at depth ~11.COMMENT
LOW__tests__/visual.demos.shared.js1// Visual regression suite for snapdom demos. Shared by the visual.demos.N.test.jsCOMMENT
LOW__tests__/visual.demos.shared.js41// whichever demo happened to be waiting on the network when the machine was loaded:COMMENT
LOW__tests__/visual.demos.shared.js61// ---------------------------------------COMMENT
LOW__tests__/visual.demos.shared.js81// connection could not serve is not a failure of snapdom.COMMENT
LOW__tests__/visual.demos.shared.js141async function settle(win, budget = SETTLE_BUDGET_MS) {COMMENT
LOW__tests__/visual.demos.shared.js201// images before they lay out. On a link that cannot serve them those demos do not failCOMMENT
LOW__tests__/category.benchmark.js1// __tests__/category.benchmark.jsCOMMENT
LOW__tests__/snapdom.frozenHeightPrecision.test.js1// A frozen height must lay out at the live height, not 1/64px under it.COMMENT
LOW__tests__/core.clone.indeterminate.test.js1// An indeterminate checkbox lives in a DOM PROPERTY. XMLSerializer cannot emit it, so aCOMMENT
LOW__tests__/snapdom.issue484.test.js1// #484 — `<span>` with `display:block` and an authored width lost that width.COMMENT
LOW__tests__/category.cold.benchmark.js1// Cold vs steady, PER ELEMENT — the number a one-shot user actually experiences.COMMENT
LOW__tests__/regression.interaction.staleness.test.js1// Interactions that produce no mutation record, reproduced with pixels rather than inferredCOMMENT
LOW__tests__/module.styles.ruleEpoch.test.js1// The scanned property universe and the pseudo gates are memoized against the DOM epoch,COMMENT
LOW__tests__/category.fonts.benchmark.js1// Webfonts — the configured profile the defaults table cannot show.COMMENT
LOW__tests__/snapdom.issue486.test.js1// #486 — "the canvas animation cannot be captured".COMMENT
LOW__tests__/category.libs.js1// __tests__/category.libs.jsCOMMENT
LOW__tests__/category.libs.js41 // against the same mounted element, and snapdom memoizes an element from its first capture,COMMENT
LOW__tests__/visual.fidelity.livedom.test.js1// Fidelity against GROUND TRUTH, not against a recorded baseline.COMMENT
LOW__tests__/snapdom.issue502.test.js1// #502: a meter styled with `appearance: none` and its ::-webkit-meter-* parts exported with theCOMMENT
LOW__tests__/visual.competitors.compare.test.js1// Fidelity comparison: COMPETITORS vs snapdom over the REAL demo corpus, per engine.COMMENT
LOW__tests__/category.cssheavy.benchmark.js1// CSS-heavy page: ~10k author rules, ~1000 nodes styled ONLY by classes.COMMENT
LOW__tests__/category.polling.benchmark.js1// Cross-library POLLING — memoization allowed and labeled.COMMENT
LOW__tests__/helpers/network-gate.js1// Browser side of the network gate: keeps a test from failing for a reason that hasCOMMENT
LOW__tests__/helpers/network-gate.js21// beforeEach(gateOnNetwork) // gate every test in the fileCOMMENT
LOW__tests__/helpers/domlens.js1// Repository-only adapter, shared by category tests and the real-page benchmark.COMMENT
LOWpackages/plugin-template/index.js21 // beforeSnap(ctx) {COMMENT
LOWpackages/plugin-template/index.js41COMMENT
LOWpackages/plugins/html-export.js21 fullDocument = true,COMMENT
LOWpackages/plugins/pdf/src/paginate.js61 * blank tail from a long one. `null` — a container: evidence of nothing.COMMENT
LOWpackages/plugins/pdf/src/index.js1261 const size = (run.size * s).toFixed(3)COMMENT
LOWpackages/plugins/pdf/src/text-layer.js621 // composites into its own plane is that context FLATTENED, and the flattenedCOMMENT
LOWpackages/plugins/pdf/src/text-layer.js661 // builds a transform node for it all the same — and a transform node is whatCOMMENT
LOWpackages/plugins/pdf/src/text-layer.js681 if (base.preserve3d && soft) bad = trueCOMMENT
LOWpackages/plugins/pdf/src/text-layer.js841 // accumulates downward over a long textarea. Recovering it needs a mirrorCOMMENT
LOWpackages/plugins/pdf/src/text-layer.js1081 // A DOMRectList, not an array — it indexes and has a length, and that is all.COMMENT
LOWpackages/plugins/vector/demo/figma.html61 display: none; }COMMENT
LOWpackages/plugins/vector/demo/challenges.html101 font-size: 13px; display: none; }COMMENT
LOWpackages/plugins/vector/src/paint.js2221 const pseudos = contents || !visible ? [] : findUnrepresentedPseudos(el, cs, textCarrier, st)COMMENT
LOWpackages/plugins/vector/src/index.js341 maxAssetBytes: Number.isFinite(options.maxAssetBytes) ? options.maxAssetBytes : BIG_ASSET_BYTES,COMMENT
LOWpackages/plugins/vector/src/index.js681 pitch,COMMENT
LOWpackages/plugins/vector/src/index.js721COMMENT
LOWpackages/plugins/vector/src/collect/box.js541COMMENT
LOWpackages/plugins/vector/src/collect/text.js2821 //COMMENT
38 more matches not shown…
Fake / Example Data44 hits · 44 pts
SeverityFileLineSnippetContext
LOWFEATURES_CN.md154| `data-capture="placeholder"` | 将节点替换为占位框 |CODE
LOWFEATURES.md154| `data-capture="placeholder"` | Replace it with a placeholder |CODE
LOWdocs/showcase/index.html779 <input id="name" type="text" placeholder="John Doe" value="Ada Lovelace" />CODE
LOW__tests__/snapdom.complex.benchmark.js58 text.textContent = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.'CODE
LOW__tests__/snapdom.complex.benchmark.js58 text.textContent = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.'CODE
LOW__tests__/core.capture.diff.test.js22 text.textContent = 'Lorem ipsum dolor sit amet.'CODE
LOW__tests__/core.capture.diff.test.js22 text.textContent = 'Lorem ipsum dolor sit amet.'CODE
LOW__tests__/plugins.redact.semantic.test.js40 { selector: '[data-private-meta]', names: ['id', 'class', 'href', 'title', 'aria-label', 'name', 'placeholder'] CODE
LOW__tests__/plugins.redact.semantic.test.js218 if (enabled) plugins.push(redactInputs({ attributes: [{ selector: '.absent', names: ['type', 'id', 'placeholder'] }]CODE
LOW__tests__/snapdom.attributes.test.js30 it('should replace elements with data-capture="placeholder" and show placeholder text', async () => {CODE
LOW__tests__/snapdom.attributes.test.js32 placeholder.setAttribute('data-capture', 'placeholder')CODE
LOW__tests__/core.clone.test.js68 it('deepClone handles data-capture="placeholder"', async () => {CODE
LOW__tests__/core.clone.test.js70 el.setAttribute('data-capture', 'placeholder')CODE
LOW__tests__/clip.benchmark.js19 html += `<div style="background:#f1f5f9;border-radius:6px;padding:8px;box-shadow:0 1px 2px rgba(0,0,0,.2)"><b>CardCODE
LOW__tests__/clip.benchmark.js19 html += `<div style="background:#f1f5f9;border-radius:6px;padding:8px;box-shadow:0 1px 2px rgba(0,0,0,.2)"><b>CardCODE
LOW__tests__/module.lineClamp.test.js46 const longText = 'Lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor incididunt ut labore CODE
LOW__tests__/module.lineClamp.test.js46 const longText = 'Lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor incididunt ut labore CODE
LOW__tests__/module.lineClamp.test.js91 const longText = 'Lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor incididunt ut labore CODE
LOW__tests__/module.lineClamp.test.js91 const longText = 'Lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor incididunt ut labore CODE
LOW__tests__/module.lineClamp.test.js108 div.textContent = 'Lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor.'CODE
LOW__tests__/module.lineClamp.test.js108 div.textContent = 'Lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor.'CODE
LOW__tests__/module.lineClamp.test.js119 div.textContent = 'Lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor.'CODE
LOW__tests__/module.lineClamp.test.js119 div.textContent = 'Lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor.'CODE
LOW__tests__/module.lineClamp.test.js139 const longText = 'Lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor incididunt.'CODE
LOW__tests__/module.lineClamp.test.js139 const longText = 'Lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor incididunt.'CODE
LOW__tests__/module.lineClamp.test.js160 const longText = 'Lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor incididunt ut labore.CODE
LOW__tests__/module.lineClamp.test.js160 const longText = 'Lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor incididunt ut labore.CODE
LOW__tests__/module.lineClamp.test.js207 el.textContent = 'Lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor incididunt'CODE
LOW__tests__/module.lineClamp.test.js207 el.textContent = 'Lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor incididunt'CODE
LOWpackages/plugins/context-export.js189 if (!redacts('placeholder') && el.placeholder) s.placeholder = el.placeholderCODE
LOWpackages/plugins/agent-map.js490 for (const name of ['href', 'type', 'name', 'placeholder', 'alt', 'title', 'role', 'aria-label']) {CODE
LOWpackages/plugins/pdf/src/text-layer.js1474 const placeholder = el.getAttribute && el.getAttribute('placeholder')CODE
LOWpackages/plugins/vector/demo/vector.html620 <div class="placeholder">Sin capturar todavía<br>Pulsá <b>Vectorizar</b></div>CODE
LOWpackages/plugins/vector/demo/vector.html733 ui.svgout.innerHTML = '<div class="placeholder">Sin capturar todavía<br>Pulsá <b>Vectorizar</b></div>'CODE
LOWdemos/d7-scroll-test.html25 <p>Line 01 — Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>CODE
LOWdemos/d7-scroll-test.html25 <p>Line 01 — Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>CODE
LOWdemos/d9-flex-margin-auto-clip.html63 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmodCODE
LOWdemos/d9-flex-margin-auto-clip.html63 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmodCODE
LOWdemos/d61-saltosdelinea.html65 >Lorem ipsum dolor sit amet, consectetur adipiscing elit,CODE
LOWdemos/d61-saltosdelinea.html65 >Lorem ipsum dolor sit amet, consectetur adipiscing elit,CODE
LOWdemos/src449.html55 <b>Item ${i}</b><br>lorem ipsum dolor sit amet, consecteturCODE
LOWdemos/src449.html55 <b>Item ${i}</b><br>lorem ipsum dolor sit amet, consecteturCODE
LOWsrc/core/clone.js161/** Tags dispatched BEFORE the data-capture="placeholder" branch (an <iframe> placeholderCOMMENT
LOWsrc/core/clone.js797 if (node.getAttribute('data-capture') === 'placeholder') {CODE
AI Slop Vocabulary11 hits · 30 pts
SeverityFileLineSnippetContext
MEDIUM⚡docs/search-index.json1[{"title":"SnapDOM: capture DOM elements as PNG, SVG, PDF or video","path":"./","text":"High-performance DOM engine · zeCODE
MEDIUM⚡docs/search-index.json1[{"title":"SnapDOM: capture DOM elements as PNG, SVG, PDF or video","path":"./","text":"High-performance DOM engine · zeCODE
MEDIUM⚡docs/search-index.json1[{"title":"SnapDOM: capture DOM elements as PNG, SVG, PDF or video","path":"./","text":"High-performance DOM engine · zeCODE
MEDIUMdocs/sitemap.xml240 <loc>https://snapdom.dev/labs/webgl-seamless-dom/</loc>CODE
MEDIUMdocs/ecosystem/index.html64<header class="doc-head"><div class="doc-head-bar"><nav class="doc-crumbs" aria-label="Breadcrumb"><span>Ecosystem</spanCODE
MEDIUM⚡docs/labs/webgl-seamless-dom/index.html9 <link rel="canonical" href="https://snapdom.dev/labs/webgl-seamless-dom/" />CODE
MEDIUM⚡docs/labs/webgl-seamless-dom/index.html15 <meta property="og:url" content="https://snapdom.dev/labs/webgl-seamless-dom/" />CODE
MEDIUM⚡docs/labs/webgl-seamless-dom/index.html20 <script type="application/ld+json">{"@context":"https://schema.org","@type":"TechArticle","headline":"Seamless DOM to CODE
MEDIUM⚡docs/labs/webgl-seamless-dom/index.html21 <script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@typCODE
MEDIUM⚡docs/labs/webgl-seamless-dom/index.html21 <script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@typCODE
MEDIUMdocs/showcase/index.html512<aside class="pane-side"><label class="pane-filter"><span aria-hidden="true">⌕</span><input type="search" placeholder="FCODE
Hyper-Verbose Identifiers26 hits · 26 pts
SeverityFileLineSnippetContext
LOW__tests__/regression.scrolledLayout.test.js19async function expectItemsWhereThePageHasThem(root) {CODE
LOWpackages/plugins/vector/src/collect/box.js1290function stickyCollapsedBorderIsElsewhere (el, cs) {CODE
LOWpackages/plugins/vector/src/adapters/snapdom.js218function defuseUpgradedShadowRoots (clone) {CODE
LOWdemos/d3-zumly-capture-demo.html375function createPersistentClonePlugin() {CODE
LOWsrc/core/burst.js116function mediaEnvironmentSignature(doc) {CODE
LOWsrc/core/diff.js52function retainedUsesBackdropFilter(R) {CODE
LOWsrc/core/diff.js65function subtreeUsesBackdropFilter(root, universe) {CODE
LOWsrc/exporters/toCanvas.js284function rewriteSvgBoxShadowToDropShadow(svgText) {CODE
LOWsrc/utils/transforms.helpers.js649export function hasBBoxAffectingTransform(el) {CODE
LOWsrc/utils/image.js20export async function inlineSingleBackgroundEntry(entry, options = {}) {CODE
LOWsrc/utils/clone.helpers.js267export function collectCustomPropsFromCSS(cssText) {CODE
LOWsrc/utils/clone.helpers.js342export async function getAccessibleIframeDocument(iframe, attempts = 3) {CODE
LOWsrc/utils/clone.helpers.js720export function createCheckboxRadioReplacement(node) {CODE
LOWsrc/utils/capture.helpers.js413export function neutralizeRootMarginCollapse(originalEl, cloneRoot, nodeMap, standIns = null) {CODE
LOWsrc/utils/capture.helpers.js674function contributesToParentHeight(el) {CODE
LOWsrc/utils/capture.helpers.js986function collectScrollbarRulesFromRules(rules, seen = new Set()) {CODE
LOWsrc/modules/pseudo.js401function deriveCounterCtxForPseudo(node, pseudoStyle, baseCtx) {CODE
LOWsrc/modules/pseudo.js550function resolvePseudoContentAndIncs(node, pseudo, baseCtx, siblingCounters) {CODE
LOWsrc/modules/svgDefs.js29export function inlineExternalDefsAndSymbols(element, lookupRoot, htmlSource) {CODE
LOWsrc/modules/selection.js218function textFieldSelectionBackground(field, own) {CODE
LOWsrc/modules/selection.js366export function applyTextFieldSelectionLayers(nodeMap) {CODE
LOWsrc/modules/styles.js821function snapshotComputedStyleFull(style, options = {}, el = null, universe = null) {CODE
LOWsrc/modules/styles.js1001function strokedTextShadowToFilter(source, clone, cs) {CODE
LOWsrc/modules/styles.js1187function usedWidthDiffersFromAvailable(el, cs) {CODE
LOWsrc/modules/styles.js1618function normalizeInlineStyleToComputed(source, clone, computed) {CODE
LOWsrc/modules/compress.js620export async function compressClonedBackgrounds(clone, options, nodeMap = new Map(), geometry = {}) {CODE
Modern AI Meta-Vocabulary3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUM⚡docs/search-index.json1[{"title":"SnapDOM: capture DOM elements as PNG, SVG, PDF or video","path":"./","text":"High-performance DOM engine · zeCODE
MEDIUM⚡docs/search-index.json1[{"title":"SnapDOM: capture DOM elements as PNG, SVG, PDF or video","path":"./","text":"High-performance DOM engine · zeCODE
MEDIUM⚡docs/search-index.json1[{"title":"SnapDOM: capture DOM elements as PNG, SVG, PDF or video","path":"./","text":"High-performance DOM engine · zeCODE
Slop Phrases1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUM⚡docs/search-index.json1[{"title":"SnapDOM: capture DOM elements as PNG, SVG, PDF or video","path":"./","text":"High-performance DOM engine · zeCODE
Verbosity Indicators1 hit · 2 pts
SeverityFileLineSnippetContext
LOWpackages/plugins/vector/src/collect/text.js1014 // Step 2: the binary renames it wherever the page's CSS name is not theCOMMENT
Structural Annotation Overuse1 hit · 2 pts
SeverityFileLineSnippetContext
LOWpackages/plugins/vector/src/collect/text.js1014 // Step 2: the binary renames it wherever the page's CSS name is not theCOMMENT
Deep Nesting1 hit · 1 pts
SeverityFileLineSnippetContext
LOWscripts/docs-site/finish.py8CODE