Update ts definitions to r469.

This commit is contained in:
Davide Tantillo 2026-01-22 15:10:05 +01:00
parent 6aedab232e
commit 24e8a86081
19 changed files with 190 additions and 81 deletions

View File

@ -3,13 +3,21 @@
* @see {@link https://www.construct.net/make-games/manuals/construct-3/scripting/scripting-reference/behavior-interfaces/solid | ISolidBehaviorInstance documentation } */ * @see {@link https://www.construct.net/make-games/manuals/construct-3/scripting/scripting-reference/behavior-interfaces/solid | ISolidBehaviorInstance documentation } */
declare class ISolidBehaviorInstance<InstType> extends IBehaviorInstance<InstType> declare class ISolidBehaviorInstance<InstType> extends IBehaviorInstance<InstType>
{ {
isEnabled: boolean;
readonly usesInstanceTags: boolean;
/** /**
* @deprecated Use setAllTags() or getAllTags() instead, which use more suitable data types than a space-separated string. * @deprecated Use instance tags instead
*/ */
tags: string; tags: string;
/**
* @deprecated Use instance tags instead
*/
setAllTags(tags: Iterable<string>): void; setAllTags(tags: Iterable<string>): void;
getAllTags(): Set<string>;
isEnabled: boolean; /**
* @deprecated Use instance tags instead
*/
getAllTags(): Set<string>;
} }

View File

@ -13,5 +13,6 @@ declare namespace SDK {
OnCreate(): void; OnCreate(): void;
OnPropertyChanged(id: string, value: EditorPropertyValueType): void; OnPropertyChanged(id: string, value: EditorPropertyValueType): void;
OnAddedInEditor(): void;
} }
} }

View File

@ -53,6 +53,7 @@ declare namespace SDK {
SetSupportsColor(v: boolean): void; SetSupportsColor(v: boolean): void;
SetCanBeBundled(v: boolean): void; SetCanBeBundled(v: boolean): void;
SetSupportsColor(v: boolean): void; SetSupportsColor(v: boolean): void;
SetSupportsChangingSampling(v: boolean): void;
AddCommonPositionACEs(): void; AddCommonPositionACEs(): void;
AddCommonSizeACEs(): void; AddCommonSizeACEs(): void;

View File

@ -44,7 +44,7 @@ declare namespace SDK.Gfx {
PushLineCap(type: RendererLineCapMode): void; PushLineCap(type: RendererLineCapMode): void;
PopLineCap(): void; PopLineCap(): void;
SetTexture(tex: SDK.Gfx.IWebGLTexture): void; SetTexture(tex: SDK.Gfx.IWebGLTexture, sampling?: SamplingModeOrAutoType): void;
CreateDynamicTexture(width: number, height: number, opts?: TextureCreateOptions): SDK.Gfx.IWebGLTexture; CreateDynamicTexture(width: number, height: number, opts?: TextureCreateOptions): SDK.Gfx.IWebGLTexture;
UpdateTexture(data: TextureUpdateDataType, tex: SDK.Gfx.IWebGLTexture, opts?: TextureUpdateOptions): void; UpdateTexture(data: TextureUpdateDataType, tex: SDK.Gfx.IWebGLTexture, opts?: TextureUpdateOptions): void;
DeleteTexture(tex: SDK.Gfx.IWebGLTexture): void; DeleteTexture(tex: SDK.Gfx.IWebGLTexture): void;

View File

@ -2,5 +2,7 @@ declare namespace SDK.Gfx {
class IWebGLTexture { class IWebGLTexture {
GetWidth(): number; GetWidth(): number;
GetHeight(): number; GetHeight(): number;
GetDefaultSampling(): SamplingModeType;
} }
} }

View File

@ -36,5 +36,10 @@ declare namespace SDK {
GetLayout(): SDK.ILayout; GetLayout(): SDK.ILayout;
ApplyBlendMode(iRenderer: SDK.Gfx.IWebGLRenderer): void; ApplyBlendMode(iRenderer: SDK.Gfx.IWebGLRenderer): void;
SetSampling(sampling: SamplingModeOrAutoType): void;
GetSampling(): SamplingModeOrAutoType;
GetActiveSampling(): SamplingModeType;
} }
} }

