1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885 |
- declare extern type userdata with end
- declare extern type lightuserdata with end
- declare extern type quaternion with
- x: number
- y: number
- z: number
- w: number
- end
- type Vec2 = {number}
- type Vec3 = {number} | vector
- type Vec4 = {number}
- type Quat = {number} | quaternion
- type Mat4 = {number}
- declare class Joint end
- declare class Shape end
- declare class Object
- function release(self)
- function type(self): string
- end
- type AudioMaterial =
- | "generic"
- | "brick"
- | "carpet"
- | "ceramic"
- | "concrete"
- | "glass"
- | "gravel"
- | "metal"
- | "plaster"
- | "rock"
- | "wood"
- type AudioShareMode =
- | "shared"
- | "exclusive"
- type AudioType =
- | "playback"
- | "capture"
- type Effect =
- | "absorption"
- | "attenuation"
- | "occlusion"
- | "reverb"
- | "spatialization"
- | "transmission"
- type TimeUnit =
- | "seconds"
- | "frames"
- type VolumeUnit =
- | "linear"
- | "db"
- declare class Source extends Object
- function clone(self): Source
- function getDirectivity(self): (number, number)
- function getDuration(self, unit: TimeUnit?): number
- function getOrientation(self): (number, number, number, number)
- function getPitch(self): number
- function getPose(self): (number, number, number, number, number, number, number)
- function getPosition(self): (number, number, number)
- function getRadius(self): number
- function getSound(self): Sound
- function getVolume(self, units: VolumeUnit?): number
- function isEffectEnabled(self, effect: Effect): boolean
- function isLooping(self): boolean
- function isPlaying(self): boolean
- function isSpatial(self): boolean
- function pause(self)
- function play(self): boolean
- function seek(self, position: number, unit: TimeUnit?)
- function setDirectivity(self, weight: number, power: number)
- function setEffectEnabled(self, effect: Effect, enable: boolean)
- function setLooping(self, loop: boolean)
- function setOrientation(self, angle: number, ax: number, ay: number, az: number)
- function setOrientation(self, orientation: Quat)
- function setPitch(self, pitch: number)
- function setPose(self, x: number, y: number, z: number, angle: number, ax: number, ay: number, az: number)
- function setPose(self, position: Vec3, orientation: Quat)
- function setPosition(self, x: number, y: number, z: number)
- function setPosition(self, position: Vec3)
- function setRadius(self, radius: number)
- function setVolume(self, volume: number, units: VolumeUnit?)
- function stop(self)
- function tell(self, unit: TimeUnit?): number
- end
- type AudioModule = {
- getAbsorption: () -> (number, number, number),
- getDevice: (type: AudioType?) -> (string | nil, userdata | nil),
- getDevices: (type: AudioType?) -> {},
- getOrientation: () -> (number, number, number, number),
- getPose: () -> (number, number, number, number, number, number, number),
- getPosition: () -> (number, number, number),
- getSampleRate: () -> number,
- getSpatializer: () -> string,
- getVolume: (units: VolumeUnit?) -> number,
- isStarted: (type: AudioType?) -> boolean,
- newSource:
- & ((file: string | Blob, options: {}?) -> Source)
- & ((sound: Sound, options: {}?) -> Source),
- setAbsorption: (low: number, mid: number, high: number) -> (),
- setDevice: (type: AudioType?, id: userdata?, sink: Sound?, mode: AudioShareMode?) -> boolean,
- setGeometry:
- & ((vertices: {}, indices: {}, material: AudioMaterial?) -> boolean)
- & ((model: Model, material: AudioMaterial?) -> boolean),
- setOrientation:
- & ((angle: number, ax: number, ay: number, az: number) -> ())
- & ((orientation: Quat) -> ()),
- setPose:
- & ((x: number, y: number, z: number, angle: number, ax: number, ay: number, az: number) -> ())
- & ((position: Vec3, orientation: Quat) -> ()),
- setPosition:
- & ((x: number, y: number, z: number) -> ())
- & ((position: Vec3) -> ()),
- setVolume: (volume: number, units: VolumeUnit?) -> (),
- start: (type: AudioType?) -> boolean,
- stop: (type: AudioType?) -> boolean,
- }
- type AnimationProperty =
- | "translation"
- | "rotation"
- | "scale"
- | "weights"
- type AttributeType =
- | "i8"
- | "u8"
- | "i16"
- | "u16"
- | "i32"
- | "u32"
- | "f32"
- type ChannelLayout =
- | "mono"
- | "stereo"
- | "ambisonic"
- type DefaultAttribute =
- | "position"
- | "normal"
- | "uv"
- | "color"
- | "tangent"
- | "joints"
- | "weights"
- type ModelDrawMode =
- | "points"
- | "lines"
- | "linestrip"
- | "lineloop"
- | "strip"
- | "triangles"
- | "fan"
- type SampleFormat =
- | "f32"
- | "i16"
- type SmoothMode =
- | "step"
- | "linear"
- | "cubic"
- type TextureFormat =
- | "r8"
- | "rg8"
- | "rgba8"
- | "bgra8"
- | "r16"
- | "rg16"
- | "rgba16"
- | "r16f"
- | "rg16f"
- | "rgba16f"
- | "r32f"
- | "rg32f"
- | "rgba32f"
- | "rgb565"
- | "rgb5a1"
- | "rgb10a2"
- | "rg11b10f"
- | "d16"
- | "d24"
- | "d24s8"
- | "d32f"
- | "d32fs8"
- | "bc1"
- | "bc2"
- | "bc3"
- | "bc4u"
- | "bc4s"
- | "bc5u"
- | "bc5s"
- | "bc6uf"
- | "bc6sf"
- | "bc7"
- | "astc4x4"
- | "astc5x4"
- | "astc5x5"
- | "astc6x5"
- | "astc6x6"
- | "astc8x5"
- | "astc8x6"
- | "astc8x8"
- | "astc10x5"
- | "astc10x6"
- | "astc10x8"
- | "astc10x10"
- | "astc12x10"
- | "astc12x12"
- declare class Blob extends Object
- function getSize(self): number
- function getName(self): string
- function getPointer(self): userdata
- function getString(self, offset: number?, size: number?): string
- function getI8(self, offset: number?, count: number?): number
- function getU8(self, offset: number?, count: number?): number
- function getI16(self, offset: number?, count: number?): number
- function getU16(self, offset: number?, count: number?): number
- function getI32(self, offset: number?, count: number?): number
- function getU32(self, offset: number?, count: number?): number
- function getF32(self, offset: number?, count: number?): number
- function getF64(self, offset: number?, count: number?): number
- function setI8(self, offset: number, ...: number)
- function setI8(self, offset: number, table: {number})
- function setU8(self, offset: number, ...: number)
- function setU8(self, offset: number, table: {number})
- function setI16(self, offset: number, ...: number)
- function setI16(self, offset: number, table: {number})
- function setU16(self, offset: number, ...: number)
- function setU16(self, offset: number, table: {number})
- function setI32(self, offset: number, ...: number)
- function setI32(self, offset: number, table: {number})
- function setU32(self, offset: number, ...: number)
- function setU32(self, offset: number, table: {number})
- function setF32(self, offset: number, ...: number)
- function setF32(self, offset: number, table: {number})
- function setF64(self, offset: number, ...: number)
- function setF64(self, offset: number, table: {number})
- end
- declare class Image extends Object
- function encode(self): Blob
- function getBlob(self): Blob
- function getDimensions(self): (number, number)
- function getFormat(self): TextureFormat
- function getHeight(self): number
- function getPixel(self, x: number, y: number): (number, number, number, number)
- function getPointer(self, level: number?, layer: number?): userdata
- function getWidth(self): number
- function mapPixel(self, callback: () -> (), x: number?, y: number?, w: number?, h: number?)
- function paste(self, source: Image, x: number?, y: number?, fromX: number?, fromY: number?, width: number?, height: number?)
- function setPixel(self, x: number, y: number, r: number, g: number, b: number, a: number?)
- end
- declare class ModelData extends Object
- function getAnimationChannelCount(self, animation: number | string): number
- function getAnimationCount(self): number
- function getAnimationDuration(self, animation: string | number): number
- function getAnimationKeyframe(self, animation: number, channel: number, keyframe: number): (number, number)
- function getAnimationKeyframeCount(self, animation: string | number, channel: number): number
- function getAnimationName(self, index: number): string | nil
- function getAnimationNode(self, animation: number, channel: number): number
- function getAnimationProperty(self, animation: string | number, channel: number): AnimationProperty
- function getAnimationSmoothMode(self, animation: string | number, channel: number): SmoothMode
- function getBlendShapeCount(self): number
- function getBlendShapeName(self, index: number): string
- function getBlob(self, index: number): Blob
- function getBlobCount(self): number
- function getBoundingBox(self): (number, number, number, number, number, number)
- function getBoundingSphere(self): (number, number, number, number)
- function getCenter(self): (number, number, number)
- function getDepth(self): number
- function getDimensions(self): (number, number, number)
- function getHeight(self): number
- function getImage(self, index: number): Image
- function getImageCount(self): number
- function getMaterial(self, material: number): {}
- function getMaterialCount(self): number
- function getMaterialName(self, index: number): string
- function getMeshCount(self): number
- function getMeshDrawMode(self, mesh: number): ModelDrawMode
- function getMeshIndex(self, mesh: number, index: number): number
- function getMeshIndexCount(self, mesh: number): number
- function getMeshIndexFormat(self, mesh: number): (AttributeType, number, number, number)
- function getMeshMaterial(self, mesh: number): number
- function getMeshVertex(self, mesh: number, vertex: number): number
- function getMeshVertexCount(self, mesh: number): number
- function getMeshVertexFormat(self, mesh: number): {}
- function getMetadata(self): string
- function getNodeChildren(self, node: string | number): {number}
- function getNodeCount(self): number
- function getNodeMeshes(self, node: string | number): {}
- function getNodeName(self, index: number): string
- function getNodeOrientation(self, node: string | number): (number, number, number, number)
- function getNodeParent(self, node: string | number): number
- function getNodePose(self, node: string | number): (number, number, number, number, number, number, number)
- function getNodePosition(self, node: string | number): (number, number, number)
- function getNodeScale(self, node: string | number): (number, number, number)
- function getNodeSkin(self, node: string | number): number
- function getNodeTransform(self, node: string | number): (number, number, number, number, number, number, number, number, number, number)
- function getRootNode(self): number
- function getSkinCount(self): number
- function getSkinInverseBindMatrix(self, skin: number, joint: number): number
- function getSkinJoints(self, skin: number): {}
- function getTriangleCount(self): number
- function getTriangles(self): ({}, {})
- function getVertexCount(self): number
- function getWidth(self): number
- end
- declare class Rasterizer extends Object
- function getAdvance(self, glyph: string | number): number
- function getAscent(self): number
- function getBearing(self, glyph: string | number): number
- function getBoundingBox(self, glyph: string | number): (number, number, number, number)
- function getBoundingBox(self): (number, number, number, number)
- function getCurves(self, glyph: string | number, three: boolean): {}
- function getDescent(self): number
- function getDimensions(self, glyph: string): (number, number)
- function getDimensions(self): (number, number)
- function getFontSize(self): number
- function getGlyphCount(self): number
- function getHeight(self, glyph: string | number): number
- function getHeight(self): number
- function getKerning(self, first: string | number, second: string | number): number
- function getLeading(self): number
- function getWidth(self, glyph: string | number): number
- function getWidth(self): number
- function hasGlyphs(self, ...: string | number): boolean
- function newImage(self, glyph: string | number, spread: number?, padding: number?): Image
- end
- declare class Sound extends Object
- function getBlob(self): Blob
- function getByteStride(self): number
- function getCapacity(self): number
- function getChannelCount(self): number
- function getChannelLayout(self): ChannelLayout
- function getDuration(self): number
- function getFormat(self): SampleFormat
- function getFrameCount(self): number
- function getFrames(self, count: number?, srcOffset: number?): ({number}, number)
- function getFrames(self, t: {}, count: number?, srcOffset: number?, dstOffset: number?): ({number}, number)
- function getFrames(self, blob: Blob, count: number?, srcOffset: number?, dstOffset: number?): number
- function getFrames(self, sound: Sound, count: number?, srcOffset: number?, dstOffset: number?): number
- function getSampleCount(self): number
- function getSampleRate(self): number
- function isCompressed(self): boolean
- function isStream(self): boolean
- function setFrames(self, source: {} | Blob | Sound, count: number?, dstOffset: number?, srcOffset: number?): number
- end
- type DataModule = {
- newBlob:
- & ((size: number, name: string?) -> Blob)
- & ((contents: string, name: string?) -> Blob)
- & ((source: Blob, name: string?) -> Blob),
- newImage:
- & ((file: string | Blob) -> Image)
- & ((width: number, height: number, format: TextureFormat?, data: Blob?) -> Image)
- & ((source: Image) -> Image),
- newModelData: (file: string | Blob) -> ModelData,
- newRasterizer:
- & ((file: string | Blob, size: number?) -> Rasterizer)
- & ((size: number?) -> Rasterizer),
- newSound:
- & ((frames: number, format: SampleFormat?, channels: ChannelLayout?, sampleRate: number?, contents: Blob | string | nil | nil) -> Sound)
- & ((file: string | Blob, decode: boolean?) -> Sound),
- }
- type DisplayType =
- | "headset"
- | "window"
- type KeyCode =
- | "a"
- | "b"
- | "c"
- | "d"
- | "e"
- | "f"
- | "g"
- | "h"
- | "i"
- | "j"
- | "k"
- | "l"
- | "m"
- | "n"
- | "o"
- | "p"
- | "q"
- | "r"
- | "s"
- | "t"
- | "u"
- | "v"
- | "w"
- | "x"
- | "y"
- | "z"
- | "0"
- | "1"
- | "2"
- | "3"
- | "4"
- | "5"
- | "6"
- | "7"
- | "8"
- | "9"
- | "space"
- | "return"
- | "tab"
- | "escape"
- | "backspace"
- | "up"
- | "down"
- | "left"
- | "right"
- | "home"
- | "end"
- | "pageup"
- | "pagedown"
- | "insert"
- | "delete"
- | "f1"
- | "f2"
- | "f3"
- | "f4"
- | "f5"
- | "f6"
- | "f7"
- | "f8"
- | "f9"
- | "f10"
- | "f11"
- | "f12"
- | "`"
- | "-"
- | "="
- | "["
- | "]"
- | "\\"
- | ";"
- | "'"
- | ","
- | "."
- | "/"
- | "kp0"
- | "kp1"
- | "kp2"
- | "kp3"
- | "kp4"
- | "kp5"
- | "kp6"
- | "kp7"
- | "kp8"
- | "kp9"
- | "kp."
- | "kp/"
- | "kp*"
- | "kp-"
- | "kp+"
- | "kpenter"
- | "kp="
- | "lctrl"
- | "lshift"
- | "lalt"
- | "lgui"
- | "rctrl"
- | "rshift"
- | "ralt"
- | "rgui"
- | "capslock"
- | "scrolllock"
- | "numlock"
- type EventModule = {
- clear: () -> (),
- poll: () -> (() -> ()),
- push: (name: string, ...any) -> (),
- quit: (code: number?) -> (),
- restart: () -> (),
- }
- type FileAction =
- | "create"
- | "delete"
- | "modify"
- | "rename"
- type OpenMode =
- | "r"
- | "w"
- | "a"
- declare class File extends Object
- function getMode(self): OpenMode
- function getPath(self): string
- function getSize(self): (number, string)
- function isEOF(self): boolean
- function read(self, bytes: number): (string, number)
- function seek(self, offset: number)
- function tell(self): number
- function write(self, string: string, size: number?): (boolean, string)
- function write(self, blob: Blob, size: number?): (boolean, string)
- end
- type FilesystemModule = {
- append: (filename: string, content: string | Blob) -> (boolean, string | nil),
- createDirectory: (path: string) -> (boolean, string | nil),
- getAppdataDirectory: () -> string | nil,
- getDirectoryItems: (path: string) -> {string},
- getExecutablePath: () -> string | nil,
- getIdentity: () -> string | nil,
- getLastModified: (path: string) -> (number | nil, string | nil),
- getRealDirectory: (path: string) -> string | nil,
- getRequirePath: () -> string,
- getSaveDirectory: () -> string,
- getSize: (file: string) -> (number | nil, string | nil),
- getSource: () -> string | nil,
- getUserDirectory: () -> string | nil,
- getWorkingDirectory: () -> string | nil,
- isDirectory: (path: string) -> boolean,
- isFile: (path: string) -> boolean,
- isFused: () -> boolean,
- load: (filename: string, mode: string?) -> (() -> ()),
- mount: (path: string, mountpoint: string?, append: boolean?, root: string?) -> (boolean, string | nil),
- newBlob: (filename: string) -> Blob,
- newFile: (path: string, mode: OpenMode) -> (File, string),
- read: (filename: string) -> (string | nil, string | nil),
- remove: (path: string) -> (boolean, string | nil),
- setIdentity: (identity: string) -> (),
- setRequirePath: (path: string?) -> (),
- unmount: (path: string) -> boolean,
- unwatch: () -> (),
- watch: () -> (),
- write: (filename: string, content: string | Blob) -> (boolean, string),
- }
- type BlendAlphaMode =
- | "alphamultiply"
- | "premultiplied"
- type BlendMode =
- | "alpha"
- | "add"
- | "subtract"
- | "multiply"
- | "lighten"
- | "darken"
- | "screen"
- | "none"
- type CompareMode =
- | "none"
- | "equal"
- | "notequal"
- | "less"
- | "lequal"
- | "greater"
- | "gequal"
- type CullMode =
- | "none"
- | "back"
- | "front"
- type DataLayout =
- | "packed"
- | "std140"
- | "std430"
- type DataType =
- | "i8x4"
- | "u8x4"
- | "sn8x4"
- | "un8x4"
- | "sn10x3"
- | "un10x3"
- | "i16"
- | "i16x2"
- | "i16x4"
- | "u16"
- | "u16x2"
- | "u16x4"
- | "sn16x2"
- | "sn16x4"
- | "un16x2"
- | "un16x4"
- | "i32"
- | "i32x2"
- | "i32x3"
- | "i32x4"
- | "u32"
- | "u32x2"
- | "u32x3"
- | "u32x4"
- | "f16x2"
- | "f16x4"
- | "f32"
- | "f32x2"
- | "f32x3"
- | "f32x4"
- | "mat2"
- | "mat3"
- | "mat4"
- | "index16"
- | "index32"
- type DefaultShader =
- | "unlit"
- | "normal"
- | "font"
- | "cubemap"
- | "equirect"
- | "fill"
- type DrawMode =
- | "points"
- | "lines"
- | "triangles"
- type DrawStyle =
- | "fill"
- | "line"
- type FilterMode =
- | "nearest"
- | "linear"
- | "cubic"
- type HorizontalAlign =
- | "left"
- | "center"
- | "right"
- type MeshStorage =
- | "cpu"
- | "gpu"
- type OriginType =
- | "root"
- | "parent"
- type ShaderStage =
- | "vertex"
- | "fragment"
- | "compute"
- type ShaderType =
- | "graphics"
- | "compute"
- type StackType =
- | "transform"
- | "state"
- type StencilAction =
- | "keep"
- | "zero"
- | "replace"
- | "increment"
- | "decrement"
- | "incrementwrap"
- | "decrementwrap"
- | "invert"
- type TextureFeature =
- | "sample"
- | "render"
- | "storage"
- | "blit"
- | "cubic"
- type TextureType =
- | "2d"
- | "3d"
- | "cube"
- | "array"
- type TextureUsage =
- | "sample"
- | "render"
- | "storage"
- | "transfer"
- type VerticalAlign =
- | "top"
- | "middle"
- | "bottom"
- type Winding =
- | "clockwise"
- | "counterclockwise"
- type WrapMode =
- | "clamp"
- | "repeat"
- | "mirror"
- | "border"
- declare class Buffer extends Object
- function clear(self, offset: number?, extent: number?, value: number?)
- function getData(self, index: number?, count: number?): {}
- function getFormat(self): {}
- function getLength(self): number
- function getSize(self): number
- function getStride(self): number
- function mapData(self, offset: number?, extent: number?): lightuserdata
- function newReadback(self, offset: number?, extent: number?): Readback
- function setData(self, table: {}, destinationIndex: number?, sourceIndex: number?, count: number?)
- function setData(self, ...: number)
- function setData(self, vector: any)
- function setData(self, blob: Blob, destinationOffset: number?, sourceOffset: number?, size: number?)
- function setData(self, buffer: Buffer, destinationOffset: number?, sourceOffset: number?, size: number?)
- end
- declare class Font extends Object
- function getAscent(self): number
- function getDescent(self): number
- function getHeight(self): number
- function getKerning(self, first: string | number, second: string | number): number
- function getLineSpacing(self): number
- function getLines(self, string: string, wrap: number): {string}
- function getLines(self, strings: {}, wrap: number): {string}
- function getPixelDensity(self): number
- function getRasterizer(self): Rasterizer
- function getVertices(self, string: string, wrap: number?, halign: HorizontalAlign, valign: VerticalAlign): ({number}, Material)
- function getVertices(self, strings: {}, wrap: number?, halign: HorizontalAlign, valign: VerticalAlign): ({number}, Material)
- function getWidth(self, string: string): number
- function getWidth(self, strings: {}): number
- function setLineSpacing(self, spacing: number)
- function setPixelDensity(self, density: number)
- function setPixelDensity(self)
- end
- declare class Material extends Object
- function getProperties(self): {}
- end
- declare class Mesh extends Object
- function computeBoundingBox(self): boolean
- function getBoundingBox(self): (number, number, number, number, number, number)
- function getDrawMode(self): DrawMode
- function getDrawRange(self): (number, number, number)
- function getDrawRange(self)
- function getIndexBuffer(self): Buffer
- function getIndices(self): {number}
- function getMaterial(self): Material
- function getVertexBuffer(self): Buffer
- function getVertexCount(self): number
- function getVertexFormat(self): {}
- function getVertexStride(self): number
- function getVertices(self, index: number?, count: number?): {{number}}
- function setBoundingBox(self, minx: number, maxx: number, miny: number, maxy: number, minz: number, maxz: number)
- function setBoundingBox(self)
- function setDrawMode(self, mode: DrawMode)
- function setDrawRange(self, start: number, count: number, offset: number)
- function setDrawRange(self)
- function setIndexBuffer(self, buffer: Buffer)
- function setIndices(self, t: {number})
- function setIndices(self, blob: Blob, type: DataType)
- function setIndices(self)
- function setMaterial(self, material: Material)
- function setMaterial(self, texture: Texture)
- function setVertices(self, vertices: {{number}}, index: number?, count: number?)
- function setVertices(self, blob: Blob, index: number?, count: number?)
- end
- declare class Model extends Object
- function animate(self, animation: string, time: number, blend: number?)
- function clone(self): Model
- function getAnimationCount(self): number
- function getAnimationDuration(self, animation: string | number): number
- function getAnimationName(self, index: number): string | nil
- function getBlendShapeCount(self): number
- function getBlendShapeName(self, index: number): string
- function getBlendShapeWeight(self, blendshape: string | number): number
- function getBoundingBox(self): (number, number, number, number, number, number)
- function getBoundingSphere(self): (number, number, number, number)
- function getCenter(self): (number, number, number)
- function getData(self): ModelData
- function getDepth(self): number
- function getDimensions(self): (number, number, number)
- function getHeight(self): number
- function getIndexBuffer(self): Buffer
- function getMaterial(self, which: string | number): Material
- function getMaterialCount(self): number
- function getMaterialName(self, index: number): string
- function getMesh(self, index: number): Mesh
- function getMeshCount(self): number
- function getMetadata(self): string
- function getNodeChildren(self, node: string | number): {number}
- function getNodeCount(self): number
- function getNodeName(self, index: number): string
- function getNodeOrientation(self, node: string | number, origin: OriginType?): (number, number, number, number)
- function getNodeParent(self, node: number): number
- function getNodePose(self, node: string | number, origin: OriginType?): (number, number, number, number, number, number, number)
- function getNodePosition(self, node: string | number, space: OriginType?): (number, number, number)
- function getNodeScale(self, node: string | number, origin: OriginType?): (number, number, number)
- function getNodeTransform(self, node: string | number, origin: OriginType?): (number, number, number, number, number, number, number, number, number, number)
- function getRootNode(self): number
- function getTexture(self, index: number): Texture
- function getTextureCount(self): number
- function getTriangleCount(self): number
- function getTriangles(self): ({number}, {number})
- function getVertexBuffer(self): Buffer
- function getVertexCount(self): number
- function getWidth(self): number
- function hasJoints(self): boolean
- function resetBlendShapes(self)
- function resetNodeTransforms(self)
- function setBlendShapeWeight(self, blendshape: string | number, weight: number)
- function setNodeOrientation(self, node: string | number, angle: number, ax: number, ay: number, az: number, blend: number?)
- function setNodeOrientation(self, node: string | number, orientation: Quat, blend: number?)
- function setNodePose(self, node: string | number, x: number, y: number, z: number, angle: number, ax: number, ay: number, az: number, blend: number?)
- function setNodePose(self, node: string | number, position: Vec3, orientation: Quat, blend: number?)
- function setNodePosition(self, node: string | number, x: number, y: number, z: number, blend: number?)
- function setNodePosition(self, node: string | number, position: Vec3, blend: number?)
- function setNodeScale(self, node: string | number, sx: number, sy: number, sz: number, blend: number?)
- function setNodeScale(self, node: string | number, scale: Vec3, blend: number?)
- function setNodeTransform(self, node: string | number, x: number, y: number, z: number, sx: number, sy: number, sz: number, angle: number, ax: number, ay: number, az: number, blend: number?)
- function setNodeTransform(self, node: string | number, position: Vec3, scale: Vec3, orientation: Quat, blend: number?)
- function setNodeTransform(self, node: string | number, transform: Mat4, blend: number?)
- end
- declare class Pass extends Object
- function barrier(self)
- function beginTally(self): number
- function box(self, x: number?, y: number?, z: number?, width: number?, height: number?, depth: number?, angle: number?, ax: number?, ay: number?, az: number?, style: DrawStyle?)
- function box(self, position: Vec3, size: Vec3, orientation: Quat, style: DrawStyle?)
- function box(self, transform: Mat4, style: DrawStyle?)
- function capsule(self, x: number?, y: number?, z: number?, radius: number?, length: number?, angle: number?, ax: number?, ay: number?, az: number?, segments: number?)
- function capsule(self, position: Vec3, radius: number?, length: number?, orientation: Quat, segments: number?)
- function capsule(self, transform: Mat4, segments: number?)
- function capsule(self, p1: Vec3, p2: Vec3, radius: number?, segments: number?)
- function circle(self, x: number?, y: number?, z: number?, radius: number?, angle: number?, ax: number?, ay: number?, az: number?, style: DrawStyle?, angle1: number?, angle2: number?, segments: number?)
- function circle(self, position: Vec3, radius: number?, orientation: Quat, style: DrawStyle?, angle1: number?, angle2: number?, segments: number?)
- function circle(self, transform: Mat4, style: DrawStyle?, angle1: number?, angle2: number?, segments: number?)
- function compute(self, x: number?, y: number?, z: number?)
- function compute(self, buffer: Buffer, offset: number?)
- function cone(self, x: number?, y: number?, z: number?, radius: number?, length: number?, angle: number?, ax: number?, ay: number?, az: number?, segments: number?)
- function cone(self, position: Vec3, radius: number?, length: number?, orientation: Quat, segments: number?)
- function cone(self, transform: Mat4, segments: number?)
- function cone(self, p1: Vec3, p2: Vec3, radius: number?, segments: number?)
- function cube(self, x: number?, y: number?, z: number?, size: number?, angle: number?, ax: number?, ay: number?, az: number?, style: DrawStyle?)
- function cube(self, position: Vec3, size: number?, orientation: Quat, style: DrawStyle?)
- function cube(self, transform: Mat4, style: DrawStyle?)
- function cylinder(self, x: number?, y: number?, z: number?, radius: number?, length: number?, angle: number?, ax: number?, ay: number?, az: number?, capped: boolean?, angle1: number?, angle2: number?, segments: number?)
- function cylinder(self, position: Vec3, radius: number?, length: number?, orientation: Quat, capped: boolean?, angle1: number?, angle2: number?, segments: number?)
- function cylinder(self, transform: Mat4, capped: boolean?, angle1: number?, angle2: number?, segments: number?)
- function cylinder(self, p1: Vec3, p2: Vec3, radius: number?, capped: boolean?, angle1: number?, angle2: number?, segments: number?)
- function draw(self, object: Model | Mesh | Texture, x: number?, y: number?, z: number?, scale: number?, angle: number?, ax: number?, ay: number?, az: number?, instances: number?)
- function draw(self, object: Model | Mesh | Texture, position: Vec3, scale3: Vec3, orientation: Quat, instances: number?)
- function draw(self, object: Model | Mesh | Texture, transform: Mat4, instances: number?)
- function fill(self, texture: Texture)
- function fill(self)
- function finishTally(self): number
- function getCanvas(self): {}
- function getCanvas(self)
- function getClear(self): {}
- function getDimensions(self): (number, number)
- function getHeight(self): number
- function getLabel(self): string
- function getProjection(self, view: number): (number, number, number, number)
- function getProjection(self, view: number, matrix: Mat4): Mat4
- function getStats(self): {}
- function getTallyBuffer(self): (Buffer, number)
- function getViewCount(self): number
- function getViewPose(self, view: number): (number, number, number, number, number, number, number)
- function getViewPose(self, view: number, matrix: Mat4, invert: boolean): Mat4
- function getWidth(self): number
- function line(self, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, ...: number)
- function line(self, t: {number | Vec3})
- function line(self, v1: Vec3, v2: Vec3, ...: Vec3)
- function mesh(self, vertices: Buffer?, x: number?, y: number?, z: number?, scale: number?, angle: number?, ax: number?, ay: number?, az: number?, start: number?, count: number?, instances: number?)
- function mesh(self, vertices: Buffer?, position: Vec3, scales: Vec3, orientation: Quat, start: number?, count: number?, instances: number?)
- function mesh(self, vertices: Buffer?, transform: Mat4, start: number?, count: number?, instances: number?)
- function mesh(self, vertices: Buffer?, indices: Buffer, x: number?, y: number?, z: number?, scale: number?, angle: number?, ax: number?, ay: number?, az: number?, start: number?, count: number?, instances: number?, base: number?)
- function mesh(self, vertices: Buffer?, indices: Buffer, position: Vec3, scales: Vec3, orientation: Quat, start: number?, count: number?, instances: number?, base: number?)
- function mesh(self, vertices: Buffer?, indices: Buffer, transform: Mat4, start: number?, count: number?, instances: number?, base: number?)
- function mesh(self, vertices: Buffer?, indices: Buffer, draws: Buffer, drawcount: number?, offset: number?, stride: number?)
- function origin(self)
- function plane(self, x: number?, y: number?, z: number?, width: number?, height: number?, angle: number?, ax: number?, ay: number?, az: number?, style: DrawStyle?, columns: number?, rows: number?)
- function plane(self, position: Vec3, size: Vec2, orientation: Quat, style: DrawStyle?, columns: number?, rows: number?)
- function plane(self, transform: Mat4, style: DrawStyle?, columns: number?, rows: number?)
- function points(self, x: number, y: number, z: number, ...: any)
- function points(self, t: {number | Vec3})
- function points(self, v: Vec3, ...: any)
- function polygon(self, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, ...: any)
- function polygon(self, t: {number | Vec3})
- function polygon(self, v1: Vec3, v2: Vec3, ...: any)
- function pop(self, stack: StackType?)
- function push(self, stack: StackType?)
- function reset(self)
- function rotate(self, angle: number, ax: number, ay: number, az: number)
- function rotate(self, rotation: Quat)
- function roundrect(self, x: number?, y: number?, z: number?, width: number?, height: number?, thickness: number?, angle: number?, ax: number?, ay: number?, az: number?, radius: number?, segments: number?)
- function roundrect(self, position: Vec3, size: Vec3, orientation: Quat, radius: number?, segments: number?)
- function roundrect(self, transform: Mat4, radius: number?, segments: number?)
- function scale(self, sx: number, sy: number?, sz: number?)
- function scale(self, scale: Vec3)
- function send(self, name: string, buffer: Buffer, offset: number?, extent: number?)
- function send(self, name: string, texture: Texture)
- function send(self, name: string, sampler: Sampler)
- function send(self, name: string, data: any)
- function setAlphaToCoverage(self, enable: boolean)
- function setBlendMode(self, blend: BlendMode, alphaBlend: BlendAlphaMode)
- function setBlendMode(self)
- function setBlendMode(self, index: number, blend: BlendMode, alphaBlend: BlendAlphaMode)
- function setBlendMode(self, index: number)
- function setCanvas(self, ...: Texture)
- function setCanvas(self, canvas: {})
- function setCanvas(self)
- function setClear(self, hex: number)
- function setClear(self, r: number, g: number, b: number, a: number?)
- function setClear(self, clear: boolean)
- function setClear(self, t: {})
- function setColor(self, r: number, g: number, b: number, a: number?)
- function setColor(self, t: {number})
- function setColor(self, hex: number, a: number?)
- function setColorWrite(self, enable: boolean)
- function setColorWrite(self, r: boolean, g: boolean, b: boolean, a: boolean)
- function setColorWrite(self, index: number, enable: boolean)
- function setColorWrite(self, index: number, r: boolean, g: boolean, b: boolean, a: boolean)
- function setCullMode(self, mode: CullMode)
- function setCullMode(self)
- function setDepthClamp(self, enable: boolean)
- function setDepthOffset(self, offset: number?, sloped: number?)
- function setDepthTest(self, test: CompareMode)
- function setDepthTest(self)
- function setDepthWrite(self, write: boolean)
- function setFaceCull(self, mode: CullMode)
- function setFaceCull(self)
- function setFont(self, font: Font)
- function setMaterial(self, material: Texture | Material)
- function setMaterial(self)
- function setMeshMode(self, mode: DrawMode)
- function setProjection(self, view: number, left: number, right: number, up: number, down: number, near: number?, far: number?)
- function setProjection(self, view: number, matrix: Mat4)
- function setSampler(self, sampler: Sampler | FilterMode | nil)
- function setScissor(self, x: number, y: number, w: number, h: number)
- function setScissor(self)
- function setShader(self, shader: Shader | DefaultShader)
- function setShader(self)
- function setStencilTest(self, test: CompareMode, value: number, mask: number?)
- function setStencilTest(self)
- function setStencilWrite(self, action: StencilAction | {StencilAction}, value: number?, mask: number?)
- function setStencilWrite(self)
- function setTallyBuffer(self, buffer: Buffer, offset: number)
- function setTallyBuffer(self)
- function setViewCull(self, enable: boolean)
- function setViewPose(self, view: number, x: number, y: number, z: number, angle: number, ax: number, ay: number, az: number)
- function setViewPose(self, view: number, position: Vec3, orientation: Quat)
- function setViewPose(self, view: number, matrix: Mat4, inverted: boolean)
- function setViewport(self, x: number, y: number, w: number, h: number, dmin: number?, dmax: number?)
- function setViewport(self)
- function setWinding(self, winding: Winding)
- function setWireframe(self, enable: boolean)
- function skybox(self, skybox: Texture)
- function skybox(self)
- function sphere(self, x: number?, y: number?, z: number?, radius: number?, angle: number?, ax: number?, ay: number?, az: number?, longitudes: number?, latitudes: number?)
- function sphere(self, position: Vec3, radius: number?, orientation: Quat, longitudes: number?, latitudes: number?)
- function sphere(self, transform: Mat4, longitudes: number?, latitudes: number?)
- function text(self, text: string, x: number?, y: number?, z: number?, scale: number?, angle: number?, ax: number?, ay: number?, az: number?, wrap: number?, halign: HorizontalAlign?, valign: VerticalAlign?)
- function text(self, text: string, position: Vec3, scale: number?, orientation: Quat, wrap: number?, halign: HorizontalAlign?, valign: VerticalAlign?)
- function text(self, text: string, transform: Mat4, wrap: number?, halign: HorizontalAlign?, valign: VerticalAlign?)
- function text(self, colortext: {}, x: number?, y: number?, z: number?, scale: number?, angle: number?, ax: number?, ay: number?, az: number?, wrap: number?, halign: HorizontalAlign?, valign: VerticalAlign?)
- function text(self, colortext: {}, position: Vec3, scale: number?, orientation: Quat, wrap: number?, halign: HorizontalAlign?, valign: VerticalAlign?)
- function text(self, colortext: {}, transform: Mat4, wrap: number?, halign: HorizontalAlign?, valign: VerticalAlign?)
- function torus(self, x: number?, y: number?, z: number?, radius: number?, thickness: number?, angle: number?, ax: number?, ay: number?, az: number?, tsegments: number?, psegments: number?)
- function torus(self, position: Vec3, scale: Vec3, orientation: Quat, tsegments: number?, psegments: number?)
- function torus(self, transform: Mat4, tsegments: number?, psegments: number?)
- function transform(self, x: number, y: number, z: number, sx: number, sy: number, sz: number, angle: number, ax: number, ay: number, az: number)
- function transform(self, translation: Vec3, scale: Vec3, rotation: Quat)
- function transform(self, transform: Mat4)
- function translate(self, x: number, y: number, z: number)
- function translate(self, translation: Vec3)
- end
- declare class Readback extends Object
- function getBlob(self): Blob
- function getData(self): {}
- function getImage(self): Image
- function isComplete(self): boolean
- function wait(self): boolean
- end
- declare class Sampler extends Object
- function getAnisotropy(self): number
- function getCompareMode(self): CompareMode
- function getFilter(self): (FilterMode, FilterMode, FilterMode)
- function getMipmapRange(self): (number, number)
- function getWrap(self): (WrapMode, WrapMode, WrapMode)
- end
- declare class Shader extends Object
- function clone(self, source: Shader, flags: {}): Shader
- function getBufferFormat(self, name: string): ({}, number)
- function getLabel(self): string
- function getType(self): ShaderType
- function getWorkgroupSize(self): (number, number, number)
- function hasAttribute(self, name: string): boolean
- function hasAttribute(self, location: number): boolean
- function hasStage(self, stage: ShaderStage): boolean
- function hasVariable(self, name: string): boolean
- end
- declare class Texture extends Object
- function clear(self)
- function clear(self, hex: number, layer: number?, layerCount: number?, mipmap: number?, mipmapCount: number?)
- function clear(self, r: number, g: number, b: number, a: number, layer: number?, layerCount: number?, mipmap: number?, mipmapCount: number?)
- function clear(self, t: {number}, layer: number?, layerCount: number?, mipmap: number?, mipmapCount: number?)
- function clear(self, v3: Vec3, layer: number?, layerCount: number?, mipmap: number?, mipmapCount: number?)
- function clear(self, v4: Vec4, layer: number?, layerCount: number?, mipmap: number?, mipmapCount: number?)
- function generateMipmaps(self, base: number?, count: number?)
- function getDimensions(self): (number, number, number)
- function getFormat(self): (TextureFormat, boolean)
- function getHeight(self): number
- function getLabel(self): string
- function getLayerCount(self): number
- function getMipmapCount(self): number
- function getPixels(self, x: number?, y: number?, layer: number?, mipmap: number?, width: number?, height: number?): Image
- function getSampleCount(self): number
- function getSampler(self): Sampler
- function getType(self): TextureType
- function getWidth(self): number
- function hasUsage(self, ...: TextureUsage): boolean
- function newReadback(self, x: number?, y: number?, layer: number?, mipmap: number?, width: number?, height: number?): Readback
- function setPixels(self, source: Texture | Image, dstx: number?, dsty: number?, dstlayer: number?, dstmipmap: number?, srcx: number?, srcy: number?, srclayer: number?, srcmipmap: number?, width: number?, height: number?, layers: number?)
- function setSampler(self, mode: FilterMode)
- function setSampler(self, sampler: Sampler)
- function setSampler(self)
- end
- type GraphicsModule = {
- compileShader: (stage: ShaderStage, source: string | Blob) -> Blob,
- getBackgroundColor: () -> (number, number, number, number),
- getDefaultFont: () -> Font,
- getDevice: () -> {},
- getFeatures: () -> {},
- getLimits: () -> {},
- getWindowPass: () -> Pass | nil,
- isFormatSupported: (format: TextureFormat, ...TextureFeature) -> (boolean, boolean),
- isHDR: () -> boolean,
- isTimingEnabled: () -> boolean,
- newBuffer:
- & ((size: number) -> Buffer)
- & ((blob: Blob) -> Buffer)
- & ((format: {} | DataType, length: number?) -> Buffer)
- & ((format: {} | DataType, data: {} | Blob) -> Buffer),
- newFont:
- & ((file: string | Blob, size: number?, spread: number?) -> Font)
- & ((size: number?, spread: number?) -> Font)
- & ((rasterizer: Rasterizer, spread: number?) -> Font),
- newMaterial: (properties: {}) -> Material,
- newMesh:
- & ((count: number, storage: MeshStorage?) -> Mesh)
- & ((vertices: {}, storage: MeshStorage?) -> Mesh)
- & ((blob: Blob, storage: MeshStorage?) -> Mesh)
- & ((format: {}, count: number, storage: MeshStorage?) -> Mesh)
- & ((format: {}, vertices: {}, storage: MeshStorage?) -> Mesh)
- & ((format: {}, blob: Blob, storage: MeshStorage?) -> Mesh)
- & ((buffer: Buffer) -> Mesh),
- newModel:
- & ((file: string | Blob, options: {}?) -> Model)
- & ((modelData: ModelData, options: {}?) -> Model),
- newPass:
- & ((...Texture) -> Pass)
- & ((canvas: {}) -> Pass)
- & (() -> Pass),
- newSampler: (parameters: {}) -> Sampler,
- newShader:
- & ((vertex: string | DefaultShader | Blob, fragment: string | DefaultShader | Blob, options: {}?) -> Shader)
- & ((compute: string | Blob, options: {}?) -> Shader)
- & ((defaultshader: DefaultShader, options: {}?) -> Shader),
- newTexture:
- & ((file: string | Blob, options: {}?) -> Texture)
- & ((width: number, height: number, options: {}?) -> Texture)
- & ((width: number, height: number, layers: number, options: {}?) -> Texture)
- & ((image: string, options: {}?) -> Texture)
- & ((images: {string | Blob | Image}, options: {}?) -> Texture),
- newTextureView: (parent: Texture, options: {}?) -> Texture,
- present: () -> (),
- setBackgroundColor:
- & ((r: number, g: number, b: number, a: number?) -> ())
- & ((hex: number, a: number?) -> ())
- & ((table: {number}) -> ()),
- setTimingEnabled: (enable: boolean) -> (),
- submit:
- & ((...Pass | boolean | nil) -> boolean)
- & ((t: {Pass | boolean}) -> boolean),
- wait: () -> (),
- }
- type Device =
- | "head"
- | "floor"
- | "left"
- | "right"
- | "hand/left"
- | "hand/right"
- | "hand/left/grip"
- | "hand/right/grip"
- | "hand/left/point"
- | "hand/right/point"
- | "hand/left/pinch"
- | "hand/right/pinch"
- | "hand/left/poke"
- | "hand/right/poke"
- | "elbow/left"
- | "elbow/right"
- | "shoulder/left"
- | "shoulder/right"
- | "chest"
- | "waist"
- | "knee/left"
- | "knee/right"
- | "foot/left"
- | "foot/right"
- | "camera"
- | "keyboard"
- | "stylus"
- | "eye/left"
- | "eye/right"
- | "eye/gaze"
- type DeviceAxis =
- | "trigger"
- | "thumbstick"
- | "thumbrest"
- | "touchpad"
- | "grip"
- | "nib"
- type DeviceButton =
- | "trigger"
- | "thumbstick"
- | "thumbrest"
- | "touchpad"
- | "grip"
- | "menu"
- | "a"
- | "b"
- | "x"
- | "y"
- | "nib"
- type FoveationLevel =
- | "low"
- | "medium"
- | "high"
- type HeadsetDriver =
- | "simulator"
- | "openxr"
- type HeadsetOrigin =
- | "head"
- | "floor"
- type PassthroughMode =
- | "opaque"
- | "blend"
- | "add"
- declare class Layer extends Object
- function getColor(self): (number, number, number, number)
- function getCurve(self): number
- function getDimensions(self): (number, number)
- function getOrientation(self): (number, number, number, number)
- function getPass(self): Pass
- function getPose(self): (number, number, number, number, number, number, number)
- function getPosition(self): (number, number, number)
- function getTexture(self): Texture
- function getViewport(self): (number, number, number, number)
- function setColor(self, r: number, g: number, b: number, a: number?)
- function setColor(self, t: {number})
- function setColor(self, hex: number, a: number?)
- function setCurve(self, curve: number?)
- function setDimensions(self, width: number, height: number)
- function setOrientation(self, angle: number, ax: number, ay: number, az: number)
- function setOrientation(self, orientation: Quat)
- function setPose(self, x: number, y: number, z: number, angle: number, ax: number, ay: number, az: number)
- function setPose(self, position: Vec3, orientation: Quat)
- function setPosition(self, x: number, y: number, z: number)
- function setViewport(self, x: number, y: number, w: number, h: number)
- end
- type HeadsetModule = {
- animate:
- & ((model: Model) -> boolean)
- & ((device: Device?, model: Model) -> boolean),
- getAngularVelocity: (device: Device?) -> (number, number, number),
- getAxis: (device: Device, axis: DeviceAxis) -> number | nil,
- getBoundsDepth: () -> number,
- getBoundsDimensions: () -> (number, number),
- getBoundsGeometry: (t: {}?) -> {},
- getBoundsWidth: () -> number,
- getClipDistance: () -> (number, number),
- getDeltaTime: () -> number,
- getDirection: (device: Device?) -> (number, number, number),
- getDisplayDimensions: () -> (number, number),
- getDisplayHeight: () -> number,
- getDisplayWidth: () -> number,
- getDriver: () -> (HeadsetDriver, string),
- getFeatures: () -> {},
- getFoveation: () -> (FoveationLevel, boolean),
- getHandles: () -> (lightuserdata, lightuserdata),
- getHands: () -> {Device},
- getLayers: () -> {Layer},
- getName: () -> string,
- getOrientation: (device: Device?) -> (number, number, number, number),
- getPass: () -> Pass | nil,
- getPassthrough: () -> PassthroughMode,
- getPassthroughModes: () -> {},
- getPose: (device: Device?) -> (number, number, number, number, number, number, number),
- getPosition: (device: Device?) -> (number, number, number),
- getRefreshRate: () -> number | nil,
- getRefreshRates: () -> {} | nil,
- getSkeleton:
- & ((device: Device) -> {{number}} | nil)
- & ((device: Device, t: {}) -> {{number}} | nil),
- getTexture: () -> Texture | nil,
- getTime: () -> number,
- getVelocity: (device: Device?) -> (number, number, number),
- getViewAngles: (view: number) -> (number | nil, number | nil, number | nil, number | nil),
- getViewCount: () -> number,
- getViewPose: (view: number) -> (number | nil, number | nil, number | nil, number | nil, number | nil, number | nil, number | nil),
- isActive: () -> boolean,
- isDown: (device: Device, button: DeviceButton) -> boolean | nil,
- isFocused: () -> boolean,
- isMounted: () -> boolean,
- isSeated: () -> boolean,
- isTouched: (device: Device, button: DeviceButton) -> boolean | nil,
- isTracked: (device: Device?) -> boolean,
- isVisible: () -> boolean,
- newLayer: (width: number, height: number) -> Layer,
- newModel:
- & ((key: lightuserdata) -> Model)
- & ((device: Device?) -> Model),
- setBackground:
- & ((background: Image | {Image} | Texture) -> ())
- & (() -> ()),
- setClipDistance: (near: number, far: number) -> (),
- setFoveation:
- & ((level: FoveationLevel, dynamic: boolean?) -> boolean)
- & (() -> boolean),
- setLayers:
- & ((...Layer) -> ())
- & ((t: {}) -> ()),
- setPassthrough:
- & ((mode: PassthroughMode) -> boolean)
- & ((transparent: boolean) -> boolean)
- & (() -> boolean),
- setRefreshRate: (rate: number) -> boolean,
- start: () -> (),
- stop: () -> (),
- stopVibration: (device: Device?) -> (),
- submit: () -> (),
- update: () -> (),
- vibrate: (device: Device?, strength: number?, duration: number?, frequency: number?) -> boolean,
- wasPressed: (device: Device, button: DeviceButton) -> boolean,
- wasReleased: (device: Device, button: DeviceButton) -> boolean,
- }
- declare class Curve extends Object
- function addPoint(self, x: number, y: number, z: number, index: number?)
- function evaluate(self, t: number): (number, number, number)
- function getPoint(self, index: number): (number, number, number)
- function getPointCount(self): number
- function getTangent(self, t: number): (number, number, number)
- function removePoint(self, index: number)
- function render(self, n: number?, t1: number?, t2: number?): {number}
- function setPoint(self, index: number, x: number, y: number, z: number)
- function slice(self, t1: number, t2: number): Curve
- end
- declare class RandomGenerator extends Object
- function getSeed(self): (number, number)
- function getState(self): string
- function random(self): number
- function random(self, high: number): number
- function random(self, low: number, high: number): number
- function randomNormal(self, sigma: number?, mu: number?): number
- function setSeed(self, seed: number)
- function setSeed(self, low: number, high: number)
- function setState(self, state: string)
- end
- type MathModule = {
- drain: () -> (),
- gammaToLinear:
- & ((gr: number, gg: number, gb: number) -> (number, number, number))
- & ((color: {number}) -> (number, number, number))
- & ((x: number) -> number),
- getRandomSeed: () -> number,
- linearToGamma:
- & ((lr: number, lg: number, lb: number) -> (number, number, number))
- & ((color: {number}) -> (number, number, number))
- & ((x: number) -> number),
- mat4:
- & (() -> Mat4)
- & ((n: Mat4) -> Mat4)
- & ((position: Vec3?, scale: Vec3?, rotation: Quat?) -> Mat4)
- & ((position: Vec3?, rotation: Quat?) -> Mat4)
- & ((...number) -> Mat4)
- & ((d: number) -> Mat4),
- newCurve:
- & ((x: number, y: number, z: number, ...any) -> Curve)
- & ((v: Vec3, ...any) -> Curve)
- & ((points: {}) -> Curve)
- & ((n: number) -> Curve),
- newMat4:
- & (() -> Mat4)
- & ((n: Mat4) -> Mat4)
- & ((position: Vec3?, scale: Vec3?, rotation: Quat?) -> Mat4)
- & ((position: Vec3?, rotation: Quat?) -> Mat4)
- & ((...number) -> Mat4)
- & ((d: number) -> Mat4),
- newQuat:
- & ((angle: number?, ax: number?, ay: number?, az: number?, raw: boolean?) -> Quat)
- & ((r: Quat) -> Quat)
- & ((v: Vec3) -> Quat)
- & ((v: Vec3, u: Vec3) -> Quat)
- & ((m: Mat4) -> Quat)
- & (() -> Quat),
- newRandomGenerator:
- & (() -> RandomGenerator)
- & ((seed: number) -> RandomGenerator)
- & ((low: number, high: number) -> RandomGenerator),
- newVec2:
- & ((x: number?, y: number?) -> Vec2)
- & ((u: Vec2) -> Vec2),
- newVec3:
- & ((x: number?, y: number?, z: number?) -> Vec3)
- & ((u: Vec3) -> Vec3)
- & ((m: Mat4) -> Vec3)
- & ((q: Quat) -> Vec3),
- newVec4:
- & ((x: number?, y: number?, z: number?, w: number?) -> Vec4)
- & ((u: Vec4) -> Vec4),
- noise:
- & ((x: number) -> number)
- & ((x: number, y: number) -> number)
- & ((x: number, y: number, z: number) -> number)
- & ((x: number, y: number, z: number, w: number) -> number),
- quat:
- & ((angle: number?, ax: number?, ay: number?, az: number?, raw: boolean?) -> Quat)
- & ((r: Quat) -> Quat)
- & ((v: Vec3) -> Quat)
- & ((v: Vec3, u: Vec3) -> Quat)
- & ((m: Mat4) -> Quat)
- & (() -> Quat),
- random:
- & (() -> number)
- & ((high: number) -> number)
- & ((low: number, high: number) -> number),
- randomNormal: (sigma: number?, mu: number?) -> number,
- setRandomSeed: (seed: number) -> (),
- vec2:
- & ((x: number?, y: number?) -> Vec2)
- & ((u: Vec2) -> Vec2),
- vec3:
- & ((x: number?, y: number?, z: number?) -> Vec3)
- & ((u: Vec3) -> Vec3)
- & ((m: Mat4) -> Vec3)
- & ((q: Quat) -> Vec3),
- vec4:
- & ((x: number?, y: number?, z: number?, w: number?) -> Vec4)
- & ((u: Vec4) -> Vec4),
- }
- type JointType =
- | "ball"
- | "distance"
- | "hinge"
- | "slider"
- type MotorMode =
- | "position"
- | "velocity"
- type ShapeType =
- | "box"
- | "sphere"
- | "capsule"
- | "cylinder"
- | "convex"
- | "mesh"
- | "terrain"
- declare class BallJoint extends Joint
- end
- declare class BoxShape extends Shape
- function getDimensions(self): (number, number, number)
- function setDimensions(self, width: number, height: number, depth: number)
- end
- declare class CapsuleShape extends Shape
- function getLength(self): number
- function getRadius(self): number
- function setLength(self, length: number)
- function setRadius(self, radius: number)
- end
- declare class Collider extends Object
- function addShape(self, shape: Shape)
- function applyAngularImpulse(self, x: number, y: number, z: number)
- function applyAngularImpulse(self, impulse: Vec3)
- function applyForce(self, x: number, y: number, z: number)
- function applyForce(self, x: number, y: number, z: number, px: number, py: number, pz: number)
- function applyForce(self, force: Vec3)
- function applyForce(self, force: Vec3, position: Vec3)
- function applyLinearImpulse(self, x: number, y: number, z: number)
- function applyLinearImpulse(self, x: number, y: number, z: number, px: number, py: number, pz: number)
- function applyLinearImpulse(self, impulse: Vec3)
- function applyLinearImpulse(self, impulse: Vec3, position: Vec3)
- function applyTorque(self, x: number, y: number, z: number)
- function applyTorque(self, torque: Vec3)
- function destroy(self)
- function getAABB(self): (number, number, number, number, number, number)
- function getAngularDamping(self): number
- function getAngularVelocity(self): (number, number, number)
- function getAutomaticMass(self): boolean
- function getCenterOfMass(self): (number, number, number)
- function getDegreesOfFreedom(self): (string, string)
- function getFriction(self): number
- function getGravityScale(self): number
- function getInertia(self): (number, number, number, number, number, number, number)
- function getJoints(self): {}
- function getLinearDamping(self): number
- function getLinearVelocity(self): (number, number, number)
- function getLinearVelocityFromLocalPoint(self, x: number, y: number, z: number): (number, number, number)
- function getLinearVelocityFromLocalPoint(self, point: Vec3): (number, number, number)
- function getLinearVelocityFromWorldPoint(self, x: number, y: number, z: number): (number, number, number)
- function getLinearVelocityFromWorldPoint(self, point: Vec3): (number, number, number)
- function getLocalPoint(self, wx: number, wy: number, wz: number): (number, number, number)
- function getLocalPoint(self, point: Vec3): (number, number, number)
- function getLocalVector(self, wx: number, wy: number, wz: number): (number, number, number)
- function getLocalVector(self, vector: Vec3): (number, number, number)
- function getMass(self): number
- function getOrientation(self): (number, number, number, number)
- function getPose(self): (number, number, number, number, number, number, number)
- function getPosition(self): (number, number, number)
- function getRestitution(self): number
- function getShape(self): Shape | nil
- function getShapes(self): {}
- function getTag(self): string | nil
- function getUserData(self): any
- function getWorld(self): World
- function getWorldPoint(self, x: number, y: number, z: number): (number, number, number)
- function getWorldPoint(self, point: Vec3): (number, number, number)
- function getWorldVector(self, x: number, y: number, z: number): (number, number, number)
- function getWorldVector(self, vector: Vec3): (number, number, number)
- function isAwake(self): boolean
- function isContinuous(self): boolean
- function isDestroyed(self): boolean
- function isEnabled(self): boolean
- function isGravityIgnored(self): boolean
- function isKinematic(self): boolean
- function isSensor(self): boolean
- function isSleepingAllowed(self): boolean
- function moveKinematic(self)
- function removeShape(self, shape: Shape)
- function resetMassData(self)
- function setAngularDamping(self, damping: number)
- function setAngularVelocity(self, vx: number, vy: number, vz: number)
- function setAngularVelocity(self, velocity: Vec3)
- function setAutomaticMass(self, enable: boolean)
- function setAwake(self, awake: boolean)
- function setCenterOfMass(self, x: number, y: number, z: number)
- function setCenterOfMass(self, center: Vec3)
- function setContinuous(self, continuous: boolean)
- function setDegreesOfFreedom(self, translation: string?, rotation: string?)
- function setEnabled(self, enable: boolean)
- function setFriction(self, friction: number)
- function setGravityIgnored(self, ignored: boolean)
- function setGravityScale(self, scale: number)
- function setInertia(self, dx: number, dy: number, dz: number, angle: number, ax: number, ay: number, az: number)
- function setInertia(self, diagonal: Vec3, rotation: Quat)
- function setKinematic(self, kinematic: boolean)
- function setLinearDamping(self, damping: number)
- function setLinearVelocity(self, vx: number, vy: number, vz: number)
- function setLinearVelocity(self, velocity: Vec3)
- function setMass(self, mass: number)
- function setOrientation(self, angle: number, ax: number, ay: number, az: number)
- function setOrientation(self, orientation: Quat)
- function setPose(self, x: number, y: number, z: number, angle: number, ax: number, ay: number, az: number)
- function setPose(self, position: Vec3, orientation: Quat)
- function setPosition(self, x: number, y: number, z: number)
- function setPosition(self, position: Vec3)
- function setRestitution(self, restitution: number)
- function setSensor(self, sensor: boolean)
- function setSleepingAllowed(self, sleepy: boolean)
- function setTag(self, tag: string)
- function setTag(self)
- function setUserData(self, data: any)
- end
- declare class ConeJoint extends Joint
- function getAxis(self): (number, number, number)
- function getLimit(self): number
- function setLimit(self, limit: number)
- end
- declare class Contact
- function getColliders(self): (Collider, Collider)
- function getFriction(self): number
- function getNormal(self): (number, number, number)
- function getOverlap(self): number
- function getPoints(self): number
- function getRestitution(self): number
- function getShapes(self): (Shape, Shape)
- function getSurfaceVelocity(self): (number, number, number)
- function isEnabled(self): boolean
- function setEnabled(self, enable: boolean)
- function setFriction(self, friction: number)
- function setRestitution(self, restitution: number)
- function setSurfaceVelocity(self, x: number, y: number, z: number)
- function setSurfaceVelocity(self, velocity: Vec3)
- end
- declare class ConvexShape extends Shape
- function getFace(self, index: number): {}
- function getFaceCount(self): number
- function getPoint(self, index: number): (number, number, number)
- function getPointCount(self): number
- function getScale(self): number
- end
- declare class CylinderShape extends Shape
- function getLength(self): number
- function getRadius(self): number
- function setLength(self, length: number)
- function setRadius(self, radius: number)
- end
- declare class DistanceJoint extends Joint
- function getLimits(self): (number, number)
- function getSpring(self): (number, number)
- function setLimits(self, min: number?, max: number?)
- function setLimits(self)
- function setSpring(self, frequency: number?, damping: number?)
- end
- declare class HingeJoint extends Joint
- function getAngle(self): number
- function getAxis(self): (number, number, number)
- function getFriction(self): number
- function getLimits(self): (number, number)
- function getMaxMotorTorque(self): (number, number)
- function getMotorMode(self): MotorMode
- function getMotorSpring(self): (number, number)
- function getMotorTarget(self): number
- function getMotorTorque(self): number
- function getSpring(self): (number, number)
- function setFriction(self, friction: number)
- function setLimits(self, min: number, max: number)
- function setLimits(self)
- function setMaxMotorTorque(self, positive: number?, negative: number?)
- function setMotorMode(self, mode: MotorMode)
- function setMotorMode(self)
- function setMotorSpring(self, frequency: number?, damping: number?)
- function setMotorTarget(self, target: number)
- function setSpring(self, frequency: number?, damping: number?)
- end
- declare class Joint extends Object
- function destroy(self)
- function getAnchors(self): (number, number, number, number, number, number)
- function getColliders(self): (Collider, Collider)
- function getForce(self): number
- function getPriority(self): number
- function getTorque(self): number
- function getType(self): JointType
- function getUserData(self): any
- function isDestroyed(self): boolean
- function isEnabled(self): boolean
- function setEnabled(self, enabled: boolean)
- function setPriority(self, priority: number)
- function setUserData(self, data: any)
- end
- declare class MeshShape extends Shape
- function getScale(self): number
- end
- declare class Shape extends Object
- function containsPoint(self, x: number, y: number, z: number): boolean
- function containsPoint(self, point: Vec3): boolean
- function destroy(self)
- function getAABB(self): (number, number, number, number, number, number)
- function getCenterOfMass(self): (number, number, number)
- function getCollider(self): Collider
- function getDensity(self): number
- function getInertia(self): (number, number, number, number, number, number, number)
- function getMass(self): number
- function getOffset(self): (number, number, number, number, number, number, number)
- function getOrientation(self): (number, number, number, number)
- function getPose(self): (number, number, number, number, number, number, number)
- function getPosition(self): (number, number, number)
- function getType(self): ShapeType
- function getUserData(self): any
- function getVolume(self): number
- function isDestroyed(self): boolean
- function raycast(self, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): (number, number, number, number, number, number, number | nil)
- function raycast(self, origin: Vec3, endpoint: Vec3): (number, number, number, number, number, number, number | nil)
- function setDensity(self, density: number)
- function setOffset(self, x: number, y: number, z: number, angle: number, ax: number, ay: number, az: number)
- function setOffset(self, position: Vec3, rotation: Quat)
- function setUserData(self, data: any)
- end
- declare class SliderJoint extends Joint
- function getAxis(self): (number, number, number)
- function getFriction(self): number
- function getLimits(self): (number, number)
- function getMaxMotorForce(self): (number, number)
- function getMotorForce(self): number
- function getMotorMode(self): MotorMode
- function getMotorSpring(self): (number, number)
- function getMotorTarget(self): number
- function getPosition(self): number
- function getSpring(self): (number, number)
- function setFriction(self, friction: number)
- function setLimits(self, min: number, max: number)
- function setLimits(self)
- function setMaxMotorForce(self, positive: number?, negative: number?)
- function setMotorMode(self, mode: MotorMode)
- function setMotorMode(self)
- function setMotorSpring(self, frequency: number?, damping: number?)
- function setMotorTarget(self, target: number)
- function setSpring(self, frequency: number?, damping: number?)
- end
- declare class SphereShape extends Shape
- function getRadius(self): number
- function setRadius(self, radius: number)
- end
- declare class TerrainShape extends Shape
- end
- declare class WeldJoint extends Joint
- end
- declare class World extends Object
- function destroy(self)
- function disableCollisionBetween(self, tag1: string, tag2: string)
- function enableCollisionBetween(self, tag1: string, tag2: string)
- function getAngularDamping(self): (number, number)
- function getCallbacks(self): {}
- function getColliderCount(self): number
- function getColliders(self): {Collider}
- function getGravity(self): (number, number, number)
- function getJointCount(self): number
- function getJoints(self): {Joint}
- function getLinearDamping(self): (number, number)
- function getResponseTime(self): number
- function getStepCount(self): number
- function getTags(self): {string}
- function getTightness(self): number
- function interpolate(self, alpha: number)
- function isCollisionEnabledBetween(self, tag1: string, tag2: string): boolean
- function isDestroyed(self): boolean
- function isSleepingAllowed(self): boolean
- function newBoxCollider(self, x: number?, y: number?, z: number?, width: number?, height: number?, depth: number?): Collider
- function newBoxCollider(self, position: Vec3, size: Vec3): Collider
- function newCapsuleCollider(self, x: number?, y: number?, z: number?, radius: number?, length: number?): Collider
- function newCapsuleCollider(self, position: Vec3, radius: number?, length: number?): Collider
- function newCollider(self, x: number, y: number, z: number): Collider
- function newCollider(self, position: Vec3): Collider
- function newConvexCollider(self, x: number?, y: number?, z: number?, points: {}, scale: number?): Collider
- function newConvexCollider(self, position: Vec3, points: {}, scale: number?): Collider
- function newConvexCollider(self, x: number?, y: number?, z: number?, modelData: ModelData, scale: number?): Collider
- function newConvexCollider(self, position: Vec3, modelData: ModelData, scale: number?): Collider
- function newConvexCollider(self, x: number?, y: number?, z: number?, model: Model, scale: number?): Collider
- function newConvexCollider(self, position: Vec3, model: Model, scale: number?): Collider
- function newConvexCollider(self, x: number?, y: number?, z: number?, mesh: Mesh, scale: number?): Collider
- function newConvexCollider(self, position: Vec3, mesh: Mesh, scale: number?): Collider
- function newConvexCollider(self, x: number?, y: number?, z: number?, template: ConvexShape, scale: number?): Collider
- function newConvexCollider(self, position: Vec3, template: ConvexShape, scale: number?): Collider
- function newCylinderCollider(self, x: number?, y: number?, z: number?, radius: number?, length: number?): Collider
- function newCylinderCollider(self, position: Vec3, radius: number?, length: number?): Collider
- function newMeshCollider(self, vertices: {}, indices: {}): Collider
- function newMeshCollider(self, modelData: ModelData): Collider
- function newMeshCollider(self, model: Model): Collider
- function newMeshCollider(self, mesh: Mesh): Collider
- function newMeshCollider(self, template: MeshShape): Collider
- function newSphereCollider(self, x: number?, y: number?, z: number?, radius: number?): Collider
- function newSphereCollider(self, position: Vec3, radius: number?): Collider
- function newTerrainCollider(self, scale: number): Collider
- function newTerrainCollider(self, scale: number, heightmap: Image, stretch: number?): Collider
- function newTerrainCollider(self, scale: number, callback: (x: number, z: number) -> number, samples: number?): Collider
- function overlapShape(self, shape: Shape, x: number, y: number, z: number, angle: number, ax: number, ay: number, az: number, maxDistance: number?, filter: string?, callback: () -> ()?)
- function overlapShape(self, shape: Shape, position: Vec3, orientation: Quat, maxDistance: number?, filter: string?, callback: () -> ()?)
- function overlapShape(self, shape: Shape, x: number, y: number, z: number, angle: number, ax: number, ay: number, az: number, maxDistance: number?, filter: string?): (Collider, Shape, number, number, number, number, number, number)
- function overlapShape(self, shape: Shape, position: Vec3, orientation: Quat, maxDistance: number?, filter: string?): (Collider, Shape, number, number, number, number, number, number)
- function queryBox(self, x: number, y: number, z: number, width: number, height: number, depth: number, filter: string?, callback: () -> ()?)
- function queryBox(self, position: Vec3, size: Vec3, filter: string?, callback: () -> ()?)
- function queryBox(self, x: number, y: number, z: number, width: number, height: number, depth: number, filter: string?): Collider
- function queryBox(self, position: Vec3, size: Vec3, filter: string?): Collider
- function querySphere(self, x: number, y: number, z: number, radius: number, filter: string?, callback: () -> ()?)
- function querySphere(self, position: Vec3, radius: number, filter: string?, callback: () -> ()?)
- function querySphere(self, x: number, y: number, z: number, radius: number, filter: string?): Collider
- function querySphere(self, position: Vec3, radius: number, filter: string?): Collider
- function raycast(self, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, filter: string?, callback: (collider: Collider, shape: Shape, x: number, y: number, z: number, nx: number, ny: number, nz: number, triangle: number, fraction: number) -> number??)
- function raycast(self, origin: Vec3, endpoint: Vec3, filter: string?, callback: (collider: Collider, shape: Shape, x: number, y: number, z: number, nx: number, ny: number, nz: number, triangle: number, fraction: number) -> number??)
- function raycast(self, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, filter: string?): (Collider, Shape, number, number, number, number, number, number, number | nil)
- function raycast(self, origin: Vec3, endpoint: Vec3, filter: string?): (Collider, Shape, number, number, number, number, number, number, number | nil)
- function setAngularDamping(self, damping: number, threshold: number?)
- function setCallbacks(self, callbacks: {})
- function setGravity(self, xg: number, yg: number, zg: number)
- function setGravity(self, gravity: Vec3)
- function setLinearDamping(self, damping: number, threshold: number?)
- function setResponseTime(self, responseTime: number)
- function setSleepingAllowed(self, allowed: boolean)
- function setStepCount(self, steps: number)
- function setTightness(self, tightness: number)
- function shapecast(self, shape: Shape, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, angle: number, ax: number, ay: number, az: number, filter: string?, callback: (collider: Collider, shape: Shape, x: number, y: number, z: number, nx: number, ny: number, nz: number, triangle: number, fraction: number) -> number?)
- function shapecast(self, shape: Shape, position: Vec3, destination: Vec3, orientation: Quat, filter: string?, callback: (collider: Collider, shape: Shape, x: number, y: number, z: number, nx: number, ny: number, nz: number, triangle: number, fraction: number) -> number?)
- function shapecast(self, shape: Shape, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, angle: number, ax: number, ay: number, az: number, filter: string?): (Collider, Shape, number, number, number, number, number, number, number, number)
- function shapecast(self, shape: Shape, position: Vec3, destination: Vec3, orientation: Quat, filter: string?): (Collider, Shape, number, number, number, number, number, number, number, number)
- function update(self, dt: number)
- end
- type PhysicsModule = {
- newBallJoint:
- & ((colliderA: Collider, colliderB: Collider, x: number, y: number, z: number) -> BallJoint)
- & ((colliderA: Collider, colliderB: Collider, anchor: Vec3) -> BallJoint),
- newBoxShape: (width: number?, height: number?, depth: number?) -> BoxShape,
- newCapsuleShape: (radius: number?, length: number?) -> CapsuleShape,
- newConeJoint:
- & ((colliderA: Collider, colliderB: Collider, x: number, y: number, z: number, ax: number, ay: number, az: number) -> ConeJoint)
- & ((colliderA: Collider, colliderB: Collider, anchor: Vec3, axis: Vec3) -> ConeJoint),
- newConvexShape:
- & ((points: {}, scale: number?) -> ConvexShape)
- & ((object: ModelData | Model | Mesh, scale: number?) -> ConvexShape)
- & ((template: ConvexShape, scale: number?) -> ConvexShape),
- newCylinderShape: (radius: number?, length: number?) -> CylinderShape,
- newDistanceJoint:
- & ((colliderA: Collider, colliderB: Collider, x1: number, y1: number, z1: number, x2: number, y2: number, z2: number) -> DistanceJoint)
- & ((colliderA: Collider, colliderB: Collider, first: Vec3, second: Vec3) -> DistanceJoint),
- newHingeJoint:
- & ((colliderA: Collider, colliderB: Collider, x: number, y: number, z: number, ax: number, ay: number, az: number) -> HingeJoint)
- & ((colliderA: Collider, colliderB: Collider, anchor: Vec3, axis: Vec3) -> HingeJoint),
- newMeshShape:
- & ((vertices: {}, indices: {}, scale: number?) -> MeshShape)
- & ((object: ModelData | Model | Mesh, scale: number?) -> MeshShape)
- & ((template: MeshShape, scale: number?) -> MeshShape),
- newSliderJoint:
- & ((colliderA: Collider, colliderB: Collider, ax: number, ay: number, az: number) -> SliderJoint)
- & ((colliderA: Collider, colliderB: Collider, axis: Vec3) -> SliderJoint),
- newSphereShape: (radius: number?) -> SphereShape,
- newTerrainShape:
- & ((scale: number) -> TerrainShape)
- & ((scale: number, heightmap: Image, stretch: number?) -> TerrainShape)
- & ((scale: number, callback: (x: number, z: number) -> (), samples: number?) -> TerrainShape),
- newWeldJoint: (colliderA: Collider, colliderB: Collider) -> WeldJoint,
- newWorld: (settings: {}?) -> World,
- }
- type Permission =
- | "audiocapture"
- type SystemModule = {
- getClipboardText: () -> string | nil,
- getCoreCount: () -> number,
- getMousePosition: () -> (number, number),
- getMouseX: () -> number,
- getMouseY: () -> number,
- getOS: () -> string,
- getWindowDensity: () -> number,
- getWindowDimensions: () -> (number, number),
- getWindowHeight: () -> number,
- getWindowWidth: () -> number,
- hasKeyRepeat: () -> boolean,
- isKeyDown: (...KeyCode) -> boolean,
- isMouseDown: (button: number) -> boolean,
- isWindowFocused: () -> boolean,
- isWindowOpen: () -> boolean,
- isWindowVisible: () -> boolean,
- openWindow: (options: {}) -> (),
- pollEvents: () -> (),
- requestPermission: (permission: Permission) -> (),
- setClipboardText: (text: string) -> (),
- setKeyRepeat: (enable: boolean) -> (),
- wasKeyPressed: (...KeyCode) -> boolean,
- wasKeyReleased: (...KeyCode) -> boolean,
- wasMousePressed: (button: number) -> boolean,
- wasMouseReleased: (button: number) -> boolean,
- }
- declare class Channel extends Object
- function clear(self)
- function getCount(self): number
- function hasRead(self, id: number): boolean
- function peek(self): (any, boolean)
- function pop(self, wait: number | boolean | nil): any
- function push(self, message: any, wait: number | boolean | nil): (number, boolean)
- end
- declare class Thread extends Object
- function getError(self): string | nil
- function isRunning(self): boolean
- function start(self, ...: any)
- function wait(self)
- end
- type ThreadModule = {
- getChannel: (name: string) -> Channel,
- newChannel: () -> Channel,
- newThread:
- & ((code: string) -> Thread)
- & ((file: string | Blob) -> Thread),
- }
- type TimerModule = {
- getAverageDelta: () -> number,
- getDelta: () -> number,
- getFPS: () -> number,
- getTime: () -> number,
- sleep: (duration: number) -> (),
- step: () -> number,
- }
- declare lovr: {
- getVersion: () -> (number, number, number, string, string),
- conf: (t: {}) -> (),
- draw: (pass: Pass) -> boolean | nil,
- errhand: (message: string) -> (() -> any),
- filechanged: (path: string, action: FileAction, oldpath: string) -> (),
- focus: (focused: boolean, display: DisplayType) -> (),
- keypressed: (key: KeyCode, scancode: number, isrepeat: boolean) -> (),
- keyreleased: (key: KeyCode, scancode: number) -> (),
- load: (arg: {}) -> (),
- log: (message: string, level: string, tag: string) -> (),
- mirror: (pass: Pass) -> boolean,
- mount: (mounted: boolean) -> (),
- mousemoved: (x: number, y: number, dx: number, dy: number) -> (),
- mousepressed: (x: number, y: number, button: number) -> (),
- mousereleased: (x: number, y: number, button: number) -> (),
- permission: (permission: Permission, granted: boolean) -> (),
- quit: () -> boolean,
- recenter: () -> (),
- resize: (width: number, height: number) -> (),
- restart: () -> any,
- run: () -> (() -> any),
- textinput: (text: string, code: number) -> (),
- threaderror: (thread: Thread, message: string) -> (),
- update: (dt: number) -> (),
- visible: (visible: boolean, display: DisplayType) -> (),
- wheelmoved: (dx: number, dy: number) -> (),
- audio: AudioModule,
- data: DataModule,
- event: EventModule,
- filesystem: FilesystemModule,
- graphics: GraphicsModule,
- headset: HeadsetModule,
- math: MathModule,
- physics: PhysicsModule,
- system: SystemModule,
- thread: ThreadModule,
- timer: TimerModule,
- }
|