AI Slop Code Risk Monitor

plotly/plotly.js

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

Open-source JavaScript charting library behind Plotly and Dash

3.0 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for plotly/plotly.js, a JavaScript project with 18,373 GitHub stars. SynthScan examined 315,085 lines of code across 1240 source files, recording 272 pattern matches distributed across 12 syntactic categories. The legacy adjusted pattern signal is 3.0 (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.

3.0
Adjusted Signal
3.0
Raw Pattern Score
100%
Time Factor
2026-10-29
Last Push
18.4K
Stars
JavaScript
Language
315.1K
Lines of Code
1.2K
Files
272
Pattern Hits
2026-10-31
Scan Date
0.07
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 3.3/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 10.4/100 · LOW

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

Agent Over-Engineering Ratio 2.4/100 · LOW

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

PR Review Velocity Impact 13.3/100 · LOW

Which changes need focused human review? 272 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 40HIGH 41MEDIUM 30LOW 161

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 272 distinct pattern matches across 12 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 Indicators40 hits · 490 pts
SeverityFileLineSnippetContext
CRITICAL⚡test/jasmine/tests/quiver_test.js205 var quiverLayers = gd._fullLayout._plots.xy.plot.selectAll('.trace.quiver');CODE
CRITICAL⚡test/jasmine/tests/quiver_test.js211 var quiverLayers = gd._fullLayout._plots.xy.plot.selectAll('.trace.quiver');CODE
CRITICAL⚡test/jasmine/tests/quiver_test.js217 var quiverLayers = gd._fullLayout._plots.xy.plot.selectAll('.trace.quiver');CODE
CRITICALtest/jasmine/tests/quiver_test.js378 var quiverLayers = gd._fullLayout._plots.xy.plot.selectAll('.trace.quiver');CODE
CRITICALtest/jasmine/tests/template_test.js334 cleanMock.layout.template.data.bar.pop();CODE
CRITICALtest/jasmine/tests/geo_test.js144 expect(gd._fullLayout.geo._subplot.projection.rotate()[0]).toBeCloseTo(-239.99, 1, msg + ': rotation');CODE
CRITICAL⚡test/jasmine/tests/gl3d_plot_interact_test.js472 expect(gd._fullLayout.scene._scene.glplot.getAspectratio().x).toBeCloseTo(1);CODE
CRITICAL⚡test/jasmine/tests/gl3d_plot_interact_test.js473 expect(gd._fullLayout.scene._scene.glplot.getAspectratio().y).toBeCloseTo(1);CODE
CRITICAL⚡test/jasmine/tests/gl3d_plot_interact_test.js474 expect(gd._fullLayout.scene._scene.glplot.getAspectratio().z).toBeCloseTo(1);CODE
CRITICAL⚡test/jasmine/tests/gl3d_plot_interact_test.js475 expect(gd._fullLayout.scene2._scene.glplot.getAspectratio().x).toBeCloseTo(3);CODE
CRITICAL⚡test/jasmine/tests/gl3d_plot_interact_test.js476 expect(gd._fullLayout.scene2._scene.glplot.getAspectratio().y).toBeCloseTo(2);CODE
CRITICAL⚡test/jasmine/tests/gl3d_plot_interact_test.js477 expect(gd._fullLayout.scene2._scene.glplot.getAspectratio().z).toBeCloseTo(1);CODE
CRITICAL⚡test/jasmine/tests/gl3d_plot_interact_test.js498 expect(gd._fullLayout.scene._scene.glplot.getAspectratio().x).toBeCloseTo(1);CODE
CRITICAL⚡test/jasmine/tests/gl3d_plot_interact_test.js499 expect(gd._fullLayout.scene._scene.glplot.getAspectratio().y).toBeCloseTo(1);CODE
CRITICAL⚡test/jasmine/tests/gl3d_plot_interact_test.js500 expect(gd._fullLayout.scene._scene.glplot.getAspectratio().z).toBeCloseTo(1);CODE
CRITICAL⚡test/jasmine/tests/gl3d_plot_interact_test.js501 expect(gd._fullLayout.scene2._scene.glplot.getAspectratio().x).toBeCloseTo(3);CODE
CRITICAL⚡test/jasmine/tests/gl3d_plot_interact_test.js502 expect(gd._fullLayout.scene2._scene.glplot.getAspectratio().y).toBeCloseTo(2);CODE
CRITICAL⚡test/jasmine/tests/gl3d_plot_interact_test.js503 expect(gd._fullLayout.scene2._scene.glplot.getAspectratio().z).toBeCloseTo(1);CODE
CRITICAL⚡test/jasmine/tests/gl3d_plot_interact_test.js686 expect(gd._fullLayout.scene._scene.glplot.getAspectratio().x).toBeCloseTo(1);CODE
CRITICAL⚡test/jasmine/tests/gl3d_plot_interact_test.js687 expect(gd._fullLayout.scene._scene.glplot.getAspectratio().y).toBeCloseTo(1);CODE
CRITICAL⚡test/jasmine/tests/gl3d_plot_interact_test.js688 expect(gd._fullLayout.scene._scene.glplot.getAspectratio().z).toBeCloseTo(1);CODE
CRITICAL⚡test/jasmine/tests/gl3d_plot_interact_test.js689 expect(gd._fullLayout.scene2._scene.glplot.getAspectratio().x).toBeCloseTo(3);CODE
CRITICAL⚡test/jasmine/tests/gl3d_plot_interact_test.js690 expect(gd._fullLayout.scene2._scene.glplot.getAspectratio().y).toBeCloseTo(2);CODE
CRITICAL⚡test/jasmine/tests/gl3d_plot_interact_test.js691 expect(gd._fullLayout.scene2._scene.glplot.getAspectratio().z).toBeCloseTo(1);CODE
CRITICAL⚡test/jasmine/tests/gl3d_plot_interact_test.js715 expect(gd._fullLayout.scene._scene.glplot.getAspectratio().x).toBeCloseTo(1);CODE
CRITICAL⚡test/jasmine/tests/gl3d_plot_interact_test.js716 expect(gd._fullLayout.scene._scene.glplot.getAspectratio().y).toBeCloseTo(1);CODE
CRITICAL⚡test/jasmine/tests/gl3d_plot_interact_test.js717 expect(gd._fullLayout.scene._scene.glplot.getAspectratio().z).toBeCloseTo(1);CODE
CRITICAL⚡test/jasmine/tests/gl3d_plot_interact_test.js718 expect(gd._fullLayout.scene2._scene.glplot.getAspectratio().x).toBeCloseTo(3);CODE
CRITICAL⚡test/jasmine/tests/gl3d_plot_interact_test.js719 expect(gd._fullLayout.scene2._scene.glplot.getAspectratio().y).toBeCloseTo(2);CODE
CRITICAL⚡test/jasmine/tests/gl3d_plot_interact_test.js720 expect(gd._fullLayout.scene2._scene.glplot.getAspectratio().z).toBeCloseTo(1);CODE
CRITICAL⚡test/jasmine/tests/gl3d_plot_interact_test.js1193 expect(gd._fullLayout.scene._scene.glplot.getAspectratio().x).toBeCloseTo(1);CODE
CRITICAL⚡test/jasmine/tests/gl3d_plot_interact_test.js1194 expect(gd._fullLayout.scene._scene.glplot.getAspectratio().y).toBeCloseTo(1);CODE
CRITICAL⚡test/jasmine/tests/gl3d_plot_interact_test.js1195 expect(gd._fullLayout.scene._scene.glplot.getAspectratio().z).toBeCloseTo(1);CODE
CRITICAL⚡test/jasmine/tests/gl3d_plot_interact_test.js1196 expect(gd._fullLayout.scene2._scene.glplot.getAspectratio().x).toBeCloseTo(3);CODE
CRITICAL⚡test/jasmine/tests/gl3d_plot_interact_test.js1197 expect(gd._fullLayout.scene2._scene.glplot.getAspectratio().y).toBeCloseTo(2);CODE
CRITICAL⚡test/jasmine/tests/gl3d_plot_interact_test.js1198 expect(gd._fullLayout.scene2._scene.glplot.getAspectratio().z).toBeCloseTo(1);CODE
CRITICALtest/jasmine/tests/splom_test.js742 const gridData = gd._fullLayout._splomGrid.update.calls.mostRecent().args[0];CODE
CRITICALtest/jasmine/tests/map_test.js1459 const { lng, lat } = gd._fullLayout.map._subplot.map.getCenter();CODE
CRITICALsrc/traces/parcats/parcats.js516 Fx.loneUnhover(d.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node());CODE
CRITICALsrc/traces/parcats/parcats.js1146 Fx.loneUnhover(d.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node());CODE
Cross-Language Confusion (JS/TS)41 hits · 200 pts
SeverityFileLineSnippetContext
HIGH⚡test/jasmine/tests/draw_newshape_test.js1303 print(obj);CODE
HIGH⚡test/jasmine/tests/draw_newshape_test.js1313 print(obj);CODE
HIGH⚡test/jasmine/tests/draw_newshape_test.js1323 print(obj);CODE
HIGH⚡test/jasmine/tests/draw_newshape_test.js1347 print(obj);CODE
HIGH⚡test/jasmine/tests/draw_newshape_test.js1357 print(obj);CODE
HIGH⚡test/jasmine/tests/draw_newshape_test.js1367 print(obj);CODE
HIGH⚡test/jasmine/tests/draw_newshape_test.js1390 print(obj);CODE
HIGH⚡test/jasmine/tests/draw_newshape_test.js1400 print(obj);CODE
HIGH⚡test/jasmine/tests/draw_newshape_test.js1410 print(obj);CODE
HIGHtest/jasmine/tests/draw_newshape_test.js791 print(obj);CODE
HIGHtest/jasmine/tests/draw_newshape_test.js810 print(obj);CODE
HIGHtest/jasmine/tests/draw_newshape_test.js828 print(obj);CODE
HIGHtest/jasmine/tests/draw_newshape_test.js858 print(obj);CODE
HIGHtest/jasmine/tests/draw_newshape_test.js882 print(obj);CODE
HIGHtest/jasmine/tests/draw_newshape_test.js906 print(obj);CODE
HIGHtest/jasmine/tests/draw_newshape_test.js922 print(obj);CODE
HIGHtest/jasmine/tests/draw_newshape_test.js938 print(obj);CODE
HIGHtest/jasmine/tests/draw_newshape_test.js1114 print(obj);CODE
HIGHtest/jasmine/tests/draw_newshape_test.js1135 print(obj);CODE
HIGHtest/jasmine/tests/draw_newshape_test.js1156 print(obj);CODE
HIGHtest/jasmine/tests/draw_newshape_test.js1177 print(obj);CODE
HIGHtest/jasmine/tests/draw_newshape_test.js1198 print(obj);CODE
HIGHtest/jasmine/tests/draw_newshape_test.js1248 print(obj);CODE
HIGHtest/jasmine/tests/draw_newshape_test.js1269 print(obj);CODE
HIGHtest/jasmine/tests/draw_newshape_test.js1764 print(obj);CODE
HIGHtest/jasmine/tests/draw_newshape_test.js1785 print(obj);CODE
HIGHtest/jasmine/tests/draw_newshape_test.js1806 print(obj);CODE
HIGHtest/jasmine/tests/draw_newshape_test.js1827 print(obj);CODE
HIGHtest/jasmine/tests/draw_newshape_test.js1848 print(obj);CODE
HIGHtest/jasmine/tests/draw_newshape_test.js1898 print(obj);CODE
HIGHtest/jasmine/tests/draw_newshape_test.js1919 print(obj);CODE
HIGHtest/jasmine/tests/draw_newselection_test.js305 print(obj);CODE
HIGHtest/jasmine/tests/draw_newselection_test.js324 print(obj);CODE
HIGHtest/jasmine/tests/draw_newselection_test.js458 print(obj);CODE
HIGHtest/jasmine/tests/draw_newselection_test.js481 print(obj);CODE
HIGHtest/jasmine/tests/draw_newselection_test.js508 print(obj);CODE
HIGHtest/jasmine/tests/draw_newselection_test.js535 print(obj);CODE
HIGHtest/jasmine/tests/draw_newselection_test.js562 print(obj);CODE
HIGHtest/jasmine/tests/draw_newselection_test.js618 print(obj);CODE
HIGHtest/jasmine/tests/draw_newselection_test.js630 print(obj);CODE
HIGHtest/jasmine/tests/draw_newselection_test.js646 print(obj);CODE
Hyper-Verbose Identifiers106 hits · 108 pts
SeverityFileLineSnippetContext
LOWtest/jasmine/tests/shapes_test.js39function getResizeLineOverStartPointElement(index) {CODE
LOWtest/jasmine/tests/shapes_test.js46function getResizeLineOverEndPointElement(index) {CODE
LOW⚡test/jasmine/tests/shapes_test.js194function countShapeLowerLayerNodes() {CODE
LOW⚡test/jasmine/tests/shapes_test.js198function countShapeUpperLayerNodes() {CODE
LOW⚡test/jasmine/tests/shapes_test.js202function countShapeLayerNodesInSubplots() {CODE
LOW⚡test/jasmine/tests/shapes_test.js210function countShapePathsInLowerLayer() {CODE
LOW⚡test/jasmine/tests/shapes_test.js214function countShapePathsInUpperLayer() {CODE
LOW⚡test/jasmine/tests/shapes_test.js218function countShapePathsInSubplots() {CODE
LOWtest/jasmine/tests/range_slider_test.js30function countRangeSliderClipPaths() {CODE
LOWtest/jasmine/tests/geo_test.js1450 function countScatterGeoTextGroups() {CODE
LOWtest/jasmine/tests/bar_test.js1691 function assertNonSelectionModeStyle(label) {CODE
LOWtest/jasmine/tests/gl3d_plot_interact_test.js1765 function assertAnnotationCntPerScene(id, cnt) {CODE
LOWtest/jasmine/tests/selections_test.js105function countSelectionPathsInGraph() {CODE
LOWtest/jasmine/tests/hover_test.js2016 function assertSecondaryRightToPrimaryBox(nodes, msgPrefix) {CODE
LOWtest/jasmine/tests/select_test.js1260 function resetAndSelect() {CODE
LOWtest/jasmine/tests/select_test.js1266 function resetAndLasso() {CODE
LOWtest/jasmine/tests/select_test.js1515 function assertSelectedPointNumbers(pointNumbers) {CODE
LOWtest/jasmine/tests/animate_test.js72 function verifyFrameTransitionOrder(gd, expectedFrames) {CODE
LOWtest/jasmine/tests/cartesian_interact_test.js922 function assertSubplotTranslateAndScale(msg, spIds, trans, scale) {CODE
LOWtest/jasmine/tests/config_test.js44 function compareLayoutAndFullLayout(gd) {CODE
LOWtest/jasmine/tests/titles_test.js512 function expectHorizontalEdgeAligned(elemSelector, edgeKey) {CODE
LOWtest/jasmine/tests/titles_test.js523 function expectCapLineAlignsWithTopEdgeOf(elemSelector) {CODE
LOWtest/jasmine/tests/titles_test.js542 function expectBaselineAlignsWithBottomEdgeOf(elemSelector) {CODE
LOWtest/jasmine/tests/titles_test.js568 function expectCenteredVerticallyWithin(elemSelector) {CODE
LOWtest/jasmine/tests/titles_test.js1198function expectDefaultCenteredPosition(gd) {CODE
LOWtest/jasmine/tests/titles_test.js1205function expectBaselineInMiddleOfTopMargin(gd) {CODE
LOWtest/jasmine/tests/plots_test.js137 function testSanitizeMarginsHasBeenCalledOnlyOnce(gd) {CODE
LOWtest/jasmine/tests/domain_ref_interact_test.js158 function testAnnotationMoveLabelItFun(color, x, y) {CODE
LOWtest/jasmine/tests/domain_ref_interact_test.js167 function testAnnotationMoveWholeItFun(color, arrowColor, x, y, corner) {CODE
LOWtest/jasmine/assets/custom_matchers.js24 function populateUndefinedArrayEls(x) {CODE
LOWtest/jasmine/assets/domain_ref_components.js651function describeAnnotationComboTest(combo) {CODE
LOWtest/jasmine/assets/domain_ref_components.js749function annotationTestDescriptions() {CODE
LOWsrc/registry.js325function mergeComponentAttrsToTrace(componentName, traceType) {CODE
LOWsrc/registry.js335function mergeComponentAttrsToSubplot(componentName, subplotName) {CODE
LOWsrc/traces/parcats/parcats.js642function selectPathsThroughCategoryBandColor(catBandViewModel) {CODE
LOWsrc/traces/parcats/parcats.js664function styleForCategoryHovermode(bandElement) {CODE
LOWsrc/traces/parcats/parcats.js718function emitPointsEventCategoryHovermode(bandElement, eventName, event) {CODE
LOWsrc/traces/parcats/parcats.js749function emitPointsEventColorHovermode(bandElement, eventName, event) {CODE
LOWsrc/traces/parcats/parcats.js781function createHoverLabelForCategoryHovermode(gd, rootBBox, bandElement) {CODE
LOWsrc/traces/parcats/parcats.js863function createHoverLabelForDimensionHovermode(gd, rootBBox, bandElement) {CODE
LOWsrc/traces/parcats/parcats.js886function createHoverLabelForColorHovermode(gd, rootBBox, bandElement) {CODE
LOWsrc/traces/parcats/parcats.js1860function updateDimensionViewModels(parcatsViewModel) {CODE
LOWsrc/traces/parcats/calc.js446function validateDimensionDisplayInds(visibleDims) {CODE
LOWsrc/traces/parcats/calc.js467function validateCategoryProperties(dim, uniqueInfoDim) {CODE
LOWsrc/traces/sankey/render.js131 function computeLinkConcentrations() {CODE
LOWsrc/traces/sankey/render.js200 function resolveCollisionsTopToBottom(columns) {CODE
LOWsrc/traces/sankey/render.js357function createCircularClosedPathString(link, arrowLen) {CODE
LOWsrc/traces/sankey/render.js835function persistFinalNodePositions(d, gd) {CODE
LOWsrc/traces/sankey/defaults.js113function concentrationscalesDefaults(In, Out) {CODE
LOWsrc/traces/parcoords/axisbrush.js62function backgroundBarHorizontalSetup(selection) {CODE
LOWsrc/traces/parcoords/parcoords.js357function parcoordsInteractionState() {CODE
LOWsrc/traces/contour/constraint_defaults.js47function handleConstraintValueDefaults(coerce, contours) {CODE
LOWsrc/traces/image/plot.js91 function drawMagnifiedPixelsOnCanvas(readPixel) {CODE
LOWsrc/traces/pie/plot.js841function getInscribedRadiusFraction(pt, cd0) {CODE
LOWsrc/traces/scatter/hover.js122 function isHoverPointInFillElement(el) {CODE
LOWsrc/traces/scatter/line_points.js155 function getLinearEdgeIntersections(pt1, pt2) {CODE
LOWsrc/traces/table/plot.js849function setCellHeightAndPositionY(columnCell) {CODE
LOWsrc/traces/heatmap/label_defaults.js5module.exports = function handleHeatmapLabelDefaults(coerce, layout) {CODE
LOWsrc/traces/bar/style.js72function stylePointsInSelectionMode(s, trace, gd) {CODE
LOWsrc/traces/bar/cross_trace_calc.js227function setGroupPositionsInOverlayMode(gd, pa, sa, calcTraces, opts) {CODE
46 more matches not shown…
Decorative Section Separators14 hits · 42 pts
SeverityFileLineSnippetContext
MEDIUM.github/workflows/ci.yml50 # ============================================================COMMENT
MEDIUM.github/workflows/ci.yml52 # ============================================================COMMENT
MEDIUM.github/workflows/ci.yml83 # ============================================================COMMENT
MEDIUM.github/workflows/ci.yml85 # ============================================================COMMENT
MEDIUM.github/workflows/ci.yml256 # ============================================================COMMENT
MEDIUM.github/workflows/ci.yml258 # ============================================================COMMENT
MEDIUM.github/workflows/ci.yml274 # ============================================================COMMENT
MEDIUM.github/workflows/ci.yml276 # ============================================================COMMENT
MEDIUM.github/workflows/ci.yml505 # ============================================================COMMENT
MEDIUM.github/workflows/ci.yml507 # ============================================================COMMENT
MEDIUM.github/workflows/ci.yml553 # ============================================================COMMENT
MEDIUM.github/workflows/ci.yml555 # ============================================================COMMENT
MEDIUM.github/workflows/ci.yml687 # ============================================================COMMENT
MEDIUM.github/workflows/ci.yml689 # ============================================================COMMENT
Over-Commented Block39 hits · 39 pts
SeverityFileLineSnippetContext
LOWtsconfig.build.json1{COMMENT
LOWtest/jasmine/karma.conf.js281 'devtools.toolbox.previousHost': 'bottom',COMMENT
LOWtest/jasmine/tests/geo_test.js2181 // 'location', 'text', 'marker.size'COMMENT
LOWtest/jasmine/tests/scattermap_test.js1041 // This test passed previously, but only because assets/clickCOMMENT
LOWtest/jasmine/tests/cartesian_interact_test.js361 function makePlot(constrainScales, layoutEdits) {COMMENT
LOWtest/jasmine/tests/click_test.js81 });COMMENT
LOWtest/jasmine/tests/lib_test.js701 // container arrays are not multiply nested.COMMENT
LOWtest/jasmine/tests/sankey_test.js2041 });COMMENT
LOWtest/jasmine/bundle_tests/mathjax_test.js101 .then(done, done.fail);COMMENT
LOWtest/jasmine/assets/pixel_calc.js1'use strict';COMMENT
LOWtest/jasmine/assets/domain_ref_components.js1// Test the placement of Axis Referencing Objects (AROs)COMMENT
LOWtest/jasmine/assets/domain_ref_components.js141 break;COMMENT
LOWtest/jasmine/assets/domain_ref_components.js201 return aro;COMMENT
LOWsrc/traces/cone/attributes.js41 description: 'Sets the z components of the vector field.'COMMENT
LOWsrc/traces/cone/attributes.js61 // // - (x|y|z)grid.startCOMMENT
LOWsrc/traces/carpet/compute_control_points.js141 // This loop fills in the X'd points:COMMENT
LOWsrc/traces/carpet/compute_control_points.js161 // je = (j) (e)xpanded:COMMENT
LOWsrc/traces/carpet/compute_control_points.js221 [xe[je][nea - 4], ye[je][nea - 4]]COMMENT
LOWsrc/traces/carpet/compute_control_points.js281 // Do one more pass, this time recomputing exactly what we just computed.COMMENT
LOWsrc/traces/carpet/smooth_fill_2d_array.js181 // Jacobi updates are ridiculously slow to converge, so this approach uses aCOMMENT
LOWsrc/traces/contourcarpet/plot.js61 // Constraints might need to be draw inverted, which is not something contoursCOMMENT
LOWsrc/traces/contourcarpet/defaults.js21COMMENT
LOWsrc/traces/scatter/stack_defaults.js61 // (or the first trace) specify that attribute, theCOMMENT
LOWsrc/traces/bar/constants.ts1// Padding in pixels around textCOMMENT
LOWsrc/types/lib/common.d.ts61COMMENT
LOWsrc/components/fx/hover.js61// evt can be a mousemove event, or an object with data about what pointsCOMMENT
LOWsrc/components/fx/hover.js1881 }COMMENT
LOWsrc/components/fx/hover.js1921 text = text.replace(EXTRA_STRING_REGEX, (_, extra) => {COMMENT
LOWsrc/components/colorbar/draw.js81 return extendFlat(opts, {COMMENT
LOWsrc/lib/keyed_container.js1'use strict';COMMENT
LOWsrc/lib/index.js921 data[prop] = data[prop] || [];COMMENT
LOWsrc/lib/slugify.js1'use strict';COMMENT
LOWsrc/plot_api/plot_api.js3701 // height & width of the graph div.COMMENT
LOWsrc/plots/plots.js221COMMENT
LOWsrc/plots/cartesian/dragbox.js41// inputs:COMMENT
LOWsrc/plots/cartesian/dragbox.js61 var xa0, ya0;COMMENT
LOWsrc/plots/cartesian/axes.js1541// inputs:COMMENT
LOWsrc/plots/cartesian/axes.js2221}COMMENT
LOWsrc/plots/map/layout_defaults.js41COMMENT
AI Slop Vocabulary16 hits · 38 pts
SeverityFileLineSnippetContext
MEDIUMtest/jasmine/tests/gl3d_plot_interact_test.js1631 // more robust (especially on CI) than update camera via mouse eventsCOMMENT
MEDIUMtest/jasmine/tests/gl3d_plot_interact_test.js1642 // 300 was not robust for me (AJ), 500 seems to be.COMMENT
MEDIUMtest/jasmine/tests/hover_test.js2116 // Be robust against floating point arithmetic and subtle future layout changesCOMMENT
MEDIUMtopojson/package-lock.json1070 "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz",CODE
MEDIUMstackgl_modules/package-lock.json2689 "resolved": "https://registry.npmjs.org/robust-compress/-/robust-compress-1.0.0.tgz",CODE
MEDIUMstackgl_modules/package-lock.json2695 "resolved": "git+ssh://git@github.com/plotly/robust-determinant.git#0414d049016d32d18f7dae934cb7d5968e00504a",CODE
MEDIUMstackgl_modules/package-lock.json2706 "resolved": "https://registry.npmjs.org/robust-dot-product/-/robust-dot-product-1.0.0.tgz",CODE
MEDIUMstackgl_modules/package-lock.json2716 "resolved": "https://registry.npmjs.org/robust-in-sphere/-/robust-in-sphere-1.2.1.tgz",CODE
MEDIUMstackgl_modules/package-lock.json2728 "resolved": "git+ssh://git@github.com/plotly/robust-linear-solve.git#c9deb96692f9b9c1479bc92a40e0cc985480ecef",CODE
MEDIUMstackgl_modules/package-lock.json2736 "resolved": "https://registry.npmjs.org/robust-orientation/-/robust-orientation-1.2.1.tgz",CODE
MEDIUM⚡stackgl_modules/package-lock.json2748 "resolved": "https://registry.npmjs.org/robust-product/-/robust-product-1.0.0.tgz",CODE
MEDIUM⚡stackgl_modules/package-lock.json2758 "resolved": "https://registry.npmjs.org/robust-scale/-/robust-scale-1.0.2.tgz",CODE
MEDIUM⚡stackgl_modules/package-lock.json2768 "resolved": "https://registry.npmjs.org/robust-segment-intersect/-/robust-segment-intersect-1.0.1.tgz",CODE
MEDIUM⚡stackgl_modules/package-lock.json2777 "resolved": "https://registry.npmjs.org/robust-subtract/-/robust-subtract-1.0.0.tgz",CODE
MEDIUM⚡stackgl_modules/package-lock.json2783 "resolved": "https://registry.npmjs.org/robust-sum/-/robust-sum-1.0.0.tgz",CODE
MEDIUMsrc/plot_api/plot_api.js479 // stash <base> href, used to make robust clipPath URLsCOMMENT
Structural Annotation Overuse9 hits · 20 pts
SeverityFileLineSnippetContext
LOW⚡CONTRIBUTING.md96#### Step 1: Fork the plotly.js repository, clone your fork and step into itCOMMENT
LOW⚡CONTRIBUTING.md103#### Step 2: Switch to a dev branchCOMMENT
LOW⚡CONTRIBUTING.md110#### Step 3: Install dependenciesCOMMENT
LOW⚡CONTRIBUTING.md116#### Step 4: Setup test environmentCOMMENT
LOW⚡CONTRIBUTING.md122#### Step 5: Start the test dashboardCOMMENT
LOW⚡CONTRIBUTING.md130#### Step 6: Open up the console and start developingCOMMENT
LOW⚡CONTRIBUTING.md158#### Step 7: Regenerate plot-schema in "test" folder then review & commit potential changesCOMMENT
LOW⚡CONTRIBUTING.md164#### Step 8: Review & commit potential changes made to test/plot-schema.jsonCOMMENT
LOW⚡CONTRIBUTING.md170#### Step 9: REGL - Review & commit potential changes to precompiled regl shadersCOMMENT
Excessive Try-Catch Wrapping2 hits · 2 pts
SeverityFileLineSnippetContext
LOWtest/image/make_baseline.py159 except Exception as e:CODE
LOWtest/image/make_exports.py62 except Exception as e:CODE
Deep Nesting2 hits · 2 pts
SeverityFileLineSnippetContext
LOWtest/image/make_baseline.py88CODE
LOWtest/image/convert_b64.py28CODE
Slop Phrases1 hit · 2 pts
SeverityFileLineSnippetContext
LOWsrc/components/shapes/draw.js545 // TODO: implement path resize, don't forget to update dragMode codeCOMMENT
TODO Padding1 hit · 2 pts
SeverityFileLineSnippetContext
LOWsrc/components/shapes/draw.js545 // TODO: implement path resize, don't forget to update dragMode codeCOMMENT
Unused Imports1 hit · 1 pts
SeverityFileLineSnippetContext
LOWtest/image/generate_b64_mocks.py4CODE