View File

@ -0,0 +1,45 @@
type Model3DRenderModeType = "hierarchy" | "isolate";
type Model3DTransformTypes = "offset" | "rotation" | "scale";
/** Represents the 3D Model object.
* @see {@link https://www.construct.net/make-games/manuals/construct-3/scripting/scripting-reference/plugin-interfaces/3d-model | I3DModelInstance documentation } */
declare class I3DModelInstance extends IWorldInstance
{
loadModel(model: string, mesh?: string, animation?: string, playing?: boolean, progress?: number): Promise<null | undefined>;
onLoad(): void;
onError(): void;
modelName: string;
meshName: string;
animationName: string;
animationProgress: number;
isPlaying: boolean;
meshRenderMode: Model3DRenderModeType;
offsetX: number;
offsetY: number;
offsetZ: number;
rotationX: number;
rotationY: number;
rotationZ: number;
scaleX: number;
scaleY: number;
scaleZ: number;
setTransform(x: number, y: number, z: number, type: Model3DTransformTypes): void;
addTransform(x: number, y: number, z: number, type: Model3DTransformTypes): void;
subTransform(x: number, y: number, z: number, type: Model3DTransformTypes): void;
mulTransform(x: number, y: number, z: number, type: Model3DTransformTypes): void;
divTransform(x: number, y: number, z: number, type: Model3DTransformTypes): void;
animationDuration(animation: string): number;
getAllMeshes(): Array<string>;
getAllAnimations(): Array<string>;
play(animationName?: string, progress?: number): void;
stop(): void;
pause(): void;
resume(): void;
}

View File

@ -9,6 +9,8 @@ declare class IAdvancedRandomObjectType<InstType extends IInstance = IInstance>
seed: string; seed: string;
octaves: number; octaves: number;
random(): number;
classic2d(x: number, y: number): number; classic2d(x: number, y: number): number;
classic3d(x: number, y: number, z: number): number; classic3d(x: number, y: number, z: number): number;
billow2d(x: number, y: number): number; billow2d(x: number, y: number): number;

View File

