UNPKG

@bscotch/yy

Version:

Stringify, parse, read, and write GameMaker yy and yyp files.

1,214 lines (1,213 loc) 85.3 kB
import { z } from 'zod'; import { FixedNumber } from './utility.js'; export declare enum SpriteType { Default = 0, UNKNOWN1 = 1, Spine = 2, Svg = 3, UNKNOWN4 = 4, UNKNOWN5 = 5, UNKNOWN6 = 6 } export declare enum SpriteLayerBlendMode { Normal = 0, Add = 1, Subtract = 2, Multiply = 3 } export declare enum SpriteCollisionKind { Precise = 0, Rectangle = 1, Ellipse = 2, Diamond = 3, PrecisePerFrame = 4, RectangleWithRotation = 5, SpineCollisionMesh = 6 } export declare enum SpriteBoundingBoxMode { /** what does this imply about bboxes? */ Automatic = 0, FullImage = 1, Manual = 2 } export declare enum SpriteOrigin { TopLeft = 0, TopCenter = 1, TopRight = 2, MiddleLeft = 3, MiddleCenter = 4, MiddleRight = 5, BottomLeft = 6, BottomCenter = 7, BottomRight = 8, Custom = 9 } export declare enum SpritePlaybackSpeedType { FramesPerSecond = 0, FramesPerGameFrame = 1 } export type SpriteImageBase = z.infer<typeof spriteImageBaseSchema>; declare const spriteImageBaseSchema: z.ZodObject<{ FrameId: z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, z.core.$strip>; resourceVersion: z.ZodDefault<z.ZodLiteral<"1.0">>; name: z.ZodDefault<z.ZodString>; /** Seems to always be empty */ tags: z.ZodOptional<z.ZodArray<z.ZodString>>; resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteBitmap">>; }, z.core.$strip>; export type SpriteImage = z.infer<typeof spriteImageSchema>; declare const spriteImageSchema: z.ZodObject<{ FrameId: z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, z.core.$strip>; resourceVersion: z.ZodDefault<z.ZodLiteral<"1.0">>; name: z.ZodDefault<z.ZodString>; tags: z.ZodOptional<z.ZodArray<z.ZodString>>; resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteBitmap">>; LayerId: z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, z.core.$strip>; }, z.core.$strip>; export type SpriteCompositeImage = z.infer<typeof spriteCompositeImageSchema>; declare const spriteCompositeImageSchema: z.ZodObject<{ FrameId: z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, z.core.$strip>; resourceVersion: z.ZodDefault<z.ZodLiteral<"1.0">>; name: z.ZodDefault<z.ZodString>; tags: z.ZodOptional<z.ZodArray<z.ZodString>>; resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteBitmap">>; LayerId: z.ZodNull; }, z.core.$strip>; export type SpriteFrame = z.input<typeof spriteFrameSchema>; declare const spriteFrameSchema: z.ZodObject<{ /** * Unique GUID. Matches the name of an image file (+'.png') * that sits alongside the .yy file. Also matches a corresponding * folder name inside the "layers" folder. The Composite image * and each one listed in 'images' all have the same value here * for their "FrameId.name" field. */ name: z.ZodDefault<z.ZodString>; tags: z.ZodOptional<z.ZodArray<z.ZodString>>; resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteFrame">>; /** * Image created by flattening layers. * * Automatically generated by the IDE for resourceVersion 1.0, * removed in 1.1. */ compositeImage: z.ZodOptional<z.ZodObject<{ FrameId: z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, z.core.$strip>; resourceVersion: z.ZodDefault<z.ZodLiteral<"1.0">>; name: z.ZodDefault<z.ZodString>; tags: z.ZodOptional<z.ZodArray<z.ZodString>>; resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteBitmap">>; LayerId: z.ZodNull; }, z.core.$strip>>; /** * One image per layer. * * Automatically generated by the IDE for resourceVersion 1.0, * removed in 1.1. */ images: z.ZodOptional<z.ZodArray<z.ZodObject<{ FrameId: z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, z.core.$strip>; resourceVersion: z.ZodDefault<z.ZodLiteral<"1.0">>; name: z.ZodDefault<z.ZodString>; tags: z.ZodOptional<z.ZodArray<z.ZodString>>; resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteBitmap">>; LayerId: z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, z.core.$strip>; }, z.core.$strip>>>; /** * The parent sprite, same as the sprite's ID from the YYP. * * Automatically generated by the IDE for resourceVersion 1.0, * removed in 1.1. */ parent: z.ZodOptional<z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, z.core.$strip>>; resourceVersion: z.ZodDefault<z.ZodString>; }, z.core.$strip>; export type SpriteImageLayer = z.input<typeof spriteImageLayerSchema>; declare const spriteImageLayerSchema: z.ZodObject<{ visible: z.ZodDefault<z.ZodBoolean>; isLocked: z.ZodDefault<z.ZodBoolean>; blendMode: z.ZodDefault<z.ZodEnum<typeof SpriteLayerBlendMode>>; opacity: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>; displayName: z.ZodDefault<z.ZodString>; resourceVersion: z.ZodDefault<z.ZodString>; /** * The unique GUID for this layer, used by Frames in their LayerId field. */ name: z.ZodDefault<z.ZodString>; /** Seems to be unused -- always an empty array. */ tags: z.ZodOptional<z.ZodArray<z.ZodString>>; resourceType: z.ZodDefault<z.ZodLiteral<"GMImageLayer">>; }, z.core.$strip>; export type SpriteFolderLayer = z.input<typeof spriteFolderLayerSchema>; declare const spriteFolderLayerSchema: z.ZodObject<{ resourceType: z.ZodDefault<z.ZodLiteral<"GMImageFolderLayer">>; resourceVersion: z.ZodDefault<z.ZodString>; name: z.ZodDefault<z.ZodString>; blendMode: z.ZodDefault<z.ZodEnum<typeof SpriteLayerBlendMode>>; displayName: z.ZodDefault<z.ZodString>; isLocked: z.ZodDefault<z.ZodBoolean>; opacity: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>; visible: z.ZodDefault<z.ZodBoolean>; layers: z.ZodDefault<z.ZodArray<z.ZodObject<{ visible: z.ZodDefault<z.ZodBoolean>; isLocked: z.ZodDefault<z.ZodBoolean>; blendMode: z.ZodDefault<z.ZodEnum<typeof SpriteLayerBlendMode>>; opacity: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>; displayName: z.ZodDefault<z.ZodString>; resourceVersion: z.ZodDefault<z.ZodString>; /** * The unique GUID for this layer, used by Frames in their LayerId field. */ name: z.ZodDefault<z.ZodString>; /** Seems to be unused -- always an empty array. */ tags: z.ZodOptional<z.ZodArray<z.ZodString>>; resourceType: z.ZodDefault<z.ZodLiteral<"GMImageLayer">>; }, z.core.$strip>>>; }, z.core.$strip>; export type SpriteSequenceTrackKeyframe = z.input<typeof spriteSequenceTrackKeyframeSchema>; declare const spriteSequenceTrackKeyframeSchema: z.ZodIntersection<z.ZodObject<{ id: z.ZodDefault<z.ZodString>; Key: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>; Length: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>; Stretch: z.ZodDefault<z.ZodBoolean>; Disabled: z.ZodDefault<z.ZodBoolean>; IsCreationKey: z.ZodDefault<z.ZodBoolean>; Channels: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{ Id: z.ZodDefault<z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, z.core.$strip>>; resourceVersion: z.ZodDefault<z.ZodString>; resourceType: z.ZodDefault<z.ZodLiteral<"SpriteFrameKeyframe">>; }, z.core.$strip>>>; resourceVersion: z.ZodDefault<z.ZodString>; }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{ resourceType: z.ZodLiteral<"Keyframe`1">; elementType: z.ZodLiteral<"SpriteFrameKeyframe">; }, z.core.$strip>, z.ZodObject<{ resourceType: z.ZodLiteral<"Keyframe<SpriteFrameKeyframe>">; }, z.core.$strip>], "resourceType">>; export type SpriteSequenceEventType = z.infer<typeof spriteSequenceEventTypeSchema>; declare const spriteSequenceEventTypeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ resourceType: z.ZodLiteral<"KeyframeStore<MessageEventKeyframe>">; }, z.core.$strip>, z.ZodObject<{ resourceType: z.ZodLiteral<"KeyframeStore`1">; elementType: z.ZodLiteral<"MessageEventKeyframe">; }, z.core.$strip>], "resourceType">; export type SpriteSequenceTrack = z.infer<typeof spriteSequenceTrackSchema>; declare const spriteSequenceTrackSchema: z.ZodObject<{ name: z.ZodDefault<z.ZodString>; spriteId: z.ZodDefault<z.ZodNullable<z.ZodUnknown>>; trackColour: z.ZodDefault<z.ZodNumber>; inheritsTrackColour: z.ZodDefault<z.ZodBoolean>; builtinName: z.ZodDefault<z.ZodNumber>; traits: z.ZodDefault<z.ZodNumber>; interpolation: z.ZodDefault<z.ZodNumber>; tracks: z.ZodDefault<z.ZodArray<z.ZodUnknown>>; events: z.ZodDefault<z.ZodArray<z.ZodUnknown>>; modifiers: z.ZodDefault<z.ZodArray<z.ZodUnknown>>; isCreationTrack: z.ZodDefault<z.ZodBoolean>; resourceVersion: z.ZodDefault<z.ZodString>; tags: z.ZodOptional<z.ZodArray<z.ZodString>>; resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteFramesTrack">>; keyframes: z.ZodPipe<z.ZodTransform<{} | null, unknown>, z.ZodPipe<z.ZodIntersection<z.ZodObject<{ Keyframes: z.ZodPipe<z.ZodTransform<{} | null, unknown>, z.ZodDefault<z.ZodArray<z.ZodIntersection<z.ZodObject<{ id: z.ZodDefault<z.ZodString>; Key: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>; Length: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>; Stretch: z.ZodDefault<z.ZodBoolean>; Disabled: z.ZodDefault<z.ZodBoolean>; IsCreationKey: z.ZodDefault<z.ZodBoolean>; Channels: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{ Id: z.ZodDefault<z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, z.core.$strip>>; resourceVersion: z.ZodDefault<z.ZodString>; resourceType: z.ZodDefault<z.ZodLiteral<"SpriteFrameKeyframe">>; }, z.core.$strip>>>; resourceVersion: z.ZodDefault<z.ZodString>; }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{ resourceType: z.ZodLiteral<"Keyframe`1">; elementType: z.ZodLiteral<"SpriteFrameKeyframe">; }, z.core.$strip>, z.ZodObject<{ resourceType: z.ZodLiteral<"Keyframe<SpriteFrameKeyframe>">; }, z.core.$strip>], "resourceType">>>>>; resourceVersion: z.ZodDefault<z.ZodString>; }, z.core.$strip>, z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{ resourceType: z.ZodLiteral<"KeyframeStore<SpriteFrameKeyframe>">; }, z.core.$strip>, z.ZodObject<{ resourceType: z.ZodLiteral<"KeyframeStore`1">; elementType: z.ZodLiteral<"SpriteFrameKeyframe">; }, z.core.$strip>], "resourceType">>>, z.ZodTransform<({ Keyframes: ({ id: string; Key: FixedNumber; Length: FixedNumber; Stretch: boolean; Disabled: boolean; IsCreationKey: boolean; Channels: Record<string, { Id: { name: string; path: string; }; resourceVersion: string; resourceType: "SpriteFrameKeyframe"; }>; resourceVersion: string; } & ({ resourceType: "Keyframe`1"; elementType: "SpriteFrameKeyframe"; } | { resourceType: "Keyframe<SpriteFrameKeyframe>"; }))[]; resourceVersion: string; } & { resourceType: "KeyframeStore<SpriteFrameKeyframe>"; }) | ({ Keyframes: ({ id: string; Key: FixedNumber; Length: FixedNumber; Stretch: boolean; Disabled: boolean; IsCreationKey: boolean; Channels: Record<string, { Id: { name: string; path: string; }; resourceVersion: string; resourceType: "SpriteFrameKeyframe"; }>; resourceVersion: string; } & ({ resourceType: "Keyframe`1"; elementType: "SpriteFrameKeyframe"; } | { resourceType: "Keyframe<SpriteFrameKeyframe>"; }))[]; resourceVersion: string; } & { resourceType: "KeyframeStore`1"; elementType: "SpriteFrameKeyframe"; }), { Keyframes: ({ id: string; Key: FixedNumber; Length: FixedNumber; Stretch: boolean; Disabled: boolean; IsCreationKey: boolean; Channels: Record<string, { Id: { name: string; path: string; }; resourceVersion: string; resourceType: "SpriteFrameKeyframe"; }>; resourceVersion: string; } & ({ resourceType: "Keyframe`1"; elementType: "SpriteFrameKeyframe"; } | { resourceType: "Keyframe<SpriteFrameKeyframe>"; }))[]; resourceVersion: string; } & ({ resourceType: "KeyframeStore<SpriteFrameKeyframe>"; } | { resourceType: "KeyframeStore`1"; elementType: "SpriteFrameKeyframe"; })>>>; }, z.core.$strip>; export type SpriteSequence = z.input<typeof spriteSequenceSchema>; declare const spriteSequenceSchema: z.ZodObject<{ timeUnits: z.ZodDefault<z.ZodNumber>; playback: z.ZodDefault<z.ZodNumber>; /** * FPS (probably 30, 45, or 60), set via the editor */ playbackSpeed: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>; /** * FPS type, set via the editor */ playbackSpeedType: z.ZodDefault<z.ZodEnum<typeof SpritePlaybackSpeedType>>; autoRecord: z.ZodDefault<z.ZodBoolean>; volume: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>; /** * Number of frames */ length: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>; visibleRange: z.ZodDefault<z.ZodNullable<z.ZodObject<{ x: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>; y: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>; }, z.core.$strip>>>; lockOrigin: z.ZodDefault<z.ZodBoolean>; showBackdrop: z.ZodDefault<z.ZodBoolean>; showBackdropImage: z.ZodDefault<z.ZodBoolean>; backdropImagePath: z.ZodDefault<z.ZodString>; backdropImageOpacity: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>; backdropWidth: z.ZodDefault<z.ZodNumber>; backdropHeight: z.ZodDefault<z.ZodNumber>; backdropXOffset: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>; backdropYOffset: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>; xorigin: z.ZodDefault<z.ZodNumber>; yorigin: z.ZodDefault<z.ZodNumber>; eventToFunction: z.ZodDefault<z.ZodUnknown>; eventStubScript: z.ZodDefault<z.ZodUnknown>; name: z.ZodOptional<z.ZodString>; tags: z.ZodOptional<z.ZodArray<z.ZodString>>; resourceType: z.ZodDefault<z.ZodLiteral<"GMSequence">>; resourceVersion: z.ZodDefault<z.ZodString>; events: z.ZodDefault<z.ZodIntersection<z.ZodObject<{ Keyframes: z.ZodDefault<z.ZodArray<z.ZodUnknown>>; resourceVersion: z.ZodDefault<z.ZodString>; }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{ resourceType: z.ZodLiteral<"KeyframeStore<MessageEventKeyframe>">; }, z.core.$strip>, z.ZodObject<{ resourceType: z.ZodLiteral<"KeyframeStore`1">; elementType: z.ZodLiteral<"MessageEventKeyframe">; }, z.core.$strip>], "resourceType">>>; moments: z.ZodDefault<z.ZodIntersection<z.ZodObject<{ Keyframes: z.ZodDefault<z.ZodArray<z.ZodUnknown>>; resourceVersion: z.ZodDefault<z.ZodString>; }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{ resourceType: z.ZodLiteral<"KeyframeStore<MomentsEventKeyframe>">; }, z.core.$strip>, z.ZodObject<{ resourceType: z.ZodLiteral<"KeyframeStore`1">; elementType: z.ZodLiteral<"MomentsEventKeyframe">; }, z.core.$strip>], "resourceType">>>; tracks: z.ZodPrefault<z.ZodArray<z.ZodObject<{ name: z.ZodDefault<z.ZodString>; spriteId: z.ZodDefault<z.ZodNullable<z.ZodUnknown>>; trackColour: z.ZodDefault<z.ZodNumber>; inheritsTrackColour: z.ZodDefault<z.ZodBoolean>; builtinName: z.ZodDefault<z.ZodNumber>; traits: z.ZodDefault<z.ZodNumber>; interpolation: z.ZodDefault<z.ZodNumber>; tracks: z.ZodDefault<z.ZodArray<z.ZodUnknown>>; events: z.ZodDefault<z.ZodArray<z.ZodUnknown>>; modifiers: z.ZodDefault<z.ZodArray<z.ZodUnknown>>; isCreationTrack: z.ZodDefault<z.ZodBoolean>; resourceVersion: z.ZodDefault<z.ZodString>; tags: z.ZodOptional<z.ZodArray<z.ZodString>>; resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteFramesTrack">>; keyframes: z.ZodPipe<z.ZodTransform<{} | null, unknown>, z.ZodPipe<z.ZodIntersection<z.ZodObject<{ Keyframes: z.ZodPipe<z.ZodTransform<{} | null, unknown>, z.ZodDefault<z.ZodArray<z.ZodIntersection<z.ZodObject<{ id: z.ZodDefault<z.ZodString>; Key: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>; Length: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>; Stretch: z.ZodDefault<z.ZodBoolean>; Disabled: z.ZodDefault<z.ZodBoolean>; IsCreationKey: z.ZodDefault<z.ZodBoolean>; Channels: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{ Id: z.ZodDefault<z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, z.core.$strip>>; resourceVersion: z.ZodDefault<z.ZodString>; resourceType: z.ZodDefault<z.ZodLiteral<"SpriteFrameKeyframe">>; }, z.core.$strip>>>; resourceVersion: z.ZodDefault<z.ZodString>; }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{ resourceType: z.ZodLiteral<"Keyframe`1">; elementType: z.ZodLiteral<"SpriteFrameKeyframe">; }, z.core.$strip>, z.ZodObject<{ resourceType: z.ZodLiteral<"Keyframe<SpriteFrameKeyframe>">; }, z.core.$strip>], "resourceType">>>>>; resourceVersion: z.ZodDefault<z.ZodString>; }, z.core.$strip>, z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{ resourceType: z.ZodLiteral<"KeyframeStore<SpriteFrameKeyframe>">; }, z.core.$strip>, z.ZodObject<{ resourceType: z.ZodLiteral<"KeyframeStore`1">; elementType: z.ZodLiteral<"SpriteFrameKeyframe">; }, z.core.$strip>], "resourceType">>>, z.ZodTransform<({ Keyframes: ({ id: string; Key: FixedNumber; Length: FixedNumber; Stretch: boolean; Disabled: boolean; IsCreationKey: boolean; Channels: Record<string, { Id: { name: string; path: string; }; resourceVersion: string; resourceType: "SpriteFrameKeyframe"; }>; resourceVersion: string; } & ({ resourceType: "Keyframe`1"; elementType: "SpriteFrameKeyframe"; } | { resourceType: "Keyframe<SpriteFrameKeyframe>"; }))[]; resourceVersion: string; } & { resourceType: "KeyframeStore<SpriteFrameKeyframe>"; }) | ({ Keyframes: ({ id: string; Key: FixedNumber; Length: FixedNumber; Stretch: boolean; Disabled: boolean; IsCreationKey: boolean; Channels: Record<string, { Id: { name: string; path: string; }; resourceVersion: string; resourceType: "SpriteFrameKeyframe"; }>; resourceVersion: string; } & ({ resourceType: "Keyframe`1"; elementType: "SpriteFrameKeyframe"; } | { resourceType: "Keyframe<SpriteFrameKeyframe>"; }))[]; resourceVersion: string; } & { resourceType: "KeyframeStore`1"; elementType: "SpriteFrameKeyframe"; }), { Keyframes: ({ id: string; Key: FixedNumber; Length: FixedNumber; Stretch: boolean; Disabled: boolean; IsCreationKey: boolean; Channels: Record<string, { Id: { name: string; path: string; }; resourceVersion: string; resourceType: "SpriteFrameKeyframe"; }>; resourceVersion: string; } & ({ resourceType: "Keyframe`1"; elementType: "SpriteFrameKeyframe"; } | { resourceType: "Keyframe<SpriteFrameKeyframe>"; }))[]; resourceVersion: string; } & ({ resourceType: "KeyframeStore<SpriteFrameKeyframe>"; } | { resourceType: "KeyframeStore`1"; elementType: "SpriteFrameKeyframe"; })>>>; }, z.core.$strip>>>; /** * Matches the YYP resource's 'id' value. */ spriteId: z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, z.core.$strip>>>; parent: z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, z.core.$strip>>>; }, z.core.$strip>; /** * Data structure for Sprite .yy files. */ export type YySpriteLoose = z.input<typeof yySpriteSchemaStrict>; export type YySprite = z.output<typeof yySpriteSchemaStrict>; declare const yySpriteSchemaStrict: z.ZodPipe<z.ZodObject<{ "%Name": z.ZodOptional<z.ZodString>; ConfigValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodString>>>; name: z.ZodString; tags: z.ZodOptional<z.ZodArray<z.ZodString>>; parent: z.ZodDefault<z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, z.core.$strip>>; resourceVersion: z.ZodDefault<z.ZodString>; bboxMode: z.ZodDefault<z.ZodEnum<typeof SpriteBoundingBoxMode>>; collisionKind: z.ZodDefault<z.ZodEnum<typeof SpriteCollisionKind>>; type: z.ZodDefault<z.ZodEnum<typeof SpriteType>>; origin: z.ZodDefault<z.ZodEnum<typeof SpriteOrigin>>; preMultiplyAlpha: z.ZodDefault<z.ZodBoolean>; edgeFiltering: z.ZodDefault<z.ZodBoolean>; collisionTolerance: z.ZodDefault<z.ZodNumber>; swfPrecision: z.ZodDefault<z.ZodNumber>; bbox_left: z.ZodDefault<z.ZodNumber>; bbox_right: z.ZodDefault<z.ZodNumber>; bbox_top: z.ZodDefault<z.ZodNumber>; bbox_bottom: z.ZodDefault<z.ZodNumber>; HTile: z.ZodDefault<z.ZodBoolean>; VTile: z.ZodDefault<z.ZodBoolean>; For3D: z.ZodDefault<z.ZodBoolean>; DynamicTexturePage: z.ZodDefault<z.ZodBoolean>; width: z.ZodDefault<z.ZodNumber>; height: z.ZodDefault<z.ZodNumber>; textureGroupId: z.ZodDefault<z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, z.core.$strip>>; swatchColours: z.ZodDefault<z.ZodUnknown>; gridX: z.ZodDefault<z.ZodNumber>; gridY: z.ZodDefault<z.ZodNumber>; frames: z.ZodDefault<z.ZodArray<z.ZodObject<{ /** * Unique GUID. Matches the name of an image file (+'.png') * that sits alongside the .yy file. Also matches a corresponding * folder name inside the "layers" folder. The Composite image * and each one listed in 'images' all have the same value here * for their "FrameId.name" field. */ name: z.ZodDefault<z.ZodString>; tags: z.ZodOptional<z.ZodArray<z.ZodString>>; resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteFrame">>; /** * Image created by flattening layers. * * Automatically generated by the IDE for resourceVersion 1.0, * removed in 1.1. */ compositeImage: z.ZodOptional<z.ZodObject<{ FrameId: z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, z.core.$strip>; resourceVersion: z.ZodDefault<z.ZodLiteral<"1.0">>; name: z.ZodDefault<z.ZodString>; tags: z.ZodOptional<z.ZodArray<z.ZodString>>; resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteBitmap">>; LayerId: z.ZodNull; }, z.core.$strip>>; /** * One image per layer. * * Automatically generated by the IDE for resourceVersion 1.0, * removed in 1.1. */ images: z.ZodOptional<z.ZodArray<z.ZodObject<{ FrameId: z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, z.core.$strip>; resourceVersion: z.ZodDefault<z.ZodLiteral<"1.0">>; name: z.ZodDefault<z.ZodString>; tags: z.ZodOptional<z.ZodArray<z.ZodString>>; resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteBitmap">>; LayerId: z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, z.core.$strip>; }, z.core.$strip>>>; /** * The parent sprite, same as the sprite's ID from the YYP. * * Automatically generated by the IDE for resourceVersion 1.0, * removed in 1.1. */ parent: z.ZodOptional<z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, z.core.$strip>>; resourceVersion: z.ZodDefault<z.ZodString>; }, z.core.$strip>>>; sequence: z.ZodPrefault<z.ZodObject<{ timeUnits: z.ZodDefault<z.ZodNumber>; playback: z.ZodDefault<z.ZodNumber>; /** * FPS (probably 30, 45, or 60), set via the editor */ playbackSpeed: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>; /** * FPS type, set via the editor */ playbackSpeedType: z.ZodDefault<z.ZodEnum<typeof SpritePlaybackSpeedType>>; autoRecord: z.ZodDefault<z.ZodBoolean>; volume: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>; /** * Number of frames */ length: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>; visibleRange: z.ZodDefault<z.ZodNullable<z.ZodObject<{ x: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>; y: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>; }, z.core.$strip>>>; lockOrigin: z.ZodDefault<z.ZodBoolean>; showBackdrop: z.ZodDefault<z.ZodBoolean>; showBackdropImage: z.ZodDefault<z.ZodBoolean>; backdropImagePath: z.ZodDefault<z.ZodString>; backdropImageOpacity: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>; backdropWidth: z.ZodDefault<z.ZodNumber>; backdropHeight: z.ZodDefault<z.ZodNumber>; backdropXOffset: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>; backdropYOffset: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>; xorigin: z.ZodDefault<z.ZodNumber>; yorigin: z.ZodDefault<z.ZodNumber>; eventToFunction: z.ZodDefault<z.ZodUnknown>; eventStubScript: z.ZodDefault<z.ZodUnknown>; name: z.ZodOptional<z.ZodString>; tags: z.ZodOptional<z.ZodArray<z.ZodString>>; resourceType: z.ZodDefault<z.ZodLiteral<"GMSequence">>; resourceVersion: z.ZodDefault<z.ZodString>; events: z.ZodDefault<z.ZodIntersection<z.ZodObject<{ Keyframes: z.ZodDefault<z.ZodArray<z.ZodUnknown>>; resourceVersion: z.ZodDefault<z.ZodString>; }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{ resourceType: z.ZodLiteral<"KeyframeStore<MessageEventKeyframe>">; }, z.core.$strip>, z.ZodObject<{ resourceType: z.ZodLiteral<"KeyframeStore`1">; elementType: z.ZodLiteral<"MessageEventKeyframe">; }, z.core.$strip>], "resourceType">>>; moments: z.ZodDefault<z.ZodIntersection<z.ZodObject<{ Keyframes: z.ZodDefault<z.ZodArray<z.ZodUnknown>>; resourceVersion: z.ZodDefault<z.ZodString>; }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{ resourceType: z.ZodLiteral<"KeyframeStore<MomentsEventKeyframe>">; }, z.core.$strip>, z.ZodObject<{ resourceType: z.ZodLiteral<"KeyframeStore`1">; elementType: z.ZodLiteral<"MomentsEventKeyframe">; }, z.core.$strip>], "resourceType">>>; tracks: z.ZodPrefault<z.ZodArray<z.ZodObject<{ name: z.ZodDefault<z.ZodString>; spriteId: z.ZodDefault<z.ZodNullable<z.ZodUnknown>>; trackColour: z.ZodDefault<z.ZodNumber>; inheritsTrackColour: z.ZodDefault<z.ZodBoolean>; builtinName: z.ZodDefault<z.ZodNumber>; traits: z.ZodDefault<z.ZodNumber>; interpolation: z.ZodDefault<z.ZodNumber>; tracks: z.ZodDefault<z.ZodArray<z.ZodUnknown>>; events: z.ZodDefault<z.ZodArray<z.ZodUnknown>>; modifiers: z.ZodDefault<z.ZodArray<z.ZodUnknown>>; isCreationTrack: z.ZodDefault<z.ZodBoolean>; resourceVersion: z.ZodDefault<z.ZodString>; tags: z.ZodOptional<z.ZodArray<z.ZodString>>; resourceType: z.ZodDefault<z.ZodLiteral<"GMSpriteFramesTrack">>; keyframes: z.ZodPipe<z.ZodTransform<{} | null, unknown>, z.ZodPipe<z.ZodIntersection<z.ZodObject<{ Keyframes: z.ZodPipe<z.ZodTransform<{} | null, unknown>, z.ZodDefault<z.ZodArray<z.ZodIntersection<z.ZodObject<{ id: z.ZodDefault<z.ZodString>; Key: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>; Length: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>; Stretch: z.ZodDefault<z.ZodBoolean>; Disabled: z.ZodDefault<z.ZodBoolean>; IsCreationKey: z.ZodDefault<z.ZodBoolean>; Channels: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{ Id: z.ZodDefault<z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, z.core.$strip>>; resourceVersion: z.ZodDefault<z.ZodString>; resourceType: z.ZodDefault<z.ZodLiteral<"SpriteFrameKeyframe">>; }, z.core.$strip>>>; resourceVersion: z.ZodDefault<z.ZodString>; }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{ resourceType: z.ZodLiteral<"Keyframe`1">; elementType: z.ZodLiteral<"SpriteFrameKeyframe">; }, z.core.$strip>, z.ZodObject<{ resourceType: z.ZodLiteral<"Keyframe<SpriteFrameKeyframe>">; }, z.core.$strip>], "resourceType">>>>>; resourceVersion: z.ZodDefault<z.ZodString>; }, z.core.$strip>, z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{ resourceType: z.ZodLiteral<"KeyframeStore<SpriteFrameKeyframe>">; }, z.core.$strip>, z.ZodObject<{ resourceType: z.ZodLiteral<"KeyframeStore`1">; elementType: z.ZodLiteral<"SpriteFrameKeyframe">; }, z.core.$strip>], "resourceType">>>, z.ZodTransform<({ Keyframes: ({ id: string; Key: FixedNumber; Length: FixedNumber; Stretch: boolean; Disabled: boolean; IsCreationKey: boolean; Channels: Record<string, { Id: { name: string; path: string; }; resourceVersion: string; resourceType: "SpriteFrameKeyframe"; }>; resourceVersion: string; } & ({ resourceType: "Keyframe`1"; elementType: "SpriteFrameKeyframe"; } | { resourceType: "Keyframe<SpriteFrameKeyframe>"; }))[]; resourceVersion: string; } & { resourceType: "KeyframeStore<SpriteFrameKeyframe>"; }) | ({ Keyframes: ({ id: string; Key: FixedNumber; Length: FixedNumber; Stretch: boolean; Disabled: boolean; IsCreationKey: boolean; Channels: Record<string, { Id: { name: string; path: string; }; resourceVersion: string; resourceType: "SpriteFrameKeyframe"; }>; resourceVersion: string; } & ({ resourceType: "Keyframe`1"; elementType: "SpriteFrameKeyframe"; } | { resourceType: "Keyframe<SpriteFrameKeyframe>"; }))[]; resourceVersion: string; } & { resourceType: "KeyframeStore`1"; elementType: "SpriteFrameKeyframe"; }), { Keyframes: ({ id: string; Key: FixedNumber; Length: FixedNumber; Stretch: boolean; Disabled: boolean; IsCreationKey: boolean; Channels: Record<string, { Id: { name: string; path: string; }; resourceVersion: string; resourceType: "SpriteFrameKeyframe"; }>; resourceVersion: string; } & ({ resourceType: "Keyframe`1"; elementType: "SpriteFrameKeyframe"; } | { resourceType: "Keyframe<SpriteFrameKeyframe>"; }))[]; resourceVersion: string; } & ({ resourceType: "KeyframeStore<SpriteFrameKeyframe>"; } | { resourceType: "KeyframeStore`1"; elementType: "SpriteFrameKeyframe"; })>>>; }, z.core.$strip>>>; /** * Matches the YYP resource's 'id' value. */ spriteId: z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, z.core.$strip>>>; parent: z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{ name: z.ZodString; path: z.ZodString; }, z.core.$strip>>>; }, z.core.$strip>>; layers: z.ZodPrefault<z.ZodArray<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodDiscriminatedUnion<[z.ZodObject<{ visible: z.ZodDefault<z.ZodBoolean>; isLocked: z.ZodDefault<z.ZodBoolean>; blendMode: z.ZodDefault<z.ZodEnum<typeof SpriteLayerBlendMode>>; opacity: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>; displayName: z.ZodDefault<z.ZodString>; resourceVersion: z.ZodDefault<z.ZodString>; /** * The unique GUID for this layer, used by Frames in their LayerId field. */ name: z.ZodDefault<z.ZodString>; /** Seems to be unused -- always an empty array. */ tags: z.ZodOptional<z.ZodArray<z.ZodString>>; resourceType: z.ZodDefault<z.ZodLiteral<"GMImageLayer">>; }, z.core.$strip>, z.ZodObject<{ resourceType: z.ZodDefault<z.ZodLiteral<"GMImageFolderLayer">>; resourceVersion: z.ZodDefault<z.ZodString>; name: z.ZodDefault<z.ZodString>; blendMode: z.ZodDefault<z.ZodEnum<typeof SpriteLayerBlendMode>>; displayName: z.ZodDefault<z.ZodString>; isLocked: z.ZodDefault<z.ZodBoolean>; opacity: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>; visible: z.ZodDefault<z.ZodBoolean>; layers: z.ZodDefault<z.ZodArray<z.ZodObject<{ visible: z.ZodDefault<z.ZodBoolean>; isLocked: z.ZodDefault<z.ZodBoolean>; blendMode: z.ZodDefault<z.ZodEnum<typeof SpriteLayerBlendMode>>; opacity: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>>; displayName: z.ZodDefault<z.ZodString>; resourceVersion: z.ZodDefault<z.ZodString>; /** * The unique GUID for this layer, used by Frames in their LayerId field. */ name: z.ZodDefault<z.ZodString>; /** Seems to be unused -- always an empty array. */ tags: z.ZodOptional<z.ZodArray<z.ZodString>>; resourceType: z.ZodDefault<z.ZodLiteral<"GMImageLayer">>; }, z.core.$strip>>>; }, z.core.$strip>], "resourceType">>>>; resourceType: z.ZodDefault<z.ZodLiteral<"GMSprite">>; nineSlice: z.ZodDefault<z.ZodOptional<z.ZodUnknown>>; }, z.core.$strip>, z.ZodTransform<{ name: string; parent: { name: string; path: string; }; resourceVersion: string; bboxMode: SpriteBoundingBoxMode; collisionKind: SpriteCollisionKind; type: SpriteType; origin: SpriteOrigin; preMultiplyAlpha: boolean; edgeFiltering: boolean; collisionTolerance: number; swfPrecision: number; bbox_left: number; bbox_right: number; bbox_top: number; bbox_bottom: number; HTile: boolean; VTile: boolean; For3D: boolean; DynamicTexturePage: boolean; width: number; height: number; textureGroupId: { name: string; path: string; }; swatchColours: unknown; gridX: number; gridY: number; frames: { name: string; resourceType: "GMSpriteFrame"; resourceVersion: string; tags?: string[] | undefined; compositeImage?: { FrameId: { name: string; path: string; }; resourceVersion: "1.0"; name: string; resourceType: "GMSpriteBitmap"; LayerId: null; tags?: string[] | undefined; } | undefined; images?: { FrameId: { name: string; path: string; }; resourceVersion: "1.0"; name: string; resourceType: "GMSpriteBitmap"; LayerId: { name: string; path: string; }; tags?: string[] | undefined; }[] | undefined; parent?: { name: string; path: string; } | undefined; }[]; sequence: { timeUnits: number; playback: number; playbackSpeed: FixedNumber; playbackSpeedType: SpritePlaybackSpeedType; autoRecord: boolean; volume: FixedNumber; length: FixedNumber; visibleRange: { x: FixedNumber; y: FixedNumber; } | null; lockOrigin: boolean; showBackdrop: boolean; showBackdropImage: boolean; backdropImagePath: string; backdropImageOpacity: FixedNumber; backdropWidth: number; backdropHeight: number; backdropXOffset: FixedNumber; backdropYOffset: FixedNumber; xorigin: number; yorigin: number; eventToFunction: unknown; eventStubScript: unknown; resourceType: "GMSequence"; resourceVersion: string; events: { Keyframes: unknown[]; resourceVersion: string; } & ({ resourceType: "KeyframeStore<MessageEventKeyframe>"; } | { resourceType: "KeyframeStore`1"; elementType: "MessageEventKeyframe"; }); moments: { Keyframes: unknown[]; resourceVersion: string; } & ({ resourceType: "KeyframeStore<MomentsEventKeyframe>"; } | { resourceType: "KeyframeStore`1"; elementType: "MomentsEventKeyframe"; }); tracks: { name: string; spriteId: unknown; trackColour: number; inheritsTrackColour: boolean; builtinName: number; traits: number; interpolation: number; tracks: unknown[]; events: unknown[]; modifiers: unknown[]; isCreationTrack: boolean; resourceVersion: string; resourceType: "GMSpriteFramesTrack"; keyframes: ({ Keyframes: ({ id: string; Key: FixedNumber; Length: FixedNumber; Stretch: boolean; Disabled: boolean; IsCreationKey: boolean; Channels: Record<string, { Id: { name: string; path: string; }; resourceVersion: string; resourceType: "SpriteFrameKeyframe"; }>; resourceVersion: string; } & ({ resourceType: "Keyframe`1"; elementType: "SpriteFrameKeyframe"; } | { resourceType: "Keyframe<SpriteFrameKeyframe>"; }))[]; resourceVersion: string; } & { resourceType: "KeyframeStore<SpriteFrameKeyframe>"; }) | ({ Keyframes: ({ id: string; Key: FixedNumber; Length: FixedNumber; Stretch: boolean; Disabled: boolean; IsCreationKey: boolean; Channels: Record<string, { Id: { name: string; path: string; }; resourceVersion: string; resourceType: "SpriteFrameKeyframe"; }>; resourceVersion: string; } & ({ resourceType: "Keyframe`1"; elementType: "SpriteFrameKeyframe"; } | { resourceType: "Keyframe<SpriteFrameKeyframe>"; }))[]; resourceVersion: string; } & { resourceType: "KeyframeStore`1"; elementType: "SpriteFrameKeyframe"; }); tags?: string[] | undefined; }[]; name?: string | undefined; tags?: string[] | undefined; spriteId?: { name: string; path: string; } | undefined; parent?: { name: string; path: string; } | undefined; }; layers: ({ visible: boolean; isLocked: boolean; blendMode: SpriteLayerBlendMode; opacity: FixedNumber; displayName: string; resourceVersion: string; name: string; resourceType: "GMImageLayer"; tags?: string[] | undefined; } | { resourceType: "GMImageFolderLayer"; resourceVersion: string; name: string; blendMode: SpriteLayerBlendMode; displayName: string; isLocked: boolean; opacity: FixedNumber; visible: boolean; layers: { visible: boolean; isLocked: boolean; blendMode: SpriteLayerBlendMode; opacity: FixedNumber; displayName: string; resourceVersion: string; name: string; resourceType: "GMImageLayer"; tags?: string[] | undefined; }[]; })[]; resourceType: "GMSprite"; nineSlice: unknown; "%Name"?: string | undefined; ConfigValues?: Record<string, Record<string, string>> | undefined; tags?: string[] | undefined; }, { name: string; parent: { name: string; path: string; }; resourceVersion: string; bboxMode: SpriteBoundingBoxMode; collisionKind: SpriteCollisionKind; type: SpriteType; origin: SpriteOrigin; preMultiplyAlpha: boolean; edgeFiltering: boolean; collisionTolerance: number; swfPrecision: number; bbox_left: number; bbox_right: number; bbox_top: number; bbox_bottom: number; HTile: boolean; VTile: boolean; For3D: boolean; DynamicTexturePage: boolean; width: number; height: number; textureGroupId: { name: string; path: string; }; swatchColours: unknown; gridX: number; gridY: number; frames: { name: string; resourceType: "GMSpriteFrame"; resourceVersion: string; tags?: string[] | undefined; compositeImage?: { FrameId: { name: string; path: string; }; resourceVersion: "1.0"; name: string; resourceType: "GMSpriteBitmap"; LayerId: null; tags?: string[] | undefined; } | undefined; images?: { FrameId: { name: string; path: string; }; resourceVersion: "1.0"; name: string; resourceType: "GMSpriteBitmap"; LayerId: { name: string; path: string; }; tags?: string[] | undefined; }[] | undefined; parent?: { name: string; path: string; } | undefined; }[]; sequence: { timeUnits: number; playback: number; playbackSpeed: FixedNumber; playbackSpeedType: SpritePlaybackSpeedType; autoRecord: boolean; volume: FixedNumber; length: FixedNumber; visibleRange: { x: FixedNumber; y: FixedNumber; } | null; lockOrigin: boolean; showBackdrop: boolean; showBackdropImage: boolean; backdropImagePath: string; backdropImageOpacity: FixedNumber; backdropWidth: number; backdropHeight: number; backdropXOffset: FixedNumber; backdropYOffset: FixedNumber; xorigin: number; yorigin: number; eventToFunction: unknown; eventStubScript: unknown; resourceType: "GMSequence"; resourceVersion: string; events: { Keyframes: unknown[]; resourceVersion: string; } & ({ resourceType: "KeyframeStore<MessageEventKeyframe>"; } | { resourceType: "KeyframeStore`1";