summaryrefslogtreecommitdiff
path: root/meta/3rd/love2d/library
diff options
context:
space:
mode:
Diffstat (limited to 'meta/3rd/love2d/library')
-rw-r--r--meta/3rd/love2d/library/love.audio.lua66
-rw-r--r--meta/3rd/love2d/library/love.data.lua36
-rw-r--r--meta/3rd/love2d/library/love.event.lua76
-rw-r--r--meta/3rd/love2d/library/love.filesystem.lua34
-rw-r--r--meta/3rd/love2d/library/love.font.lua10
-rw-r--r--meta/3rd/love2d/library/love.graphics.lua244
-rw-r--r--meta/3rd/love2d/library/love.image.lua214
-rw-r--r--meta/3rd/love2d/library/love.joystick.lua74
-rw-r--r--meta/3rd/love2d/library/love.keyboard.lua680
-rw-r--r--meta/3rd/love2d/library/love.math.lua6
-rw-r--r--meta/3rd/love2d/library/love.mouse.lua28
-rw-r--r--meta/3rd/love2d/library/love.physics.lua38
-rw-r--r--meta/3rd/love2d/library/love.system.lua12
-rw-r--r--meta/3rd/love2d/library/love.window.lua28
14 files changed, 773 insertions, 773 deletions
diff --git a/meta/3rd/love2d/library/love.audio.lua b/meta/3rd/love2d/library/love.audio.lua
index acd59384..e287469c 100644
--- a/meta/3rd/love2d/library/love.audio.lua
+++ b/meta/3rd/love2d/library/love.audio.lua
@@ -593,139 +593,139 @@ function Source:tell(unit) end
---
---Extended information can be found in the chapter "3.4. Attenuation By Distance" of the OpenAL 1.1 specification.
---
----@class love.DistanceModel
+---@alias love.DistanceModel
---
---Sources do not get attenuated.
---
----@field none integer
+---| '"none"'
---
---Inverse distance attenuation.
---
----@field inverse integer
+---| '"inverse"'
---
---Inverse distance attenuation. Gain is clamped. In version 0.9.2 and older this is named '''inverse clamped'''.
---
----@field inverseclamped integer
+---| '"inverseclamped"'
---
---Linear attenuation.
---
----@field linear integer
+---| '"linear"'
---
---Linear attenuation. Gain is clamped. In version 0.9.2 and older this is named '''linear clamped'''.
---
----@field linearclamped integer
+---| '"linearclamped"'
---
---Exponential attenuation.
---
----@field exponent integer
+---| '"exponent"'
---
---Exponential attenuation. Gain is clamped. In version 0.9.2 and older this is named '''exponent clamped'''.
---
----@field exponentclamped integer
+---| '"exponentclamped"'
---
---The different types of effects supported by love.audio.setEffect.
---
----@class love.EffectType
+---@alias love.EffectType
---
---Plays multiple copies of the sound with slight pitch and time variation. Used to make sounds sound "fuller" or "thicker".
---
----@field chorus integer
+---| '"chorus"'
---
---Decreases the dynamic range of the sound, making the loud and quiet parts closer in volume, producing a more uniform amplitude throughout time.
---
----@field compressor integer
+---| '"compressor"'
---
---Alters the sound by amplifying it until it clips, shearing off parts of the signal, leading to a compressed and distorted sound.
---
----@field distortion integer
+---| '"distortion"'
---
---Decaying feedback based effect, on the order of seconds. Also known as delay; causes the sound to repeat at regular intervals at a decreasing volume.
---
----@field echo integer
+---| '"echo"'
---
---Adjust the frequency components of the sound using a 4-band (low-shelf, two band-pass and a high-shelf) equalizer.
---
----@field equalizer integer
+---| '"equalizer"'
---
---Plays two copies of the sound; while varying the phase, or equivalently delaying one of them, by amounts on the order of milliseconds, resulting in phasing sounds.
---
----@field flanger integer
+---| '"flanger"'
---
---Decaying feedback based effect, on the order of milliseconds. Used to simulate the reflection off of the surroundings.
---
----@field reverb integer
+---| '"reverb"'
---
---An implementation of amplitude modulation; multiplies the source signal with a simple waveform, to produce either volume changes, or inharmonic overtones.
---
----@field ringmodulator integer
+---| '"ringmodulator"'
---
---The different types of waveforms that can be used with the '''ringmodulator''' EffectType.
---
----@class love.EffectWaveform
+---@alias love.EffectWaveform
---
---A sawtooth wave, also known as a ramp wave. Named for its linear rise, and (near-)instantaneous fall along time.
---
----@field sawtooth integer
+---| '"sawtooth"'
---
---A sine wave. Follows a trigonometric sine function.
---
----@field sine integer
+---| '"sine"'
---
---A square wave. Switches between high and low states (near-)instantaneously.
---
----@field square integer
+---| '"square"'
---
---A triangle wave. Follows a linear rise and fall that repeats periodically.
---
----@field triangle integer
+---| '"triangle"'
---
---Types of filters for Sources.
---
----@class love.FilterType
+---@alias love.FilterType
---
---Low-pass filter. High frequency sounds are attenuated.
---
----@field lowpass integer
+---| '"lowpass"'
---
---High-pass filter. Low frequency sounds are attenuated.
---
----@field highpass integer
+---| '"highpass"'
---
---Band-pass filter. Both high and low frequency sounds are attenuated based on the given parameters.
---
----@field bandpass integer
+---| '"bandpass"'
---
---Types of audio sources.
---
---A good rule of thumb is to use stream for music files and static for all short sound effects. Basically, you want to avoid loading large files into memory at once.
---
----@class love.SourceType
+---@alias love.SourceType
---
---The whole audio is decoded.
---
----@field static integer
+---| '"static"'
---
---The audio is decoded in chunks when needed.
---
----@field stream integer
+---| '"stream"'
---
---The audio must be manually queued by the user.
---
----@field queue integer
+---| '"queue"'
---
---Units that represent time.
---
----@class love.TimeUnit
+---@alias love.TimeUnit
---
---Regular seconds.
---
----@field seconds integer
+---| '"seconds"'
---
---Audio samples.
---
----@field samples integer
+---| '"samples"'
diff --git a/meta/3rd/love2d/library/love.data.lua b/meta/3rd/love2d/library/love.data.lua
index 53a51d4b..b502d42e 100644
--- a/meta/3rd/love2d/library/love.data.lua
+++ b/meta/3rd/love2d/library/love.data.lua
@@ -135,75 +135,75 @@ function CompressedData:getFormat() end
---
---Compressed data formats.
---
----@class love.CompressedDataFormat
+---@alias love.CompressedDataFormat
---
---The LZ4 compression format. Compresses and decompresses very quickly, but the compression ratio is not the best. LZ4-HC is used when compression level 9 is specified. Some benchmarks are available here.
---
----@field lz4 integer
+---| '"lz4"'
---
---The zlib format is DEFLATE-compressed data with a small bit of header data. Compresses relatively slowly and decompresses moderately quickly, and has a decent compression ratio.
---
----@field zlib integer
+---| '"zlib"'
---
---The gzip format is DEFLATE-compressed data with a slightly larger header than zlib. Since it uses DEFLATE it has the same compression characteristics as the zlib format.
---
----@field gzip integer
+---| '"gzip"'
---
---Raw DEFLATE-compressed data (no header).
---
----@field deflate integer
+---| '"deflate"'
---
---Return type of various data-returning functions.
---
----@class love.ContainerType
+---@alias love.ContainerType
---
---Return type is ByteData.
---
----@field data integer
+---| '"data"'
---
---Return type is string.
---
----@field string integer
+---| '"string"'
---
---Encoding format used to encode or decode data.
---
----@class love.EncodeFormat
+---@alias love.EncodeFormat
---
---Encode/decode data as base64 binary-to-text encoding.
---
----@field base64 integer
+---| '"base64"'
---
---Encode/decode data as hexadecimal string.
---
----@field hex integer
+---| '"hex"'
---
---Hash algorithm of love.data.hash.
---
----@class love.HashFunction
+---@alias love.HashFunction
---
---MD5 hash algorithm (16 bytes).
---
----@field md5 integer
+---| '"md5"'
---
---SHA1 hash algorithm (20 bytes).
---
----@field sha1 integer
+---| '"sha1"'
---
---SHA2 hash algorithm with message digest size of 224 bits (28 bytes).
---
----@field sha224 integer
+---| '"sha224"'
---
---SHA2 hash algorithm with message digest size of 256 bits (32 bytes).
---
----@field sha256 integer
+---| '"sha256"'
---
---SHA2 hash algorithm with message digest size of 384 bits (48 bytes).
---
----@field sha384 integer
+---| '"sha384"'
---
---SHA2 hash algorithm with message digest size of 512 bits (64 bytes).
---
----@field sha512 integer
+---| '"sha512"'
diff --git a/meta/3rd/love2d/library/love.event.lua b/meta/3rd/love2d/library/love.event.lua
index 3e8d7ff4..44339d88 100644
--- a/meta/3rd/love2d/library/love.event.lua
+++ b/meta/3rd/love2d/library/love.event.lua
@@ -68,152 +68,152 @@ function love.event.wait() end
---
---Since 0.8.0, event names are no longer abbreviated.
---
----@class love.Event
+---@alias love.Event
---
---Window focus gained or lost
---
----@field focus integer
+---| '"focus"'
---
---Joystick pressed
---
----@field joystickpressed integer
+---| '"joystickpressed"'
---
---Joystick released
---
----@field joystickreleased integer
+---| '"joystickreleased"'
---
---Key pressed
---
----@field keypressed integer
+---| '"keypressed"'
---
---Key released
---
----@field keyreleased integer
+---| '"keyreleased"'
---
---Mouse pressed
---
----@field mousepressed integer
+---| '"mousepressed"'
---
---Mouse released
---
----@field mousereleased integer
+---| '"mousereleased"'
---
---Quit
---
----@field quit integer
+---| '"quit"'
---
---Window size changed by the user
---
----@field resize integer
+---| '"resize"'
---
---Window is minimized or un-minimized by the user
---
----@field visible integer
+---| '"visible"'
---
---Window mouse focus gained or lost
---
----@field mousefocus integer
+---| '"mousefocus"'
---
---A Lua error has occurred in a thread
---
----@field threaderror integer
+---| '"threaderror"'
---
---Joystick connected
---
----@field joystickadded integer
+---| '"joystickadded"'
---
---Joystick disconnected
---
----@field joystickremoved integer
+---| '"joystickremoved"'
---
---Joystick axis motion
---
----@field joystickaxis integer
+---| '"joystickaxis"'
---
---Joystick hat pressed
---
----@field joystickhat integer
+---| '"joystickhat"'
---
---Joystick's virtual gamepad button pressed
---
----@field gamepadpressed integer
+---| '"gamepadpressed"'
---
---Joystick's virtual gamepad button released
---
----@field gamepadreleased integer
+---| '"gamepadreleased"'
---
---Joystick's virtual gamepad axis moved
---
----@field gamepadaxis integer
+---| '"gamepadaxis"'
---
---User entered text
---
----@field textinput integer
+---| '"textinput"'
---
---Mouse position changed
---
----@field mousemoved integer
+---| '"mousemoved"'
---
---Running out of memory on mobile devices system
---
----@field lowmemory integer
+---| '"lowmemory"'
---
---Candidate text for an IME changed
---
----@field textedited integer
+---| '"textedited"'
---
---Mouse wheel moved
---
----@field wheelmoved integer
+---| '"wheelmoved"'
---
---Touch screen touched
---
----@field touchpressed integer
+---| '"touchpressed"'
---
---Touch screen stop touching
---
----@field touchreleased integer
+---| '"touchreleased"'
---
---Touch press moved inside touch screen
---
----@field touchmoved integer
+---| '"touchmoved"'
---
---Directory is dragged and dropped onto the window
---
----@field directorydropped integer
+---| '"directorydropped"'
---
---File is dragged and dropped onto the window.
---
----@field filedropped integer
+---| '"filedropped"'
---
---Joystick pressed
---
----@field jp integer
+---| '"jp"'
---
---Joystick released
---
----@field jr integer
+---| '"jr"'
---
---Key pressed
---
----@field kp integer
+---| '"kp"'
---
---Key released
---
----@field kr integer
+---| '"kr"'
---
---Mouse pressed
---
----@field mp integer
+---| '"mp"'
---
---Mouse released
---
----@field mr integer
+---| '"mr"'
---
---Quit
---
----@field q integer
+---| '"q"'
---
---Window focus gained or lost
---
----@field f integer
+---| '"f"'
diff --git a/meta/3rd/love2d/library/love.filesystem.lua b/meta/3rd/love2d/library/love.filesystem.lua
index 9f2d9ce8..5865b6bc 100644
--- a/meta/3rd/love2d/library/love.filesystem.lua
+++ b/meta/3rd/love2d/library/love.filesystem.lua
@@ -414,71 +414,71 @@ function FileData:getFilename() end
---
---Buffer modes for File objects.
---
----@class love.BufferMode
+---@alias love.BufferMode
---
---No buffering. The result of write and append operations appears immediately.
---
----@field none integer
+---| '"none"'
---
---Line buffering. Write and append operations are buffered until a newline is output or the buffer size limit is reached.
---
----@field line integer
+---| '"line"'
---
---Full buffering. Write and append operations are always buffered until the buffer size limit is reached.
---
----@field full integer
+---| '"full"'
---
---How to decode a given FileData.
---
----@class love.FileDecoder
+---@alias love.FileDecoder
---
---The data is unencoded.
---
----@field file integer
+---| '"file"'
---
---The data is base64-encoded.
---
----@field base64 integer
+---| '"base64"'
---
---The different modes you can open a File in.
---
----@class love.FileMode
+---@alias love.FileMode
---
---Open a file for read.
---
----@field r integer
+---| '"r"'
---
---Open a file for write.
---
----@field w integer
+---| '"w"'
---
---Open a file for append.
---
----@field a integer
+---| '"a"'
---
---Do not open a file (represents a closed file.)
---
----@field c integer
+---| '"c"'
---
---The type of a file.
---
----@class love.FileType
+---@alias love.FileType
---
---Regular file.
---
----@field file integer
+---| '"file"'
---
---Directory.
---
----@field directory integer
+---| '"directory"'
---
---Symbolic link.
---
----@field symlink integer
+---| '"symlink"'
---
---Something completely different like a device.
---
----@field other integer
+---| '"other"'
diff --git a/meta/3rd/love2d/library/love.font.lua b/meta/3rd/love2d/library/love.font.lua
index 27f49d0e..f2eaf2a3 100644
--- a/meta/3rd/love2d/library/love.font.lua
+++ b/meta/3rd/love2d/library/love.font.lua
@@ -183,20 +183,20 @@ function Rasterizer:hasGlyphs(glyph1, glyph2) end
---
---True Type hinting mode.
---
----@class love.HintingMode
+---@alias love.HintingMode
---
---Default hinting. Should be preferred for typical antialiased fonts.
---
----@field normal integer
+---| '"normal"'
---
---Results in fuzzier text but can sometimes preserve the original glyph shapes of the text better than normal hinting.
---
----@field light integer
+---| '"light"'
---
---Results in aliased / unsmoothed text with either full opacity or completely transparent pixels. Should be used when antialiasing is not desired for the font.
---
----@field mono integer
+---| '"mono"'
---
---Disables hinting for the font. Results in fuzzier text.
---
----@field none integer
+---| '"none"'
diff --git a/meta/3rd/love2d/library/love.graphics.lua b/meta/3rd/love2d/library/love.graphics.lua
index 1a168421..72ef027a 100644
--- a/meta/3rd/love2d/library/love.graphics.lua
+++ b/meta/3rd/love2d/library/love.graphics.lua
@@ -2499,519 +2499,519 @@ function Video:tell() end
---
---Text alignment.
---
----@class love.AlignMode
+---@alias love.AlignMode
---
---Align text center.
---
----@field center integer
+---| '"center"'
---
---Align text left.
---
----@field left integer
+---| '"left"'
---
---Align text right.
---
----@field right integer
+---| '"right"'
---
---Align text both left and right.
---
----@field justify integer
+---| '"justify"'
---
---Different types of arcs that can be drawn.
---
----@class love.ArcType
+---@alias love.ArcType
---
---The arc is drawn like a slice of pie, with the arc circle connected to the center at its end-points.
---
----@field pie integer
+---| '"pie"'
---
---The arc circle's two end-points are unconnected when the arc is drawn as a line. Behaves like the "closed" arc type when the arc is drawn in filled mode.
---
----@field open integer
+---| '"open"'
---
---The arc circle's two end-points are connected to each other.
---
----@field closed integer
+---| '"closed"'
---
---Types of particle area spread distribution.
---
----@class love.AreaSpreadDistribution
+---@alias love.AreaSpreadDistribution
---
---Uniform distribution.
---
----@field uniform integer
+---| '"uniform"'
---
---Normal (gaussian) distribution.
---
----@field normal integer
+---| '"normal"'
---
---Uniform distribution in an ellipse.
---
----@field ellipse integer
+---| '"ellipse"'
---
---Distribution in an ellipse with particles spawning at the edges of the ellipse.
---
----@field borderellipse integer
+---| '"borderellipse"'
---
---Distribution in a rectangle with particles spawning at the edges of the rectangle.
---
----@field borderrectangle integer
+---| '"borderrectangle"'
---
---No distribution - area spread is disabled.
---
----@field none integer
+---| '"none"'
---
---Different ways alpha affects color blending. See BlendMode and the BlendMode Formulas for additional notes.
---
----@class love.BlendAlphaMode
+---@alias love.BlendAlphaMode
---
---The RGB values of what's drawn are multiplied by the alpha values of those colors during blending. This is the default alpha mode.
---
----@field alphamultiply integer
+---| '"alphamultiply"'
---
---The RGB values of what's drawn are '''not''' multiplied by the alpha values of those colors during blending. For most blend modes to work correctly with this alpha mode, the colors of a drawn object need to have had their RGB values multiplied by their alpha values at some point previously ("premultiplied alpha").
---
----@field premultiplied integer
+---| '"premultiplied"'
---
---Different ways to do color blending. See BlendAlphaMode and the BlendMode Formulas for additional notes.
---
----@class love.BlendMode
+---@alias love.BlendMode
---
---Alpha blending (normal). The alpha of what's drawn determines its opacity.
---
----@field alpha integer
+---| '"alpha"'
---
---The colors of what's drawn completely replace what was on the screen, with no additional blending. The BlendAlphaMode specified in love.graphics.setBlendMode still affects what happens.
---
----@field replace integer
+---| '"replace"'
---
---'Screen' blending.
---
----@field screen integer
+---| '"screen"'
---
---The pixel colors of what's drawn are added to the pixel colors already on the screen. The alpha of the screen is not modified.
---
----@field add integer
+---| '"add"'
---
---The pixel colors of what's drawn are subtracted from the pixel colors already on the screen. The alpha of the screen is not modified.
---
----@field subtract integer
+---| '"subtract"'
---
---The pixel colors of what's drawn are multiplied with the pixel colors already on the screen (darkening them). The alpha of drawn objects is multiplied with the alpha of the screen rather than determining how much the colors on the screen are affected, even when the "alphamultiply" BlendAlphaMode is used.
---
----@field multiply integer
+---| '"multiply"'
---
---The pixel colors of what's drawn are compared to the existing pixel colors, and the larger of the two values for each color component is used. Only works when the "premultiplied" BlendAlphaMode is used in love.graphics.setBlendMode.
---
----@field lighten integer
+---| '"lighten"'
---
---The pixel colors of what's drawn are compared to the existing pixel colors, and the smaller of the two values for each color component is used. Only works when the "premultiplied" BlendAlphaMode is used in love.graphics.setBlendMode.
---
----@field darken integer
+---| '"darken"'
---
---Additive blend mode.
---
----@field additive integer
+---| '"additive"'
---
---Subtractive blend mode.
---
----@field subtractive integer
+---| '"subtractive"'
---
---Multiply blend mode.
---
----@field multiplicative integer
+---| '"multiplicative"'
---
---Premultiplied alpha blend mode.
---
----@field premultiplied integer
+---| '"premultiplied"'
---
---Different types of per-pixel stencil test and depth test comparisons. The pixels of an object will be drawn if the comparison succeeds, for each pixel that the object touches.
---
----@class love.CompareMode
+---@alias love.CompareMode
---
---* stencil tests: the stencil value of the pixel must be equal to the supplied value.
---* depth tests: the depth value of the drawn object at that pixel must be equal to the existing depth value of that pixel.
---
----@field equal integer
+---| '"equal"'
---
---* stencil tests: the stencil value of the pixel must not be equal to the supplied value.
---* depth tests: the depth value of the drawn object at that pixel must not be equal to the existing depth value of that pixel.
---
----@field notequal integer
+---| '"notequal"'
---
---* stencil tests: the stencil value of the pixel must be less than the supplied value.
---* depth tests: the depth value of the drawn object at that pixel must be less than the existing depth value of that pixel.
---
----@field less integer
+---| '"less"'
---
---* stencil tests: the stencil value of the pixel must be less than or equal to the supplied value.
---* depth tests: the depth value of the drawn object at that pixel must be less than or equal to the existing depth value of that pixel.
---
----@field lequal integer
+---| '"lequal"'
---
---* stencil tests: the stencil value of the pixel must be greater than or equal to the supplied value.
---* depth tests: the depth value of the drawn object at that pixel must be greater than or equal to the existing depth value of that pixel.
---
----@field gequal integer
+---| '"gequal"'
---
---* stencil tests: the stencil value of the pixel must be greater than the supplied value.
---* depth tests: the depth value of the drawn object at that pixel must be greater than the existing depth value of that pixel.
---
----@field greater integer
+---| '"greater"'
---
---Objects will never be drawn.
---
----@field never integer
+---| '"never"'
---
---Objects will always be drawn. Effectively disables the depth or stencil test.
---
----@field always integer
+---| '"always"'
---
---How Mesh geometry is culled when rendering.
---
----@class love.CullMode
+---@alias love.CullMode
---
---Back-facing triangles in Meshes are culled (not rendered). The vertex order of a triangle determines whether it is back- or front-facing.
---
----@field back integer
+---| '"back"'
---
---Front-facing triangles in Meshes are culled.
---
----@field front integer
+---| '"front"'
---
---Both back- and front-facing triangles in Meshes are rendered.
---
----@field none integer
+---| '"none"'
---
---Controls whether shapes are drawn as an outline, or filled.
---
----@class love.DrawMode
+---@alias love.DrawMode
---
---Draw filled shape.
---
----@field fill integer
+---| '"fill"'
---
---Draw outlined shape.
---
----@field line integer
+---| '"line"'
---
---How the image is filtered when scaling.
---
----@class love.FilterMode
+---@alias love.FilterMode
---
---Scale image with linear interpolation.
---
----@field linear integer
+---| '"linear"'
---
---Scale image with nearest neighbor interpolation.
---
----@field nearest integer
+---| '"nearest"'
---
---Graphics features that can be checked for with love.graphics.getSupported.
---
----@class love.GraphicsFeature
+---@alias love.GraphicsFeature
---
---Whether the "clampzero" WrapMode is supported.
---
----@field clampzero integer
+---| '"clampzero"'
---
---Whether the "lighten" and "darken" BlendModes are supported.
---
----@field lighten integer
+---| '"lighten"'
---
---Whether multiple formats can be used in the same love.graphics.setCanvas call.
---
----@field multicanvasformats integer
+---| '"multicanvasformats"'
---
---Whether GLSL 3 Shaders can be used.
---
----@field glsl3 integer
+---| '"glsl3"'
---
---Whether mesh instancing is supported.
---
----@field instancing integer
+---| '"instancing"'
---
---Whether textures with non-power-of-two dimensions can use mipmapping and the 'repeat' WrapMode.
---
----@field fullnpot integer
+---| '"fullnpot"'
---
---Whether pixel shaders can use "highp" 32 bit floating point numbers (as opposed to just 16 bit or lower precision).
---
----@field pixelshaderhighp integer
+---| '"pixelshaderhighp"'
---
---Whether shaders can use the dFdx, dFdy, and fwidth functions for computing derivatives.
---
----@field shaderderivatives integer
+---| '"shaderderivatives"'
---
---Types of system-dependent graphics limits checked for using love.graphics.getSystemLimits.
---
----@class love.GraphicsLimit
+---@alias love.GraphicsLimit
---
---The maximum size of points.
---
----@field pointsize integer
+---| '"pointsize"'
---
---The maximum width or height of Images and Canvases.
---
----@field texturesize integer
+---| '"texturesize"'
---
---The maximum number of simultaneously active canvases (via love.graphics.setCanvas.)
---
----@field multicanvas integer
+---| '"multicanvas"'
---
---The maximum number of antialiasing samples for a Canvas.
---
----@field canvasmsaa integer
+---| '"canvasmsaa"'
---
---The maximum number of layers in an Array texture.
---
----@field texturelayers integer
+---| '"texturelayers"'
---
---The maximum width, height, or depth of a Volume texture.
---
----@field volumetexturesize integer
+---| '"volumetexturesize"'
---
---The maximum width or height of a Cubemap texture.
---
----@field cubetexturesize integer
+---| '"cubetexturesize"'
---
---The maximum amount of anisotropic filtering. Texture:setMipmapFilter internally clamps the given anisotropy value to the system's limit.
---
----@field anisotropy integer
+---| '"anisotropy"'
---
---Vertex map datatype for Data variant of Mesh:setVertexMap.
---
----@class love.IndexDataType
+---@alias love.IndexDataType
---
---The vertex map is array of unsigned word (16-bit).
---
----@field uint16 integer
+---| '"uint16"'
---
---The vertex map is array of unsigned dword (32-bit).
---
----@field uint32 integer
+---| '"uint32"'
---
---Line join style.
---
----@class love.LineJoin
+---@alias love.LineJoin
---
---The ends of the line segments beveled in an angle so that they join seamlessly.
---
----@field miter integer
+---| '"miter"'
---
---No cap applied to the ends of the line segments.
---
----@field none integer
+---| '"none"'
---
---Flattens the point where line segments join together.
---
----@field bevel integer
+---| '"bevel"'
---
---The styles in which lines are drawn.
---
----@class love.LineStyle
+---@alias love.LineStyle
---
---Draw rough lines.
---
----@field rough integer
+---| '"rough"'
---
---Draw smooth lines.
---
----@field smooth integer
+---| '"smooth"'
---
---How a Mesh's vertices are used when drawing.
---
----@class love.MeshDrawMode
+---@alias love.MeshDrawMode
---
---The vertices create a "fan" shape with the first vertex acting as the hub point. Can be easily used to draw simple convex polygons.
---
----@field fan integer
+---| '"fan"'
---
---The vertices create a series of connected triangles using vertices 1, 2, 3, then 3, 2, 4 (note the order), then 3, 4, 5, and so on.
---
----@field strip integer
+---| '"strip"'
---
---The vertices create unconnected triangles.
---
----@field triangles integer
+---| '"triangles"'
---
---The vertices are drawn as unconnected points (see love.graphics.setPointSize.)
---
----@field points integer
+---| '"points"'
---
---Controls whether a Canvas has mipmaps, and its behaviour when it does.
---
----@class love.MipmapMode
+---@alias love.MipmapMode
---
---The Canvas has no mipmaps.
---
----@field none integer
+---| '"none"'
---
---The Canvas has mipmaps. love.graphics.setCanvas can be used to render to a specific mipmap level, or Canvas:generateMipmaps can (re-)compute all mipmap levels based on the base level.
---
----@field auto integer
+---| '"auto"'
---
---The Canvas has mipmaps, and all mipmap levels will automatically be recomputed when switching away from the Canvas with love.graphics.setCanvas.
---
----@field manual integer
+---| '"manual"'
---
---How newly created particles are added to the ParticleSystem.
---
----@class love.ParticleInsertMode
+---@alias love.ParticleInsertMode
---
---Particles are inserted at the top of the ParticleSystem's list of particles.
---
----@field top integer
+---| '"top"'
---
---Particles are inserted at the bottom of the ParticleSystem's list of particles.
---
----@field bottom integer
+---| '"bottom"'
---
---Particles are inserted at random positions in the ParticleSystem's list of particles.
---
----@field random integer
+---| '"random"'
---
---Usage hints for SpriteBatches and Meshes to optimize data storage and access.
---
----@class love.SpriteBatchUsage
+---@alias love.SpriteBatchUsage
---
---The object's data will change occasionally during its lifetime.
---
----@field dynamic integer
+---| '"dynamic"'
---
---The object will not be modified after initial sprites or vertices are added.
---
----@field static integer
+---| '"static"'
---
---The object data will always change between draws.
---
----@field stream integer
+---| '"stream"'
---
---Graphics state stack types used with love.graphics.push.
---
----@class love.StackType
+---@alias love.StackType
---
---The transformation stack (love.graphics.translate, love.graphics.rotate, etc.)
---
----@field transform integer
+---| '"transform"'
---
---All love.graphics state, including transform state.
---
----@field all integer
+---| '"all"'
---
---How a stencil function modifies the stencil values of pixels it touches.
---
----@class love.StencilAction
+---@alias love.StencilAction
---
---The stencil value of a pixel will be replaced by the value specified in love.graphics.stencil, if any object touches the pixel.
---
----@field replace integer
+---| '"replace"'
---
---The stencil value of a pixel will be incremented by 1 for each object that touches the pixel. If the stencil value reaches 255 it will stay at 255.
---
----@field increment integer
+---| '"increment"'
---
---The stencil value of a pixel will be decremented by 1 for each object that touches the pixel. If the stencil value reaches 0 it will stay at 0.
---
----@field decrement integer
+---| '"decrement"'
---
---The stencil value of a pixel will be incremented by 1 for each object that touches the pixel. If a stencil value of 255 is incremented it will be set to 0.
---
----@field incrementwrap integer
+---| '"incrementwrap"'
---
---The stencil value of a pixel will be decremented by 1 for each object that touches the pixel. If the stencil value of 0 is decremented it will be set to 255.
---
----@field decrementwrap integer
+---| '"decrementwrap"'
---
---The stencil value of a pixel will be bitwise-inverted for each object that touches the pixel. If a stencil value of 0 is inverted it will become 255.
---
----@field invert integer
+---| '"invert"'
---
---Types of textures (2D, cubemap, etc.)
---
----@class love.TextureType
+---@alias love.TextureType
---
---Regular 2D texture with width and height.
---
----@field ["2d"] integer
+---| '"2d"'
---
---Several same-size 2D textures organized into a single object. Similar to a texture atlas / sprite sheet, but avoids sprite bleeding and other issues.
---
----@field array integer
+---| '"array"'
---
---Cubemap texture with 6 faces. Requires a custom shader (and Shader:send) to use. Sampling from a cube texture in a shader takes a 3D direction vector instead of a texture coordinate.
---
----@field cube integer
+---| '"cube"'
---
---3D texture with width, height, and depth. Requires a custom shader to use. Volume textures can have texture filtering applied along the 3rd axis.
---
----@field volume integer
+---| '"volume"'
---
---The frequency at which a vertex shader fetches the vertex attribute's data from the Mesh when it's drawn.
---
---Per-instance attributes can be used to render a Mesh many times with different positions, colors, or other attributes via a single love.graphics.drawInstanced call, without using the love_InstanceID vertex shader variable.
---
----@class love.VertexAttributeStep
+---@alias love.VertexAttributeStep
---
---The vertex attribute will have a unique value for each vertex in the Mesh.
---
----@field pervertex integer
+---| '"pervertex"'
---
---The vertex attribute will have a unique value for each instance of the Mesh.
---
----@field perinstance integer
+---| '"perinstance"'
---
---How Mesh geometry vertices are ordered.
---
----@class love.VertexWinding
+---@alias love.VertexWinding
---
---Clockwise.
---
----@field cw integer
+---| '"cw"'
---
---Counter-clockwise.
---
----@field ccw integer
+---| '"ccw"'
---
---How the image wraps inside a Quad with a larger quad size than image size. This also affects how Meshes with texture coordinates which are outside the range of 1 are drawn, and the color returned by the Texel Shader function when using it to sample from texture coordinates outside of the range of 1.
---
----@class love.WrapMode
+---@alias love.WrapMode
---
---Clamp the texture. Appears only once. The area outside the texture's normal range is colored based on the edge pixels of the texture.
---
----@field clamp integer
+---| '"clamp"'
---
---Repeat the texture. Fills the whole available extent.
---
----@field repeat integer
+---| '"repeat"'
---
---Repeat the texture, flipping it each time it repeats. May produce better visual results than the repeat mode when the texture doesn't seamlessly tile.
---
----@field mirroredrepeat integer
+---| '"mirroredrepeat"'
---
---Clamp the texture. Fills the area outside the texture's normal range with transparent black (or opaque black for textures with no alpha channel.)
---
----@field clampzero integer
+---| '"clampzero"'
diff --git a/meta/3rd/love2d/library/love.image.lua b/meta/3rd/love2d/library/love.image.lua
index 9dc9c6e7..c95f6d7f 100644
--- a/meta/3rd/love2d/library/love.image.lua
+++ b/meta/3rd/love2d/library/love.image.lua
@@ -190,430 +190,430 @@ function ImageData:setPixel(x, y, r, g, b, a) end
---
---Unlike traditional PNG or jpeg, these formats stay compressed in RAM and in the graphics card's VRAM. This is good for saving memory space as well as improving performance, since the graphics card will be able to keep more of the image's pixels in its fast-access cache when drawing it.
---
----@class love.CompressedImageFormat
+---@alias love.CompressedImageFormat
---
---The DXT1 format. RGB data at 4 bits per pixel (compared to 32 bits for ImageData and regular Images.) Suitable for fully opaque images on desktop systems.
---
----@field DXT1 integer
+---| '"DXT1"'
---
---The DXT3 format. RGBA data at 8 bits per pixel. Smooth variations in opacity do not mix well with this format.
---
----@field DXT3 integer
+---| '"DXT3"'
---
---The DXT5 format. RGBA data at 8 bits per pixel. Recommended for images with varying opacity on desktop systems.
---
----@field DXT5 integer
+---| '"DXT5"'
---
---The BC4 format (also known as 3Dc+ or ATI1.) Stores just the red channel, at 4 bits per pixel.
---
----@field BC4 integer
+---| '"BC4"'
---
---The signed variant of the BC4 format. Same as above but pixel values in the texture are in the range of 1 instead of 1 in shaders.
---
----@field BC4s integer
+---| '"BC4s"'
---
---The BC5 format (also known as 3Dc or ATI2.) Stores red and green channels at 8 bits per pixel.
---
----@field BC5 integer
+---| '"BC5"'
---
---The signed variant of the BC5 format.
---
----@field BC5s integer
+---| '"BC5s"'
---
---The BC6H format. Stores half-precision floating-point RGB data in the range of 65504 at 8 bits per pixel. Suitable for HDR images on desktop systems.
---
----@field BC6h integer
+---| '"BC6h"'
---
---The signed variant of the BC6H format. Stores RGB data in the range of +65504.
---
----@field BC6hs integer
+---| '"BC6hs"'
---
---The BC7 format (also known as BPTC.) Stores RGB or RGBA data at 8 bits per pixel.
---
----@field BC7 integer
+---| '"BC7"'
---
---The ETC1 format. RGB data at 4 bits per pixel. Suitable for fully opaque images on older Android devices.
---
----@field ETC1 integer
+---| '"ETC1"'
---
---The RGB variant of the ETC2 format. RGB data at 4 bits per pixel. Suitable for fully opaque images on newer mobile devices.
---
----@field ETC2rgb integer
+---| '"ETC2rgb"'
---
---The RGBA variant of the ETC2 format. RGBA data at 8 bits per pixel. Recommended for images with varying opacity on newer mobile devices.
---
----@field ETC2rgba integer
+---| '"ETC2rgba"'
---
---The RGBA variant of the ETC2 format where pixels are either fully transparent or fully opaque. RGBA data at 4 bits per pixel.
---
----@field ETC2rgba1 integer
+---| '"ETC2rgba1"'
---
---The single-channel variant of the EAC format. Stores just the red channel, at 4 bits per pixel.
---
----@field EACr integer
+---| '"EACr"'
---
---The signed single-channel variant of the EAC format. Same as above but pixel values in the texture are in the range of 1 instead of 1 in shaders.
---
----@field EACrs integer
+---| '"EACrs"'
---
---The two-channel variant of the EAC format. Stores red and green channels at 8 bits per pixel.
---
----@field EACrg integer
+---| '"EACrg"'
---
---The signed two-channel variant of the EAC format.
---
----@field EACrgs integer
+---| '"EACrgs"'
---
---The 2 bit per pixel RGB variant of the PVRTC1 format. Stores RGB data at 2 bits per pixel. Textures compressed with PVRTC1 formats must be square and power-of-two sized.
---
----@field PVR1rgb2 integer
+---| '"PVR1rgb2"'
---
---The 4 bit per pixel RGB variant of the PVRTC1 format. Stores RGB data at 4 bits per pixel.
---
----@field PVR1rgb4 integer
+---| '"PVR1rgb4"'
---
---The 2 bit per pixel RGBA variant of the PVRTC1 format.
---
----@field PVR1rgba2 integer
+---| '"PVR1rgba2"'
---
---The 4 bit per pixel RGBA variant of the PVRTC1 format.
---
----@field PVR1rgba4 integer
+---| '"PVR1rgba4"'
---
---The 4x4 pixels per block variant of the ASTC format. RGBA data at 8 bits per pixel.
---
----@field ASTC4x4 integer
+---| '"ASTC4x4"'
---
---The 5x4 pixels per block variant of the ASTC format. RGBA data at 6.4 bits per pixel.
---
----@field ASTC5x4 integer
+---| '"ASTC5x4"'
---
---The 5x5 pixels per block variant of the ASTC format. RGBA data at 5.12 bits per pixel.
---
----@field ASTC5x5 integer
+---| '"ASTC5x5"'
---
---The 6x5 pixels per block variant of the ASTC format. RGBA data at 4.27 bits per pixel.
---
----@field ASTC6x5 integer
+---| '"ASTC6x5"'
---
---The 6x6 pixels per block variant of the ASTC format. RGBA data at 3.56 bits per pixel.
---
----@field ASTC6x6 integer
+---| '"ASTC6x6"'
---
---The 8x5 pixels per block variant of the ASTC format. RGBA data at 3.2 bits per pixel.
---
----@field ASTC8x5 integer
+---| '"ASTC8x5"'
---
---The 8x6 pixels per block variant of the ASTC format. RGBA data at 2.67 bits per pixel.
---
----@field ASTC8x6 integer
+---| '"ASTC8x6"'
---
---The 8x8 pixels per block variant of the ASTC format. RGBA data at 2 bits per pixel.
---
----@field ASTC8x8 integer
+---| '"ASTC8x8"'
---
---The 10x5 pixels per block variant of the ASTC format. RGBA data at 2.56 bits per pixel.
---
----@field ASTC10x5 integer
+---| '"ASTC10x5"'
---
---The 10x6 pixels per block variant of the ASTC format. RGBA data at 2.13 bits per pixel.
---
----@field ASTC10x6 integer
+---| '"ASTC10x6"'
---
---The 10x8 pixels per block variant of the ASTC format. RGBA data at 1.6 bits per pixel.
---
----@field ASTC10x8 integer
+---| '"ASTC10x8"'
---
---The 10x10 pixels per block variant of the ASTC format. RGBA data at 1.28 bits per pixel.
---
----@field ASTC10x10 integer
+---| '"ASTC10x10"'
---
---The 12x10 pixels per block variant of the ASTC format. RGBA data at 1.07 bits per pixel.
---
----@field ASTC12x10 integer
+---| '"ASTC12x10"'
---
---The 12x12 pixels per block variant of the ASTC format. RGBA data at 0.89 bits per pixel.
---
----@field ASTC12x12 integer
+---| '"ASTC12x12"'
---
---Encoded image formats.
---
----@class love.ImageFormat
+---@alias love.ImageFormat
---
---Targa image format.
---
----@field tga integer
+---| '"tga"'
---
---PNG image format.
---
----@field png integer
+---| '"png"'
---
---JPG image format.
---
----@field jpg integer
+---| '"jpg"'
---
---BMP image format.
---
----@field bmp integer
+---| '"bmp"'
---
---Pixel formats for Textures, ImageData, and CompressedImageData.
---
----@class love.PixelFormat
+---@alias love.PixelFormat
---
---Indicates unknown pixel format, used internally.
---
----@field unknown integer
+---| '"unknown"'
---
---Alias for rgba8, or srgba8 if gamma-correct rendering is enabled.
---
----@field normal integer
+---| '"normal"'
---
---A format suitable for high dynamic range content - an alias for the rgba16f format, normally.
---
----@field hdr integer
+---| '"hdr"'
---
---Single-channel (red component) format (8 bpp).
---
----@field r8 integer
+---| '"r8"'
---
---Two channels (red and green components) with 8 bits per channel (16 bpp).
---
----@field rg8 integer
+---| '"rg8"'
---
---8 bits per channel (32 bpp) RGBA. Color channel values range from 0-255 (0-1 in shaders).
---
----@field rgba8 integer
+---| '"rgba8"'
---
---gamma-correct version of rgba8.
---
----@field srgba8 integer
+---| '"srgba8"'
---
---Single-channel (red component) format (16 bpp).
---
----@field r16 integer
+---| '"r16"'
---
---Two channels (red and green components) with 16 bits per channel (32 bpp).
---
----@field rg16 integer
+---| '"rg16"'
---
---16 bits per channel (64 bpp) RGBA. Color channel values range from 0-65535 (0-1 in shaders).
---
----@field rgba16 integer
+---| '"rgba16"'
---
---Floating point single-channel format (16 bpp). Color values can range from [-65504, +65504].
---
----@field r16f integer
+---| '"r16f"'
---
---Floating point two-channel format with 16 bits per channel (32 bpp). Color values can range from [-65504, +65504].
---
----@field rg16f integer
+---| '"rg16f"'
---
---Floating point RGBA with 16 bits per channel (64 bpp). Color values can range from [-65504, +65504].
---
----@field rgba16f integer
+---| '"rgba16f"'
---
---Floating point single-channel format (32 bpp).
---
----@field r32f integer
+---| '"r32f"'
---
---Floating point two-channel format with 32 bits per channel (64 bpp).
---
----@field rg32f integer
+---| '"rg32f"'
---
---Floating point RGBA with 32 bits per channel (128 bpp).
---
----@field rgba32f integer
+---| '"rgba32f"'
---
---Same as rg8, but accessed as (L, L, L, A)
---
----@field la8 integer
+---| '"la8"'
---
---4 bits per channel (16 bpp) RGBA.
---
----@field rgba4 integer
+---| '"rgba4"'
---
---RGB with 5 bits each, and a 1-bit alpha channel (16 bpp).
---
----@field rgb5a1 integer
+---| '"rgb5a1"'
---
---RGB with 5, 6, and 5 bits each, respectively (16 bpp). There is no alpha channel in this format.
---
----@field rgb565 integer
+---| '"rgb565"'
---
---RGB with 10 bits per channel, and a 2-bit alpha channel (32 bpp).
---
----@field rgb10a2 integer
+---| '"rgb10a2"'
---
---Floating point RGB with 11 bits in the red and green channels, and 10 bits in the blue channel (32 bpp). There is no alpha channel. Color values can range from [0, +65024].
---
----@field rg11b10f integer
+---| '"rg11b10f"'
---
---No depth buffer and 8-bit stencil buffer.
---
----@field stencil8 integer
+---| '"stencil8"'
---
---16-bit depth buffer and no stencil buffer.
---
----@field depth16 integer
+---| '"depth16"'
---
---24-bit depth buffer and no stencil buffer.
---
----@field depth24 integer
+---| '"depth24"'
---
---32-bit float depth buffer and no stencil buffer.
---
----@field depth32f integer
+---| '"depth32f"'
---
---24-bit depth buffer and 8-bit stencil buffer.
---
----@field depth24stencil8 integer
+---| '"depth24stencil8"'
---
---32-bit float depth buffer and 8-bit stencil buffer.
---
----@field depth32fstencil8 integer
+---| '"depth32fstencil8"'
---
---The DXT1 format. RGB data at 4 bits per pixel (compared to 32 bits for ImageData and regular Images.) Suitable for fully opaque images on desktop systems.
---
----@field DXT1 integer
+---| '"DXT1"'
---
---The DXT3 format. RGBA data at 8 bits per pixel. Smooth variations in opacity do not mix well with this format.
---
----@field DXT3 integer
+---| '"DXT3"'
---
---The DXT5 format. RGBA data at 8 bits per pixel. Recommended for images with varying opacity on desktop systems.
---
----@field DXT5 integer
+---| '"DXT5"'
---
---The BC4 format (also known as 3Dc+ or ATI1.) Stores just the red channel, at 4 bits per pixel.
---
----@field BC4 integer
+---| '"BC4"'
---
---The signed variant of the BC4 format. Same as above but pixel values in the texture are in the range of 1 instead of 1 in shaders.
---
----@field BC4s integer
+---| '"BC4s"'
---
---The BC5 format (also known as 3Dc or ATI2.) Stores red and green channels at 8 bits per pixel.
---
----@field BC5 integer
+---| '"BC5"'
---
---The signed variant of the BC5 format.
---
----@field BC5s integer
+---| '"BC5s"'
---
---The BC6H format. Stores half-precision floating-point RGB data in the range of 65504 at 8 bits per pixel. Suitable for HDR images on desktop systems.
---
----@field BC6h integer
+---| '"BC6h"'
---
---The signed variant of the BC6H format. Stores RGB data in the range of +65504.
---
----@field BC6hs integer
+---| '"BC6hs"'
---
---The BC7 format (also known as BPTC.) Stores RGB or RGBA data at 8 bits per pixel.
---
----@field BC7 integer
+---| '"BC7"'
---
---The ETC1 format. RGB data at 4 bits per pixel. Suitable for fully opaque images on older Android devices.
---
----@field ETC1 integer
+---| '"ETC1"'
---
---The RGB variant of the ETC2 format. RGB data at 4 bits per pixel. Suitable for fully opaque images on newer mobile devices.
---
----@field ETC2rgb integer
+---| '"ETC2rgb"'
---
---The RGBA variant of the ETC2 format. RGBA data at 8 bits per pixel. Recommended for images with varying opacity on newer mobile devices.
---
----@field ETC2rgba integer
+---| '"ETC2rgba"'
---
---The RGBA variant of the ETC2 format where pixels are either fully transparent or fully opaque. RGBA data at 4 bits per pixel.
---
----@field ETC2rgba1 integer
+---| '"ETC2rgba1"'
---
---The single-channel variant of the EAC format. Stores just the red channel, at 4 bits per pixel.
---
----@field EACr integer
+---| '"EACr"'
---
---The signed single-channel variant of the EAC format. Same as above but pixel values in the texture are in the range of 1 instead of 1 in shaders.
---
----@field EACrs integer
+---| '"EACrs"'
---
---The two-channel variant of the EAC format. Stores red and green channels at 8 bits per pixel.
---
----@field EACrg integer
+---| '"EACrg"'
---
---The signed two-channel variant of the EAC format.
---
----@field EACrgs integer
+---| '"EACrgs"'
---
---The 2 bit per pixel RGB variant of the PVRTC1 format. Stores RGB data at 2 bits per pixel. Textures compressed with PVRTC1 formats must be square and power-of-two sized.
---
----@field PVR1rgb2 integer
+---| '"PVR1rgb2"'
---
---The 4 bit per pixel RGB variant of the PVRTC1 format. Stores RGB data at 4 bits per pixel.
---
----@field PVR1rgb4 integer
+---| '"PVR1rgb4"'
---
---The 2 bit per pixel RGBA variant of the PVRTC1 format.
---
----@field PVR1rgba2 integer
+---| '"PVR1rgba2"'
---
---The 4 bit per pixel RGBA variant of the PVRTC1 format.
---
----@field PVR1rgba4 integer
+---| '"PVR1rgba4"'
---
---The 4x4 pixels per block variant of the ASTC format. RGBA data at 8 bits per pixel.
---
----@field ASTC4x4 integer
+---| '"ASTC4x4"'
---
---The 5x4 pixels per block variant of the ASTC format. RGBA data at 6.4 bits per pixel.
---
----@field ASTC5x4 integer
+---| '"ASTC5x4"'
---
---The 5x5 pixels per block variant of the ASTC format. RGBA data at 5.12 bits per pixel.
---
----@field ASTC5x5 integer
+---| '"ASTC5x5"'
---
---The 6x5 pixels per block variant of the ASTC format. RGBA data at 4.27 bits per pixel.
---
----@field ASTC6x5 integer
+---| '"ASTC6x5"'
---
---The 6x6 pixels per block variant of the ASTC format. RGBA data at 3.56 bits per pixel.
---
----@field ASTC6x6 integer
+---| '"ASTC6x6"'
---
---The 8x5 pixels per block variant of the ASTC format. RGBA data at 3.2 bits per pixel.
---
----@field ASTC8x5 integer
+---| '"ASTC8x5"'
---
---The 8x6 pixels per block variant of the ASTC format. RGBA data at 2.67 bits per pixel.
---
----@field ASTC8x6 integer
+---| '"ASTC8x6"'
---
---The 8x8 pixels per block variant of the ASTC format. RGBA data at 2 bits per pixel.
---
----@field ASTC8x8 integer
+---| '"ASTC8x8"'
---
---The 10x5 pixels per block variant of the ASTC format. RGBA data at 2.56 bits per pixel.
---
----@field ASTC10x5 integer
+---| '"ASTC10x5"'
---
---The 10x6 pixels per block variant of the ASTC format. RGBA data at 2.13 bits per pixel.
---
----@field ASTC10x6 integer
+---| '"ASTC10x6"'
---
---The 10x8 pixels per block variant of the ASTC format. RGBA data at 1.6 bits per pixel.
---
----@field ASTC10x8 integer
+---| '"ASTC10x8"'
---
---The 10x10 pixels per block variant of the ASTC format. RGBA data at 1.28 bits per pixel.
---
----@field ASTC10x10 integer
+---| '"ASTC10x10"'
---
---The 12x10 pixels per block variant of the ASTC format. RGBA data at 1.07 bits per pixel.
---
----@field ASTC12x10 integer
+---| '"ASTC12x10"'
---
---The 12x12 pixels per block variant of the ASTC format. RGBA data at 0.89 bits per pixel.
---
----@field ASTC12x12 integer
+---| '"ASTC12x12"'
diff --git a/meta/3rd/love2d/library/love.joystick.lua b/meta/3rd/love2d/library/love.joystick.lua
index 65cfdc6b..df3ea208 100644
--- a/meta/3rd/love2d/library/love.joystick.lua
+++ b/meta/3rd/love2d/library/love.joystick.lua
@@ -218,151 +218,151 @@ function Joystick:setVibration(left, right) end
---
---Virtual gamepad axes.
---
----@class love.GamepadAxis
+---@alias love.GamepadAxis
---
---The x-axis of the left thumbstick.
---
----@field leftx integer
+---| '"leftx"'
---
---The y-axis of the left thumbstick.
---
----@field lefty integer
+---| '"lefty"'
---
---The x-axis of the right thumbstick.
---
----@field rightx integer
+---| '"rightx"'
---
---The y-axis of the right thumbstick.
---
----@field righty integer
+---| '"righty"'
---
---Left analog trigger.
---
----@field triggerleft integer
+---| '"triggerleft"'
---
---Right analog trigger.
---
----@field triggerright integer
+---| '"triggerright"'
---
---Virtual gamepad buttons.
---
----@class love.GamepadButton
+---@alias love.GamepadButton
---
---Bottom face button (A).
---
----@field a integer
+---| '"a"'
---
---Right face button (B).
---
----@field b integer
+---| '"b"'
---
---Left face button (X).
---
----@field x integer
+---| '"x"'
---
---Top face button (Y).
---
----@field y integer
+---| '"y"'
---
---Back button.
---
----@field back integer
+---| '"back"'
---
---Guide button.
---
----@field guide integer
+---| '"guide"'
---
---Start button.
---
----@field start integer
+---| '"start"'
---
---Left stick click button.
---
----@field leftstick integer
+---| '"leftstick"'
---
---Right stick click button.
---
----@field rightstick integer
+---| '"rightstick"'
---
---Left bumper.
---
----@field leftshoulder integer
+---| '"leftshoulder"'
---
---Right bumper.
---
----@field rightshoulder integer
+---| '"rightshoulder"'
---
---D-pad up.
---
----@field dpup integer
+---| '"dpup"'
---
---D-pad down.
---
----@field dpdown integer
+---| '"dpdown"'
---
---D-pad left.
---
----@field dpleft integer
+---| '"dpleft"'
---
---D-pad right.
---
----@field dpright integer
+---| '"dpright"'
---
---Joystick hat positions.
---
----@class love.JoystickHat
+---@alias love.JoystickHat
---
---Centered
---
----@field c integer
+---| '"c"'
---
---Down
---
----@field d integer
+---| '"d"'
---
---Left
---
----@field l integer
+---| '"l"'
---
---Left+Down
---
----@field ld integer
+---| '"ld"'
---
---Left+Up
---
----@field lu integer
+---| '"lu"'
---
---Right
---
----@field r integer
+---| '"r"'
---
---Right+Down
---
----@field rd integer
+---| '"rd"'
---
---Right+Up
---
----@field ru integer
+---| '"ru"'
---
---Up
---
----@field u integer
+---| '"u"'
---
---Types of Joystick inputs.
---
----@class love.JoystickInputType
+---@alias love.JoystickInputType
---
---Analog axis.
---
----@field axis integer
+---| '"axis"'
---
---Button.
---
----@field button integer
+---| '"button"'
---
---8-direction hat value.
---
----@field hat integer
+---| '"hat"'
diff --git a/meta/3rd/love2d/library/love.keyboard.lua b/meta/3rd/love2d/library/love.keyboard.lua
index 66ab4e65..1f1a2ef5 100644
--- a/meta/3rd/love2d/library/love.keyboard.lua
+++ b/meta/3rd/love2d/library/love.keyboard.lua
@@ -81,583 +81,583 @@ function love.keyboard.setTextInput(enable) end
---
---All the keys you can press. Note that some keys may not be available on your keyboard or system.
---
----@class love.KeyConstant
+---@alias love.KeyConstant
---
---The A key
---
----@field a integer
+---| '"a"'
---
---The B key
---
----@field b integer
+---| '"b"'
---
---The C key
---
----@field c integer
+---| '"c"'
---
---The D key
---
----@field d integer
+---| '"d"'
---
---The E key
---
----@field e integer
+---| '"e"'
---
---The F key
---
----@field f integer
+---| '"f"'
---
---The G key
---
----@field g integer
+---| '"g"'
---
---The H key
---
----@field h integer
+---| '"h"'
---
---The I key
---
----@field i integer
+---| '"i"'
---
---The J key
---
----@field j integer
+---| '"j"'
---
---The K key
---
----@field k integer
+---| '"k"'
---
---The L key
---
----@field l integer
+---| '"l"'
---
---The M key
---
----@field m integer
+---| '"m"'
---
---The N key
---
----@field n integer
+---| '"n"'
---
---The O key
---
----@field o integer
+---| '"o"'
---
---The P key
---
----@field p integer
+---| '"p"'
---
---The Q key
---
----@field q integer
+---| '"q"'
---
---The R key
---
----@field r integer
+---| '"r"'
---
---The S key
---
----@field s integer
+---| '"s"'
---
---The T key
---
----@field t integer
+---| '"t"'
---
---The U key
---
----@field u integer
+---| '"u"'
---
---The V key
---
----@field v integer
+---| '"v"'
---
---The W key
---
----@field w integer
+---| '"w"'
---
---The X key
---
----@field x integer
+---| '"x"'
---
---The Y key
---
----@field y integer
+---| '"y"'
---
---The Z key
---
----@field z integer
+---| '"z"'
---
---The zero key
---
----@field ["0"] integer
+---| '"0"'
---
---The one key
---
----@field ["1"] integer
+---| '"1"'
---
---The two key
---
----@field ["2"] integer
+---| '"2"'
---
---The three key
---
----@field ["3"] integer
+---| '"3"'
---
---The four key
---
----@field ["4"] integer
+---| '"4"'
---
---The five key
---
----@field ["5"] integer
+---| '"5"'
---
---The six key
---
----@field ["6"] integer
+---| '"6"'
---
---The seven key
---
----@field ["7"] integer
+---| '"7"'
---
---The eight key
---
----@field ["8"] integer
+---| '"8"'
---
---The nine key
---
----@field ["9"] integer
+---| '"9"'
---
---Space key
---
----@field space integer
+---| '"space"'
---
---Exclamation mark key
---
----@field ["!"] integer
+---| '"!"'
---
---Double quote key
---
----@field ["\""] integer
+---| '"\""'
---
---Hash key
---
----@field ["#"] integer
+---| '"#"'
---
---Dollar key
---
----@field ["$"] integer
+---| '"$"'
---
---Ampersand key
---
----@field ["&"] integer
+---| '"&"'
---
---Single quote key
---
----@field ["'"] integer
+---| '"\'"'
---
---Left parenthesis key
---
----@field ["("] integer
+---| '"("'
---
---Right parenthesis key
---
----@field [")"] integer
+---| '")"'
---
---Asterisk key
---
----@field ["*"] integer
+---| '"*"'
---
---Plus key
---
----@field ["+"] integer
+---| '"+"'
---
---Comma key
---
----@field [","] integer
+---| '","'
---
---Hyphen-minus key
---
----@field ["-"] integer
+---| '"-"'
---
---Full stop key
---
----@field ["."] integer
+---| '"."'
---
---Slash key
---
----@field ["/"] integer
+---| '"/"'
---
---Colon key
---
----@field [":"] integer
+---| '":"'
---
---Semicolon key
---
----@field [";"] integer
+---| '";"'
---
---Less-than key
---
----@field ["<"] integer
+---| '"<"'
---
---Equal key
---
----@field ["="] integer
+---| '"="'
---
---Greater-than key
---
----@field [">"] integer
+---| '">"'
---
---Question mark key
---
----@field ["?"] integer
+---| '"?"'
---
---At sign key
---
----@field ["@"] integer
+---| '"@"'
---
---Left square bracket key
---
----@field ["["] integer
+---| '"["'
---
---Backslash key
---
----@field ["\\"] integer
+---| '"\\"'
---
---Right square bracket key
---
----@field ["]"] integer
+---| '"]"'
---
---Caret key
---
----@field ["^"] integer
+---| '"^"'
---
---Underscore key
---
----@field _ integer
+---| '"_"'
---
---Grave accent key
---
----@field ["`"] integer
+---| '"`"'
---
---The numpad zero key
---
----@field kp0 integer
+---| '"kp0"'
---
---The numpad one key
---
----@field kp1 integer
+---| '"kp1"'
---
---The numpad two key
---
----@field kp2 integer
+---| '"kp2"'
---
---The numpad three key
---
----@field kp3 integer
+---| '"kp3"'
---
---The numpad four key
---
----@field kp4 integer
+---| '"kp4"'
---
---The numpad five key
---
----@field kp5 integer
+---| '"kp5"'
---
---The numpad six key
---
----@field kp6 integer
+---| '"kp6"'
---
---The numpad seven key
---
----@field kp7 integer
+---| '"kp7"'
---
---The numpad eight key
---
----@field kp8 integer
+---| '"kp8"'
---
---The numpad nine key
---
----@field kp9 integer
+---| '"kp9"'
---
---The numpad decimal point key
---
----@field ["kp."] integer
+---| '"kp."'
---
---The numpad division key
---
----@field ["kp/"] integer
+---| '"kp/"'
---
---The numpad multiplication key
---
----@field ["kp*"] integer
+---| '"kp*"'
---
---The numpad substraction key
---
----@field ["kp-"] integer
+---| '"kp-"'
---
---The numpad addition key
---
----@field ["kp+"] integer
+---| '"kp+"'
---
---The numpad enter key
---
----@field kpenter integer
+---| '"kpenter"'
---
---The numpad equals key
---
----@field ["kp="] integer
+---| '"kp="'
---
---Up cursor key
---
----@field up integer
+---| '"up"'
---
---Down cursor key
---
----@field down integer
+---| '"down"'
---
---Right cursor key
---
----@field right integer
+---| '"right"'
---
---Left cursor key
---
----@field left integer
+---| '"left"'
---
---Home key
---
----@field home integer
+---| '"home"'
---
---End key
---
----@field end integer
+---| '"end"'
---
---Page up key
---
----@field pageup integer
+---| '"pageup"'
---
---Page down key
---
----@field pagedown integer
+---| '"pagedown"'
---
---Insert key
---
----@field insert integer
+---| '"insert"'
---
---Backspace key
---
----@field backspace integer
+---| '"backspace"'
---
---Tab key
---
----@field tab integer
+---| '"tab"'
---
---Clear key
---
----@field clear integer
+---| '"clear"'
---
---Return key
---
----@field return integer
+---| '"return"'
---
---Delete key
---
----@field delete integer
+---| '"delete"'
---
---The 1st function key
---
----@field f1 integer
+---| '"f1"'
---
---The 2nd function key
---
----@field f2 integer
+---| '"f2"'
---
---The 3rd function key
---
----@field f3 integer
+---| '"f3"'
---
---The 4th function key
---
----@field f4 integer
+---| '"f4"'
---
---The 5th function key
---
----@field f5 integer
+---| '"f5"'
---
---The 6th function key
---
----@field f6 integer
+---| '"f6"'
---
---The 7th function key
---
----@field f7 integer
+---| '"f7"'
---
---The 8th function key
---
----@field f8 integer
+---| '"f8"'
---
---The 9th function key
---
----@field f9 integer
+---| '"f9"'
---
---The 10th function key
---
----@field f10 integer
+---| '"f10"'
---
---The 11th function key
---
----@field f11 integer
+---| '"f11"'
---
---The 12th function key
---
----@field f12 integer
+---| '"f12"'
---
---The 13th function key
---
----@field f13 integer
+---| '"f13"'
---
---The 14th function key
---
----@field f14 integer
+---| '"f14"'
---
---The 15th function key
---
----@field f15 integer
+---| '"f15"'
---
---Num-lock key
---
----@field numlock integer
+---| '"numlock"'
---
---Caps-lock key
---
----@field capslock integer
+---| '"capslock"'
---
---Scroll-lock key
---
----@field scrollock integer
+---| '"scrollock"'
---
---Right shift key
---
----@field rshift integer
+---| '"rshift"'
---
---Left shift key
---
----@field lshift integer
+---| '"lshift"'
---
---Right control key
---
----@field rctrl integer
+---| '"rctrl"'
---
---Left control key
---
----@field lctrl integer
+---| '"lctrl"'
---
---Right alt key
---
----@field ralt integer
+---| '"ralt"'
---
---Left alt key
---
----@field lalt integer
+---| '"lalt"'
---
---Right meta key
---
----@field rmeta integer
+---| '"rmeta"'
---
---Left meta key
---
----@field lmeta integer
+---| '"lmeta"'
---
---Left super key
---
----@field lsuper integer
+---| '"lsuper"'
---
---Right super key
---
----@field rsuper integer
+---| '"rsuper"'
---
---Mode key
---
----@field mode integer
+---| '"mode"'
---
---Compose key
---
----@field compose integer
+---| '"compose"'
---
---Pause key
---
----@field pause integer
+---| '"pause"'
---
---Escape key
---
----@field escape integer
+---| '"escape"'
---
---Help key
---
----@field help integer
+---| '"help"'
---
---Print key
---
----@field print integer
+---| '"print"'
---
---System request key
---
----@field sysreq integer
+---| '"sysreq"'
---
---Break key
---
----@field break integer
+---| '"break"'
---
---Menu key
---
----@field menu integer
+---| '"menu"'
---
---Power key
---
----@field power integer
+---| '"power"'
---
---Euro (&euro;) key
---
----@field euro integer
+---| '"euro"'
---
---Undo key
---
----@field undo integer
+---| '"undo"'
---
---WWW key
---
----@field www integer
+---| '"www"'
---
---Mail key
---
----@field mail integer
+---| '"mail"'
---
---Calculator key
---
----@field calculator integer
+---| '"calculator"'
---
---Application search key
---
----@field appsearch integer
+---| '"appsearch"'
---
---Application home key
---
----@field apphome integer
+---| '"apphome"'
---
---Application back key
---
----@field appback integer
+---| '"appback"'
---
---Application forward key
---
----@field appforward integer
+---| '"appforward"'
---
---Application refresh key
---
----@field apprefresh integer
+---| '"apprefresh"'
---
---Application bookmarks key
---
----@field appbookmarks integer
+---| '"appbookmarks"'
---
---Keyboard scancodes.
@@ -668,780 +668,780 @@ function love.keyboard.setTextInput(enable) end
---
---One could use textinput or textedited instead, but those only give back the end result of keys used, i.e. you can't get modifiers on their own from it, only the final symbols that were generated.
---
----@class love.Scancode
+---@alias love.Scancode
---
---The 'A' key on an American layout.
---
----@field a integer
+---| '"a"'
---
---The 'B' key on an American layout.
---
----@field b integer
+---| '"b"'
---
---The 'C' key on an American layout.
---
----@field c integer
+---| '"c"'
---
---The 'D' key on an American layout.
---
----@field d integer
+---| '"d"'
---
---The 'E' key on an American layout.
---
----@field e integer
+---| '"e"'
---
---The 'F' key on an American layout.
---
----@field f integer
+---| '"f"'
---
---The 'G' key on an American layout.
---
----@field g integer
+---| '"g"'
---
---The 'H' key on an American layout.
---
----@field h integer
+---| '"h"'
---
---The 'I' key on an American layout.
---
----@field i integer
+---| '"i"'
---
---The 'J' key on an American layout.
---
----@field j integer
+---| '"j"'
---
---The 'K' key on an American layout.
---
----@field k integer
+---| '"k"'
---
---The 'L' key on an American layout.
---
----@field l integer
+---| '"l"'
---
---The 'M' key on an American layout.
---
----@field m integer
+---| '"m"'
---
---The 'N' key on an American layout.
---
----@field n integer
+---| '"n"'
---
---The 'O' key on an American layout.
---
----@field o integer
+---| '"o"'
---
---The 'P' key on an American layout.
---
----@field p integer
+---| '"p"'
---
---The 'Q' key on an American layout.
---
----@field q integer
+---| '"q"'
---
---The 'R' key on an American layout.
---
----@field r integer
+---| '"r"'
---
---The 'S' key on an American layout.
---
----@field s integer
+---| '"s"'
---
---The 'T' key on an American layout.
---
----@field t integer
+---| '"t"'
---
---The 'U' key on an American layout.
---
----@field u integer
+---| '"u"'
---
---The 'V' key on an American layout.
---
----@field v integer
+---| '"v"'
---
---The 'W' key on an American layout.
---
----@field w integer
+---| '"w"'
---
---The 'X' key on an American layout.
---
----@field x integer
+---| '"x"'
---
---The 'Y' key on an American layout.
---
----@field y integer
+---| '"y"'
---
---The 'Z' key on an American layout.
---
----@field z integer
+---| '"z"'
---
---The '1' key on an American layout.
---
----@field ["1"] integer
+---| '"1"'
---
---The '2' key on an American layout.
---
----@field ["2"] integer
+---| '"2"'
---
---The '3' key on an American layout.
---
----@field ["3"] integer
+---| '"3"'
---
---The '4' key on an American layout.
---
----@field ["4"] integer
+---| '"4"'
---
---The '5' key on an American layout.
---
----@field ["5"] integer
+---| '"5"'
---
---The '6' key on an American layout.
---
----@field ["6"] integer
+---| '"6"'
---
---The '7' key on an American layout.
---
----@field ["7"] integer
+---| '"7"'
---
---The '8' key on an American layout.
---
----@field ["8"] integer
+---| '"8"'
---
---The '9' key on an American layout.
---
----@field ["9"] integer
+---| '"9"'
---
---The '0' key on an American layout.
---
----@field ["0"] integer
+---| '"0"'
---
---The 'return' / 'enter' key on an American layout.
---
----@field return integer
+---| '"return"'
---
---The 'escape' key on an American layout.
---
----@field escape integer
+---| '"escape"'
---
---The 'backspace' key on an American layout.
---
----@field backspace integer
+---| '"backspace"'
---
---The 'tab' key on an American layout.
---
----@field tab integer
+---| '"tab"'
---
---The spacebar on an American layout.
---
----@field space integer
+---| '"space"'
---
---The minus key on an American layout.
---
----@field ["-"] integer
+---| '"-"'
---
---The equals key on an American layout.
---
----@field ["="] integer
+---| '"="'
---
---The left-bracket key on an American layout.
---
----@field ["["] integer
+---| '"["'
---
---The right-bracket key on an American layout.
---
----@field ["]"] integer
+---| '"]"'
---
---The backslash key on an American layout.
---
----@field ["\\"] integer
+---| '"\\"'
---
---The non-U.S. hash scancode.
---
----@field ["nonus#"] integer
+---| '"nonus#"'
---
---The semicolon key on an American layout.
---
----@field [";"] integer
+---| '";"'
---
---The apostrophe key on an American layout.
---
----@field ["'"] integer
+---| '"\'"'
---
---The back-tick / grave key on an American layout.
---
----@field ["`"] integer
+---| '"`"'
---
---The comma key on an American layout.
---
----@field [","] integer
+---| '","'
---
---The period key on an American layout.
---
----@field ["."] integer
+---| '"."'
---
---The forward-slash key on an American layout.
---
----@field ["/"] integer
+---| '"/"'
---
---The capslock key on an American layout.
---
----@field capslock integer
+---| '"capslock"'
---
---The F1 key on an American layout.
---
----@field f1 integer
+---| '"f1"'
---
---The F2 key on an American layout.
---
----@field f2 integer
+---| '"f2"'
---
---The F3 key on an American layout.
---
----@field f3 integer
+---| '"f3"'
---
---The F4 key on an American layout.
---
----@field f4 integer
+---| '"f4"'
---
---The F5 key on an American layout.
---
----@field f5 integer
+---| '"f5"'
---
---The F6 key on an American layout.
---
----@field f6 integer
+---| '"f6"'
---
---The F7 key on an American layout.
---
----@field f7 integer
+---| '"f7"'
---
---The F8 key on an American layout.
---
----@field f8 integer
+---| '"f8"'
---
---The F9 key on an American layout.
---
----@field f9 integer
+---| '"f9"'
---
---The F10 key on an American layout.
---
----@field f10 integer
+---| '"f10"'
---
---The F11 key on an American layout.
---
----@field f11 integer
+---| '"f11"'
---
---The F12 key on an American layout.
---
----@field f12 integer
+---| '"f12"'
---
---The F13 key on an American layout.
---
----@field f13 integer
+---| '"f13"'
---
---The F14 key on an American layout.
---
----@field f14 integer
+---| '"f14"'
---
---The F15 key on an American layout.
---
----@field f15 integer
+---| '"f15"'
---
---The F16 key on an American layout.
---
----@field f16 integer
+---| '"f16"'
---
---The F17 key on an American layout.
---
----@field f17 integer
+---| '"f17"'
---
---The F18 key on an American layout.
---
----@field f18 integer
+---| '"f18"'
---
---The F19 key on an American layout.
---
----@field f19 integer
+---| '"f19"'
---
---The F20 key on an American layout.
---
----@field f20 integer
+---| '"f20"'
---
---The F21 key on an American layout.
---
----@field f21 integer
+---| '"f21"'
---
---The F22 key on an American layout.
---
----@field f22 integer
+---| '"f22"'
---
---The F23 key on an American layout.
---
----@field f23 integer
+---| '"f23"'
---
---The F24 key on an American layout.
---
----@field f24 integer
+---| '"f24"'
---
---The left control key on an American layout.
---
----@field lctrl integer
+---| '"lctrl"'
---
---The left shift key on an American layout.
---
----@field lshift integer
+---| '"lshift"'
---
---The left alt / option key on an American layout.
---
----@field lalt integer
+---| '"lalt"'
---
---The left GUI (command / windows / super) key on an American layout.
---
----@field lgui integer
+---| '"lgui"'
---
---The right control key on an American layout.
---
----@field rctrl integer
+---| '"rctrl"'
---
---The right shift key on an American layout.
---
----@field rshift integer
+---| '"rshift"'
---
---The right alt / option key on an American layout.
---
----@field ralt integer
+---| '"ralt"'
---
---The right GUI (command / windows / super) key on an American layout.
---
----@field rgui integer
+---| '"rgui"'
---
---The printscreen key on an American layout.
---
----@field printscreen integer
+---| '"printscreen"'
---
---The scroll-lock key on an American layout.
---
----@field scrolllock integer
+---| '"scrolllock"'
---
---The pause key on an American layout.
---
----@field pause integer
+---| '"pause"'
---
---The insert key on an American layout.
---
----@field insert integer
+---| '"insert"'
---
---The home key on an American layout.
---
----@field home integer
+---| '"home"'
---
---The numlock / clear key on an American layout.
---
----@field numlock integer
+---| '"numlock"'
---
---The page-up key on an American layout.
---
----@field pageup integer
+---| '"pageup"'
---
---The forward-delete key on an American layout.
---
----@field delete integer
+---| '"delete"'
---
---The end key on an American layout.
---
----@field end integer
+---| '"end"'
---
---The page-down key on an American layout.
---
----@field pagedown integer
+---| '"pagedown"'
---
---The right-arrow key on an American layout.
---
----@field right integer
+---| '"right"'
---
---The left-arrow key on an American layout.
---
----@field left integer
+---| '"left"'
---
---The down-arrow key on an American layout.
---
----@field down integer
+---| '"down"'
---
---The up-arrow key on an American layout.
---
----@field up integer
+---| '"up"'
---
---The non-U.S. backslash scancode.
---
----@field nonusbackslash integer
+---| '"nonusbackslash"'
---
---The application key on an American layout. Windows contextual menu, compose key.
---
----@field application integer
+---| '"application"'
---
---The 'execute' key on an American layout.
---
----@field execute integer
+---| '"execute"'
---
---The 'help' key on an American layout.
---
----@field help integer
+---| '"help"'
---
---The 'menu' key on an American layout.
---
----@field menu integer
+---| '"menu"'
---
---The 'select' key on an American layout.
---
----@field select integer
+---| '"select"'
---
---The 'stop' key on an American layout.
---
----@field stop integer
+---| '"stop"'
---
---The 'again' key on an American layout.
---
----@field again integer
+---| '"again"'
---
---The 'undo' key on an American layout.
---
----@field undo integer
+---| '"undo"'
---
---The 'cut' key on an American layout.
---
----@field cut integer
+---| '"cut"'
---
---The 'copy' key on an American layout.
---
----@field copy integer
+---| '"copy"'
---
---The 'paste' key on an American layout.
---
----@field paste integer
+---| '"paste"'
---
---The 'find' key on an American layout.
---
----@field find integer
+---| '"find"'
---
---The keypad forward-slash key on an American layout.
---
----@field ["kp/"] integer
+---| '"kp/"'
---
---The keypad '*' key on an American layout.
---
----@field ["kp*"] integer
+---| '"kp*"'
---
---The keypad minus key on an American layout.
---
----@field ["kp-"] integer
+---| '"kp-"'
---
---The keypad plus key on an American layout.
---
----@field ["kp+"] integer
+---| '"kp+"'
---
---The keypad equals key on an American layout.
---
----@field ["kp="] integer
+---| '"kp="'
---
---The keypad enter key on an American layout.
---
----@field kpenter integer
+---| '"kpenter"'
---
---The keypad '1' key on an American layout.
---
----@field kp1 integer
+---| '"kp1"'
---
---The keypad '2' key on an American layout.
---
----@field kp2 integer
+---| '"kp2"'
---
---The keypad '3' key on an American layout.
---
----@field kp3 integer
+---| '"kp3"'
---
---The keypad '4' key on an American layout.
---
----@field kp4 integer
+---| '"kp4"'
---
---The keypad '5' key on an American layout.
---
----@field kp5 integer
+---| '"kp5"'
---
---The keypad '6' key on an American layout.
---
----@field kp6 integer
+---| '"kp6"'
---
---The keypad '7' key on an American layout.
---
----@field kp7 integer
+---| '"kp7"'
---
---The keypad '8' key on an American layout.
---
----@field kp8 integer
+---| '"kp8"'
---
---The keypad '9' key on an American layout.
---
----@field kp9 integer
+---| '"kp9"'
---
---The keypad '0' key on an American layout.
---
----@field kp0 integer
+---| '"kp0"'
---
---The keypad period key on an American layout.
---
----@field ["kp."] integer
+---| '"kp."'
---
---The 1st international key on an American layout. Used on Asian keyboards.
---
----@field international1 integer
+---| '"international1"'
---
---The 2nd international key on an American layout.
---
----@field international2 integer
+---| '"international2"'
---
---The 3rd international key on an American layout. Yen.
---
----@field international3 integer
+---| '"international3"'
---
---The 4th international key on an American layout.
---
----@field international4 integer
+---| '"international4"'
---
---The 5th international key on an American layout.
---
----@field international5 integer
+---| '"international5"'
---
---The 6th international key on an American layout.
---
----@field international6 integer
+---| '"international6"'
---
---The 7th international key on an American layout.
---
----@field international7 integer
+---| '"international7"'
---
---The 8th international key on an American layout.
---
----@field international8 integer
+---| '"international8"'
---
---The 9th international key on an American layout.
---
----@field international9 integer
+---| '"international9"'
---
---Hangul/English toggle scancode.
---
----@field lang1 integer
+---| '"lang1"'
---
---Hanja conversion scancode.
---
----@field lang2 integer
+---| '"lang2"'
---
---Katakana scancode.
---
----@field lang3 integer
+---| '"lang3"'
---
---Hiragana scancode.
---
----@field lang4 integer
+---| '"lang4"'
---
---Zenkaku/Hankaku scancode.
---
----@field lang5 integer
+---| '"lang5"'
---
---The mute key on an American layout.
---
----@field mute integer
+---| '"mute"'
---
---The volume up key on an American layout.
---
----@field volumeup integer
+---| '"volumeup"'
---
---The volume down key on an American layout.
---
----@field volumedown integer
+---| '"volumedown"'
---
---The audio next track key on an American layout.
---
----@field audionext integer
+---| '"audionext"'
---
---The audio previous track key on an American layout.
---
----@field audioprev integer
+---| '"audioprev"'
---
---The audio stop key on an American layout.
---
----@field audiostop integer
+---| '"audiostop"'
---
---The audio play key on an American layout.
---
----@field audioplay integer
+---| '"audioplay"'
---
---The audio mute key on an American layout.
---
----@field audiomute integer
+---| '"audiomute"'
---
---The media select key on an American layout.
---
----@field mediaselect integer
+---| '"mediaselect"'
---
---The 'WWW' key on an American layout.
---
----@field www integer
+---| '"www"'
---
---The Mail key on an American layout.
---
----@field mail integer
+---| '"mail"'
---
---The calculator key on an American layout.
---
----@field calculator integer
+---| '"calculator"'
---
---The 'computer' key on an American layout.
---
----@field computer integer
+---| '"computer"'
---
---The AC Search key on an American layout.
---
----@field acsearch integer
+---| '"acsearch"'
---
---The AC Home key on an American layout.
---
----@field achome integer
+---| '"achome"'
---
---The AC Back key on an American layout.
---
----@field acback integer
+---| '"acback"'
---
---The AC Forward key on an American layout.
---
----@field acforward integer
+---| '"acforward"'
---
---Th AC Stop key on an American layout.
---
----@field acstop integer
+---| '"acstop"'
---
---The AC Refresh key on an American layout.
---
----@field acrefresh integer
+---| '"acrefresh"'
---
---The AC Bookmarks key on an American layout.
---
----@field acbookmarks integer
+---| '"acbookmarks"'
---
---The system power scancode.
---
----@field power integer
+---| '"power"'
---
---The brightness-down scancode.
---
----@field brightnessdown integer
+---| '"brightnessdown"'
---
---The brightness-up scancode.
---
----@field brightnessup integer
+---| '"brightnessup"'
---
---The display switch scancode.
---
----@field displayswitch integer
+---| '"displayswitch"'
---
---The keyboard illumination toggle scancode.
---
----@field kbdillumtoggle integer
+---| '"kbdillumtoggle"'
---
---The keyboard illumination down scancode.
---
----@field kbdillumdown integer
+---| '"kbdillumdown"'
---
---The keyboard illumination up scancode.
---
----@field kbdillumup integer
+---| '"kbdillumup"'
---
---The eject scancode.
---
----@field eject integer
+---| '"eject"'
---
---The system sleep scancode.
---
----@field sleep integer
+---| '"sleep"'
---
---The alt-erase key on an American layout.
---
----@field alterase integer
+---| '"alterase"'
---
---The sysreq key on an American layout.
---
----@field sysreq integer
+---| '"sysreq"'
---
---The 'cancel' key on an American layout.
---
----@field cancel integer
+---| '"cancel"'
---
---The 'clear' key on an American layout.
---
----@field clear integer
+---| '"clear"'
---
---The 'prior' key on an American layout.
---
----@field prior integer
+---| '"prior"'
---
---The 'return2' key on an American layout.
---
----@field return2 integer
+---| '"return2"'
---
---The 'separator' key on an American layout.
---
----@field separator integer
+---| '"separator"'
---
---The 'out' key on an American layout.
---
----@field out integer
+---| '"out"'
---
---The 'oper' key on an American layout.
---
----@field oper integer
+---| '"oper"'
---
---The 'clearagain' key on an American layout.
---
----@field clearagain integer
+---| '"clearagain"'
---
---The 'crsel' key on an American layout.
---
----@field crsel integer
+---| '"crsel"'
---
---The 'exsel' key on an American layout.
---
----@field exsel integer
+---| '"exsel"'
---
---The keypad 00 key on an American layout.
---
----@field kp00 integer
+---| '"kp00"'
---
---The keypad 000 key on an American layout.
---
----@field kp000 integer
+---| '"kp000"'
---
---The thousands-separator key on an American layout.
---
----@field thsousandsseparator integer
+---| '"thsousandsseparator"'
---
---The decimal separator key on an American layout.
---
----@field decimalseparator integer
+---| '"decimalseparator"'
---
---The currency unit key on an American layout.
---
----@field currencyunit integer
+---| '"currencyunit"'
---
---The currency sub-unit key on an American layout.
---
----@field currencysubunit integer
+---| '"currencysubunit"'
---
---The 'app1' scancode.
---
----@field app1 integer
+---| '"app1"'
---
---The 'app2' scancode.
---
----@field app2 integer
+---| '"app2"'
---
---An unknown key.
---
----@field unknown integer
+---| '"unknown"'
diff --git a/meta/3rd/love2d/library/love.math.lua b/meta/3rd/love2d/library/love.math.lua
index 5cd0c64f..14689c86 100644
--- a/meta/3rd/love2d/library/love.math.lua
+++ b/meta/3rd/love2d/library/love.math.lua
@@ -503,12 +503,12 @@ function Transform:translate(dx, dy) end
---
---The layout of matrix elements (row-major or column-major).
---
----@class love.MatrixLayout
+---@alias love.MatrixLayout
---
---The matrix is row-major:
---
----@field row integer
+---| '"row"'
---
---The matrix is column-major:
---
----@field column integer
+---| '"column"'
diff --git a/meta/3rd/love2d/library/love.mouse.lua b/meta/3rd/love2d/library/love.mouse.lua
index 3e9de39c..ac3e896e 100644
--- a/meta/3rd/love2d/library/love.mouse.lua
+++ b/meta/3rd/love2d/library/love.mouse.lua
@@ -161,56 +161,56 @@ function Cursor:getType() end
---
---Types of hardware cursors.
---
----@class love.CursorType
+---@alias love.CursorType
---
---The cursor is using a custom image.
---
----@field image integer
+---| '"image"'
---
---An arrow pointer.
---
----@field arrow integer
+---| '"arrow"'
---
---An I-beam, normally used when mousing over editable or selectable text.
---
----@field ibeam integer
+---| '"ibeam"'
---
---Wait graphic.
---
----@field wait integer
+---| '"wait"'
---
---Small wait cursor with an arrow pointer.
---
----@field waitarrow integer
+---| '"waitarrow"'
---
---Crosshair symbol.
---
----@field crosshair integer
+---| '"crosshair"'
---
---Double arrow pointing to the top-left and bottom-right.
---
----@field sizenwse integer
+---| '"sizenwse"'
---
---Double arrow pointing to the top-right and bottom-left.
---
----@field sizenesw integer
+---| '"sizenesw"'
---
---Double arrow pointing left and right.
---
----@field sizewe integer
+---| '"sizewe"'
---
---Double arrow pointing up and down.
---
----@field sizens integer
+---| '"sizens"'
---
---Four-pointed arrow pointing up, down, left, and right.
---
----@field sizeall integer
+---| '"sizeall"'
---
---Slashed circle or crossbones.
---
----@field no integer
+---| '"no"'
---
---Hand symbol.
---
----@field hand integer
+---| '"hand"'
diff --git a/meta/3rd/love2d/library/love.physics.lua b/meta/3rd/love2d/library/love.physics.lua
index 7d3cd04d..3b5b1c8a 100644
--- a/meta/3rd/love2d/library/love.physics.lua
+++ b/meta/3rd/love2d/library/love.physics.lua
@@ -2273,78 +2273,78 @@ function World:update(dt, velocityiterations, positioniterations) end
---
---The types of a Body.
---
----@class love.BodyType
+---@alias love.BodyType
---
---Static bodies do not move.
---
----@field static integer
+---| '"static"'
---
---Dynamic bodies collide with all bodies.
---
----@field dynamic integer
+---| '"dynamic"'
---
---Kinematic bodies only collide with dynamic bodies.
---
----@field kinematic integer
+---| '"kinematic"'
---
---Different types of joints.
---
----@class love.JointType
+---@alias love.JointType
---
---A DistanceJoint.
---
----@field distance integer
+---| '"distance"'
---
---A FrictionJoint.
---
----@field friction integer
+---| '"friction"'
---
---A GearJoint.
---
----@field gear integer
+---| '"gear"'
---
---A MouseJoint.
---
----@field mouse integer
+---| '"mouse"'
---
---A PrismaticJoint.
---
----@field prismatic integer
+---| '"prismatic"'
---
---A PulleyJoint.
---
----@field pulley integer
+---| '"pulley"'
---
---A RevoluteJoint.
---
----@field revolute integer
+---| '"revolute"'
---
---A RopeJoint.
---
----@field rope integer
+---| '"rope"'
---
---A WeldJoint.
---
----@field weld integer
+---| '"weld"'
---
---The different types of Shapes, as returned by Shape:getType.
---
----@class love.ShapeType
+---@alias love.ShapeType
---
---The Shape is a CircleShape.
---
----@field circle integer
+---| '"circle"'
---
---The Shape is a PolygonShape.
---
----@field polygon integer
+---| '"polygon"'
---
---The Shape is a EdgeShape.
---
----@field edge integer
+---| '"edge"'
---
---The Shape is a ChainShape.
---
----@field chain integer
+---| '"chain"'
diff --git a/meta/3rd/love2d/library/love.system.lua b/meta/3rd/love2d/library/love.system.lua
index 2419688a..154e2f79 100644
--- a/meta/3rd/love2d/library/love.system.lua
+++ b/meta/3rd/love2d/library/love.system.lua
@@ -62,24 +62,24 @@ function love.system.vibrate(seconds) end
---
---The basic state of the system's power supply.
---
----@class love.PowerState
+---@alias love.PowerState
---
---Cannot determine power status.
---
----@field unknown integer
+---| '"unknown"'
---
---Not plugged in, running on a battery.
---
----@field battery integer
+---| '"battery"'
---
---Plugged in, no battery available.
---
----@field nobattery integer
+---| '"nobattery"'
---
---Plugged in, charging battery.
---
----@field charging integer
+---| '"charging"'
---
---Plugged in, battery is fully charged.
---
----@field charged integer
+---| '"charged"'
diff --git a/meta/3rd/love2d/library/love.window.lua b/meta/3rd/love2d/library/love.window.lua
index 359ffdbe..0fd99213 100644
--- a/meta/3rd/love2d/library/love.window.lua
+++ b/meta/3rd/love2d/library/love.window.lua
@@ -296,58 +296,58 @@ function love.window.updateMode(width, height, settings) end
---
---Types of device display orientation.
---
----@class love.DisplayOrientation
+---@alias love.DisplayOrientation
---
---Orientation cannot be determined.
---
----@field unknown integer
+---| '"unknown"'
---
---Landscape orientation.
---
----@field landscape integer
+---| '"landscape"'
---
---Landscape orientation (flipped).
---
----@field landscapeflipped integer
+---| '"landscapeflipped"'
---
---Portrait orientation.
---
----@field portrait integer
+---| '"portrait"'
---
---Portrait orientation (flipped).
---
----@field portraitflipped integer
+---| '"portraitflipped"'
---
---Types of fullscreen modes.
---
----@class love.FullscreenType
+---@alias love.FullscreenType
---
---Sometimes known as borderless fullscreen windowed mode. A borderless screen-sized window is created which sits on top of all desktop UI elements. The window is automatically resized to match the dimensions of the desktop, and its size cannot be changed.
---
----@field desktop integer
+---| '"desktop"'
---
---Standard exclusive-fullscreen mode. Changes the display mode (actual resolution) of the monitor.
---
----@field exclusive integer
+---| '"exclusive"'
---
---Standard exclusive-fullscreen mode. Changes the display mode (actual resolution) of the monitor.
---
----@field normal integer
+---| '"normal"'
---
---Types of message box dialogs. Different types may have slightly different looks.
---
----@class love.MessageBoxType
+---@alias love.MessageBoxType
---
---Informational dialog.
---
----@field info integer
+---| '"info"'
---
---Warning dialog.
---
----@field warning integer
+---| '"warning"'
---
---Error dialog.
---
----@field error integer
+---| '"error"'