@ -2,7 +2,7 @@
/** Represents the Construct Game Services object. /** Represents the Construct Game Services object.
* @see {@link https://www.construct.net/make-games/manuals/construct-3/scripting/scripting-reference/plugin-interfaces/construct-game-services | ICGSObjectType documentation } */ * @see {@link https://www.construct.net/make-games/manuals/construct-3/scripting/scripting-reference/plugin-interfaces/construct-game-services | ICGSObjectType documentation } */
type CGSSignInProvider = "Apple" | "BattleNet" | "Discord" | "Facebook" | "Github" | "Google" | "ItchIO" | "Microsoft" | "Reddit" | "Steam" | "Twitch" | "X" | "Yandex"; type CGSSignInProvider = "Apple" | "BattleNet" | "Discord" | "Facebook" | "Github" | "Google" | "ItchIO" | "Microsoft" | "Patreon" | "Reddit" | "Steam" | "X" | "Yandex";
interface CGSSignInOptions { interface CGSSignInOptions {
allowPersisting?: boolean; allowPersisting?: boolean;

View File

@ -35,7 +35,7 @@ declare class IInstance
hasTag(tag: string): boolean; hasTag(tag: string): boolean;
hasTags(...tagsArray: string[]): boolean; hasTags(...tagsArray: string[]): boolean;
setAllTags(tagsSet: Iterable<string>): void; setAllTags(tags: Iterable<string>): void;
getAllTags(): Set<string>; getAllTags(): Set<string>;
destroy(): void; destroy(): void;
@ -45,4 +45,6 @@ declare class IInstance
signal(tag: string): void; signal(tag: string): void;
waitForSignal(tag: string): Promise<void>; waitForSignal(tag: string): Promise<void>;
callCustomAction(name: string, ...params: CallFunctionParameter[]): Promise<void>;
} }

View File

@ -35,6 +35,8 @@ declare class ILayer extends ConstructEventTarget<LayerEventMap>
blendMode: BlendModeParameter; blendMode: BlendModeParameter;
backgroundColor: Vec3Arr; backgroundColor: Vec3Arr;
renderingMode: "2d" | "3d"; renderingMode: "2d" | "3d";
sampling: SamplingModeOrAutoType;
activeSampling: SamplingModeType;
scrollX: number; scrollX: number;
scrollY: number; scrollY: number;

View File

@ -34,6 +34,9 @@ declare class ILayout extends ConstructEventTarget<LayoutEventMap>
getScrollPosition(): Vec2Arr; getScrollPosition(): Vec2Arr;
readonly isUnboundedScrolling: boolean; readonly isUnboundedScrolling: boolean;
sampling: SamplingModeOrAutoType;
activeSampling: SamplingModeType;
getLayer(nameOrIndex: LayerParameter): IAnyProjectLayer | null; getLayer(nameOrIndex: LayerParameter): IAnyProjectLayer | null;
getAllLayers(): IAnyProjectLayer[]; getAllLayers(): IAnyProjectLayer[];
allLayers(): Generator<IAnyProjectLayer>; allLayers(): Generator<IAnyProjectLayer>;

View File

@ -0,0 +1,21 @@
/** Represents mesh data created by the renderer. */
declare class IMeshData
{
readonly vertexCount: number;
readonly indexCount: number;
positions: Float32Array;
texCoords: Float32Array;
colors: Float32Array;
indices: Uint16Array | Uint32Array;
readonly debugLabel: string;
markDataChanged(bufferType: string, start: number, end: number): void;
markAllVertexDataChanged(start?: number, end?: number): void;
markIndexDataChanged(start?: number, end?: number): void;
fillColor(r: number, g: number, b: number, a: number): void;
release(): void;
}

View File

@ -35,4 +35,7 @@ declare class IObjectClass<InstanceType extends IInstance, EventMapType = Object
/** Get the first picked instance of this object type or family when called /** Get the first picked instance of this object type or family when called
* from an event sheet, or null if none is picked. */ * from an event sheet, or null if none is picked. */
getFirstPickedInstance<InstT extends InstanceType = InstanceType>(): InstT | null; getFirstPickedInstance<InstT extends InstanceType = InstanceType>(): InstT | null;
/** Call one of this object class's custom actions in the event sheet. */
callCustomAction<InstT extends InstanceType = InstanceType>(name: string, instances: Iterable<InstT>, ...params: CallFunctionParameter[]): Promise<void>;
} }

View File

