| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- export interface Data {
- camera: {
- point: number[]
- zoom: number
- }
- currentPageId: string
- selectedIds: string[]
- pointedId: string
- document: {
- pages: Record<string, Page>
- }
- }
-
- export interface Page {
- id: string
- type: "page"
- childIndex: number
- name: string
- shapes: Record<string, Shape>
- }
-
- export enum ShapeType {
- Circle = "circle",
- Ellipse = "ellipse",
- Square = "square",
- Rectangle = "rectangle",
- Line = "line",
- LineSegment = "lineSegment",
- Dot = "dot",
- Ray = "ray",
- Glob = "glob",
- Spline = "spline",
- Cubic = "cubic",
- Conic = "conic",
- }
-
- export interface BaseShape {
- id: string
- type: ShapeType
- parentId: string
- childIndex: number
- name: string
- rotation: 0
- }
-
- export interface DotShape extends BaseShape {
- type: ShapeType.Dot
- point: number[]
- }
-
- export interface CircleShape extends BaseShape {
- type: ShapeType.Circle
- point: number[]
- radius: number
- }
-
- export interface EllipseShape extends BaseShape {
- type: ShapeType.Ellipse
- point: number[]
- radiusX: number
- radiusY: number
- }
-
- export interface LineShape extends BaseShape {
- type: ShapeType.Line
- point: number[]
- vector: number[]
- }
-
- export interface RayShape extends BaseShape {
- type: ShapeType.Ray
- point: number[]
- vector: number[]
- }
-
- export interface LineSegmentShape extends BaseShape {
- type: ShapeType.LineSegment
- start: number[]
- end: number[]
- }
-
- export interface RectangleShape extends BaseShape {
- type: ShapeType.Rectangle
- point: number[]
- size: number[]
- }
-
- export type Shape =
- | CircleShape
- | EllipseShape
- | DotShape
- | LineShape
- | RayShape
- | LineSegmentShape
- | RectangleShape
|