disable cursor rules

This commit is contained in:
Maze Winther
2026-03-01 21:48:37 +01:00
parent 51234e673b
commit 9a00e8ac5b
7 changed files with 2521 additions and 2409 deletions
+122 -2
View File
@@ -1,5 +1,5 @@
--- ---
alwaysApply: true alwaysApply: false
--- ---
# video-editor-oss Codebase Index # video-editor-oss Codebase Index
@@ -11,6 +11,7 @@ Updated in real-time by Twiggy. Use this to discover existing utilities and avoi
## How to Use ## How to Use
When implementing new features: When implementing new features:
1. Check if similar functionality already exists 1. Check if similar functionality already exists
2. Reuse existing types and utilities 2. Reuse existing types and utilities
3. Understand the API surface of your codebase 3. Understand the API surface of your codebase
@@ -213,9 +214,13 @@ use-sound-search.ts
use-transform-handles.ts use-transform-handles.ts
export function useTransformHandles({ export function useTransformHandles({
canvasRef, canvasRef,
}: { }: {
canvasRef: React.RefObject<HTMLCanvasElement | null>; canvasRef: React.RefObject<HTMLCanvasElement | null>;
}) })
## apps/web/src/hooks/actions ## apps/web/src/hooks/actions
@@ -254,10 +259,15 @@ use-bookmark-drag.ts
currentTime: number currentTime: number
} }
export function useBookmarkDrag({ export function useBookmarkDrag({
zoomLevel, zoomLevel,
scrollRef, scrollRef,
snappingEnabled, snappingEnabled,
onSnapPointChange, onSnapPointChange,
}: UseBookmarkDragProps) }: UseBookmarkDragProps)
use-edge-auto-scroll.ts use-edge-auto-scroll.ts
@@ -929,57 +939,103 @@ element-bounds.ts
hit-test.ts hit-test.ts
export function hitTest({ export function hitTest({
canvasX, canvasX,
canvasY, canvasY,
elementsWithBounds, elementsWithBounds,
}: { }: {
canvasX: number; canvasX: number;
canvasY: number; canvasY: number;
elementsWithBounds: ElementWithBounds[]; elementsWithBounds: ElementWithBounds[];
}): ElementWithBounds | null }): ElementWithBounds | null
preview-coords.ts preview-coords.ts
export function screenToCanvas({ export function screenToCanvas({
clientX, clientX,
clientY, clientY,
canvas, canvas,
}: { }: {
clientX: number; clientX: number;
clientY: number; clientY: number;
canvas: HTMLCanvasElement; canvas: HTMLCanvasElement;
}): { x: number; y: number } }): { x: number; y: number }
export function canvasToOverlay({ export function canvasToOverlay({
canvasX, canvasX,
canvasY, canvasY,
canvasRect, canvasRect,
containerRect, containerRect,
canvasSize, canvasSize,
}: { }: {
canvasX: number; canvasX: number;
canvasY: number; canvasY: number;
canvasRect: DOMRect; canvasRect: DOMRect;
containerRect: DOMRect; containerRect: DOMRect;
canvasSize: { width: number; height: number }; canvasSize: { width: number; height: number };
}): { x: number; y: number } }): { x: number; y: number }
export function positionToOverlay({ export function positionToOverlay({
positionX, positionX,
positionY, positionY,
canvasRect, canvasRect,
containerRect, containerRect,
canvasSize, canvasSize,
}: { }: {
positionX: number; positionX: number;
positionY: number; positionY: number;
canvasRect: DOMRect; canvasRect: DOMRect;
containerRect: DOMRect; containerRect: DOMRect;
canvasSize: { width: number; height: number }; canvasSize: { width: number; height: number };
}): { x: number; y: number } }): { x: number; y: number }
export function getDisplayScale({ export function getDisplayScale({
canvasRect, canvasRect,
canvasSize, canvasSize,
}: { }: {
canvasRect: DOMRect; canvasRect: DOMRect;
canvasSize: { width: number; height: number }; canvasSize: { width: number; height: number };
}): { x: number; y: number } }): { x: number; y: number }
preview-snap.ts preview-snap.ts
@@ -993,39 +1049,63 @@ preview-snap.ts
activeLines: SnapLine[] activeLines: SnapLine[]
} }
export function snapPosition({ export function snapPosition({
proposedPosition, proposedPosition,
canvasSize, canvasSize,
elementSize, elementSize,
}: { }: {
proposedPosition: { x: number; y: number }; proposedPosition: { x: number; y: number };
canvasSize: { width: number; height: number }; canvasSize: { width: number; height: number };
elementSize: { width: number; height: number }; elementSize: { width: number; height: number };
}): SnapResult }): SnapResult
export interface ScaleSnapResult { export interface ScaleSnapResult {
snappedScale: number snappedScale: number
activeLines: SnapLine[] activeLines: SnapLine[]
} }
export function snapScale({ export function snapScale({
proposedScale, proposedScale,
position, position,
baseWidth, baseWidth,
baseHeight, baseHeight,
canvasSize, canvasSize,
}: { }: {
proposedScale: number; proposedScale: number;
position: { x: number; y: number }; position: { x: number; y: number };
baseWidth: number; baseWidth: number;
baseHeight: number; baseHeight: number;
canvasSize: { width: number; height: number }; canvasSize: { width: number; height: number };
}): ScaleSnapResult }): ScaleSnapResult
export interface RotationSnapResult { export interface RotationSnapResult {
snappedRotation: number snappedRotation: number
isSnapped: boolean isSnapped: boolean
} }
export function snapRotation({ export function snapRotation({
proposedRotation, proposedRotation,
}: { }: {
proposedRotation: number; proposedRotation: number;
}): RotationSnapResult }): RotationSnapResult
## apps/web/src/lib/stickers ## apps/web/src/lib/stickers
@@ -1181,15 +1261,25 @@ bookmarks.ts
drag-utils.ts drag-utils.ts
export function getMouseTimeFromClientX({ export function getMouseTimeFromClientX({
clientX, clientX,
containerRect, containerRect,
zoomLevel, zoomLevel,
scrollLeft, scrollLeft,
}: { }: {
clientX: number; clientX: number;
containerRect: DOMRect; containerRect: DOMRect;
zoomLevel: number; zoomLevel: number;
scrollLeft: number; scrollLeft: number;
}): number }): number
drop-utils.ts drop-utils.ts
@@ -1955,11 +2045,17 @@ project.ts
rendering.ts rendering.ts
export type BlendMode = | "normal" export type BlendMode = | "normal"
| "darken" | "darken"
| "multiply" | "multiply"
| "color-burn" | "color-burn"
| "lighten" | "lighten"
| "screen" | "screen"
| "plus-ligh... | "plus-ligh...
sounds.ts sounds.ts
@@ -2259,34 +2355,58 @@ color.ts
export type ColorFormat = "hex" | "rgb" | "hsl" | "hsv" export type ColorFormat = "hex" | "rgb" | "hsl" | "hsv"
export function hexToHsv({ hex }: { hex: string }): [number, number, number] export function hexToHsv({ hex }: { hex: string }): [number, number, number]
export function hsvToHex({ export function hsvToHex({
h, h,
s, s,
v, v,
}: { h: number; s: number; v: number }): string }: { h: number; s: number; v: number }): string
export function parseHexAlpha({ hex }: { hex: string }): { export function parseHexAlpha({ hex }: { hex: string }): {
rgb: string; rgb: string;
alpha: number; alpha: number;
} }
export function appendAlpha({ export function appendAlpha({
rgbHex, rgbHex,
alpha, alpha,
}: { rgbHex: string; alpha: number }): string }: { rgbHex: string; alpha: number }): string
export function extractColorFromText({ export function extractColorFromText({
text, text,
}: { text: string }): string | null }: { text: string }): string | null
export function formatColorValue({ export function formatColorValue({
hex, hex,
format, format,
}: { }: {
hex: string; hex: string;
format: ColorFormat; format: ColorFormat;
}): string }): string
export function parseColorInput({ export function parseColorInput({
input, input,
format, format,
}: { }: {
input: string; input: string;
format: ColorFormat; format: ColorFormat;
}): string | null }): string | null
date.ts date.ts
@@ -2392,4 +2512,4 @@ ui.tsx
--- ---
*Generated and maintained by [Twiggy](https://github.com/twiggy-tools/Twiggy)* _Generated and maintained by [Twiggy](https://github.com/twiggy-tools/Twiggy)_
+1 -2
View File
@@ -1,7 +1,6 @@
--- ---
alwaysApply: true alwaysApply: false
--- ---
# Comment Guidelines # Comment Guidelines
## Good Comments (Human-style) ## Good Comments (Human-style)
+1 -2
View File
@@ -1,7 +1,6 @@
--- ---
alwaysApply: true alwaysApply: false
--- ---
# Handling Uncertainty # Handling Uncertainty
## Principle ## Principle
+1 -2
View File
@@ -1,7 +1,6 @@
--- ---
alwaysApply: true alwaysApply: false
--- ---
# Readability First # Readability First
Optimize code for AI agents to understand and modify. Optimize code for AI agents to understand and modify.
+1 -2
View File
@@ -1,7 +1,6 @@
--- ---
alwaysApply: true alwaysApply: false
--- ---
# Separation of Concerns # Separation of Concerns
## Core Principle ## Core Principle
+1 -4
View File
@@ -1,9 +1,6 @@
--- ---
description: Ultracite Rules - AI-Ready Formatter and Linter alwaysApply: false
globs: "**/*.{ts,tsx,js,jsx}"
alwaysApply: true
--- ---
# Project Context # Project Context
Ultracite enforces strict type safety, accessibility standards, and consistent code quality for JavaScript/TypeScript projects using Biome's formatter. Ultracite enforces strict type safety, accessibility standards, and consistent code quality for JavaScript/TypeScript projects using Biome's formatter.
+1 -2
View File
@@ -1,7 +1,6 @@
--- ---
alwaysApply: true alwaysApply: false
--- ---
# Scannable Code Guidelines/Separating Concerns. # Scannable Code Guidelines/Separating Concerns.
## Core Principle ## Core Principle