mirror of
https://github.com/OpenCut-app/OpenCut.git
synced 2026-07-13 21:52:53 +02:00
disable cursor rules
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
---
|
||||
alwaysApply: true
|
||||
alwaysApply: false
|
||||
---
|
||||
|
||||
# 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
|
||||
|
||||
When implementing new features:
|
||||
|
||||
1. Check if similar functionality already exists
|
||||
2. Reuse existing types and utilities
|
||||
3. Understand the API surface of your codebase
|
||||
@@ -213,9 +214,13 @@ use-sound-search.ts
|
||||
|
||||
use-transform-handles.ts
|
||||
export function useTransformHandles({
|
||||
|
||||
canvasRef,
|
||||
|
||||
}: {
|
||||
|
||||
canvasRef: React.RefObject<HTMLCanvasElement | null>;
|
||||
|
||||
})
|
||||
|
||||
## apps/web/src/hooks/actions
|
||||
@@ -254,10 +259,15 @@ use-bookmark-drag.ts
|
||||
currentTime: number
|
||||
}
|
||||
export function useBookmarkDrag({
|
||||
|
||||
zoomLevel,
|
||||
|
||||
scrollRef,
|
||||
|
||||
snappingEnabled,
|
||||
|
||||
onSnapPointChange,
|
||||
|
||||
}: UseBookmarkDragProps)
|
||||
|
||||
use-edge-auto-scroll.ts
|
||||
@@ -929,57 +939,103 @@ element-bounds.ts
|
||||
|
||||
hit-test.ts
|
||||
export function hitTest({
|
||||
|
||||
canvasX,
|
||||
|
||||
canvasY,
|
||||
|
||||
elementsWithBounds,
|
||||
|
||||
}: {
|
||||
|
||||
canvasX: number;
|
||||
|
||||
canvasY: number;
|
||||
|
||||
elementsWithBounds: ElementWithBounds[];
|
||||
|
||||
}): ElementWithBounds | null
|
||||
|
||||
preview-coords.ts
|
||||
export function screenToCanvas({
|
||||
|
||||
clientX,
|
||||
|
||||
clientY,
|
||||
|
||||
canvas,
|
||||
|
||||
}: {
|
||||
|
||||
clientX: number;
|
||||
|
||||
clientY: number;
|
||||
|
||||
canvas: HTMLCanvasElement;
|
||||
|
||||
}): { x: number; y: number }
|
||||
export function canvasToOverlay({
|
||||
|
||||
canvasX,
|
||||
|
||||
canvasY,
|
||||
|
||||
canvasRect,
|
||||
|
||||
containerRect,
|
||||
|
||||
canvasSize,
|
||||
|
||||
}: {
|
||||
|
||||
canvasX: number;
|
||||
|
||||
canvasY: number;
|
||||
|
||||
canvasRect: DOMRect;
|
||||
|
||||
containerRect: DOMRect;
|
||||
|
||||
canvasSize: { width: number; height: number };
|
||||
|
||||
}): { x: number; y: number }
|
||||
export function positionToOverlay({
|
||||
|
||||
positionX,
|
||||
|
||||
positionY,
|
||||
|
||||
canvasRect,
|
||||
|
||||
containerRect,
|
||||
|
||||
canvasSize,
|
||||
|
||||
}: {
|
||||
|
||||
positionX: number;
|
||||
|
||||
positionY: number;
|
||||
|
||||
canvasRect: DOMRect;
|
||||
|
||||
containerRect: DOMRect;
|
||||
|
||||
canvasSize: { width: number; height: number };
|
||||
|
||||
}): { x: number; y: number }
|
||||
export function getDisplayScale({
|
||||
|
||||
canvasRect,
|
||||
|
||||
canvasSize,
|
||||
|
||||
}: {
|
||||
|
||||
canvasRect: DOMRect;
|
||||
|
||||
canvasSize: { width: number; height: number };
|
||||
|
||||
}): { x: number; y: number }
|
||||
|
||||
preview-snap.ts
|
||||
@@ -993,39 +1049,63 @@ preview-snap.ts
|
||||
activeLines: SnapLine[]
|
||||
}
|
||||
export function snapPosition({
|
||||
|
||||
proposedPosition,
|
||||
|
||||
canvasSize,
|
||||
|
||||
elementSize,
|
||||
|
||||
}: {
|
||||
|
||||
proposedPosition: { x: number; y: number };
|
||||
|
||||
canvasSize: { width: number; height: number };
|
||||
|
||||
elementSize: { width: number; height: number };
|
||||
|
||||
}): SnapResult
|
||||
export interface ScaleSnapResult {
|
||||
snappedScale: number
|
||||
activeLines: SnapLine[]
|
||||
}
|
||||
export function snapScale({
|
||||
|
||||
proposedScale,
|
||||
|
||||
position,
|
||||
|
||||
baseWidth,
|
||||
|
||||
baseHeight,
|
||||
|
||||
canvasSize,
|
||||
|
||||
}: {
|
||||
|
||||
proposedScale: number;
|
||||
|
||||
position: { x: number; y: number };
|
||||
|
||||
baseWidth: number;
|
||||
|
||||
baseHeight: number;
|
||||
|
||||
canvasSize: { width: number; height: number };
|
||||
|
||||
}): ScaleSnapResult
|
||||
export interface RotationSnapResult {
|
||||
snappedRotation: number
|
||||
isSnapped: boolean
|
||||
}
|
||||
export function snapRotation({
|
||||
|
||||
proposedRotation,
|
||||
|
||||
}: {
|
||||
|
||||
proposedRotation: number;
|
||||
|
||||
}): RotationSnapResult
|
||||
|
||||
## apps/web/src/lib/stickers
|
||||
@@ -1181,15 +1261,25 @@ bookmarks.ts
|
||||
|
||||
drag-utils.ts
|
||||
export function getMouseTimeFromClientX({
|
||||
|
||||
clientX,
|
||||
|
||||
containerRect,
|
||||
|
||||
zoomLevel,
|
||||
|
||||
scrollLeft,
|
||||
|
||||
}: {
|
||||
|
||||
clientX: number;
|
||||
|
||||
containerRect: DOMRect;
|
||||
|
||||
zoomLevel: number;
|
||||
|
||||
scrollLeft: number;
|
||||
|
||||
}): number
|
||||
|
||||
drop-utils.ts
|
||||
@@ -1955,11 +2045,17 @@ project.ts
|
||||
|
||||
rendering.ts
|
||||
export type BlendMode = | "normal"
|
||||
|
||||
| "darken"
|
||||
|
||||
| "multiply"
|
||||
|
||||
| "color-burn"
|
||||
|
||||
| "lighten"
|
||||
|
||||
| "screen"
|
||||
|
||||
| "plus-ligh...
|
||||
|
||||
sounds.ts
|
||||
@@ -2259,34 +2355,58 @@ color.ts
|
||||
export type ColorFormat = "hex" | "rgb" | "hsl" | "hsv"
|
||||
export function hexToHsv({ hex }: { hex: string }): [number, number, number]
|
||||
export function hsvToHex({
|
||||
|
||||
h,
|
||||
|
||||
s,
|
||||
|
||||
v,
|
||||
|
||||
}: { h: number; s: number; v: number }): string
|
||||
export function parseHexAlpha({ hex }: { hex: string }): {
|
||||
|
||||
rgb: string;
|
||||
|
||||
alpha: number;
|
||||
|
||||
}
|
||||
export function appendAlpha({
|
||||
|
||||
rgbHex,
|
||||
|
||||
alpha,
|
||||
|
||||
}: { rgbHex: string; alpha: number }): string
|
||||
export function extractColorFromText({
|
||||
|
||||
text,
|
||||
|
||||
}: { text: string }): string | null
|
||||
export function formatColorValue({
|
||||
|
||||
hex,
|
||||
|
||||
format,
|
||||
|
||||
}: {
|
||||
|
||||
hex: string;
|
||||
|
||||
format: ColorFormat;
|
||||
|
||||
}): string
|
||||
export function parseColorInput({
|
||||
|
||||
input,
|
||||
|
||||
format,
|
||||
|
||||
}: {
|
||||
|
||||
input: string;
|
||||
|
||||
format: ColorFormat;
|
||||
|
||||
}): string | null
|
||||
|
||||
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,7 +1,6 @@
|
||||
---
|
||||
alwaysApply: true
|
||||
alwaysApply: false
|
||||
---
|
||||
|
||||
# Comment Guidelines
|
||||
|
||||
## Good Comments (Human-style)
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
---
|
||||
alwaysApply: true
|
||||
alwaysApply: false
|
||||
---
|
||||
|
||||
# Handling Uncertainty
|
||||
|
||||
## Principle
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
---
|
||||
alwaysApply: true
|
||||
alwaysApply: false
|
||||
---
|
||||
|
||||
# Readability First
|
||||
|
||||
Optimize code for AI agents to understand and modify.
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
---
|
||||
alwaysApply: true
|
||||
alwaysApply: false
|
||||
---
|
||||
|
||||
# Separation of Concerns
|
||||
|
||||
## Core Principle
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
---
|
||||
description: Ultracite Rules - AI-Ready Formatter and Linter
|
||||
globs: "**/*.{ts,tsx,js,jsx}"
|
||||
alwaysApply: true
|
||||
alwaysApply: false
|
||||
---
|
||||
|
||||
# Project Context
|
||||
|
||||
Ultracite enforces strict type safety, accessibility standards, and consistent code quality for JavaScript/TypeScript projects using Biome's formatter.
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
---
|
||||
alwaysApply: true
|
||||
alwaysApply: false
|
||||
---
|
||||
|
||||
# Scannable Code Guidelines/Separating Concerns.
|
||||
|
||||
## Core Principle
|
||||
|
||||
Reference in New Issue
Block a user