AI Slop Code Risk Monitor

nexu-io/openmotion

SlopCodeMonitor badge for nexu-io/openmotion Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

The open-source full-stack studio for Opus 5.5 motion video. Reverse engineering for any video. Code video with HTML: recreate, edit and render. BYOA + BYOK · Motion.md · Images, Video, Music & Voice.

1.3 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for nexu-io/openmotion, a TypeScript project with 9,868 GitHub stars. SynthScan examined 1,052,693 lines of code across 7443 source files, recording 1024 pattern matches distributed across 10 syntactic categories. The legacy adjusted pattern signal is 1.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.

1.3
Adjusted Signal
1.3
Raw Pattern Score
100%
Time Factor
2026-11-14
Last Push
9.9K
Stars
TypeScript
Language
1.1M
Lines of Code
7.4K
Files
1.0K
Pattern Hits
2026-11-14
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-11-14.

Cognitive Ownership Risk 4.3/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.2/100 · LOW

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

Agent Over-Engineering Ratio 5.2/100 · LOW

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

PR Review Velocity Impact 6.2/100 · LOW

Which changes need focused human review? 1024 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

Run additional scans to build a history of the legacy pattern signal. Score changes are not a measure of AI adoption or code quality.

No multi-scan history yet — run the scanner again to build trend data.

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 4HIGH 0MEDIUM 146LOW 874

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 1024 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.