@ -3,15 +3,14 @@
* @see {@link https://www.construct.net/en/make-games/manuals/construct-3/scripting/scripting-reference/graphics-interfaces/irenderer-interface | IRenderer documentation } */ * @see {@link https://www.construct.net/en/make-games/manuals/construct-3/scripting/scripting-reference/graphics-interfaces/irenderer-interface | IRenderer documentation } */
type TextureWrapMode = "clamp-to-edge" | "repeat" | "mirror-repeat"; type TextureWrapMode = "clamp-to-edge" | "repeat" | "mirror-repeat";
type TextureSamplingMode = "nearest" | "bilinear" | "trilinear";
interface TextureCreateOptions { interface TextureCreateOptions {
wrapX?: TextureWrapMode, wrapX?: TextureWrapMode;
wrapY?: TextureWrapMode, wrapY?: TextureWrapMode;
sampling?: TextureSamplingMode, defaultSampling?: SamplingModeType;
mipMap?: boolean mipMap?: boolean
} }
interface TextureUpdateOptions { interface TextureUpdateOptions {
premultiplyAlpha?: boolean; premultiplyAlpha?: boolean;
} }
type TextureStaticDataType = HTMLImageElement | HTMLCanvasElement | OffscreenCanvas | ImageBitmap; type TextureStaticDataType = HTMLImageElement | HTMLCanvasElement | OffscreenCanvas | ImageBitmap;
type TextureUpdateDataType = HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas | ImageData; type TextureUpdateDataType = HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas | ImageData;
@ -20,66 +19,72 @@ type RendererLineCapMode = "butt" | "square";
type RendererCullFaceMode = "none" | "back" | "front"; type RendererCullFaceMode = "none" | "back" | "front";
type RendererFrontFaceWinding = "cw" | "ccw"; type RendererFrontFaceWinding = "cw" | "ccw";
interface CreateMeshDataOptions {
debugLabel?: string;
}
declare class IRenderer declare class IRenderer
{ {
setAlphaBlendMode(): void; setAlphaBlendMode(): void;
setBlendMode(blendMode: BlendModeParameter): void; setBlendMode(blendMode: BlendModeParameter): void;
setColorFillMode(): void; setColorFillMode(): void;
setTextureFillMode(): void; setTextureFillMode(): void;
setSmoothLineFillMode(): void; setSmoothLineFillMode(): void;
setColor(color: Vec4Arr): void; setColor(color: Vec4Arr): void;
setColorRgba(r: number, g: number, b: number, a: number): void; setColorRgba(r: number, g: number, b: number, a: number): void;
setOpacity(o: number): void; setOpacity(o: number): void;
resetColor(): void; resetColor(): void;
setCurrentZ(z: number): void; setCurrentZ(z: number): void;
getCurrentZ(): number; getCurrentZ(): number;
setCullFaceMode(m: RendererCullFaceMode): void; setCullFaceMode(m: RendererCullFaceMode): void;
getCullFaceMode(): RendererCullFaceMode; getCullFaceMode(): RendererCullFaceMode;
setFrontFaceWinding(m: RendererFrontFaceWinding): void; setFrontFaceWinding(m: RendererFrontFaceWinding): void;
getFrontFaceWinding(): RendererFrontFaceWinding; getFrontFaceWinding(): RendererFrontFaceWinding;
rect(r: DOMRect): void; rect(r: DOMRect): void;
rect2(l: number, t: number, r: number, b: number): void; rect2(l: number, t: number, r: number, b: number): void;
quad(quad: DOMQuad): void; quad(quad: DOMQuad): void;
quad2(tlx: number, tly: number, trx: number, try_: number, brx: number, bry: number, blx: number, bly: number): void; quad2(tlx: number, tly: number, trx: number, try_: number, brx: number, bry: number, blx: number, bly: number): void;
quad3(quad: DOMQuad, rect: DOMRect): void; quad3(quad: DOMQuad, rect: DOMRect): void;
quad4(quad: DOMQuad, texQuad: DOMQuad): void; quad4(quad: DOMQuad, texQuad: DOMQuad): void;
quad5(quad: DOMQuad, texQuad: DOMQuad, colorArr: Float32Array): void; quad5(quad: DOMQuad, texQuad: DOMQuad, colorArr: Float32Array): void;
quad3D(tlx: number, tly: number, tlz: number, trx: number, try_: number, trz: number, brx: number, bry: number, brz: number, blx: number, bly: number, blz: number, rect: DOMRect): void; quad3D(tlx: number, tly: number, tlz: number, trx: number, try_: number, trz: number, brx: number, bry: number, brz: number, blx: number, bly: number, blz: number, rect: DOMRect): void;
quad3D2(tlx: number, tly: number, tlz: number, trx: number, try_: number, trz: number, brx: number, bry: number, brz: number, blx: number, bly: number, blz: number, texQuad: DOMQuad): void; quad3D2(tlx: number, tly: number, tlz: number, trx: number, try_: number, trz: number, brx: number, bry: number, brz: number, blx: number, bly: number, blz: number, texQuad: DOMQuad): void;
quad3D3(tlx: number, tly: number, tlz: number, trx: number, try_: number, trz: number, brx: number, bry: number, brz: number, blx: number, bly: number, blz: number, texQuad: DOMQuad, colorArr: Float32Array): void; quad3D3(tlx: number, tly: number, tlz: number, trx: number, try_: number, trz: number, brx: number, bry: number, brz: number, blx: number, bly: number, blz: number, texQuad: DOMQuad, colorArr: Float32Array): void;
drawMesh(posArr: Float32Array, uvArr: Float32Array, indexArr: Uint16Array, colorArr?: Float32Array): void; createMeshData(vertexCount: number, indexCount: number, opts?: CreateMeshDataOptions): IMeshData;
drawMeshData(meshData: IMeshData, indexOffset?: number, indexCount?: number): void;
drawMesh(posArr: Float32Array, uvArr: Float32Array, indexArr: Uint16Array, colorArr?: Float32Array): void;
convexPoly(pointsArray: number[]): void; convexPoly(pointsArray: number[]): void;
line(x1: number, y1: number, x2: number, y2: number): void; line(x1: number, y1: number, x2: number, y2: number): void;
texturedLine(x1: number, y1: number, x2: number, y2: number, u: number, v: number): void; texturedLine(x1: number, y1: number, x2: number, y2: number, u: number, v: number): void;
lineRect(l: number, t: number, r: number, b: number): void; lineRect(l: number, t: number, r: number, b: number): void;
lineRect2(rect: DOMRect): void; lineRect2(rect: DOMRect): void;
lineQuad(quad: DOMQuad): void; lineQuad(quad: DOMQuad): void;
pushLineWidth(w: number): void; pushLineWidth(w: number): void;
popLineWidth(): void; popLineWidth(): void;
pushLineCap(lineCap: RendererLineCapMode): void; pushLineCap(lineCap: RendererLineCapMode): void;
popLineCap(): void; popLineCap(): void;
setTexture(texture: ITexture): void; setTexture(texture: ITexture, sampling?: SamplingModeOrAutoType): void;
createStaticTexture(data: TextureStaticDataType, opts?: TextureCreateOptions): Promise<ITexture>; createStaticTexture(data: TextureStaticDataType, opts?: TextureCreateOptions): Promise<ITexture>;
createDynamicTexture(width: number, height: number, opts?: TextureCreateOptions): ITexture; createDynamicTexture(width: number, height: number, opts?: TextureCreateOptions): ITexture;
updateTexture(data: TextureUpdateDataType, texture: ITexture, opts?: TextureUpdateOptions): void; updateTexture(data: TextureUpdateDataType, texture: ITexture, opts?: TextureUpdateOptions): void;
deleteTexture(texture: ITexture): void; deleteTexture(texture: ITexture): void;
loadTextureForImageInfo(imageInfo: IImageInfo, opts?: TextureCreateOptions): Promise<ITexture>; loadTextureForImageInfo(imageInfo: IImageInfo, opts?: TextureCreateOptions): Promise<ITexture>;
releaseTextureForImageInfo(imageInfo: IImageInfo): void; releaseTextureForImageInfo(imageInfo: IImageInfo): void;
getTextureForImageInfo(imageInfo: IImageInfo): ITexture | null; getTextureForImageInfo(imageInfo: IImageInfo): ITexture | null;
createRendererText(): IRendererText; createRendererText(): IRendererText;
setDeviceTransform(): void; setDeviceTransform(): void;
setLayerTransform(layer: ILayer): void; setLayerTransform(layer: ILayer): void;
} }

View File

@ -5,29 +5,29 @@ declare class IRendererText
{ {
release(): void; release(): void;
fontFace: string; fontFace: string;
sizePt: number; sizePt: number;
lineHeight: number; lineHeight: number;
isBold: boolean; isBold: boolean;
isItalic: boolean; isItalic: boolean;
setColor(color: Vec3Arr): void; setColor(color: Vec3Arr): void;
setColorRgb(r: number, g: number, b: number): void; setColorRgb(r: number, g: number, b: number): void;
setCssColor(cssColor: string): void; setCssColor(cssColor: string): void;
horizontalAlign: TextAlignHorizontalMode; horizontalAlign: TextAlignHorizontalMode;
verticalAlign: TextAlignVerticalMode; verticalAlign: TextAlignVerticalMode;
wordWrapMode: TextWordWrapMode; wordWrapMode: TextWordWrapMode;
textDirection: TextDirectionMode; textDirection: TextDirectionMode;
text: string; text: string;
setSize(cssWidth: number, cssHeight: number, zoomScale: number): void; setSize(cssWidth: number, cssHeight: number, zoomScale: number): void;
getTexture(): ITexture | null; getTexture(): ITexture | null;
getTexRect(): DOMRect; getTexRect(): DOMRect;
setTextureUpdateCallback(cb: () => void): void; setTextureUpdateCallback(cb: () => void): void;
releaseTexture(): void; releaseTexture(): void;
readonly textWidth: number; readonly textWidth: number;
readonly textHeight: number; readonly textHeight: number;
} }

View File

@ -16,8 +16,10 @@ type LayerParameter = string | number;
type ImagePointParameter = string | number; type ImagePointParameter = string | number;
type BlendModeParameter = "normal" | "additive" | "copy" | "destination-over" | "source-in" | "destination-in" | "source-out" | "destination-out" | "source-atop" | "destination-atop" | "lighten" | "darken" | "multiply" | "screen"; type BlendModeParameter = "normal" | "additive" | "copy" | "destination-over" | "source-in" | "destination-in" | "source-out" | "destination-out" | "source-atop" | "destination-atop" | "lighten" | "darken" | "multiply" | "screen";
type FramerateModeType = "vsync" | "unlimited-tick" | "unlimited-frame"; type FramerateModeType = "vsync" | "fixed" | "unlimited-tick" | "unlimited-frame";
type SamplingModeType = "nearest" | "bilinear" | "trilinear"; type SamplingModeType = "nearest" | "bilinear" | "trilinear";
type SamplingModeOrAutoType = "auto" | "nearest" | "bilinear" | "trilinear";
type AnisotropicFilteringModeType = "auto" | "off" | "2x" | "3x" | "4x" | "8x" | "16x";
type TextAlignHorizontalMode = "left" | "center" | "right"; type TextAlignHorizontalMode = "left" | "center" | "right";
type TextAlignVerticalMode = "top" | "center" | "bottom"; type TextAlignVerticalMode = "top" | "center" | "bottom";
@ -149,8 +151,9 @@ declare class IRuntime extends ConstructEventTarget<RuntimeEventMap>
readonly viewportHeight: number; readonly viewportHeight: number;
getViewportSize(): Vec2Arr; getViewportSize(): Vec2Arr;
readonly sampling: SamplingModeType; sampling: SamplingModeType;
isPixelRoundingEnabled: boolean; isPixelRoundingEnabled: boolean;
anisotropicFiltering: AnisotropicFilteringModeType;
get dt(): number; get dt(): number;
get dtRaw(): number; get dtRaw(): number;
@ -170,6 +173,7 @@ declare class IRuntime extends ConstructEventTarget<RuntimeEventMap>
get cpuUtilisation(): number; get cpuUtilisation(): number;
get gpuUtilisation(): number; get gpuUtilisation(): number;
framerateMode: FramerateModeType; framerateMode: FramerateModeType;
fixedFramerate: number;
minDt: number; minDt: number;
maxDt: number; maxDt: number;
@ -178,6 +182,7 @@ declare class IRuntime extends ConstructEventTarget<RuntimeEventMap>
getInstanceByUid(uid: number): IInstance | null; getInstanceByUid(uid: number): IInstance | null;
sortZOrder(iterable: Iterable<IWorldInstance>, callback: (a: IWorldInstance, b: IWorldInstance) => number): void; sortZOrder(iterable: Iterable<IWorldInstance>, callback: (a: IWorldInstance, b: IWorldInstance) => number): void;
destroyMultiple(instances: Iterable<IInstance>): void;
/** Call a function in an event sheet, by a case-insensitive string of its name. /** Call a function in an event sheet, by a case-insensitive string of its name.
* Each parameter provided for 'params' is passed to the function. * Each parameter provided for 'params' is passed to the function.

View File

@ -4,5 +4,7 @@
declare class ITexture declare class ITexture
{ {
readonly width: number; readonly width: number;
readonly height: number; readonly height: number;
readonly defaultSampling: SamplingModeType;
} }

View File

@ -78,6 +78,8 @@ declare class IWorldInstance extends IInstance
opacity: number; opacity: number;
colorRgb: Vec3Arr; colorRgb: Vec3Arr;
blendMode: BlendModeParameter; blendMode: BlendModeParameter;
sampling: SamplingModeOrAutoType;
activeSampling: SamplingModeType;
effects: IEffectInstance[]; effects: IEffectInstance[];
moveToTop(): void; moveToTop(): void;