Add grid snapping, @TODO: Add settings popup with grid settings + render grid.

This commit is contained in:
2025-01-28 17:55:47 +01:00
parent 3f04bb3d0c
commit 0b1809c3f6
8 changed files with 2724 additions and 29 deletions

View File

@@ -82,4 +82,9 @@ export function getCenter(n: Position, i: Position, r: Position, o: Position, e:
x: s * n.x + l * r.x + c * o.x + u * i.x,
y: s * n.y + l * r.y + c * o.y + u * i.y
};
}
export function gridSnap(value: number, grid: number): number
{
return Math.round(value / grid) * grid;
}

View File

@@ -1,6 +1,13 @@
import type { CanvasContent } from '~/types/canvas';
import type { ContentMap, FileType } from '~/types/content';
export const DEFAULT_CONTENT: Record<FileType, ContentMap[FileType]['content']> = {
map: {},
canvas: { nodes: [], edges: []},
markdown: '',
file: '',
folder: null,
}
export function unifySlug(slug: string | string[]): string
{
return (Array.isArray(slug) ? slug.join('/') : slug);