Hyper-Verbose Identifiers735 hits · 745 pts
SeverityFileLineSnippetContext
LOWhyperframes.ts121export async function snapshotExportExpectation(runtimeRoot: string, directory: string) {CODE
LOWeditor-server.ts35export function renderDownloadDisposition(title: string | undefined, extension: string): string {CODE
LOWphase1-versions.ts239export async function recoverProjectTransactions(store: WorkspaceStore, runtimeRoot: string) {CODE
LOWstudio/src/webmcp/handles.ts197export function elementHandleMatchesProject(handle: string, projectId: string | null): boolean {CODE
LOWstudio/src/captions/components/CaptionOverlayUtils.ts171export function getOrCreateWrapper(el: HTMLElement): HTMLElement {CODE
LOWstudio/src/captions/components/CaptionOverlayUtils.ts233export function applyCaptionModelToIframe(model: {CODE
LOW⚡studio/src/contexts/DomEditContext.tsx137export function useDomEditActionsContextOptional(): DomEditActionsValue | null {CODE
LOW⚡studio/src/contexts/DomEditContext.tsx141export function useDomEditSelectionContext(): DomEditSelectionValue {CODE
LOW⚡studio/src/contexts/DomEditContext.tsx150export function useDomEditSelectionContextOptional(): DomEditSelectionValue | null {CODE
LOWstudio/src/contexts/FileManagerContext.tsx15export function useFileManagerContextOptional(): FileManagerValue | null {CODE
LOWstudio/src/contexts/TimelineEditContext.tsx20export function useTimelineEditContextOptional(): TimelineEditCallbacks {CODE
LOWstudio/src/contexts/TimelineEditContext.tsx24export function useTimelineEditContextValue(): TimelineEditCallbacks | null {CODE
LOWstudio/src/contexts/VariablePromoteContext.tsx109export function useVariablePromoteChannel(channel: PromoteChannel): ChannelPromote | null {CODE
LOWstudio/src/contexts/StudioContext.tsx81export function useStudioShellContextOptional(): StudioShellValue | null {CODE
LOWstudio/src/contexts/StudioContext.tsx91export function useStudioPlaybackContextOptional(): StudioPlaybackValue | null {CODE
LOWstudio/src/utils/studioPreviewHelpers.ts49function resolvePreviewLocalPointer(CODE
LOWstudio/src/utils/studioPreviewHelpers.ts75function needsPointerEventsInheritanceFallback(doc: Document, win: Window): boolean {CODE
LOWstudio/src/utils/studioPreviewHelpers.ts96function hasOwnPointerEventsOverride(el: HTMLElement, win: Window): boolean {CODE
LOWstudio/src/utils/studioPreviewHelpers.ts101function inheritsPointerEventsNoneFromAncestor(el: HTMLElement, win: Window): boolean {CODE
LOWstudio/src/utils/studioPreviewHelpers.ts119function hasAuthorPointerEventsNone(el: HTMLElement): boolean {CODE
LOWstudio/src/utils/studioPreviewHelpers.ts127function collectPointerEventsNoneTargets(CODE
LOWstudio/src/utils/studioPreviewHelpers.ts141function filterAuthorInteractiveTargets(CODE
LOWstudio/src/utils/studioPreviewHelpers.ts184export function getPreviewTargetFromPointer(CODE
LOWstudio/src/utils/studioPreviewHelpers.ts233export function getAllPreviewTargetsFromPointer(CODE
LOWstudio/src/utils/studioPreviewHelpers.ts291export function pauseStudioPreviewPlayback(iframe: HTMLIFrameElement | null): number | null {CODE
LOWstudio/src/utils/studioSaveDiagnostics.ts70function createStudioSaveAbortError(): Error {CODE
LOWstudio/src/utils/studioSaveDiagnostics.ts94export function getStudioSaveErrorMessage(error: unknown): string {CODE
LOWstudio/src/utils/studioSaveDiagnostics.ts110export function isStudioSaveErrorAlreadyToasted(error: unknown): boolean {CODE
LOWstudio/src/utils/studioSaveDiagnostics.ts144function isRetryableStudioSaveError(error: unknown): boolean {CODE
LOWstudio/src/utils/studioSaveDiagnostics.ts152export function buildStudioSaveFailureProperties(CODE
LOWstudio/src/utils/studioSaveDiagnostics.ts191export async function createStudioSaveHttpError(CODE
LOWstudio/src/utils/rdpSimplify.ts154function interpolatePropertyAtTime(CODE
LOWstudio/src/utils/clipboardPayload.ts33export function serializeClipboardPayload(payload: ClipboardPayload): string {CODE
LOWstudio/src/utils/clipboardPayload.ts41export function deserializeClipboardPayload(json: string): ClipboardPayload | null {CODE
LOW⚡studio/src/utils/studioUrlState.ts51export function resolveMasterCompositionPath(compositions: string[]): string | null {CODE
LOW⚡studio/src/utils/studioUrlState.ts61export function normalizeStudioUrlPanelTab(tab: RightPanelTab | null): RightPanelTab | null {CODE
LOW⚡studio/src/utils/studioUrlState.ts67export function normalizeStudioCompositionPath(CODE
LOWstudio/src/utils/studioUrlState.ts162export function parseStudioUrlStateFromHash(hash: string): StudioUrlState {CODE
LOWstudio/src/utils/studioUrlState.ts177export function readStudioUrlStateFromWindow(): StudioUrlState {CODE
LOWstudio/src/utils/clipboard.ts33function shouldCopyWithSelectionFirst(): boolean {CODE
LOWstudio/src/utils/frameCapture.ts34export function buildFrameCaptureFilename(compositionPath: string | null, currentTime: number) {CODE
LOWstudio/src/utils/rootDuration.ts35export function readRootCompositionDuration(source: string): number | null {CODE
LOWstudio/src/utils/rootDuration.ts39export function rootCompositionDurationOf(doc: Document): number | null {CODE
LOWstudio/src/utils/rootDuration.ts59export function patchRootCompositionDuration(source: string, newValue: string): string {CODE
LOWstudio/src/utils/rootDuration.ts77export function extendRootDurationInSource(source: string, newEnd: number): string {CODE
LOWstudio/src/utils/sourcePatcher.ts47function escapeStyleAttributeValue(value: string, quote: string): string {CODE
LOWstudio/src/utils/sourcePatcher.ts56function splitInlineStyleDeclarations(style: string): string[] {CODE
LOWstudio/src/utils/sourcePatcher.ts352function findMatchingClosingTagIndex(html: string, tagName: string, contentStart: number): number {CODE
LOWstudio/src/utils/sourcePatcher.ts412function patchHtmlAttributeByTarget(CODE
LOWstudio/src/utils/timelineAssetDrop.ts14export function parseTimelineAssetPayload(raw: string): { path: string; duration?: number } | null {CODE
LOWstudio/src/utils/timelineAssetDrop.ts58export function buildTimelineFileDropPlacements(CODE
LOWstudio/src/utils/timelineAssetDrop.ts74export function resolveTimelineAssetCompositionSize(source: string): {CODE
LOWstudio/src/utils/timelineAssetDrop.ts108export function buildTimelineAssetInsertHtml(input: {CODE
LOWstudio/src/utils/timelineAssetDrop.ts144export function extendCompositionDurationIfNeeded(source: string, requiredEnd: number): string {CODE
LOWstudio/src/utils/timelineAssetDrop.ts157export function setCompositionDurationToContent(CODE
LOWstudio/src/utils/timelineAssetDrop.ts170export function insertTimelineAssetIntoSource(source: string, assetHtml: string): string {CODE
LOWstudio/src/utils/sdkCutoverEligibility.ts94export function shouldDeclineTextCutoverForTarget(target: unknown, ops: PatchOperation[]): boolean {CODE
LOWstudio/src/utils/sdkCutoverEligibility.ts144export function sdkCutoverIneligibleReason(CODE
LOWstudio/src/utils/studioFileHistory.ts71export async function saveProjectFilesWithHistory(CODE
LOWstudio/src/utils/studioFileHistory.ts83export async function saveServerRewriteWithHistory(input: {CODE
675 more matches not shown…
Decorative Section Separators125 hits · 381 pts
SeverityFileLineSnippetContext
MEDIUMstudio/src/utils/sdkCutoverEligibility.ts55// ─── html-attribute safety ───────────────────────────────────────────────────COMMENT
MEDIUMstudio/src/utils/gsapUndoRestore.test.ts28// ── Bug 2: undo/redo restore soft-apply ──────────────────────────────────────COMMENT
MEDIUMstudio/src/utils/sdkResolverShadow.ts25// ─── Types ────────────────────────────────────────────────────────────────────COMMENT
MEDIUMstudio/src/utils/sdkResolverShadow.ts42// ─── Op helpers ───────────────────────────────────────────────────────────────COMMENT
MEDIUMstudio/src/utils/sdkResolverShadow.ts59// ─── Read-back helpers ────────────────────────────────────────────────────────COMMENT
MEDIUMstudio/src/utils/sdkResolverShadow.ts171// ─── Core check (pure — testable without flag) ────────────────────────────────COMMENT
MEDIUMstudio/src/utils/sdkResolverShadow.ts256// ─── Telemetry ────────────────────────────────────────────────────────────────COMMENT
MEDIUMstudio/src/utils/sdkResolverShadow.ts578// ─── Soak gate ────────────────────────────────────────────────────────────────COMMENT
MEDIUMstudio/src/utils/sdkResolverShadow.test.ts17// ─── Telemetry capture ────────────────────────────────────────────────────────COMMENT
MEDIUMstudio/src/utils/sdkResolverShadow.test.ts33// ─── Flag mock ────────────────────────────────────────────────────────────────COMMENT
MEDIUMstudio/src/utils/sdkResolverShadow.test.ts48// ─── Fixtures ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMstudio/src/utils/sdkResolverShadow.test.ts67// ─── A. Flag gating ───────────────────────────────────────────────────────────COMMENT
MEDIUMstudio/src/utils/sdkResolverShadow.test.ts141// ─── B. Telemetry-only (no side effects on real write) ────────────────────────COMMENT
MEDIUMstudio/src/utils/sdkResolverShadow.test.ts202// ─── C. Resolver-parity detection ────────────────────────────────────────────COMMENT
MEDIUMstudio/src/utils/sdkResolverShadow.test.ts333// ─── D. Redaction ─────────────────────────────────────────────────────────────COMMENT
MEDIUMstudio/src/utils/sdkResolverShadow.test.ts374// ─── E. Soak gate ─────────────────────────────────────────────────────────────COMMENT
MEDIUMstudio/src/utils/sdkResolverShadow.test.ts526// ─── G. recordAnimationResolverParity (GSAP animationId ops) ──────────────────COMMENT
MEDIUMstudio/src/utils/sdkResolverShadow.test.ts578 // ── Stale-session disambiguation (the 0.7.48 keyframe-op class) ─────────────COMMENT
MEDIUMstudio/src/utils/sdkResolverShadow.test.ts675// ─── G2. runResolverShadow cross-file guard ───────────────────────────────────COMMENT
MEDIUMstudio/src/utils/sdkResolverShadow.test.ts715// ─── H. Inlined sub-composition: bare leaf id resolves (regression) ───────────COMMENT
MEDIUMstudio/src/utils/sdkResolverShadow.test.ts758// ─── I. Attempt counter (denominator for the soak gate) ───────────────────────COMMENT
MEDIUMstudio/src/components/panels/SlideshowPanel.test.ts23// ── toggleMainLineSlide ────────────────────────────────────────────────────COMMENT
MEDIUMstudio/src/components/panels/SlideshowPanel.test.ts48// ── reorderMainLineSlide ───────────────────────────────────────────────────COMMENT
MEDIUMstudio/src/components/panels/SlideshowPanel.test.ts74// ── reorderBranchSlide ─────────────────────────────────────────────────────COMMENT
MEDIUMstudio/src/components/panels/SlideshowPanel.test.ts97// ── setSlideNotes ──────────────────────────────────────────────────────────COMMENT
MEDIUMstudio/src/components/panels/SlideshowPanel.test.ts111// ── branch-scoped authoring (Finding #14) ──────────────────────────────────COMMENT
MEDIUMstudio/src/components/panels/SlideshowPanel.test.ts111// ── branch-scoped authoring (Finding #14) ──────────────────────────────────COMMENT
MEDIUMstudio/src/components/panels/SlideshowPanel.test.ts147// ── addFragment ───────────────────────────────────────────────────────────COMMENT
MEDIUMstudio/src/components/panels/SlideshowPanel.test.ts175// ── removeFragment ─────────────────────────────────────────────────────────COMMENT
MEDIUMstudio/src/components/panels/SlideshowPanel.test.ts189// ── createSequence ─────────────────────────────────────────────────────────COMMENT
MEDIUMstudio/src/components/panels/SlideshowPanel.test.ts210// ── renameSequence ─────────────────────────────────────────────────────────COMMENT
MEDIUMstudio/src/components/panels/SlideshowPanel.test.ts232// ── deleteSequence ─────────────────────────────────────────────────────────COMMENT
MEDIUMstudio/src/components/panels/SlideshowPanel.test.ts295// ── assignToBranch ─────────────────────────────────────────────────────────COMMENT
MEDIUMstudio/src/components/panels/SlideshowPanel.test.ts332// ── addHotspot / removeHotspot ─────────────────────────────────────────────COMMENT
MEDIUMstudio/src/components/panels/SlideshowPanel.test.ts376// ── safeParseManifest ──────────────────────────────────────────────────────COMMENT
MEDIUMstudio/src/components/panels/SlideshowPanel.test.ts399// ── makeSlideshowNotesController ──────────────────────────────────────────COMMENT
MEDIUMstudio/src/components/panels/SlideshowSubPanels.tsx13// ── Section header (accordion toggle) ────────────────────────────────────COMMENT
MEDIUMstudio/src/components/panels/SlideshowSubPanels.tsx37// ── Sub-surface: Slide List ──────────────────────────────────────────────COMMENT
MEDIUMstudio/src/components/panels/SlideshowSubPanels.tsx136// ── Sub-surface: Slide Inspector ─────────────────────────────────────────COMMENT
MEDIUMstudio/src/components/panels/SlideshowSubPanels.tsx212// ── Sub-surface: Branch Tree ──────────────────────────────────────────────COMMENT
MEDIUMstudio/src/components/panels/SlideshowSubPanels.tsx434// ── Sub-surface: Hotspot Tool ─────────────────────────────────────────────COMMENT
MEDIUMstudio/src/components/panels/SlideshowPanel.tsx73// ── Notes-attribution controller (pure, testable) ─────────────────────────COMMENT
MEDIUMstudio/src/components/panels/SlideshowPanel.tsx165// ── Component ─────────────────────────────────────────────────────────────COMMENT
MEDIUMstudio/src/components/panels/slideshowPanelHelpers.ts8// ── Scene shape used by the panel UI ──────────────────────────────────────COMMENT
MEDIUMstudio/src/components/panels/slideshowPanelHelpers.ts17// ── Pure manifest transforms ───────────────────────────────────────────────COMMENT
MEDIUMstudio/src/components/editor/propertyPanelHelpers.ts405// ── GSAP runtime value readers (used by PropertyPanel) ────────────────────COMMENT
MEDIUMstudio/src/components/editor/LayersPanel.test.ts182// ── liveTime throttle contract (mirrors the useEffect in LayersPanel) ──────COMMENT
MEDIUM…/src/components/editor/canvasContextMenuZOrder.test.ts14// ── helpers ───────────────────────────────────────────────────────────────────COMMENT
MEDIUM…/src/components/editor/canvasContextMenuZOrder.test.ts87// ── parseZIndex ───────────────────────────────────────────────────────────────COMMENT
MEDIUM…/src/components/editor/canvasContextMenuZOrder.test.ts104// ── distinct-z fast path (single-element patch) ────────────────────────────────COMMENT
MEDIUM…/src/components/editor/canvasContextMenuZOrder.test.ts201// ── DOM-order ties (the repro) ─────────────────────────────────────────────────COMMENT
MEDIUM…/src/components/editor/canvasContextMenuZOrder.test.ts276// ── overlap scoping (real getBoundingClientRect) ────────────────────────────────COMMENT
MEDIUM…/src/components/editor/canvasContextMenuZOrder.test.ts354// ── non-painting sibling hygiene ───────────────────────────────────────────────COMMENT
MEDIUM…/src/components/editor/canvasContextMenuZOrder.test.ts423// ── visibility scoping (forward/backward step over VISIBLE siblings only) ──────COMMENT
MEDIUM…/src/components/editor/canvasContextMenuZOrder.test.ts497// ── default visibility probe (element-level computed style) ───────────────────COMMENT
MEDIUM…/src/components/editor/canvasContextMenuZOrder.test.ts543// ── resolveCrossedNeighbor (the "show your work" flash target) ────────────────COMMENT
MEDIUM…/src/components/editor/canvasContextMenuZOrder.test.ts580// ── isZOrderActionEnabled ─────────────────────────────────────────────────────COMMENT
MEDIUMstudio/src/components/editor/domEditingElement.ts23// ─── Visibility ──────────────────────────────────────────────────────────────COMMENT
MEDIUMstudio/src/components/editor/domEditingElement.ts79// ─── Visual scoring ──────────────────────────────────────────────────────────COMMENT
MEDIUMstudio/src/components/editor/domEditingElement.ts81// ─── Layer patch target ──────────────────────────────────────────────────────COMMENT
65 more matches not shown…
Over-Commented Block120 hits · 95 pts
SeverityFileLineSnippetContext
LOWstudio/src/utils/designInputTracking.ts1import { trackStudioEvent } from "./studioTelemetry";COMMENT
LOWstudio/src/utils/gsapSoftReload.ts401 // Prefer the caller-supplied scrub position (the studio's own authoritativeCOMMENT
LOWstudio/src/utils/sdkResolverShadow.ts361 // sessionElementCount > 0 + element_not_found = runtime-only element;COMMENT
LOWstudio/src/utils/sdkResolverShadow.ts441 trackStudioEvent("sdk_resolver_shadow", {COMMENT
LOWstudio/src/utils/gsapUndoRestore.ts101 return true;COMMENT
LOWstudio/src/utils/reloadDebug.ts1// Preview full-reload diagnostics — grep [hf-reload]. Off by default; opt in perCOMMENT
LOWstudio/src/utils/selectDebug.ts1// Canvas selection diagnostics — grep [hf-select]. Off by default; opt in withCOMMENT
LOWstudio/src/components/renders/useRenderQueue.ts81export function useRenderQueue(COMMENT
LOWstudio/src/components/feedback/projectProvenance.ts1import { buildProjectApiPath } from "../../utils/projectRouting";COMMENT
LOWstudio/src/components/feedback/feedbackTrigger.ts1// ---------------------------------------------------------------------------COMMENT
LOWstudio/src/components/nle/useTimelineEditCallbacks.ts301 if (selection) {COMMENT
LOWstudio/src/components/nle/NLEContext.tsx101 setShadowIframeNode,COMMENT
LOWstudio/src/components/editor/useFxCarve.ts281 if (lanes.length > 0 || carriedOver.lanes.length !== automation.lanes.length) {COMMENT
LOWstudio/src/components/editor/MotionPathOverlay.tsx141 );COMMENT
LOWstudio/src/components/editor/MotionPathOverlay.tsx281 ? geometry.nodes.map((n, i) => (i === draft.index ? { ...n, x: draft.x, y: draft.y } : n))COMMENT
LOW…dio/src/components/editor/offCanvasIndicatorRefresh.ts41 const Observer = doc.defaultView?.MutationObserver ?? globalThis.MutationObserver;COMMENT
LOW…/src/components/editor/propertyPanelFlatPrimitives.tsx301 // every move) never commits until the pointer pauses or lifts — which killsCOMMENT
LOW…/src/components/editor/propertyPanelFlatPrimitives.tsx321 // instead of closing over the callback at schedule time. A caller whoseCOMMENT
LOWstudio/src/components/editor/useDomEditOverlayRects.ts161 // An explicitly-selected element's overlay must track it whenever it's laidCOMMENT
LOWstudio/src/components/editor/useFxCarveGrouping.ts201 * Reads the element's `data-label` as well as its id and `src`, because a clip'sCOMMENT
LOW…c/components/editor/propertyPanelAudioFxGroup.test.tsx1921 );COMMENT
LOWstudio/src/components/editor/domEditOverlayGeometry.ts41COMMENT
LOWstudio/src/components/editor/EaseCurveSection.tsx281 // Keep the local draft displayed until the committed `ease` prop round-tripsCOMMENT
LOWstudio/src/components/editor/PropertyPanelFlat.tsx161 // preserves them across re-renders, but toggling a non-adjacent group stillCOMMENT
LOWstudio/src/hooks/gsapTweenSynth.ts81 byPct.set(kf.percentage, { ...kf, properties: { ...kf.properties } });COMMENT
LOWstudio/src/hooks/useDomEditAttributeCommits.ts221 ],COMMENT
LOWstudio/src/hooks/timelineAudioGroupVolume.ts81 * ensures the NEXT parse is honest, and a live attribute patch does not causeCOMMENT
LOWstudio/src/hooks/useGsapScriptCommits.ts461 );COMMENT
LOWstudio/src/hooks/gsapKeyframeCacheHelpers.ts81 const sourceAnimations = new Map<string, GsapAnimation[]>();COMMENT
LOWstudio/src/hooks/useTimelineGroupEditing.ts261 // Running it anyway is what made the mirrored z-order lane move blink —COMMENT
LOWstudio/src/hooks/useSdkSession.ts121COMMENT
LOWstudio/src/hooks/gsapResizeIntercept.ts321 // sent almost every element to the fallback below: a 630px chip scaled byCOMMENT
LOWstudio/src/hooks/gsapResizeIntercept.ts341 //COMMENT
LOWstudio/src/hooks/gsapResizeIntercept.ts461 if (measured === "settled") return true;COMMENT
LOWstudio/src/hooks/useAnimatedPropertyCommit.ts461 throw new GsapEditBlockedError("no-selector");COMMENT
LOWstudio/src/hooks/useStudioTestHooks.ts101 // tears the effect down on the very next frame. Releasing on teardownCOMMENT
LOWstudio/src/telemetry/breadcrumbs.ts1// ---------------------------------------------------------------------------COMMENT
LOWstudio/src/telemetry/distinctId.ts1// ---------------------------------------------------------------------------COMMENT
LOWstudio/src/telemetry/distinctId.ts101 }COMMENT
LOWstudio/src/telemetry/canary.ts1// ---------------------------------------------------------------------------COMMENT
LOWstudio/src/telemetry/canary.ts21// second storage location, so its localStorage id doubles as the seed.COMMENT
LOW…dio/src/player/components/useAutomationLaneGestures.ts281 if (e.button !== 0) return;COMMENT
LOWstudio/src/player/components/TimelineGroupRow.tsx81 // into the display list, and every one of these reads silently degraded toCOMMENT
LOW…udio/src/player/components/useAutomationEdgeStretch.ts161 (e: ReactPointerEvent<SVGSVGElement>): boolean => {COMMENT
LOWstudio/src/player/components/TimelineTrackHeader.tsx201 );COMMENT
LOW…/src/player/components/timelineClipDragPreview.test.ts21 TRACKS_TOP_PAD,COMMENT
LOWstudio/src/player/components/Player.tsx281 container.classList.add("preview-revealing");COMMENT
LOWstudio/src/player/components/TimelineClipDiamonds.tsx141 const diamondSize = beatsActiveCOMMENT
LOWstudio/src/player/hooks/useTimelinePlayer.ts441 // keepPlaying: move the playhead without the paused-seek audio scrub.COMMENT
LOWstudio/src/player/store/playerStore.ts501 setElements: (elements) => set({ elements }),COMMENT
LOW…onents/showcase/glass-shard-title/assets/glass-main.js81#endif`,ku=`#ifdef USE_ALPHATESTCOMMENT
LOW…onents/showcase/glass-shard-title/assets/glass-main.js301#elif defined( USE_COLOR )COMMENT
LOW…onents/showcase/glass-shard-title/assets/glass-main.js321#endifCOMMENT
LOW…onents/showcase/glass-shard-title/assets/glass-main.js441 uv.x *= CUBEUV_TEXEL_WIDTH;COMMENT
LOW…onents/showcase/glass-shard-title/assets/glass-main.js501 #ifdef USE_TANGENTCOMMENT
LOW…onents/showcase/glass-shard-title/assets/glass-main.js561 outgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );COMMENT
LOW…onents/showcase/glass-shard-title/assets/glass-main.js581 uniform float refractionRatio;COMMENT
LOW…onents/showcase/glass-shard-title/assets/glass-main.js901 #elseCOMMENT
LOW…onents/showcase/glass-shard-title/assets/glass-main.js1301 #elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )COMMENT
LOW…onents/showcase/glass-shard-title/assets/glass-main.js1361#if defined( RE_IndirectSpecular )COMMENT
60 more matches not shown…
Hallucination Indicators4 hits · 40 pts
SeverityFileLineSnippetContext
CRITICAL…o/src/components/nle/useTimelineEditCallbacks.test.tsx438 expect(mocks.actions.handleGsapRemoveAllKeyframes.mock.calls.map((call) => call[0])).toEqual([CODE
CRITICAL…/src/player/components/TimelineAutomationLane.test.tsx869 const right = (nearB.props.onPreview.mock.calls.at(-1)?.[0] as HfAutomation | undefined)CODE
CRITICAL…/src/player/components/TimelineAutomationLane.test.tsx876 const left = (nearA.props.onPreview.mock.calls.at(-1)?.[0] as HfAutomation | undefined)CODE
CRITICAL…onents/showcase/glass-shard-title/assets/glass-main.js3586}`,Je={alphahash_fragment:Fu,alphahash_pars_fragment:Bu,alphamap_fragment:zu,alphamap_pars_fragment:Vu,alphatest_fragmenCODE
Modern AI Meta-Vocabulary11 hits · 31 pts
SeverityFileLineSnippetContext
MEDIUMREADME.md291### 1. The first full-stack agentic video generatorCOMMENT
MEDIUMREADME.REVERSE-ENGINEERING.md337### 1. The first full-stack agentic video generatorCOMMENT
MEDIUMstudio/src/components/CompositionMissingBanner.test.tsx3// same small React-root scaffold every banner test in this directory uses.COMMENT
MEDIUM…io/src/components/editor/domEditingAgentPrompt.test.ts161 // Both end on the identical guardrails block, byte for byte.COMMENT
MEDIUM⚡web/catalog/hyperframes.json1{"version":1,"syncedAt":"2026-10-26T15:31:08.812Z","mediaCheckedAt":"2026-10-26T15:31:08.815Z","sources":["https://raw.gCODE
MEDIUM⚡web/catalog/hyperframes.json1{"version":1,"syncedAt":"2026-10-26T15:31:08.812Z","mediaCheckedAt":"2026-10-26T15:31:08.815Z","sources":["https://raw.gCODE
MEDIUM⚡web/catalog/hyperframes.json1{"version":1,"syncedAt":"2026-10-26T15:31:08.812Z","mediaCheckedAt":"2026-10-26T15:31:08.815Z","sources":["https://raw.gCODE
MEDIUM…otion-8197b521-9883-45de-be9d-6b492770b3eb/TEMPLATE.md1# Recursive agent orchestrationCOMMENT
MEDIUM…97b521-9883-45de-be9d-6b492770b3eb/source/preview.html5<div class="overview"><section class="hero"><div class="tile-label">构图与编排 <span>可播放 · 可替换内容</span></div><figure class="dCODE
MEDIUM…7b521-9883-45de-be9d-6b492770b3eb/source/demos/data.js1const CONFIG={"mode": "w2-recursive-agents", "demoTitle": "Orchestrate", "palette": ["#f5f5f1", "#202122", "#9966cc", "#CODE
MEDIUMdocs/product/studio-vision.md117## 知识、RAG 与数据闭环COMMENT
AI Slop Vocabulary10 hits · 23 pts
SeverityFileLineSnippetContext
MEDIUMstudio/src/components/editor/EaseCurveSection.tsx285 // `ease` changes, `curve` already equals the draft, so the handoff is seamless.COMMENT
MEDIUMstudio/src/player/components/TimelineFxButton.test.tsx147 // The design doc calls the sentence this dialog carries "the highest-leverageCOMMENT
LOWweb/connect.html67 <details><summary><span data-i18n="Do I need assets or a prompt first?">需要先准备素材或填写提示词吗?</span> <svg class="ui-iconCODE
MEDIUM⚡web/catalog/hyperframes.json1{"version":1,"syncedAt":"2026-10-26T15:31:08.812Z","mediaCheckedAt":"2026-10-26T15:31:08.815Z","sources":["https://raw.gCODE
MEDIUM⚡web/catalog/hyperframes.json1{"version":1,"syncedAt":"2026-10-26T15:31:08.812Z","mediaCheckedAt":"2026-10-26T15:31:08.815Z","sources":["https://raw.gCODE
MEDIUM…930878-a770-486d-b697-a1d0f10089ce/source/preview.html5<div class="overview"><section class="hero"><div class="tile-label">构图与编排 <span>可播放 · 可替换内容</span></div><figure class="dCODE
MEDIUM…930878-a770-486d-b697-a1d0f10089ce/source/preview.html28<section id="source-view" hidden><pre># Introducing Prime Agent: A self-improving RLM harness for coding and long-runninCODE
MEDIUM…30878-a770-486d-b697-a1d0f10089ce/source/demos/data.js1const CONFIG={"mode": "f3-prime", "mechanism": "prime", "demoTitle": "PRIME-AGENT", "brand": "Prime Intellect", "paletteCODE
MEDIUM…6dbdd-1cb7-434e-9b50-b7c9116ab46c/source/demos/data.js1const CONFIG={"mode": "w1-service-list", "demoTitle": "Find home services", "palette": ["#f9fbff", "#22262a", "#478be3",CODE
MEDIUM…0411c-316e-4b1c-8c15-c1c56527e53a/source/demos/data.js2const DATA={"tracks": [{"id": "text-0.center", "target": "text-0", "property": "center", "unit": "px", "space": "canvas"CODE
Structural Annotation Overuse6 hits · 10 pts
SeverityFileLineSnippetContext
LOWstudio/tests/e2e/design-panel-qa-matrix.md7## Step 0: demo-failure reproduction (baseline, pre-fix)COMMENT
LOW⚡studio/src/captions/parser.ts183 // Step 1: Extract transcript words from sourceCOMMENT
LOW⚡studio/src/captions/parser.ts189 // Step 2: Look for grouping and word elements in the iframe DOMCOMMENT
LOWstudio/src/captions/parser.ts204 // Step 5: Read computed styles from the first word or group elementCOMMENT
LOWstudio/src/captions/parser.ts256 // Step 6: Read container styles from group element (if visible background)COMMENT
LOWstudio/src/captions/parser.ts284 // Step 7: Apply extracted styles to all groups in the modelCOMMENT
Verbosity Indicators5 hits · 9 pts
SeverityFileLineSnippetContext
LOW⚡studio/src/captions/parser.ts183 // Step 1: Extract transcript words from sourceCOMMENT
LOW⚡studio/src/captions/parser.ts189 // Step 2: Look for grouping and word elements in the iframe DOMCOMMENT
LOWstudio/src/captions/parser.ts204 // Step 5: Read computed styles from the first word or group elementCOMMENT
LOWstudio/src/captions/parser.ts256 // Step 6: Read container styles from group element (if visible background)COMMENT
LOWstudio/src/captions/parser.ts284 // Step 7: Apply extracted styles to all groups in the modelCOMMENT
Fake / Example Data7 hits · 8 pts
SeverityFileLineSnippetContext
LOWstudio/src/utils/htmlAttrSafety.ts41 "placeholder",CODE
LOWstudio/src/motion/artifactBrowser.test.ts55 for (const address of ['javascript:alert(1)', 'data:text/html,hello', 'file:///etc/passwd', 'https://user:secret@exampCODE
LOW⚡web/catalog/hyperframes.json1{"version":1,"syncedAt":"2026-10-26T15:31:08.812Z","mediaCheckedAt":"2026-10-26T15:31:08.815Z","sources":["https://raw.gCODE
LOWscripts/check.ts61 // Agents choose routes from these texts, so a stale "placeholder" note hides a ready Skill.COMMENT
LOWpackages/design-system/token-model.js29 { title: '中性色', note: '背景、边框与文字,共同构成界面的基本层次。', keys: ['bg', 'panel', 'raised', 'inset', 'hover', 'border', 'border-strCODE
LOWpackages/design-system/tokens.json120 "placeholder": "#848484",CODE
LOWpackages/design-system/tokens.json172 "placeholder": "#969696",CODE
Slop Phrases1 hit · 2 pts
SeverityFileLineSnippetContext
MEDIUMweb/connect.html22 <p class="connect-notice" id="host-unavailable" role="note" hidden><svg class="ui-icon" aria-hidden="true"><usCODE