AI Slop Code RIsk Monitor

apexcharts/apexcharts.js

📊 Interactive JavaScript Charts built on SVG

4.7 Low pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for apexcharts/apexcharts.js, a JavaScript project with 15,174 GitHub stars. SynthScan examined 545,170 lines of code across 3110 source files, recording 683 pattern matches distributed across 9 syntactic categories. The legacy adjusted pattern signal is 4.7 (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.

4.7
Adjusted Signal
4.7
Raw Pattern Score
100%
Time Factor
2026-10-09
Last Push
15.2K
Stars
JavaScript
Language
545.2K
Lines of Code
3.1K
Files
683
Pattern Hits
2026-10-12
Scan Date
0.05
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 2.4/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 13.1/100 · LOW

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

Agent Over-Engineering Ratio 6.9/100 · LOW

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

PR Review Velocity Impact 20.8/100 · LOW

Which changes need focused human review? 683 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 150HIGH 0MEDIUM 255LOW 278

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 683 distinct pattern matches across 9 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.

Hallucination Indicators150 hits · 1500 pts
SeverityFileLineSnippetContext
CRITICALtests/unit/facet.spec.js53 chart.w.dom.elWrap.classList.contains('apexcharts-theme-dark'),CODE
CRITICALtests/unit/issue-5278-annotations-no-data.spec.js44const q = (chart, sel) => [...chart.w.globals.dom.baseEl.querySelectorAll(sel)]CODE
CRITICALtests/unit/issue-5278-annotations-no-data.spec.js186 const svg = chart.w.globals.dom.baseEl.querySelector('.apexcharts-svg')CODE
CRITICALtests/unit/xaxis-annotations.spec.js71 const line = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/xaxis-annotations.spec.js94 const line = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/xaxis-annotations.spec.js118 const baseLine = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/xaxis-annotations.spec.js140 const offsetLine = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/xaxis-annotations.spec.js163 chart.w.globals.dom.baseEl.querySelector('.custom-xaxis-line')CODE
CRITICALtests/unit/xaxis-annotations.spec.js171 const parent = chart.w.globals.dom.baseEl.querySelector('.apexcharts-svg')CODE
CRITICALtests/unit/xaxis-annotations.spec.js205 const rects = chart.w.globals.dom.baseEl.querySelectorAll(CODE
CRITICALtests/unit/xaxis-annotations.spec.js227 const rect = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/xaxis-annotations.spec.js250 const rect = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/xaxis-annotations.spec.js274 chart.w.globals.dom.baseEl.querySelector('.custom-xaxis-rect')CODE
CRITICALtests/unit/xaxis-annotations.spec.js297 const label = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/xaxis-annotations.spec.js318 const topLabel = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/xaxis-annotations.spec.js336 const bottomLabel = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/xaxis-annotations.spec.js369 const label = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/xaxis-annotations.spec.js397 const label = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/xaxis-annotations.spec.js419 const label = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/xaxis-annotations.spec.js441 const group = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/xaxis-annotations.spec.js460 const lines = chart.w.globals.dom.baseEl.querySelectorAll(CODE
CRITICALtests/unit/xaxis-annotations.spec.js478 const lines = chart.w.globals.dom.baseEl.querySelectorAll(CODE
CRITICALtests/unit/xaxis-annotations.spec.js494 const group = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/xaxis-annotations.spec.js527 const group = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/xaxis-annotations.spec.js561 const group = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/xaxis-annotations.spec.js577 const parent = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/xaxis-annotations.spec.js610 const line = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/xaxis-annotations.spec.js629 const labels = chart.w.globals.dom.baseEl.querySelectorAll(CODE
CRITICALtests/unit/xaxis-annotations.spec.js654 const line = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/annotation-helpers.spec.js66 const xAnno = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/annotation-helpers.spec.js109 const annoEl = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/annotation-helpers.spec.js143 const annoEl = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/canvas-bar-tooltip.spec.js920 const read = c.w.globals.tooltip.intersect.getPaintedMark(CODE
CRITICALtests/unit/legend-show-for-null-series.spec.js29 ...chart.w.globals.dom.baseEl.querySelectorAll('.apexcharts-legend-series'),CODE
CRITICALtests/unit/points-annotations.spec.js42 const marker = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/points-annotations.spec.js67 const marker = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/points-annotations.spec.js87 const markers = chart.w.globals.dom.baseEl.querySelectorAll(CODE
CRITICALtests/unit/points-annotations.spec.js123 const label = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/points-annotations.spec.js146 const labels = chart.w.globals.dom.baseEl.querySelectorAll(CODE
CRITICALtests/unit/points-annotations.spec.js171 const label = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/points-annotations.spec.js204 const group = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/points-annotations.spec.js231 const groups = chart.w.globals.dom.baseEl.querySelectorAll(CODE
CRITICALtests/unit/points-annotations.spec.js265 const img = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/points-annotations.spec.js292 const images = chart.w.globals.dom.baseEl.querySelectorAll(CODE
CRITICALtests/unit/points-annotations.spec.js321 const marker = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/points-annotations.spec.js336 chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/points-annotations.spec.js340 chart.w.globals.dom.baseEl.querySelector('.apexcharts-annotation-tooltip')CODE
CRITICALtests/unit/points-annotations.spec.js508 const seriesTT = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/points-annotations.spec.js560 const parent = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/points-annotations.spec.js594 const parent = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/points-annotations.spec.js626 const group = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/canvas-renderer-updates.spec.js179 chart.w.dom.Paper.node.dispatchEvent(CODE
CRITICALtests/unit/category-axis-update.spec.js37const names = (c) => [1, 2, 3].map((i) => c.w.config.xaxis.labels.formatter(i))CODE
CRITICALtests/unit/issue-5251-autoscale-subpixel.spec.js146 brush.w.config.chart.events.selection(brush, {CODE
CRITICALtests/unit/yaxis-annotations.spec.js38 const line = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/yaxis-annotations.spec.js62 const el = chart.w.globals.dom.baseEl.querySelector('.my-yaxis-line')CODE
CRITICALtests/unit/yaxis-annotations.spec.js80 const lines = chart.w.globals.dom.baseEl.querySelectorAll(CODE
CRITICALtests/unit/yaxis-annotations.spec.js110 const rect = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/yaxis-annotations.spec.js133 const rect = chart.w.globals.dom.baseEl.querySelector(CODE
CRITICALtests/unit/yaxis-annotations.spec.js156 const el = chart.w.globals.dom.baseEl.querySelector('.my-yaxis-rect')CODE
90 more matches not shown…
Decorative Section Separators249 hits · 756 pts
SeverityFileLineSnippetContext
MEDIUM⚡tsconfig.json3 // ── Validation mode (no output files) ─────────────────────────────────────COMMENT
MEDIUM⚡tsconfig.json9 // ── Strictness — full strict mode ────────────────────COMMENT
MEDIUM⚡tsconfig.json12 // ── Module resolution ──────────────────────────────────────────────────────COMMENT
MEDIUM⚡tsconfig.json17 // ── Type resolution ────────────────────────────────────────────────────────COMMENT
MEDIUM⚡tsconfig.json23 // ── Paths ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/svg-animation.spec.js20// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/svg-animation.spec.js23// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/svg-animation.spec.js49// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/svg-animation.spec.js51// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/svg-animation.spec.js94// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/svg-animation.spec.js96// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/svg-animation.spec.js159// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/svg-animation.spec.js161// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/svg-animation.spec.js206// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/svg-animation.spec.js208// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/svg-animation.spec.js269// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/svg-animation.spec.js271// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/svg-math.spec.js11// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/svg-math.spec.js13// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/svg-math.spec.js93// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/svg-math.spec.js95// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/svg-math.spec.js228// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/svg-math.spec.js230// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/timescale.spec.js5// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/timescale.spec.js16// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/timescale.spec.js30// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/timescale.spec.js32// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/timescale.spec.js135// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/timescale.spec.js137// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/timescale.spec.js181// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/timescale.spec.js183// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/timescale.spec.js250// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/timescale.spec.js252// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/timescale.spec.js297// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/timescale.spec.js302// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/timescale.spec.js531// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/timescale.spec.js536// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/monotone-cubic.spec.js11// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/monotone-cubic.spec.js13// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/monotone-cubic.spec.js78// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/monotone-cubic.spec.js80// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/monotone-cubic.spec.js131// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/monotone-cubic.spec.js133// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/monotone-cubic.spec.js184// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/monotone-cubic.spec.js186// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/license-gating.spec.js82 // ── predicate: "in use", not "bundled" ────────────────────────────────────COMMENT
MEDIUMtests/unit/license-gating.spec.js153 // ── watermark presence on render ──────────────────────────────────────────COMMENT
MEDIUMtests/unit/license-gating.spec.js208 // ── key precedence + late licensing ───────────────────────────────────────COMMENT
MEDIUMtests/unit/license-gating.spec.js240 // ── async verdict reaches charts without a chart.id ───────────────────────COMMENT
MEDIUMtests/unit/license-gating.spec.js307 // ── plan entitlement: premium features need a Premium-or-above license ─────COMMENT
MEDIUMtests/unit/license-gating.spec.js408 // ── SSR / no-DOM + ordering ───────────────────────────────────────────────COMMENT
MEDIUMtests/unit/license-gating.spec.js427 // ── one state across module copies ────────────────────────────────────────COMMENT
MEDIUMtests/unit/log-axis-issue-repros.spec.js3// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/log-axis-issue-repros.spec.js10// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/log-axis-issue-repros.spec.js64// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/logarithmic-scale.spec.js17// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/logarithmic-scale.spec.js19// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/logarithmic-scale.spec.js116// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/logarithmic-scale.spec.js122// ─────────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/unit/logarithmic-scale.spec.js253// ─────────────────────────────────────────────────────────────────────────────COMMENT
189 more matches not shown…
Over-Commented Block219 hits · 203 pts
SeverityFileLineSnippetContext
LOWREADME.md181import 'apexcharts/line'COMMENT
LOWREADME.md201// import 'apexcharts/features/facet' // design tokens + OS themesCOMMENT
LOWtests/unit/collapsed-series-x.spec.js1import { describe, it, expect } from 'vitest'COMMENT
LOWtests/unit/config-hidden-series-baseline.spec.js1import { describe, it, expect } from 'vitest'COMMENT
LOWtests/unit/timescale.spec.js1import TimeScale from '../../src/modules/TimeScale'COMMENT
LOWtests/unit/border-radius-assignment.spec.js1import Helpers from '../../src/charts/common/bar/Helpers.js'COMMENT
LOWtests/unit/license-gating.spec.js241 //COMMENT
LOWtests/unit/axis-scale-invariants.spec.js1import { createChartWithOptions } from './utils/utils.js'COMMENT
LOWtests/unit/axis-scale-invariants.spec.js261 expect(pts[i].y).toBeCloseTo(linearPixel(v, min, max, h), 1)COMMENT
LOWtests/unit/bar-datalabels-update-reveal.spec.js1import { describe, it, expect } from 'vitest'COMMENT
LOWtests/unit/yaxis-more-axes-than-series.spec.js1import { createChartWithOptions } from './utils/utils.js'COMMENT
LOWtests/unit/stacked-100-data-labels.spec.js1import ApexCharts from '../../src/entries/standard.js'COMMENT
LOWtests/types/consumer-patterns.ts321 void html; void svg; void hydrated; void all; void doneCOMMENT
LOWtests/interaction/specs/morph-summary.spec.js481 const tip = Math.min(spans[0], spans[spans.length - 1])COMMENT
LOWtests/interaction/specs/stacked-ragged-x.spec.js361 }) => {COMMENT
LOWsamples/vanilla-js/misc/chart-type-morph.html161 // cards and the wiring for each. Every card holds one live chart and everyCOMMENT
LOWsamples/vanilla-js/unit/life-expectancy-swarm.html101 // A beeswarm: one dot per country, placed on a real life-expectancy axis andCOMMENT
LOWsamples/vanilla-js/unit/brand-logo-story.html241 </script>COMMENT
LOWsamples/vanilla-js/unit/brand-logo-story.html261 // 1. Overlapping subpaths UNION. The cup, its elliptical rim, its foot, theCOMMENT
LOWsamples/vanilla-js/unit/city-bubbles.html101 // A 2D bubble scatter: each bubble is a city, placed by average income (x) andCOMMENT
LOWsamples/vanilla-js/unit/logo-forge.html321 </script>COMMENT
LOWsamples/vanilla-js/unit/logo-forge.html341 // * every drawable SVG element is an SVGGeometryElement, so it answersCOMMENT
LOWsamples/vanilla-js/unit/logo-forge.html421 // One `d` can hold several subpaths (the ring and its counter, a dottedCOMMENT
LOWsamples/vanilla-js/unit/water-silhouette.html81 <script src="../../../dist/unit.js"></script>COMMENT
LOWsamples/vanilla-js/waffle/urban-small-multiples.html101 // Small-multiple waffles: ONE mini-waffle per country, each a 10x10 grid whereCOMMENT
LOWsamples/vanilla-js/boxPlot/same-box-different-data.html121 }COMMENT
LOWsamples/vanilla-js/trellis/traffic-by-country.html81 <script src="../../../dist/features/trellis.js"></script>COMMENT
LOWsamples/vanilla-js/trellis/department-by-quarter.html61 // Replace Math.random() with a pseudo-random number generator to get reproducible results in e2e testsCOMMENT
LOWsamples/vanilla-js/trellis/stock-performance-grid.html61 // Replace Math.random() with a pseudo-random number generator to get reproducible results in e2e testsCOMMENT
LOWsamples/vanilla-js/trellis/distribution-by-cohort.html61 // Replace Math.random() with a pseudo-random number generator to get reproducible results in e2e testsCOMMENT
LOWsamples/vue/misc/chart-type-morph.html161 <script>COMMENT
LOWsamples/vue/unit/life-expectancy-swarm.html101 <script src="../../../dist/unit.js"></script>COMMENT
LOWsamples/vue/unit/brand-logo-story.html241 return (_seed - 1) / 2147483646COMMENT
LOWsamples/vue/unit/brand-logo-story.html261 // like this authorable in pieces rather than as one traced contour:COMMENT
LOWsamples/vue/unit/city-bubbles.html101 <script src="../../../dist/unit.js"></script>COMMENT
LOWsamples/vue/unit/logo-forge.html321 return (_seed - 1) / 2147483646COMMENT
LOWsamples/vue/unit/logo-forge.html341 // this hands the problem to the geometry engine already in the browser:COMMENT
LOWsamples/vue/unit/logo-forge.html421 var k2 = m ? Math.sqrt(Math.abs(m.a * m.d - m.b * m.c)) || 1 : 1COMMENT
LOWsamples/vue/waffle/urban-small-multiples.html101 <script src="../../../dist/unit.js"></script>COMMENT
LOWsamples/vue/boxPlot/same-box-different-data.html121 _seed = (_seed * 16807) % 2147483647COMMENT
LOWsamples/vue/trellis/traffic-by-country.html81 </script>COMMENT
LOWsamples/vue/trellis/task-mix-by-team.html81 // Eight teams, the same seven tasks in the same order in every panel, oneCOMMENT
LOWsamples/vue/histogram/comparing-distributions.html81 // Replace Math.random() with a pseudo-random number generator to get reproducible results in e2e testsCOMMENT
LOWsamples/source/misc/chart-type-morph.xml141// engine rather than a rebuild.COMMENT
LOWsamples/source/misc/chart-type-morph.xml181}COMMENT
LOWsamples/source/unit/water-silhouette.xml61// Shared by the vanilla-js, React and Vue builds.COMMENT
LOWsamples/source/unit/water-silhouette.xml101// The whole extension point: objects in, positions out. No animation, noCOMMENT
LOWsamples/source/unit/brand-logo-story.xml221<scripts>COMMENT
LOWsamples/source/unit/brand-logo-story.xml241// saucer and the handle are five separate shapes that simply overlap, andCOMMENT
LOWsamples/source/unit/logo-forge.xml301<script src="../../../dist/unit-shapes.js"></script>COMMENT
LOWsamples/source/unit/logo-forge.xml321// come back already flattened.COMMENT
LOWsamples/source/boxPlot/same-box-different-data.xml101<scripts>COMMENT
LOWsamples/source/heatmap/calendar-heatmap.xml1<title>Calendar Heatmap</title>COMMENT
LOWsamples/source/trellis/stock-performance-grid.xml41 background: #fef3c7;COMMENT
LOWsamples/source/trellis/traffic-by-country.xml61// Twenty countries, sixty days of sessions each, on ONE shared y scale, soCOMMENT
LOWsamples/react/misc/chart-type-morph.html161 <script src="../../../dist/unit.js"></script>COMMENT
LOWsamples/react/unit/brand-logo-story.html261 // in a 0-100 box.COMMENT
LOWsamples/react/unit/logo-forge.html341 // four deep, `transform="matrix(...)"` on half of them, circles and rectsCOMMENT
LOWsamples/react/unit/logo-forge.html421 var n = Math.max(10, Math.round((g.len / totalLen) * SAMPLE_BUDGET))COMMENT
LOWsamples/react/waffle/urban-small-multiples.html101 }COMMENT
159 more matches not shown…
Fake / Example Data26 hits · 32 pts
SeverityFileLineSnippetContext
LOWtypes/apexcharts.d.ts1515 * Missing (row, column) combinations: 'placeholder' (default) mounts aCOMMENT
LOWtypes/apexcharts.d.ts1520 emptyPanels?: 'placeholder' | 'skip' | 'hide'CODE
LOWtests/unit/trellis-2d.spec.js172 it("'placeholder' (default) mounts a REAL panel for the missing combination", async () => {CODE
LOWtests/interaction/specs/trellis.spec.js931 * in 'placeholder' mode (the placeholder is a real panel on the sameCOMMENT
LOWtests/interaction/specs/trellis.spec.js937 test("missing combination stays pixel-aligned in 'placeholder' mode", async ({CODE
LOWsamples/vanilla-js/trellis/department-by-quarter.html78 // `emptyPanels: 'placeholder'` keeps the slot as a REAL panel on the sameCOMMENT
LOWsamples/vanilla-js/trellis/department-by-quarter.html146 <code>emptyPanels</code>: <code>'placeholder'</code> (default) mounts aCODE
LOW…les/vanilla-js/trellis/department-by-quarter.code.json10 "code": "// Four departments by four quarters: the 2-D grid IS the shape of the\n// question. Reading across a rowCODE
LOW…les/vanilla-js/trellis/department-by-quarter.code.json15 "code": "<!DOCTYPE html>\n<html>\n <head>\n <title>Trellis Chart - Department by Quarter (2-D Grid)</title>\n CODE
LOWsamples/vue/trellis/department-by-quarter.html80 // `emptyPanels: 'placeholder'` keeps the slot as a REAL panel on the sameCOMMENT
LOWsamples/vue/trellis/department-by-quarter.html151 <code>emptyPanels</code>: <code>'placeholder'</code> (default) mounts aCODE
LOWsamples/vue/trellis/department-by-quarter.code.json10 "code": "<template>\n <div>\n <div class=\"wrap\">\n <h1>Delivery hours, department by quarter</h1>\n CODE
LOWsamples/source/trellis/department-by-quarter.xml56// `emptyPanels: 'placeholder'` keeps the slot as a REAL panel on the sameCOMMENT
LOWsamples/source/trellis/department-by-quarter.xml124 <code>emptyPanels</code>: <code>'placeholder'</code> (default) mounts aCODE
LOWsamples/react/trellis/department-by-quarter.html83 // `emptyPanels: 'placeholder'` keeps the slot as a REAL panel on the sameCOMMENT
LOWsamples/react/trellis/department-by-quarter.html233 <code>emptyPanels</code>: <code>'placeholder'</code> (default) mountsCODE
LOWsamples/react/trellis/department-by-quarter.code.json10 "code": "import React from 'react'\nimport ReactApexChart from 'react-apexcharts'\nimport './styles.css'\n\nimportCODE
LOWsrc/modules/settings/Options.js302 // Missing (row, column) combinations: 'placeholder' mounts a realCOMMENT
LOWsrc/modules/settings/Options.js306 emptyPanels: 'placeholder',CODE
LOWsrc/modules/trellis/TrellisSplit.js295 * data form: the 'placeholder' emptyPanels mode mounts a REAL panel withCOMMENT
LOWsrc/modules/trellis/Trellis.js838 const emptyMode = this.cfg.emptyPanels || 'placeholder'CODE
LOWsrc/modules/trellis/Trellis.js891 // Empty combinations (P4): 'placeholder' mounts a REAL panel with anCOMMENT
LOWsrc/modules/trellis/Trellis.js896 const noMount = slice.empty && emptyMode !== 'placeholder'CODE
LOWsrc/modules/trellis/Trellis.js985 // Empty combination under 'placeholder' (P4): a real panel carrying oneCOMMENT
LOWsrc/modules/trellis/Trellis.js990 slice.empty && (this.cfg.emptyPanels || 'placeholder') === 'placeholder'CODE
LOWsrc/assets/apexcharts.css1509/* Empty (row, column) combinations. 'placeholder' keeps a REAL panel with aCOMMENT
Hyper-Verbose Identifiers23 hits · 23 pts
SeverityFileLineSnippetContext
LOWtests/interaction/specs/tooltip-short-plot.spec.js1126function expectTallPlotNoRoomBesideRow(t, row, label) {CODE
LOWsamples/vanilla-js/scatter/scatter-datetime.code.json8 "code": "/*\n// this function will generate output in this format\n// data = [\n [timestamp, 23],\n [timestaCODE
LOWsamples/vanilla-js/scatter/scatter-datetime.html52 function generateDayWiseTimeSeries(baseval, count, yrange) {CODE
LOW…mples/vanilla-js/dashboards/realtime/assets/scripts.js61function generateMinuteWiseTimeSeries(baseval, count, yrange) {CODE
LOW…illa-js/candlestick/candlestick-parsing-data.code.json8 "code": "// Seeded PRNG so the generated candles are identical on every load (stable\n// snapshots); the point of CODE
LOW…s/vanilla-js/candlestick/candlestick-parsing-data.html93 function generateSingleCandlestick(CODE
LOWsamples/vue/scatter/scatter-datetime.code.json8 "code": "<template>\n <div>\n <div id=\"chart\">\n <apexchart\n type=\"scatter\"\n height=\CODE
LOWsamples/vue/scatter/scatter-datetime.html54 function generateDayWiseTimeSeries(baseval, count, yrange) {CODE
LOW…les/vue/candlestick/candlestick-parsing-data.code.json8 "code": "<template>\n <div>\n <div id=\"chart\">\n <apexchart\n type=\"candlestick\"\n heigCODE
LOWsamples/vue/candlestick/candlestick-parsing-data.html95 function generateSingleCandlestick(CODE
LOWsamples/source/scatter/scatter-datetime.xml31function generateDayWiseTimeSeries(baseval, count, yrange) {CODE
LOWsamples/source/dashboards/realtime/assets/scripts.js61function generateMinuteWiseTimeSeries(baseval, count, yrange) {CODE
LOWsamples/source/candlestick/candlestick-parsing-data.xml66function generateSingleCandlestick(date, previousClose, minPrice = 120, maxPrice = 180) {CODE
LOWsamples/react/scatter/scatter-datetime.code.json8 "code": "import React from 'react'\nimport ReactApexChart from 'react-apexcharts'\nimport './styles.css'\n\n/*\n//CODE
LOWsamples/react/scatter/scatter-datetime.html57 function generateDayWiseTimeSeries(baseval, count, yrange) {CODE
LOW…s/react/candlestick/candlestick-parsing-data.code.json8 "code": "import React from 'react'\nimport ReactApexChart from 'react-apexcharts'\nimport './styles.css'\n\n// SeeCODE
LOWsamples/react/candlestick/candlestick-parsing-data.html98 function generateSingleCandlestick(CODE
LOWsrc/renderers/Renderer.js115export function hasCanvasUnsupportedFeature(w) {CODE
LOWsrc/modules/SeriesTransformRegistry.js73export function unregisterSeriesTransform(name) {CODE
LOWsrc/modules/Series.js115 function iterateOnAllCollapsedSeries(series) {CODE
LOWsrc/modules/tooltip/placement.js532function establishesFixedContainingBlock(cs) {CODE
LOWsrc/modules/license/LicenseEnforcer.js93export function markPerspectivesTokenDecoded() {CODE
LOWsrc/modules/license/LicenseEnforcer.js407export function reevaluateLicenseAcrossCharts() {CODE
Verbosity Indicators5 hits · 11 pts
SeverityFileLineSnippetContext
LOW⚡tests/unit/responsive.spec.js177 // Step 1: Activate a breakpoint (viewport < 1024)COMMENT
LOW⚡tests/unit/responsive.spec.js184 // Step 2: Resize above the breakpoint (viewport > 1024)COMMENT
LOW⚡tests/unit/responsive.spec.js322 // Step 1: Activate breakpointCOMMENT
LOW⚡tests/unit/responsive.spec.js328 // Step 2: Simulate series update (user calls updateSeries)COMMENT
LOW⚡tests/unit/responsive.spec.js331 // Step 3: Resize above breakpoint — config resets but series should be preservedCOMMENT
Structural Annotation Overuse5 hits · 11 pts
SeverityFileLineSnippetContext
LOW⚡tests/unit/responsive.spec.js177 // Step 1: Activate a breakpoint (viewport < 1024)COMMENT
LOW⚡tests/unit/responsive.spec.js184 // Step 2: Resize above the breakpoint (viewport > 1024)COMMENT
LOW⚡tests/unit/responsive.spec.js322 // Step 1: Activate breakpointCOMMENT
LOW⚡tests/unit/responsive.spec.js328 // Step 2: Simulate series update (user calls updateSeries)COMMENT
LOW⚡tests/unit/responsive.spec.js331 // Step 3: Resize above breakpoint — config resets but series should be preservedCOMMENT
Modern AI Meta-Vocabulary3 hits · 8 pts
SeverityFileLineSnippetContext
MEDIUMtests/unit/trellis-p3.spec.js2 * Trellis (#22, P3) in jsdom: scoped annotations, grid-tooltip scaffolding,COMMENT
MEDIUMtests/interaction/specs/null-segment-paths.spec.js174 await boot({ points: 10 }) // page scaffold + the libraryCODE
MEDIUMtests/interaction/specs/trellis.spec.js567 // The scaffold is complete up front: every cell and header exists.COMMENT
AI Slop Vocabulary3 hits · 8 pts
SeverityFileLineSnippetContext
MEDIUM…es/vue/line/line-with-annotations-zoom-level.code.json10 "code": "<template>\n <div>\n <div id=\"chart-zoomedchart\">\n <apexchart\n type=\"line\"\n CODE
MEDIUMsrc/modules/MorphTypeChange.js1663 // robust to future selector changes.COMMENT
MEDIUMsrc/modules/tooltip/Intersect.js136 // for SVG read the rendered <rect> (robust under any group transform).COMMENT