Community-built comprehensive 2D content creation appplication for graphic design, digital art, and interactive real-time motion graphics powered by a node-based procedural graphics engine
This report summarizes scanner evidence for GraphiteEditor/Graphite, a Rust project with 27,789 GitHub stars. SynthScan examined 319,752 lines of code across 1114 source files, recording 350 pattern matches distributed across 8 syntactic categories. The legacy adjusted pattern signal is 1.6 (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.
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.
Can maintainers explain intent, assumptions, and trade-offs? 309 finding(s).
Are imports declared and package/API names verified? 41 finding(s).
Are wrappers, guards, and repeated structures necessary? 39 finding(s).
Which changes need focused human review? 350 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 350 distinct pattern matches across 8 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 | deny.toml | 1 | # This template contains all of the possible sections and their default values | COMMENT |
| LOW | deny.toml | 21 | targets = [ | COMMENT |
| LOW | deny.toml | 41 | ignore = [ | COMMENT |
| LOW | deny.toml | 81 | "Zlib", # Keep this list in sync with those in `/about.toml` | COMMENT |
| LOW | deny.toml | 101 | # licensing information | COMMENT |
| LOW | deny.toml | 121 | # published to private registries | COMMENT |
| LOW | deny.toml | 141 | # * lowest-version - The path to the lowest versioned duplicate is highlighted | COMMENT |
| LOW | deny.toml | 161 | #{ name = "ansi_term", version = "=0.11.0" }, | COMMENT |
| LOW | deny.toml | 181 | unknown-git = "warn" | COMMENT |
| LOW | rustfmt.toml | 1 | edition = "2024" | COMMENT |
| LOW | tools/web-editor-driver/src/main.rs | 41 | /// The port to serve on, which `start` then opens. | COMMENT |
| LOW | tools/web-editor-driver/src/main.rs | 81 | /// Move the pointer. | COMMENT |
| LOW | tools/web-editor-driver/src/main.rs | 121 | #[command(flatten)] | COMMENT |
| LOW | tools/web-editor-driver/src/main.rs | 141 | x1: f64, | COMMENT |
| LOW | tools/web-editor-driver/src/main.rs | 221 | }, | COMMENT |
| LOW | tools/web-editor-driver/src/main.rs | 261 | /// The commands, as a JSON array. | COMMENT |
| LOW | frontend/wrapper/src/helpers.rs | 281 | // "Numpad6" => KeyNumpad6, | COMMENT |
| LOW | frontend/src/vite-env.d.ts | 1 | /// <reference types="svelte" /> | COMMENT |
| LOW | frontend/src/utility-functions/keyboard-entry.ts | 21 | // Directly using `KeyboardEvent.code` scan code only works on a US QWERTY layout, because alternate layouts like | COMMENT |
| LOW | frontend/src/components/layout/FloatingMenu.svelte | 401 | window.removeEventListener("pointerup", pointerUpHandler); | COMMENT |
| LOW | …ntend/src/components/widgets/inputs/NumberInput.svelte | 81 | // Stays in sync with a binding to the actual input range slider element. | COMMENT |
| LOW | …ntend/src/components/widgets/inputs/NumberInput.svelte | 541 | removeEventListener("keydown", incrementPressAbort); | COMMENT |
| LOW | …ntend/src/components/widgets/inputs/NumberInput.svelte | 601 | function beginDrag(e: PointerEvent) { | COMMENT |
| LOW | …ntend/src/components/widgets/inputs/NumberInput.svelte | 741 | // =============================== | COMMENT |
| LOW | …ntend/src/components/widgets/inputs/NumberInput.svelte | 941 | // Detect when all mouse buttons are released so we can exit the "Aborted" state and return to the "Ready" state. | COMMENT |
| LOW | …ntend/src/components/widgets/inputs/SliderInput.svelte | 41 | // True if this drag began with an insertion (so cancel must delete the inserted marker). | COMMENT |
| LOW | website/sass/base.scss | 721 | // position: relative; | COMMENT |
| LOW | website/sass/base.scss | 741 | // transform: rotate(180deg); | COMMENT |
| LOW | libraries/dyn-any/derive/src/lib.rs | 1 | #![doc(html_root_url = "http://docs.rs/dyn-any-derive/0.1.0")] | COMMENT |
| LOW | libraries/dyn-any/derive/src/lib.rs | 21 | /// # use dyn_any::{DynAny, StaticType}; | COMMENT |
| LOW | libraries/wgpu-sync/src/lib.rs | 1 | //! Wraps wgpu types to provide synchronization against surface configuration. | COMMENT |
| LOW | desktop/bundle/src/mac.rs | 141 | #[derive(serde::Serialize)] | COMMENT |
| LOW | desktop/bundle/src/mac.rs | 161 | cf_bundle_version: String, | COMMENT |
| LOW | desktop/bundle/src/mac.rs | 181 | #[serde(skip_serializing_if = "Option::is_none")] | COMMENT |
| LOW | desktop/embedded-resources/src/lib.rs | 1 | //! This crate provides `EMBEDDED_RESOURCES` that can be included in the desktop application binary. | COMMENT |
| LOW | document/container/src/lib.rs | 1 | //! Container abstraction for the on-disk side of the `.gdd` document format. | COMMENT |
| LOW | document/container/src/archive.rs | 1 | //! Archive codecs (zip, xz). | COMMENT |
| LOW | document/format/src/export.rs | 21 | Folder, | COMMENT |
| LOW | document/format/src/error.rs | 21 | pub enum Error { | COMMENT |
| LOW | document/format/src/error.rs | 41 | /// The manifest's `format` field is not the `.gdd` magic, so this is not a `.gdd` document. | COMMENT |
| LOW | document/format/src/lib.rs | 1 | //! Typed handle for `.gdd` documents. | COMMENT |
| LOW | document/format/src/lib.rs | 61 | /// Editor-facing handle. Owns the `Session` and the working-copy container; mutations are mirrored | COMMENT |
| LOW | document/graph-storage/src/session.rs | 61 | } | COMMENT |
| LOW | document/graph-storage/src/history.rs | 1 | //! Retired delta history: the durable, append-only DAG of committed deltas. | COMMENT |
| LOW | document/graph-storage/src/to_runtime.rs | 221 | exports: convert_exports(registry, id, network)?, | COMMENT |
| LOW | document/graph-storage/src/document.rs | 21 | /// The registry as of the last retirement, with no un-retired hot ops applied. Retirement computes | COMMENT |
| LOW | document/graph-storage/src/schema/session_state.rs | 1 | //! Persistent cursor state for the local peer. Separate from the document manifest because the | COMMENT |
| LOW | document/graph-storage/src/schema/session_state.rs | 21 | /// Local-chain cursor. Points at the most recently applied retired delta, or `None` on an empty | COMMENT |
| LOW | document/graph-storage/src/schema/session_state.rs | 41 | /// so kept out of the CRDT/history. Editor owns the keys/values (opaque `ui::doc::*` blobs). | COMMENT |
| LOW | document/graph-storage/src/schema/ids.rs | 1 | use serde::{Deserialize, Serialize}; | COMMENT |
| LOW | document/graph-storage/src/schema/delta.rs | 41 | ChangeNodeInput { | COMMENT |
| LOW | .github/workflows/comment-!build-commands.yml | 1 | # USAGE: | COMMENT |
| LOW | proc-macros/src/lib.rs | 21 | use crate::helper_structs::AttrInnerSingleString; | COMMENT |
| LOW | proc-macros/src/lib.rs | 41 | /// # Attributes on the Discriminant | COMMENT |
| LOW | proc-macros/src/lib.rs | 61 | /// #[discriminant_attr(repr(u8))] | COMMENT |
| LOW | proc-macros/src/lib.rs | 81 | /// | COMMENT |
| LOW | proc-macros/src/lib.rs | 101 | /// } | COMMENT |
| LOW | proc-macros/src/lib.rs | 121 | /// | COMMENT |
| LOW | proc-macros/src/lib.rs | 141 | /// ``` | COMMENT |
| LOW | proc-macros/src/lib.rs | 161 | /// #[derive(TransitiveChild, AsMessage, Copy, Clone)] | COMMENT |
| 186 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | editor/src/dispatcher.rs | 500 | let listener_count = |editor: &EditorTestUtils| editor.editor.dispatcher.message_handlers.broadcast_message_handler.li | CODE |
| CRITICAL | …folio/document/utility_types/network_interface/view.rs | 97 | DocumentNodeImplementation::Definition(id) => self.interface.network_metadata.persistent_metadata.definitions.get(id) | CODE |
| CRITICAL | …ool/transform_layer/transform_layer_message_handler.rs | 1093 | editor.editor.dispatcher.message_handlers.tool_message_handler.snap_session.shown().is_some() | CODE |
| CRITICAL | editor/src/messages/tool/tool_messages/pen_tool.rs | 2755 | editor.editor.dispatcher.message_handlers.tool_message_handler.transform_layer_handler.is_transforming() | CODE |
| CRITICAL | editor/src/messages/tool/tool_messages/artboard_tool.rs | 1007 | let shows_an_attempt = |editor: &EditorTestUtils| editor.editor.dispatcher.message_handlers.tool_message_handler.snap_ | CODE |
| CRITICAL | editor/src/messages/tool/tool_messages/select_tool.rs | 2813 | assert!(editor.editor.dispatcher.message_handlers.tool_message_handler.snap_session.shown().is_none()); | CODE |
| CRITICAL | editor/src/messages/tool/tool_messages/select_tool.rs | 2905 | assert!(editor.editor.dispatcher.message_handlers.tool_message_handler.snap_session.shown().is_none()); | CODE |
| CRITICAL | editor/src/messages/tool/tool_messages/select_tool.rs | 2948 | let shows_an_attempt = |editor: &EditorTestUtils| editor.editor.dispatcher.message_handlers.tool_message_handler.snap_ | CODE |
| CRITICAL | editor/src/messages/tool/tool_messages/path_tool.rs | 3844 | editor.editor.dispatcher.message_handlers.tool_message_handler.shape_editor.selected_points().copied().collect() | CODE |
| CRITICAL | editor/src/messages/tool/tool_messages/path_tool.rs | 4263 | editor.editor.dispatcher.message_handlers.tool_message_handler.shape_editor.select_point_by_layer_and_id(handle, layer | CODE |
| CRITICAL | editor/src/messages/tool/common_functionality/resize.rs | 232 | editor.editor.dispatcher.message_handlers.tool_message_handler.snap_session.shown().is_some() | CODE |
| CRITICAL | …essages/tool/common_functionality/shapes/line_shape.rs | 363 | let shown = |editor: &EditorTestUtils| editor.editor.dispatcher.message_handlers.tool_message_handler.snap_session.sho | CODE |
| CRITICAL | …essages/tool/common_functionality/shapes/line_shape.rs | 381 | let shown = |editor: &EditorTestUtils| editor.editor.dispatcher.message_handlers.tool_message_handler.snap_session.sho | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | libraries/ipsum/Cargo.toml | 3 | description = "Generator of Lorem Ipsum placeholder text" | CODE |
| LOW | libraries/ipsum/corpus.txt | 68 | Tum dicere exorsus est. Primum igitur, inquit, sic agam, ut ipsi auctori huius disciplinae placet: constituam, quid et q | CODE |
| LOW | libraries/ipsum/corpus.txt | 70 | Sed ut perspiciatis, unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam eaq | CODE |
| LOW⚡ | libraries/ipsum/src/lib.rs | 1 | //! Generator of Lorem Ipsum placeholder text from a bigram Markov chain built from Cicero's "De finibus bonorum et malo | COMMENT |
| LOW⚡ | libraries/ipsum/src/lib.rs | 10 | /// The classic Lorem Ipsum placeholder text (1 paragraph, 4 sentences, 69 words). | COMMENT |
| LOW⚡ | libraries/ipsum/src/lib.rs | 11 | pub const CLASSIC_TEXT: &str = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididun | CODE |
| LOW⚡ | libraries/ipsum/src/lib.rs | 11 | pub const CLASSIC_TEXT: &str = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididun | CODE |
| LOW | libraries/ipsum/src/lib.rs | 44 | /// Generates Lorem Ipsum placeholder text: a prefix of the classic passage sized by `opener_length` in `opener_unit`, | COMMENT |
| LOW⚡ | libraries/ipsum/src/tests.rs | 195 | .strip_prefix("Lorem ipsum dolor sit amet, consectetur adipiscing elit. ") | CODE |
| LOW⚡ | libraries/ipsum/src/tests.rs | 195 | .strip_prefix("Lorem ipsum dolor sit amet, consectetur adipiscing elit. ") | CODE |
| LOW⚡ | libraries/ipsum/src/tests.rs | 201 | assert!(text.starts_with("Lorem ipsum dolor sit amet consectetur. "), "opener mismatch: {text:?}"); | CODE |
| LOW⚡ | libraries/ipsum/src/tests.rs | 201 | assert!(text.starts_with("Lorem ipsum dolor sit amet consectetur. "), "opener mismatch: {text:?}"); | CODE |
| LOW⚡ | libraries/ipsum/src/tests.rs | 234 | assert_opener(26, "Lorem ipsum dolor sit. "); | CODE |
| LOW⚡ | libraries/ipsum/src/tests.rs | 235 | assert_opener(27, "Lorem ipsum dolor sit amet. "); | CODE |
| LOW⚡ | libraries/ipsum/src/tests.rs | 235 | assert_opener(27, "Lorem ipsum dolor sit amet. "); | CODE |
| LOW | libraries/ipsum/src/tests.rs | 460 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cur igitur non bene? Quia quod bene, id recte, frugaliter ho | CODE |
| LOW | libraries/ipsum/src/tests.rs | 460 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cur igitur non bene? Quia quod bene, id recte, frugaliter ho | CODE |
| LOW⚡ | node-graph/node-macro/src/parsing.rs | 603 | "placeholder" => { | CODE |
| LOW⚡ | node-graph/node-macro/src/parsing.rs | 606 | return Err(Error::new_spanned(meta, "Multiple 'placeholder' attributes are not allowed")); | CODE |
| LOW⚡ | node-graph/node-macro/src/parsing.rs | 609 | syn::parse2(meta.value.to_token_stream()).map_err(|_| Error::new_spanned(meta, "Expected a fn path for 'placeholde | CODE |
| LOW⚡ | node-graph/node-macro/src/parsing.rs | 623 | Supported attributes are 'category', 'name', 'icon', 'path', 'skip_impl', 'inspector', 'cfg', 'serialize', 'memoi | CODE |
| LOW | node-graph/nodes/gstd/src/text.rs | 17 | #[default("Lorem ipsum")] | COMMENT |
| LOW⚡ | node-graph/nodes/text/src/lib.rs | 221 | /// Generates *Lorem Ipsum* placeholder text of a desired length. The classic "Lorem ipsum dolor sit amet…" intro may be | COMMENT |
| LOW⚡ | node-graph/nodes/text/src/lib.rs | 221 | /// Generates *Lorem Ipsum* placeholder text of a desired length. The classic "Lorem ipsum dolor sit amet…" intro may be | COMMENT |
| LOW⚡ | node-graph/nodes/text/src/lib.rs | 226 | /// Total length of generated text in the chosen denomination (characters, words, sentences, or paragraphs), including | COMMENT |
| LOW⚡ | node-graph/nodes/text/src/lib.rs | 226 | /// Total length of generated text in the chosen denomination (characters, words, sentences, or paragraphs), including | COMMENT |
| LOW⚡ | node-graph/nodes/text/src/lib.rs | 232 | /// Length of the classic "Lorem ipsum dolor sit amet…" intro to include at the start of the generated text. Disable by | COMMENT |
| LOW⚡ | node-graph/nodes/text/src/lib.rs | 232 | /// Length of the classic "Lorem ipsum dolor sit amet…" intro to include at the start of the generated text. Disable by | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | frontend/eslint-require-data-selectors.js | 130 | function pseudoClassArgumentProblem(node) { | CODE |
| LOW | frontend/src/subscriptions-router.ts | 12 | export function createSubscriptionsRouter() { | CODE |
| LOW | frontend/src/utility-functions/keyboard-entry.ts | 1 | export function makeKeyboardModifiersBitfield(e: WheelEvent | PointerEvent | MouseEvent | KeyboardEvent): number { | CODE |
| LOW | frontend/src/utility-functions/network.ts | 9 | export function requestWithUploadDownloadProgress( | CODE |
| LOW | frontend/src/utility-functions/input.ts | 30 | export async function shouldRedirectKeyboardEventToBackend(e: KeyboardEvent, dialogStore: DialogStore): Promise<boolean> | CODE |
| LOW | frontend/src/utility-functions/input.ts | 429 | function potentiallyClearTextSelection(e: PointerEvent) { | CODE |
| LOW | frontend/src/utility-functions/viewports.ts | 6 | export function hasFirstArtworkBeenReceived(): boolean { | CODE |
| LOW | frontend/src/utility-functions/viewports.ts | 13 | export function setupViewportResizeObserver(editor: EditorWrapper): () => void { | CODE |
| LOW | frontend/src/utility-functions/persistence.ts | 206 | function extractIsSavedFromUnknown(details: unknown): boolean { | CODE |
| LOW | frontend/src/managers/localization.ts | 8 | export function createLocalizationManager(subscriptions: SubscriptionsRouter, editor: EditorWrapper) { | CODE |
| LOW | frontend/src/managers/localization.ts | 20 | export function destroyLocalizationManager() { | CODE |
| LOW | frontend/src/managers/persistence.ts | 38 | export function destroyPersistenceManager() { | CODE |
| LOW | frontend/src/stores/math-expression.ts | 36 | export function createMathExpressionStore(subscriptions: SubscriptionsRouter): MathExpressionStore { | CODE |
| LOW | frontend/src/stores/math-expression.ts | 67 | export function destroyMathExpressionStore() { | CODE |
| LOW | frontend/src/components/layout/FloatingMenu.svelte | 6 | export function preventEscapeClosingParentFloatingMenu(element: HTMLElement) { | CODE |
| LOW | frontend/src/components/layout/FloatingMenu.svelte | 150 | function setSafariScrollableOverflow(hidden: boolean) { | CODE |
| LOW | frontend/src/components/layout/FloatingMenu.svelte | 213 | function positionAndStyleFloatingMenu() { | CODE |
| LOW | frontend/src/components/layout/FloatingMenu.svelte | 335 | export async function measureAndEmitNaturalWidth() { | CODE |
| LOW | frontend/src/components/layout/FloatingMenu.svelte | 517 | function isPointerEventOutsideFloatingMenu(e: PointerEvent, extraDistanceAllowed = 0): boolean { | CODE |
| LOW | frontend/src/components/layout/FloatingMenu.svelte | 524 | function isPointerEventOutsideMenuElement(e: PointerEvent, element: Element, extraDistanceAllowed = 0): boolean { | CODE |
| LOW | frontend/src/components/panels/Document.svelte | 230 | export async function updateEyedropperSamplingState( | CODE |
| LOW | frontend/src/components/panels/Document.svelte | 332 | function updateRulerCursorPosition(e: PointerEvent) { | CODE |
| LOW | frontend/src/components/panels/Document.svelte | 445 | export function displayRemoveEditableTextbox() { | CODE |
| LOW | frontend/src/components/panels/Document.svelte | 467 | function gradientStopPickerDirection(position: { x: number; y: number } | undefined, viewport: HTMLDivElement | undefin | CODE |
| LOW | frontend/src/components/panels/Layers.svelte | 337 | function toggleNodeVisibilityLayerPanel(id: bigint) { | CODE |
| LOW | frontend/src/components/panels/Layers.svelte | 345 | function handleExpandArrowClickWithModifiers(e: MouseEvent, treePath: bigint[]) { | CODE |
| LOW | frontend/src/components/panels/Layers.svelte | 405 | function onEditChainNodeNameChange(nodeId: bigint, e: Event) { | CODE |
| LOW | frontend/src/components/panels/Layers.svelte | 416 | function onEditChainNodeNameDeselect(chainNode: LayerPanelChainNode) { | CODE |
| LOW | frontend/src/components/panels/Layers.svelte | 790 | function calculateChainInsertIndex(row: Element, clientX: number) { | CODE |
| LOW | frontend/src/components/panels/Layers.svelte | 821 | function calculateChainRowInsertIndex(rowIndex: number, clientY: number) { | CODE |
| LOW | frontend/src/components/window/Panel.svelte | 320 | function calculateForeignInsertionIndex(pointerX: number, targetPanelId: string, tabBarDiv: HTMLDivElement) { | CODE |
| LOW | frontend/src/components/views/Graph.svelte | 306 | function connectorTooltipDescription(connector: FrontendGraphInput | FrontendGraphOutput, possibleTypes?: string[]): st | CODE |
| LOW | frontend/src/components/widgets/NodeSection.svelte | 37 | function toggleExpandedWithModifiers(e: MouseEvent) { | CODE |
| LOW | frontend/src/components/widgets/WidgetSpan.svelte | 69 | function widgetValueCommitAndUpdate(widgetIndex: number, value: unknown, resendWidget: boolean) { | CODE |
| LOW | …ntend/src/components/widgets/inputs/NumberInput.svelte | 168 | function commitTransactionIfInProgress() { | CODE |
| LOW | …end/src/components/widgets/inputs/DropdownInput.svelte | 73 | function watchOpenDropdownMenuCount(count: number) { | CODE |
| LOW | website/static/js/template/book.js | 60 | function listenForClickToOpenOrCloseTOC() { | CODE |
| LOW | website/static/js/component/image-comparison.js | 6 | function initializeImageComparison() { | CODE |
| LOW | website/static/js/component/carousel.js | 288 | function updateVideoSyncForTransitions(carousel, videos) { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | node-graph/node-macro/src/parsing.rs | 458 | // Example usage: | COMMENT |
| LOW | node-graph/node-macro/src/parsing.rs | 473 | // Example usage: | COMMENT |
| LOW | node-graph/node-macro/src/parsing.rs | 485 | // Example usage: | COMMENT |
| LOW | node-graph/node-macro/src/parsing.rs | 499 | // Example usage: | COMMENT |
| LOW | node-graph/node-macro/src/parsing.rs | 516 | // Example usage: | COMMENT |
| LOW | node-graph/node-macro/src/parsing.rs | 522 | // Example usage: | COMMENT |
| LOW | node-graph/node-macro/src/parsing.rs | 537 | // Example usage: | COMMENT |
| LOW | node-graph/node-macro/src/parsing.rs | 548 | // Example usage: | COMMENT |
| LOW⚡ | node-graph/node-macro/src/parsing.rs | 563 | // Example usage: | COMMENT |
| LOW⚡ | node-graph/node-macro/src/parsing.rs | 568 | // Example usage: | COMMENT |
| LOW⚡ | node-graph/node-macro/src/parsing.rs | 573 | // Example usage: | COMMENT |
| LOW⚡ | node-graph/node-macro/src/parsing.rs | 579 | // Example usage: | COMMENT |
| LOW⚡ | node-graph/node-macro/src/parsing.rs | 584 | // Example usage: | COMMENT |
| LOW⚡ | node-graph/node-macro/src/parsing.rs | 601 | // Example usage: | COMMENT |
| LOW⚡ | node-graph/node-macro/src/parsing.rs | 614 | // Example usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | frontend/src/utility-functions/keyboard-entry.ts | 28 | // Eventually we will need a more robust system based on a giant database of keyboard layouts from all around the world. | COMMENT |
| MEDIUM | frontend/src/components/panels/Document.svelte | 355 | // This isn't very clean but it's good enough for now until we need more icons, then we can build something more robus | COMMENT |
| MEDIUM | …ies/vector-types/src/vector/algorithms/shapes/heart.rs | 58 | /// Corner leverage (the corner's drop times the widest point's height times the square root of the curvature) where the | COMMENT |
| MEDIUM | …ies/vector-types/src/vector/algorithms/shapes/heart.rs | 170 | // Regime weights from the corner's leverage, with drops softly kept above a minimum so a very tight lobe can't rush th | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | .github/workflows/website.yml | 62 | - name: 🦀 Produce auto-generated code docs data | CODE |
| HIGH | .github/workflows/build.yml | 330 | - name: 📃 Trigger website rebuild if auto-generated code docs are stale | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | libraries/rawkit/src/lib.rs | 146 | // TODO: implement for arw 1. | COMMENT |
| LOW | editor/src/messages/tool/tool_messages/text_tool.rs | 702 | // TODO: implement bounding box for multiple layers | COMMENT |
| LOW | node-graph/libraries/core-types/src/registry.rs | 289 | // TODO: implement this on a higher level wrapper to avoid missuse | COMMENT |