diff --git a/scripts/dump_types.py b/scripts/dump_types.py new file mode 100644 index 0000000..5de0e7d --- /dev/null +++ b/scripts/dump_types.py @@ -0,0 +1,300 @@ +import requests + +enable_formatting = True +new_line = ";" +next_entry = ";" +new_line_not_required = "" +indent = "" +space = "" + +if enable_formatting: + new_line = "\n" + new_line_not_required = "\n" + space = " " + next_entry = ",\n" + indent = "\t" + +compile_for_all_classes = False +desired_classes = [ + "CanvasGroup", + "Frame", + "ImageButton", + "TextButton", + "ImageLabel", + "TextLabel", + "ScrollingFrame", + "TextBox", + "VideoFrame", + "ViewportFrame", + "BillboardGui", + "ScreenGui", + "AdGui", + "SurfaceGui", + "SelectionBox", + "BoxHandleAdornment", + "ConeHandleAdornment", + "CylinderHandleAdornment", + "ImageHandleAdornment", + "LineHandleAdornment", + "SphereHandleAdornment", + "WireframeHandleAdornment", + "ParabolaAdornment", + "SelectionSphere", + "ArcHandles", + "Handles", + "SurfaceSelection", + "Path2D", + "UIAspectRatioConstraint", + "UISizeConstraint", + "UITextSizeConstraint", + "UICorner", + "UIDragDetector", + "UIFlexItem", + "UIGradient", + "UIListLayout", + "UIGridLayout", + "UIPageLayout", + "UITableLayout", + "UIPadding", + "UIScale", + "UIStroke", + + "WorldModel", + "Camera", + "Part", + "Model", + "MeshPart", + "Highlight" +] + +lines_before = [ + "type p ="+space+"T?|()->T", + "type e()> ="+space+"T?", + "type a={priority:"+space+"number,"+space+"callback:"+space+"(Instance)"+space+"->"+space+"()}", + "type recursive=T|{recursive}" + "type c =a|T|Recursive|()->Recursive", + "type ContentId = string", # temporary + "type Dictionary = {[string]: any}", + "type Array = {any}" +] + +lines_after = [ + "return{}" +] + +lines = [] + +API_DUMP_LINK = "https://raw.githubusercontent.com/MaximumADHD/Roblox-Client-Tracker/roblox/API-Dump.json" +CORRECTIONS_LINK = "https://raw.githubusercontent.com/NightrainsRbx/RobloxLsp/master/server/api/Corrections.json" + +api_dump_request = requests.get(API_DUMP_LINK) +corrections_dump_request = requests.get(CORRECTIONS_LINK) + +api_dump = api_dump_request.json() +corrections_dump = corrections_dump_request.json() + +aliases = { + "int64": "number", + "int": "number", + "float": "number", + "double": "number", + "bool": "boolean", + "Content": "string", + "string": "string"+space+"|"+space+"number", + "OptionalCoordinateFrame": "CFrame?", + "BinaryString": "string", +} + +map_corrections = {} +map_roblox_classes = {} + +for roblox_class in api_dump["Classes"]: + map_roblox_classes[roblox_class["Name"]] = roblox_class + +for correction_class in corrections_dump["Classes"]: + map_corrections[correction_class["Name"]] = correction_class + +def get_prop_type(value_type): + + prop = "" + + match value_type["Category"]: + case "Enum": + prop = "Enum." + value_type["Name"] + case "Class": + prop = value_type["Name"] + "?" + case "Primitive": + value_name = value_type["Name"] + prop = aliases.get(value_name) or value_name + case "DataType": + value_name = value_type["Name"] + prop = aliases.get(value_name) or value_name + case "Group": + prop = value_type["Name"] + + # Map value types + + return prop + +def append_class(roblox_class): + #lines.append("\t-- " + roblox_class["Name"]) + correction_class = map_corrections.get(roblox_class["Name"]) or {"Members": []} + correction_members_map = {} + + for member in correction_class["Members"]: + correction_members_map[member["Name"]] = member + + for member in roblox_class["Members"]: + if (member.get("Tags") and "ReadOnly" in member["Tags"]) == True: continue + if (member.get("Tags") and "Deprecated" in member["Tags"]) == True: continue + if (member.get("Tags") and "NotScriptable" in member["Tags"]) == True: continue + + # We check if it's a property and if it is, run the get_prop_type function. + if member["MemberType"] == "Property": + if member["Security"]["Write"] != "None": continue + + if "Deprecated" in member: continue + + lines.append(indent+member["Name"] + ":"+space+"p<" + get_prop_type(member["ValueType"]) + ">"+next_entry) + elif member["MemberType"] == "Event": + if member["Security"] != "None": continue + + correction_member = correction_members_map.get(member["Name"]) or {"Parameters": []} + + correction_parameters_map = {} + for parameter in correction_member["Parameters"]: + correction_parameters_map[parameter["Name"]] = parameter + + line = indent+member["Name"] + ":"+space+"e<(" + is_first = True + for parameter in member["Parameters"]: + + correction_parameter = correction_parameters_map.get(parameter["Name"]) + + if is_first == False: + line += "," + is_first = False + + + if correction_parameter == None: + value = get_prop_type(parameter["Type"]) + if value == "Tuple": + line += "...any" + else: + line += parameter["Name"] + ":" + value + else: + line += parameter["Name"] + ":" + name = correction_parameter["Type"].get("Name") + generic = correction_parameter["Type"].get("Generic") + + if name != None: + line += name + elif generic != None: + line += "{" + generic + "}" + + line += ")"+space+"->"+space+"()>"+next_entry + lines.append(line) + + if roblox_class["Superclass"] != "<<>>": + append_class(map_roblox_classes[roblox_class["Superclass"]]) + +if compile_for_all_classes: + desired_classes = map_roblox_classes + +for class_name in desired_classes: + + roblox_class = map_roblox_classes[class_name] + + if 'Tags' in roblox_class and "NotCreatable" in roblox_class['Tags']: + continue + name = roblox_class['Name'] + lines.append("export type v" + name + space + "="+space+"{"+new_line_not_required) + append_class(roblox_class) + lines.append(indent+"[number]:"+space+"c"+new_line) + lines.append(new_line_not_required+"}"+new_line) + +with open("src/roblox_types.luau", "wt") as file: + + single_line = new_line.join(lines_before) + new_line + ''.join(lines) + new_line.join(lines_after) + file.write(single_line) + + file.close() + +with open("src/create.luau", "r") as reader: + line_create_at = 0 + is_found = False + lines = reader.readlines() + for line in lines: + line_create_at += 1 + if line.find("return (create") != -1: + is_found = True + break + + # We found the line we can start modifying from + + with open("src/create.luau", "w") as writer: + + # First write all the lines from 0 to line_create_at-1 + #lines = reader.readlines(100) + writer.writelines(lines[:line_create_at]) + iterate_through = desired_classes + first = True + + if compile_for_all_classes: + iterate_through = map_roblox_classes + + for name in iterate_through: + roblox_class = map_roblox_classes[name] + # Skip unnecessary classes + if "Tags" in roblox_class and "NotCreatable"in roblox_class["Tags"]: continue + if first: + first = False + else: + writer.write("&") + writer.write(f'\t( (class: "{name}") -> (r.v{name}) -> {name} )\n') + + + writer.close() + pass + + reader.close() + +with open("src/init.luau", "r") as reader: + line_create_at = 0 + is_found = False + lines = reader.readlines() + for line in lines: + line_create_at += 1 + if line.find("-- TYPES HERE") != -1: + is_found = True + break + + # We found the line we can start modifying from + + with open("src/init.luau", "w") as writer: + + # First write all the lines from 0 to line_create_at-1 + #lines = reader.readlines(100) + writer.writelines(lines[:line_create_at]) + lines_after = lines[line_create_at+1:] + + iterate_through = desired_classes + first = True + + if compile_for_all_classes: + iterate_through = map_roblox_classes + + for name in iterate_through: + roblox_class = map_roblox_classes[name] + # Skip unnecessary classes + if "Tags" in roblox_class and "NotCreatable"in roblox_class["Tags"]: continue + if first: + first = False + writer.write(f'export type v{name} = roblox_types.v{name}\n') + + + writer.writelines(lines_after) + writer.close() + pass + + reader.close() \ No newline at end of file diff --git a/src/create.luau b/src/create.luau index 7adfc68..4528526 100644 --- a/src/create.luau +++ b/src/create.luau @@ -1,84 +1,104 @@ -if not game then script = require "test/relative-string" end -local typeof = game and typeof or require "test/mock".typeof:: never -local Instance = game and Instance or require "test/mock".Instance :: never - -local throw = require(script.Parent.throw) -local defaults = require(script.Parent.defaults) -local apply = require(script.Parent.apply) - -local ctor_cache = {} :: { [string]: () -> Instance } - -setmetatable(ctor_cache :: any, { - __index = function(self, class) - local ok, instance: Instance = pcall(Instance.new, class :: any) - if not ok then throw(`invalid class name, could not create instance of class { class }`) end - - local default: { [string]: unknown }? = defaults[class] - if default then - for i, v in next, default do - (instance :: any)[i] = v - end - end - - local function ctor(properties: Props): Instance - return apply(instance:Clone(), properties) - end - - self[class] = ctor - return ctor - end -}) - -local function create_instance(class: string) - return ctor_cache[class] -end - -local function clone_instance(instance: Instance) - return function(properties: Props): Instance - local clone = instance:Clone() - if not clone then throw "attempt to clone a non-archivable instance" end - return apply(clone, properties) - end -end - -local function create(class_or_instance: string|Instance): (Props) -> Instance - if type(class_or_instance) == "string" then - return create_instance(class_or_instance) - elseif typeof(class_or_instance) == "Instance" then - return clone_instance(class_or_instance) - else - throw("bad argument #1, expected string or instance, got " .. typeof(class_or_instance)) - return nil :: never - end -end - -type Props = { [any]: any } -return (create :: any) :: -( (T & Instance) -> (Props) -> T ) & -( ("Folder") -> (Props) -> Folder ) & -( ("BillboardGui") -> (Props) -> BillboardGui ) & -( ("CanvasGroup") -> (Props) -> CanvasGroup ) & -( ("Frame") -> (Props) -> Frame ) & -( ("ImageButton") -> (Props) -> ImageButton ) & -( ("ImageLabel") -> (Props) -> ImageLabel ) & -( ("ScreenGui") -> (Props) -> ScreenGui ) & -( ("ScrollingFrame") -> (Props) -> ScrollingFrame ) & -( ("SurfaceGui") -> (Props) -> SurfaceGui ) & -( ("TextBox") -> (Props) -> TextBox ) & -( ("TextButton") -> (Props) -> TextButton ) & -( ("TextLabel") -> (Props) -> TextLabel ) & -( ("UIAspectRatioConstraint") -> (Props) -> UIAspectRatioConstraint ) & -( ("UICorner") -> (Props) -> UICorner ) & -( ("UIGradient") -> (Props) -> UIGradient ) & -( ("UIGridLayout") -> (Props) -> UIGridLayout ) & -( ("UIListLayout") -> (Props) -> UIListLayout ) & -( ("UIPadding") -> (Props) -> UIPadding ) & -( ("UIPageLayout") -> (Props) -> UIPageLayout ) & -( ("UIScale") -> (Props) -> UIScale ) & -( ("UISizeConstraint") -> (Props) -> UISizeConstraint ) & -( ("UIStroke") -> (Props) -> UIStroke ) & -( ("UITableLayout") -> (Props) -> UITableLayout ) & -( ("UITextSizeConstraint") -> (Props) -> UITextSizeConstraint ) & -( ("VideoFrame") -> (Props) -> VideoFrame ) & -( ("ViewportFrame") -> (Props) -> ViewportFrame ) & -( (string) -> (Props) -> Instance ) +if not game then script = require "test/relative-string" end +local typeof = game and typeof or require "test/mock".typeof:: never +local Instance = game and Instance or require "test/mock".Instance :: never + +local throw = require(script.Parent.throw) +local defaults = require(script.Parent.defaults) +local apply = require(script.Parent.apply) +local r = require(script.Parent.roblox_types) + +local ctor_cache = {} :: { [string]: () -> Instance } + +setmetatable(ctor_cache :: any, { + __index = function(self, class) + local ok, instance: Instance = pcall(Instance.new, class :: any) + if not ok then throw(`invalid class name, could not create instance of class { class }`) end + + local default: { [string]: unknown }? = defaults[class] + if default then + for i, v in next, default do + (instance :: any)[i] = v + end + end + + local function ctor(properties: Props): Instance + return apply(instance:Clone(), properties) + end + + self[class] = ctor + return ctor + end +}) + +local function create_instance(class: string) + return ctor_cache[class] +end + +local function clone_instance(instance: Instance) + return function(properties: Props): Instance + local clone = instance:Clone() + if not clone then throw "attempt to clone a non-archivable instance" end + return apply(clone, properties) + end +end + +local function create(class_or_instance: string|Instance): (Props) -> Instance + if type(class_or_instance) == "string" then + return create_instance(class_or_instance) + elseif typeof(class_or_instance) == "Instance" then + return clone_instance(class_or_instance) + else + throw("bad argument #1, expected string or instance, got " .. typeof(class_or_instance)) + return nil :: never + end +end + +type Props = { [any]: any } +return (create :: any) :: + ( (class: "CanvasGroup") -> (r.vCanvasGroup) -> CanvasGroup ) +& ( (class: "Frame") -> (r.vFrame) -> Frame ) +& ( (class: "ImageButton") -> (r.vImageButton) -> ImageButton ) +& ( (class: "TextButton") -> (r.vTextButton) -> TextButton ) +& ( (class: "ImageLabel") -> (r.vImageLabel) -> ImageLabel ) +& ( (class: "TextLabel") -> (r.vTextLabel) -> TextLabel ) +& ( (class: "ScrollingFrame") -> (r.vScrollingFrame) -> ScrollingFrame ) +& ( (class: "TextBox") -> (r.vTextBox) -> TextBox ) +& ( (class: "VideoFrame") -> (r.vVideoFrame) -> VideoFrame ) +& ( (class: "ViewportFrame") -> (r.vViewportFrame) -> ViewportFrame ) +& ( (class: "BillboardGui") -> (r.vBillboardGui) -> BillboardGui ) +& ( (class: "ScreenGui") -> (r.vScreenGui) -> ScreenGui ) +& ( (class: "AdGui") -> (r.vAdGui) -> AdGui ) +& ( (class: "SurfaceGui") -> (r.vSurfaceGui) -> SurfaceGui ) +& ( (class: "SelectionBox") -> (r.vSelectionBox) -> SelectionBox ) +& ( (class: "BoxHandleAdornment") -> (r.vBoxHandleAdornment) -> BoxHandleAdornment ) +& ( (class: "ConeHandleAdornment") -> (r.vConeHandleAdornment) -> ConeHandleAdornment ) +& ( (class: "CylinderHandleAdornment") -> (r.vCylinderHandleAdornment) -> CylinderHandleAdornment ) +& ( (class: "ImageHandleAdornment") -> (r.vImageHandleAdornment) -> ImageHandleAdornment ) +& ( (class: "LineHandleAdornment") -> (r.vLineHandleAdornment) -> LineHandleAdornment ) +& ( (class: "SphereHandleAdornment") -> (r.vSphereHandleAdornment) -> SphereHandleAdornment ) +& ( (class: "WireframeHandleAdornment") -> (r.vWireframeHandleAdornment) -> WireframeHandleAdornment ) +& ( (class: "ParabolaAdornment") -> (r.vParabolaAdornment) -> ParabolaAdornment ) +& ( (class: "SelectionSphere") -> (r.vSelectionSphere) -> SelectionSphere ) +& ( (class: "ArcHandles") -> (r.vArcHandles) -> ArcHandles ) +& ( (class: "Handles") -> (r.vHandles) -> Handles ) +& ( (class: "SurfaceSelection") -> (r.vSurfaceSelection) -> SurfaceSelection ) +& ( (class: "Path2D") -> (r.vPath2D) -> Path2D ) +& ( (class: "UIAspectRatioConstraint") -> (r.vUIAspectRatioConstraint) -> UIAspectRatioConstraint ) +& ( (class: "UISizeConstraint") -> (r.vUISizeConstraint) -> UISizeConstraint ) +& ( (class: "UITextSizeConstraint") -> (r.vUITextSizeConstraint) -> UITextSizeConstraint ) +& ( (class: "UICorner") -> (r.vUICorner) -> UICorner ) +& ( (class: "UIDragDetector") -> (r.vUIDragDetector) -> UIDragDetector ) +& ( (class: "UIFlexItem") -> (r.vUIFlexItem) -> UIFlexItem ) +& ( (class: "UIGradient") -> (r.vUIGradient) -> UIGradient ) +& ( (class: "UIListLayout") -> (r.vUIListLayout) -> UIListLayout ) +& ( (class: "UIGridLayout") -> (r.vUIGridLayout) -> UIGridLayout ) +& ( (class: "UIPageLayout") -> (r.vUIPageLayout) -> UIPageLayout ) +& ( (class: "UITableLayout") -> (r.vUITableLayout) -> UITableLayout ) +& ( (class: "UIPadding") -> (r.vUIPadding) -> UIPadding ) +& ( (class: "UIScale") -> (r.vUIScale) -> UIScale ) +& ( (class: "UIStroke") -> (r.vUIStroke) -> UIStroke ) +& ( (class: "WorldModel") -> (r.vWorldModel) -> WorldModel ) +& ( (class: "Camera") -> (r.vCamera) -> Camera ) +& ( (class: "Part") -> (r.vPart) -> Part ) +& ( (class: "Model") -> (r.vModel) -> Model ) +& ( (class: "MeshPart") -> (r.vMeshPart) -> MeshPart ) diff --git a/src/init.luau b/src/init.luau index 3bcc7ad..8b8529e 100644 --- a/src/init.luau +++ b/src/init.luau @@ -1,121 +1,168 @@ --------------------------------------------------------------------------------- --- vide.luau --------------------------------------------------------------------------------- - -local version = { major = 0, minor = 3, patch = 1 } - -if not game then script = require "test/relative-string" end - -local root = require(script.root) -local mount = require(script.mount) -local create = require(script.create) -local apply = require(script.apply) -local source = require(script.source) -local effect = require(script.effect) -local derive = require(script.derive) -local cleanup = require(script.cleanup) -local untrack = require(script.untrack) -local read = require(script.read) -local batch = require(script.batch) -local context = require(script.context) -local switch = require(script.switch) -local show = require(script.show) -local indexes, values = require(script.maps)() -local spring, update_springs = require(script.spring)() -local action = require(script.action)() -local changed = require(script.changed) -local throw = require(script.throw) -local flags = require(script.flags) - -export type Source = source.Source -export type source = Source -export type Context = context.Context -export type context = Context - -local function step(dt: number) - if game then - debug.profilebegin("VIDE STEP") - debug.profilebegin("VIDE SPRING") - end - - update_springs(dt) - - if game then - debug.profileend() - debug.profileend() - end -end - -local stepped = game and game:GetService("RunService").Heartbeat:Connect(function(dt: number) - task.defer(step, dt) -end) - -local vide = { - version = version, - - -- core - root = root, - mount = mount, - create = create, - source = source, - effect = effect, - derive = derive, - switch = switch, - show = show, - indexes = indexes, - values = values, - - -- util - cleanup = cleanup, - untrack = untrack, - read = read, - batch = batch, - context = context, - - -- animations - spring = spring, - - -- actions - action = action, - changed = changed, - - -- flags - strict = (nil :: any) :: boolean, - - -- temporary - apply = function(instance: Instance) - return function(props: { [any]: any }) - apply(instance, props) - return instance - end - end, - - -- runtime - step = function(dt: number) - if stepped then - stepped:Disconnect() - stepped = nil - end - step(dt) - end -} - -setmetatable(vide :: any, { - __index = function(_, index: unknown): () - if index == "strict" then - return flags.strict - else - throw(`{tostring(index)} is not a valid member of vide`) - end - end, - - __newindex = function(_, index: unknown, value: unknown) - if index == "strict" then - flags.strict = value :: boolean - else - throw(`{tostring(index)} is not a valid member of vide`) - end - end -}) - -return vide +-------------------------------------------------------------------------------- +-- vide.luau +-------------------------------------------------------------------------------- + +local version = { major = 0, minor = 3, patch = 1 } + +if not game then script = require "test/relative-string" end + +local root = require(script.root) +local mount = require(script.mount) +local create = require(script.create) +local apply = require(script.apply) +local source = require(script.source) +local effect = require(script.effect) +local derive = require(script.derive) +local cleanup = require(script.cleanup) +local untrack = require(script.untrack) +local read = require(script.read) +local batch = require(script.batch) +local context = require(script.context) +local switch = require(script.switch) +local show = require(script.show) +local indexes, values = require(script.maps)() +local spring, update_springs = require(script.spring)() +local action = require(script.action)() +local changed = require(script.changed) +local throw = require(script.throw) +local flags = require(script.flags) + +export type Source = source.Source +export type source = Source +export type Context = context.Context +export type context = Context + +local function step(dt: number) + if game then + debug.profilebegin("VIDE STEP") + debug.profilebegin("VIDE SPRING") + end + + update_springs(dt) + + if game then + debug.profileend() + debug.profileend() + end +end + +local stepped = game and game:GetService("RunService").Heartbeat:Connect(function(dt: number) + task.defer(step, dt) +end) + +local vide = { + version = version, + + -- core + root = root, + mount = mount, + create = create, + source = source, + effect = effect, + derive = derive, + switch = switch, + show = show, + indexes = indexes, + values = values, + + -- util + cleanup = cleanup, + untrack = untrack, + read = read, + batch = batch, + context = context, + + -- animations + spring = spring, + + -- actions + action = action, + changed = changed, + + -- flags + strict = (nil :: any) :: boolean, + + -- temporary + apply = function(instance: Instance) + return function(props: { [any]: any }) + apply(instance, props) + return instance + end + end, + + -- runtime + step = function(dt: number) + if stepped then + stepped:Disconnect() + stepped = nil + end + step(dt) + end +} + +setmetatable(vide :: any, { + __index = function(_, index: unknown): () + if index == "strict" then + return flags.strict + else + throw(`{tostring(index)} is not a valid member of vide`) + end + end, + + __newindex = function(_, index: unknown, value: unknown) + if index == "strict" then + flags.strict = value :: boolean + else + throw(`{tostring(index)} is not a valid member of vide`) + end + end +}) + +return vide +export type vCanvasGroup = roblox_types.vCanvasGroup +export type vFrame = roblox_types.vFrame +export type vImageButton = roblox_types.vImageButton +export type vTextButton = roblox_types.vTextButton +export type vImageLabel = roblox_types.vImageLabel +export type vTextLabel = roblox_types.vTextLabel +export type vScrollingFrame = roblox_types.vScrollingFrame +export type vTextBox = roblox_types.vTextBox +export type vVideoFrame = roblox_types.vVideoFrame +export type vViewportFrame = roblox_types.vViewportFrame +export type vBillboardGui = roblox_types.vBillboardGui +export type vScreenGui = roblox_types.vScreenGui +export type vAdGui = roblox_types.vAdGui +export type vSurfaceGui = roblox_types.vSurfaceGui +export type vSelectionBox = roblox_types.vSelectionBox +export type vBoxHandleAdornment = roblox_types.vBoxHandleAdornment +export type vConeHandleAdornment = roblox_types.vConeHandleAdornment +export type vCylinderHandleAdornment = roblox_types.vCylinderHandleAdornment +export type vImageHandleAdornment = roblox_types.vImageHandleAdornment +export type vLineHandleAdornment = roblox_types.vLineHandleAdornment +export type vSphereHandleAdornment = roblox_types.vSphereHandleAdornment +export type vWireframeHandleAdornment = roblox_types.vWireframeHandleAdornment +export type vParabolaAdornment = roblox_types.vParabolaAdornment +export type vSelectionSphere = roblox_types.vSelectionSphere +export type vArcHandles = roblox_types.vArcHandles +export type vHandles = roblox_types.vHandles +export type vSurfaceSelection = roblox_types.vSurfaceSelection +export type vPath2D = roblox_types.vPath2D +export type vUIAspectRatioConstraint = roblox_types.vUIAspectRatioConstraint +export type vUISizeConstraint = roblox_types.vUISizeConstraint +export type vUITextSizeConstraint = roblox_types.vUITextSizeConstraint +export type vUICorner = roblox_types.vUICorner +export type vUIDragDetector = roblox_types.vUIDragDetector +export type vUIFlexItem = roblox_types.vUIFlexItem +export type vUIGradient = roblox_types.vUIGradient +export type vUIListLayout = roblox_types.vUIListLayout +export type vUIGridLayout = roblox_types.vUIGridLayout +export type vUIPageLayout = roblox_types.vUIPageLayout +export type vUITableLayout = roblox_types.vUITableLayout +export type vUIPadding = roblox_types.vUIPadding +export type vUIScale = roblox_types.vUIScale +export type vUIStroke = roblox_types.vUIStroke +export type vWorldModel = roblox_types.vWorldModel +export type vCamera = roblox_types.vCamera +export type vPart = roblox_types.vPart +export type vModel = roblox_types.vModel +export type vMeshPart = roblox_types.vMeshPart diff --git a/src/roblox_types.luau b/src/roblox_types.luau new file mode 100644 index 0000000..18028ee --- /dev/null +++ b/src/roblox_types.luau @@ -0,0 +1,1765 @@ +type p = T?|()->T -- property +type e()> = T? -- event +type a={priority: number, callback: (Instance) -> ()} +type Recursive = T | {Recursive} +type c =a|T|Recursive|()->Recursive +type Dictionary = {[string]: any} +type Array = {any} + +export type vCanvasGroup = { + GroupColor3: p, + GroupTransparency: p, + Active: p, + AnchorPoint: p, + AutomaticSize: p, + BackgroundColor3: p, + BackgroundTransparency: p, + BorderColor3: p, + BorderMode: p, + BorderSizePixel: p, + ClipsDescendants: p, + Interactable: p, + LayoutOrder: p, + NextSelectionDown: p, + NextSelectionLeft: p, + NextSelectionRight: p, + NextSelectionUp: p, + Position: p, + Rotation: p, + Selectable: p, + SelectionImageObject: p, + SelectionOrder: p, + Size: p, + SizeConstraint: p, + Transparency: p, + Visible: p, + ZIndex: p, + InputBegan: e<(input:InputObject) -> ()>, + InputChanged: e<(input:InputObject) -> ()>, + InputEnded: e<(input:InputObject) -> ()>, + MouseEnter: e<(x:number,y:number) -> ()>, + MouseLeave: e<(x:number,y:number) -> ()>, + MouseMoved: e<(x:number,y:number) -> ()>, + MouseWheelBackward: e<(x:number,y:number) -> ()>, + MouseWheelForward: e<(x:number,y:number) -> ()>, + SelectionGained: e<() -> ()>, + SelectionLost: e<() -> ()>, + TouchLongPress: e<(touchPositions:{Vector2},state:Enum.UserInputState) -> ()>, + TouchPan: e<(touchPositions:{Vector2},totalTranslation:Vector2,velocity:Vector2,state:Enum.UserInputState) -> ()>, + TouchPinch: e<(touchPositions:{Vector2},scale:number,velocity:number,state:Enum.UserInputState) -> ()>, + TouchRotate: e<(touchPositions:{Vector2},rotation:number,velocity:number,state:Enum.UserInputState) -> ()>, + TouchSwipe: e<(swipeDirection:Enum.SwipeDirection,numberOfTouches:number) -> ()>, + TouchTap: e<(touchPositions:{Vector2}) -> ()>, + AutoLocalize: p, + RootLocalizationTable: p, + SelectionBehaviorDown: p, + SelectionBehaviorLeft: p, + SelectionBehaviorRight: p, + SelectionBehaviorUp: p, + SelectionGroup: p, + SelectionChanged: e<(amISelected:boolean,previousSelection:GuiObject?,newSelection:GuiObject?) -> ()>, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vFrame = { + Style: p, + Active: p, + AnchorPoint: p, + AutomaticSize: p, + BackgroundColor3: p, + BackgroundTransparency: p, + BorderColor3: p, + BorderMode: p, + BorderSizePixel: p, + ClipsDescendants: p, + Interactable: p, + LayoutOrder: p, + NextSelectionDown: p, + NextSelectionLeft: p, + NextSelectionRight: p, + NextSelectionUp: p, + Position: p, + Rotation: p, + Selectable: p, + SelectionImageObject: p, + SelectionOrder: p, + Size: p, + SizeConstraint: p, + Transparency: p, + Visible: p, + ZIndex: p, + InputBegan: e<(input:InputObject) -> ()>, + InputChanged: e<(input:InputObject) -> ()>, + InputEnded: e<(input:InputObject) -> ()>, + MouseEnter: e<(x:number,y:number) -> ()>, + MouseLeave: e<(x:number,y:number) -> ()>, + MouseMoved: e<(x:number,y:number) -> ()>, + MouseWheelBackward: e<(x:number,y:number) -> ()>, + MouseWheelForward: e<(x:number,y:number) -> ()>, + SelectionGained: e<() -> ()>, + SelectionLost: e<() -> ()>, + TouchLongPress: e<(touchPositions:{Vector2},state:Enum.UserInputState) -> ()>, + TouchPan: e<(touchPositions:{Vector2},totalTranslation:Vector2,velocity:Vector2,state:Enum.UserInputState) -> ()>, + TouchPinch: e<(touchPositions:{Vector2},scale:number,velocity:number,state:Enum.UserInputState) -> ()>, + TouchRotate: e<(touchPositions:{Vector2},rotation:number,velocity:number,state:Enum.UserInputState) -> ()>, + TouchSwipe: e<(swipeDirection:Enum.SwipeDirection,numberOfTouches:number) -> ()>, + TouchTap: e<(touchPositions:{Vector2}) -> ()>, + AutoLocalize: p, + RootLocalizationTable: p, + SelectionBehaviorDown: p, + SelectionBehaviorLeft: p, + SelectionBehaviorRight: p, + SelectionBehaviorUp: p, + SelectionGroup: p, + SelectionChanged: e<(amISelected:boolean,previousSelection:GuiObject?,newSelection:GuiObject?) -> ()>, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vImageButton = { + HoverImage: p, + Image: p, + ImageColor3: p, + ImageRectOffset: p, + ImageRectSize: p, + ImageTransparency: p, + PressedImage: p, + ResampleMode: p, + ScaleType: p, + SliceCenter: p, + SliceScale: p, + TileSize: p, + AutoButtonColor: p, + Modal: p, + Selected: p, + Style: p, + Activated: e<(inputObject:InputObject,clickCount:number) -> ()>, + MouseButton1Click: e<() -> ()>, + MouseButton1Down: e<(x:number,y:number) -> ()>, + MouseButton1Up: e<(x:number,y:number) -> ()>, + MouseButton2Click: e<() -> ()>, + MouseButton2Down: e<(x:number,y:number) -> ()>, + MouseButton2Up: e<(x:number,y:number) -> ()>, + Active: p, + AnchorPoint: p, + AutomaticSize: p, + BackgroundColor3: p, + BackgroundTransparency: p, + BorderColor3: p, + BorderMode: p, + BorderSizePixel: p, + ClipsDescendants: p, + Interactable: p, + LayoutOrder: p, + NextSelectionDown: p, + NextSelectionLeft: p, + NextSelectionRight: p, + NextSelectionUp: p, + Position: p, + Rotation: p, + Selectable: p, + SelectionImageObject: p, + SelectionOrder: p, + Size: p, + SizeConstraint: p, + Transparency: p, + Visible: p, + ZIndex: p, + InputBegan: e<(input:InputObject) -> ()>, + InputChanged: e<(input:InputObject) -> ()>, + InputEnded: e<(input:InputObject) -> ()>, + MouseEnter: e<(x:number,y:number) -> ()>, + MouseLeave: e<(x:number,y:number) -> ()>, + MouseMoved: e<(x:number,y:number) -> ()>, + MouseWheelBackward: e<(x:number,y:number) -> ()>, + MouseWheelForward: e<(x:number,y:number) -> ()>, + SelectionGained: e<() -> ()>, + SelectionLost: e<() -> ()>, + TouchLongPress: e<(touchPositions:{Vector2},state:Enum.UserInputState) -> ()>, + TouchPan: e<(touchPositions:{Vector2},totalTranslation:Vector2,velocity:Vector2,state:Enum.UserInputState) -> ()>, + TouchPinch: e<(touchPositions:{Vector2},scale:number,velocity:number,state:Enum.UserInputState) -> ()>, + TouchRotate: e<(touchPositions:{Vector2},rotation:number,velocity:number,state:Enum.UserInputState) -> ()>, + TouchSwipe: e<(swipeDirection:Enum.SwipeDirection,numberOfTouches:number) -> ()>, + TouchTap: e<(touchPositions:{Vector2}) -> ()>, + AutoLocalize: p, + RootLocalizationTable: p, + SelectionBehaviorDown: p, + SelectionBehaviorLeft: p, + SelectionBehaviorRight: p, + SelectionBehaviorUp: p, + SelectionGroup: p, + SelectionChanged: e<(amISelected:boolean,previousSelection:GuiObject?,newSelection:GuiObject?) -> ()>, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vTextButton = { + Font: p, + FontFace: p, + LineHeight: p, + MaxVisibleGraphemes: p, + OpenTypeFeatures: p, + RichText: p, + Text: p, + TextColor3: p, + TextDirection: p, + TextScaled: p, + TextSize: p, + TextStrokeColor3: p, + TextStrokeTransparency: p, + TextTransparency: p, + TextTruncate: p, + TextWrapped: p, + TextXAlignment: p, + TextYAlignment: p, + AutoButtonColor: p, + Modal: p, + Selected: p, + Style: p, + Activated: e<(inputObject:InputObject,clickCount:number) -> ()>, + MouseButton1Click: e<() -> ()>, + MouseButton1Down: e<(x:number,y:number) -> ()>, + MouseButton1Up: e<(x:number,y:number) -> ()>, + MouseButton2Click: e<() -> ()>, + MouseButton2Down: e<(x:number,y:number) -> ()>, + MouseButton2Up: e<(x:number,y:number) -> ()>, + Active: p, + AnchorPoint: p, + AutomaticSize: p, + BackgroundColor3: p, + BackgroundTransparency: p, + BorderColor3: p, + BorderMode: p, + BorderSizePixel: p, + ClipsDescendants: p, + Interactable: p, + LayoutOrder: p, + NextSelectionDown: p, + NextSelectionLeft: p, + NextSelectionRight: p, + NextSelectionUp: p, + Position: p, + Rotation: p, + Selectable: p, + SelectionImageObject: p, + SelectionOrder: p, + Size: p, + SizeConstraint: p, + Transparency: p, + Visible: p, + ZIndex: p, + InputBegan: e<(input:InputObject) -> ()>, + InputChanged: e<(input:InputObject) -> ()>, + InputEnded: e<(input:InputObject) -> ()>, + MouseEnter: e<(x:number,y:number) -> ()>, + MouseLeave: e<(x:number,y:number) -> ()>, + MouseMoved: e<(x:number,y:number) -> ()>, + MouseWheelBackward: e<(x:number,y:number) -> ()>, + MouseWheelForward: e<(x:number,y:number) -> ()>, + SelectionGained: e<() -> ()>, + SelectionLost: e<() -> ()>, + TouchLongPress: e<(touchPositions:{Vector2},state:Enum.UserInputState) -> ()>, + TouchPan: e<(touchPositions:{Vector2},totalTranslation:Vector2,velocity:Vector2,state:Enum.UserInputState) -> ()>, + TouchPinch: e<(touchPositions:{Vector2},scale:number,velocity:number,state:Enum.UserInputState) -> ()>, + TouchRotate: e<(touchPositions:{Vector2},rotation:number,velocity:number,state:Enum.UserInputState) -> ()>, + TouchSwipe: e<(swipeDirection:Enum.SwipeDirection,numberOfTouches:number) -> ()>, + TouchTap: e<(touchPositions:{Vector2}) -> ()>, + AutoLocalize: p, + RootLocalizationTable: p, + SelectionBehaviorDown: p, + SelectionBehaviorLeft: p, + SelectionBehaviorRight: p, + SelectionBehaviorUp: p, + SelectionGroup: p, + SelectionChanged: e<(amISelected:boolean,previousSelection:GuiObject?,newSelection:GuiObject?) -> ()>, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vImageLabel = { + Image: p, + ImageColor3: p, + ImageRectOffset: p, + ImageRectSize: p, + ImageTransparency: p, + ResampleMode: p, + ScaleType: p, + SliceCenter: p, + SliceScale: p, + TileSize: p, + Active: p, + AnchorPoint: p, + AutomaticSize: p, + BackgroundColor3: p, + BackgroundTransparency: p, + BorderColor3: p, + BorderMode: p, + BorderSizePixel: p, + ClipsDescendants: p, + Interactable: p, + LayoutOrder: p, + NextSelectionDown: p, + NextSelectionLeft: p, + NextSelectionRight: p, + NextSelectionUp: p, + Position: p, + Rotation: p, + Selectable: p, + SelectionImageObject: p, + SelectionOrder: p, + Size: p, + SizeConstraint: p, + Transparency: p, + Visible: p, + ZIndex: p, + InputBegan: e<(input:InputObject) -> ()>, + InputChanged: e<(input:InputObject) -> ()>, + InputEnded: e<(input:InputObject) -> ()>, + MouseEnter: e<(x:number,y:number) -> ()>, + MouseLeave: e<(x:number,y:number) -> ()>, + MouseMoved: e<(x:number,y:number) -> ()>, + MouseWheelBackward: e<(x:number,y:number) -> ()>, + MouseWheelForward: e<(x:number,y:number) -> ()>, + SelectionGained: e<() -> ()>, + SelectionLost: e<() -> ()>, + TouchLongPress: e<(touchPositions:{Vector2},state:Enum.UserInputState) -> ()>, + TouchPan: e<(touchPositions:{Vector2},totalTranslation:Vector2,velocity:Vector2,state:Enum.UserInputState) -> ()>, + TouchPinch: e<(touchPositions:{Vector2},scale:number,velocity:number,state:Enum.UserInputState) -> ()>, + TouchRotate: e<(touchPositions:{Vector2},rotation:number,velocity:number,state:Enum.UserInputState) -> ()>, + TouchSwipe: e<(swipeDirection:Enum.SwipeDirection,numberOfTouches:number) -> ()>, + TouchTap: e<(touchPositions:{Vector2}) -> ()>, + AutoLocalize: p, + RootLocalizationTable: p, + SelectionBehaviorDown: p, + SelectionBehaviorLeft: p, + SelectionBehaviorRight: p, + SelectionBehaviorUp: p, + SelectionGroup: p, + SelectionChanged: e<(amISelected:boolean,previousSelection:GuiObject?,newSelection:GuiObject?) -> ()>, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vTextLabel = { + Font: p, + FontFace: p, + LineHeight: p, + MaxVisibleGraphemes: p, + OpenTypeFeatures: p, + RichText: p, + Text: p, + TextColor3: p, + TextDirection: p, + TextScaled: p, + TextSize: p, + TextStrokeColor3: p, + TextStrokeTransparency: p, + TextTransparency: p, + TextTruncate: p, + TextWrapped: p, + TextXAlignment: p, + TextYAlignment: p, + Active: p, + AnchorPoint: p, + AutomaticSize: p, + BackgroundColor3: p, + BackgroundTransparency: p, + BorderColor3: p, + BorderMode: p, + BorderSizePixel: p, + ClipsDescendants: p, + Interactable: p, + LayoutOrder: p, + NextSelectionDown: p, + NextSelectionLeft: p, + NextSelectionRight: p, + NextSelectionUp: p, + Position: p, + Rotation: p, + Selectable: p, + SelectionImageObject: p, + SelectionOrder: p, + Size: p, + SizeConstraint: p, + Transparency: p, + Visible: p, + ZIndex: p, + InputBegan: e<(input:InputObject) -> ()>, + InputChanged: e<(input:InputObject) -> ()>, + InputEnded: e<(input:InputObject) -> ()>, + MouseEnter: e<(x:number,y:number) -> ()>, + MouseLeave: e<(x:number,y:number) -> ()>, + MouseMoved: e<(x:number,y:number) -> ()>, + MouseWheelBackward: e<(x:number,y:number) -> ()>, + MouseWheelForward: e<(x:number,y:number) -> ()>, + SelectionGained: e<() -> ()>, + SelectionLost: e<() -> ()>, + TouchLongPress: e<(touchPositions:{Vector2},state:Enum.UserInputState) -> ()>, + TouchPan: e<(touchPositions:{Vector2},totalTranslation:Vector2,velocity:Vector2,state:Enum.UserInputState) -> ()>, + TouchPinch: e<(touchPositions:{Vector2},scale:number,velocity:number,state:Enum.UserInputState) -> ()>, + TouchRotate: e<(touchPositions:{Vector2},rotation:number,velocity:number,state:Enum.UserInputState) -> ()>, + TouchSwipe: e<(swipeDirection:Enum.SwipeDirection,numberOfTouches:number) -> ()>, + TouchTap: e<(touchPositions:{Vector2}) -> ()>, + AutoLocalize: p, + RootLocalizationTable: p, + SelectionBehaviorDown: p, + SelectionBehaviorLeft: p, + SelectionBehaviorRight: p, + SelectionBehaviorUp: p, + SelectionGroup: p, + SelectionChanged: e<(amISelected:boolean,previousSelection:GuiObject?,newSelection:GuiObject?) -> ()>, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vScrollingFrame = { + AutomaticCanvasSize: p, + BottomImage: p, + CanvasPosition: p, + CanvasSize: p, + ElasticBehavior: p, + HorizontalScrollBarInset: p, + MidImage: p, + ScrollBarImageColor3: p, + ScrollBarImageTransparency: p, + ScrollBarThickness: p, + ScrollingDirection: p, + ScrollingEnabled: p, + TopImage: p, + VerticalScrollBarInset: p, + VerticalScrollBarPosition: p, + Active: p, + AnchorPoint: p, + AutomaticSize: p, + BackgroundColor3: p, + BackgroundTransparency: p, + BorderColor3: p, + BorderMode: p, + BorderSizePixel: p, + ClipsDescendants: p, + Interactable: p, + LayoutOrder: p, + NextSelectionDown: p, + NextSelectionLeft: p, + NextSelectionRight: p, + NextSelectionUp: p, + Position: p, + Rotation: p, + Selectable: p, + SelectionImageObject: p, + SelectionOrder: p, + Size: p, + SizeConstraint: p, + Transparency: p, + Visible: p, + ZIndex: p, + InputBegan: e<(input:InputObject) -> ()>, + InputChanged: e<(input:InputObject) -> ()>, + InputEnded: e<(input:InputObject) -> ()>, + MouseEnter: e<(x:number,y:number) -> ()>, + MouseLeave: e<(x:number,y:number) -> ()>, + MouseMoved: e<(x:number,y:number) -> ()>, + MouseWheelBackward: e<(x:number,y:number) -> ()>, + MouseWheelForward: e<(x:number,y:number) -> ()>, + SelectionGained: e<() -> ()>, + SelectionLost: e<() -> ()>, + TouchLongPress: e<(touchPositions:{Vector2},state:Enum.UserInputState) -> ()>, + TouchPan: e<(touchPositions:{Vector2},totalTranslation:Vector2,velocity:Vector2,state:Enum.UserInputState) -> ()>, + TouchPinch: e<(touchPositions:{Vector2},scale:number,velocity:number,state:Enum.UserInputState) -> ()>, + TouchRotate: e<(touchPositions:{Vector2},rotation:number,velocity:number,state:Enum.UserInputState) -> ()>, + TouchSwipe: e<(swipeDirection:Enum.SwipeDirection,numberOfTouches:number) -> ()>, + TouchTap: e<(touchPositions:{Vector2}) -> ()>, + AutoLocalize: p, + RootLocalizationTable: p, + SelectionBehaviorDown: p, + SelectionBehaviorLeft: p, + SelectionBehaviorRight: p, + SelectionBehaviorUp: p, + SelectionGroup: p, + SelectionChanged: e<(amISelected:boolean,previousSelection:GuiObject?,newSelection:GuiObject?) -> ()>, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vTextBox = { + ClearTextOnFocus: p, + CursorPosition: p, + Font: p, + FontFace: p, + LineHeight: p, + MaxVisibleGraphemes: p, + MultiLine: p, + OpenTypeFeatures: p, + PlaceholderColor3: p, + PlaceholderText: p, + RichText: p, + SelectionStart: p, + ShowNativeInput: p, + Text: p, + TextColor3: p, + TextDirection: p, + TextEditable: p, + TextScaled: p, + TextSize: p, + TextStrokeColor3: p, + TextStrokeTransparency: p, + TextTransparency: p, + TextTruncate: p, + TextWrapped: p, + TextXAlignment: p, + TextYAlignment: p, + FocusLost: e<(enterPressed:boolean,inputThatCausedFocusLoss:InputObject) -> ()>, + Focused: e<() -> ()>, + ReturnPressedFromOnScreenKeyboard: e<() -> ()>, + Active: p, + AnchorPoint: p, + AutomaticSize: p, + BackgroundColor3: p, + BackgroundTransparency: p, + BorderColor3: p, + BorderMode: p, + BorderSizePixel: p, + ClipsDescendants: p, + Interactable: p, + LayoutOrder: p, + NextSelectionDown: p, + NextSelectionLeft: p, + NextSelectionRight: p, + NextSelectionUp: p, + Position: p, + Rotation: p, + Selectable: p, + SelectionImageObject: p, + SelectionOrder: p, + Size: p, + SizeConstraint: p, + Transparency: p, + Visible: p, + ZIndex: p, + InputBegan: e<(input:InputObject) -> ()>, + InputChanged: e<(input:InputObject) -> ()>, + InputEnded: e<(input:InputObject) -> ()>, + MouseEnter: e<(x:number,y:number) -> ()>, + MouseLeave: e<(x:number,y:number) -> ()>, + MouseMoved: e<(x:number,y:number) -> ()>, + MouseWheelBackward: e<(x:number,y:number) -> ()>, + MouseWheelForward: e<(x:number,y:number) -> ()>, + SelectionGained: e<() -> ()>, + SelectionLost: e<() -> ()>, + TouchLongPress: e<(touchPositions:{Vector2},state:Enum.UserInputState) -> ()>, + TouchPan: e<(touchPositions:{Vector2},totalTranslation:Vector2,velocity:Vector2,state:Enum.UserInputState) -> ()>, + TouchPinch: e<(touchPositions:{Vector2},scale:number,velocity:number,state:Enum.UserInputState) -> ()>, + TouchRotate: e<(touchPositions:{Vector2},rotation:number,velocity:number,state:Enum.UserInputState) -> ()>, + TouchSwipe: e<(swipeDirection:Enum.SwipeDirection,numberOfTouches:number) -> ()>, + TouchTap: e<(touchPositions:{Vector2}) -> ()>, + AutoLocalize: p, + RootLocalizationTable: p, + SelectionBehaviorDown: p, + SelectionBehaviorLeft: p, + SelectionBehaviorRight: p, + SelectionBehaviorUp: p, + SelectionGroup: p, + SelectionChanged: e<(amISelected:boolean,previousSelection:GuiObject?,newSelection:GuiObject?) -> ()>, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vVideoFrame = { + Looped: p, + Playing: p, + TimePosition: p, + Video: p, + Volume: p, + DidLoop: e<(video:string | number) -> ()>, + Ended: e<(video:string | number) -> ()>, + Loaded: e<(video:string | number) -> ()>, + Paused: e<(video:string | number) -> ()>, + Played: e<(video:string | number) -> ()>, + Active: p, + AnchorPoint: p, + AutomaticSize: p, + BackgroundColor3: p, + BackgroundTransparency: p, + BorderColor3: p, + BorderMode: p, + BorderSizePixel: p, + ClipsDescendants: p, + Interactable: p, + LayoutOrder: p, + NextSelectionDown: p, + NextSelectionLeft: p, + NextSelectionRight: p, + NextSelectionUp: p, + Position: p, + Rotation: p, + Selectable: p, + SelectionImageObject: p, + SelectionOrder: p, + Size: p, + SizeConstraint: p, + Transparency: p, + Visible: p, + ZIndex: p, + InputBegan: e<(input:InputObject) -> ()>, + InputChanged: e<(input:InputObject) -> ()>, + InputEnded: e<(input:InputObject) -> ()>, + MouseEnter: e<(x:number,y:number) -> ()>, + MouseLeave: e<(x:number,y:number) -> ()>, + MouseMoved: e<(x:number,y:number) -> ()>, + MouseWheelBackward: e<(x:number,y:number) -> ()>, + MouseWheelForward: e<(x:number,y:number) -> ()>, + SelectionGained: e<() -> ()>, + SelectionLost: e<() -> ()>, + TouchLongPress: e<(touchPositions:{Vector2},state:Enum.UserInputState) -> ()>, + TouchPan: e<(touchPositions:{Vector2},totalTranslation:Vector2,velocity:Vector2,state:Enum.UserInputState) -> ()>, + TouchPinch: e<(touchPositions:{Vector2},scale:number,velocity:number,state:Enum.UserInputState) -> ()>, + TouchRotate: e<(touchPositions:{Vector2},rotation:number,velocity:number,state:Enum.UserInputState) -> ()>, + TouchSwipe: e<(swipeDirection:Enum.SwipeDirection,numberOfTouches:number) -> ()>, + TouchTap: e<(touchPositions:{Vector2}) -> ()>, + AutoLocalize: p, + RootLocalizationTable: p, + SelectionBehaviorDown: p, + SelectionBehaviorLeft: p, + SelectionBehaviorRight: p, + SelectionBehaviorUp: p, + SelectionGroup: p, + SelectionChanged: e<(amISelected:boolean,previousSelection:GuiObject?,newSelection:GuiObject?) -> ()>, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vViewportFrame = { + Ambient: p, + CurrentCamera: p, + ImageColor3: p, + ImageTransparency: p, + LightColor: p, + LightDirection: p, + Active: p, + AnchorPoint: p, + AutomaticSize: p, + BackgroundColor3: p, + BackgroundTransparency: p, + BorderColor3: p, + BorderMode: p, + BorderSizePixel: p, + ClipsDescendants: p, + Interactable: p, + LayoutOrder: p, + NextSelectionDown: p, + NextSelectionLeft: p, + NextSelectionRight: p, + NextSelectionUp: p, + Position: p, + Rotation: p, + Selectable: p, + SelectionImageObject: p, + SelectionOrder: p, + Size: p, + SizeConstraint: p, + Transparency: p, + Visible: p, + ZIndex: p, + InputBegan: e<(input:InputObject) -> ()>, + InputChanged: e<(input:InputObject) -> ()>, + InputEnded: e<(input:InputObject) -> ()>, + MouseEnter: e<(x:number,y:number) -> ()>, + MouseLeave: e<(x:number,y:number) -> ()>, + MouseMoved: e<(x:number,y:number) -> ()>, + MouseWheelBackward: e<(x:number,y:number) -> ()>, + MouseWheelForward: e<(x:number,y:number) -> ()>, + SelectionGained: e<() -> ()>, + SelectionLost: e<() -> ()>, + TouchLongPress: e<(touchPositions:{Vector2},state:Enum.UserInputState) -> ()>, + TouchPan: e<(touchPositions:{Vector2},totalTranslation:Vector2,velocity:Vector2,state:Enum.UserInputState) -> ()>, + TouchPinch: e<(touchPositions:{Vector2},scale:number,velocity:number,state:Enum.UserInputState) -> ()>, + TouchRotate: e<(touchPositions:{Vector2},rotation:number,velocity:number,state:Enum.UserInputState) -> ()>, + TouchSwipe: e<(swipeDirection:Enum.SwipeDirection,numberOfTouches:number) -> ()>, + TouchTap: e<(touchPositions:{Vector2}) -> ()>, + AutoLocalize: p, + RootLocalizationTable: p, + SelectionBehaviorDown: p, + SelectionBehaviorLeft: p, + SelectionBehaviorRight: p, + SelectionBehaviorUp: p, + SelectionGroup: p, + SelectionChanged: e<(amISelected:boolean,previousSelection:GuiObject?,newSelection:GuiObject?) -> ()>, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vBillboardGui = { + Active: p, + Adornee: p, + AlwaysOnTop: p, + Brightness: p, + ClipsDescendants: p, + DistanceLowerLimit: p, + DistanceStep: p, + DistanceUpperLimit: p, + ExtentsOffset: p, + ExtentsOffsetWorldSpace: p, + LightInfluence: p, + MaxDistance: p, + PlayerToHideFrom: p, + Size: p, + SizeOffset: p, + StudsOffset: p, + StudsOffsetWorldSpace: p, + Enabled: p, + ResetOnSpawn: p, + ZIndexBehavior: p, + AutoLocalize: p, + RootLocalizationTable: p, + SelectionBehaviorDown: p, + SelectionBehaviorLeft: p, + SelectionBehaviorRight: p, + SelectionBehaviorUp: p, + SelectionGroup: p, + SelectionChanged: e<(amISelected:boolean,previousSelection:GuiObject?,newSelection:GuiObject?) -> ()>, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vScreenGui = { + ClipToDeviceSafeArea: p, + DisplayOrder: p, + IgnoreGuiInset: p, + SafeAreaCompatibility: p, + ScreenInsets: p, + Enabled: p, + ResetOnSpawn: p, + ZIndexBehavior: p, + AutoLocalize: p, + RootLocalizationTable: p, + SelectionBehaviorDown: p, + SelectionBehaviorLeft: p, + SelectionBehaviorRight: p, + SelectionBehaviorUp: p, + SelectionGroup: p, + SelectionChanged: e<(amISelected:boolean,previousSelection:GuiObject?,newSelection:GuiObject?) -> ()>, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vAdGui = { + AdShape: p, + EnableVideoAds: p, + FallbackImage: p, + Active: p, + Adornee: p, + Face: p, + Enabled: p, + ResetOnSpawn: p, + ZIndexBehavior: p, + AutoLocalize: p, + RootLocalizationTable: p, + SelectionBehaviorDown: p, + SelectionBehaviorLeft: p, + SelectionBehaviorRight: p, + SelectionBehaviorUp: p, + SelectionGroup: p, + SelectionChanged: e<(amISelected:boolean,previousSelection:GuiObject?,newSelection:GuiObject?) -> ()>, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vSurfaceGui = { + AlwaysOnTop: p, + Brightness: p, + CanvasSize: p, + ClipsDescendants: p, + LightInfluence: p, + MaxDistance: p, + PixelsPerStud: p, + SizingMode: p, + ToolPunchThroughDistance: p, + ZOffset: p, + Active: p, + Adornee: p, + Face: p, + Enabled: p, + ResetOnSpawn: p, + ZIndexBehavior: p, + AutoLocalize: p, + RootLocalizationTable: p, + SelectionBehaviorDown: p, + SelectionBehaviorLeft: p, + SelectionBehaviorRight: p, + SelectionBehaviorUp: p, + SelectionGroup: p, + SelectionChanged: e<(amISelected:boolean,previousSelection:GuiObject?,newSelection:GuiObject?) -> ()>, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vSelectionBox = { + LineThickness: p, + SurfaceColor3: p, + SurfaceTransparency: p, + Adornee: p, + Color3: p, + Transparency: p, + Visible: p, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vBoxHandleAdornment = { + Size: p, + AdornCullingMode: p, + AlwaysOnTop: p, + CFrame: p, + SizeRelativeOffset: p, + ZIndex: p, + MouseButton1Down: e<() -> ()>, + MouseButton1Up: e<() -> ()>, + MouseEnter: e<() -> ()>, + MouseLeave: e<() -> ()>, + Adornee: p, + Color3: p, + Transparency: p, + Visible: p, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vConeHandleAdornment = { + Height: p, + Radius: p, + AdornCullingMode: p, + AlwaysOnTop: p, + CFrame: p, + SizeRelativeOffset: p, + ZIndex: p, + MouseButton1Down: e<() -> ()>, + MouseButton1Up: e<() -> ()>, + MouseEnter: e<() -> ()>, + MouseLeave: e<() -> ()>, + Adornee: p, + Color3: p, + Transparency: p, + Visible: p, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vCylinderHandleAdornment = { + Angle: p, + Height: p, + InnerRadius: p, + Radius: p, + AdornCullingMode: p, + AlwaysOnTop: p, + CFrame: p, + SizeRelativeOffset: p, + ZIndex: p, + MouseButton1Down: e<() -> ()>, + MouseButton1Up: e<() -> ()>, + MouseEnter: e<() -> ()>, + MouseLeave: e<() -> ()>, + Adornee: p, + Color3: p, + Transparency: p, + Visible: p, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vImageHandleAdornment = { + Image: p, + Size: p, + AdornCullingMode: p, + AlwaysOnTop: p, + CFrame: p, + SizeRelativeOffset: p, + ZIndex: p, + MouseButton1Down: e<() -> ()>, + MouseButton1Up: e<() -> ()>, + MouseEnter: e<() -> ()>, + MouseLeave: e<() -> ()>, + Adornee: p, + Color3: p, + Transparency: p, + Visible: p, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vLineHandleAdornment = { + Length: p, + Thickness: p, + AdornCullingMode: p, + AlwaysOnTop: p, + CFrame: p, + SizeRelativeOffset: p, + ZIndex: p, + MouseButton1Down: e<() -> ()>, + MouseButton1Up: e<() -> ()>, + MouseEnter: e<() -> ()>, + MouseLeave: e<() -> ()>, + Adornee: p, + Color3: p, + Transparency: p, + Visible: p, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vSphereHandleAdornment = { + Radius: p, + AdornCullingMode: p, + AlwaysOnTop: p, + CFrame: p, + SizeRelativeOffset: p, + ZIndex: p, + MouseButton1Down: e<() -> ()>, + MouseButton1Up: e<() -> ()>, + MouseEnter: e<() -> ()>, + MouseLeave: e<() -> ()>, + Adornee: p, + Color3: p, + Transparency: p, + Visible: p, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vWireframeHandleAdornment = { + Scale: p, + AdornCullingMode: p, + AlwaysOnTop: p, + CFrame: p, + SizeRelativeOffset: p, + ZIndex: p, + MouseButton1Down: e<() -> ()>, + MouseButton1Up: e<() -> ()>, + MouseEnter: e<() -> ()>, + MouseLeave: e<() -> ()>, + Adornee: p, + Color3: p, + Transparency: p, + Visible: p, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vParabolaAdornment = { + Adornee: p, + Color3: p, + Transparency: p, + Visible: p, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vSelectionSphere = { + SurfaceColor3: p, + SurfaceTransparency: p, + Adornee: p, + Color3: p, + Transparency: p, + Visible: p, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vArcHandles = { + Axes: p, + MouseButton1Down: e<(axis:Enum.Axis) -> ()>, + MouseButton1Up: e<(axis:Enum.Axis) -> ()>, + MouseDrag: e<(axis:Enum.Axis,relativeAngle:number,deltaRadius:number) -> ()>, + MouseEnter: e<(axis:Enum.Axis) -> ()>, + MouseLeave: e<(axis:Enum.Axis) -> ()>, + Adornee: p, + Color3: p, + Transparency: p, + Visible: p, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vHandles = { + Faces: p, + Style: p, + MouseButton1Down: e<(face:Enum.NormalId) -> ()>, + MouseButton1Up: e<(face:Enum.NormalId) -> ()>, + MouseDrag: e<(face:Enum.NormalId,distance:number) -> ()>, + MouseEnter: e<(face:Enum.NormalId) -> ()>, + MouseLeave: e<(face:Enum.NormalId) -> ()>, + Adornee: p, + Color3: p, + Transparency: p, + Visible: p, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vSurfaceSelection = { + TargetSurface: p, + Adornee: p, + Color3: p, + Transparency: p, + Visible: p, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vPath2D = { + Closed: p, + Color3: p, + Thickness: p, + Visible: p, + ZIndex: p, + ControlPointChanged: e<() -> ()>, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vUIAspectRatioConstraint = { + AspectRatio: p, + AspectType: p, + DominantAxis: p, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vUISizeConstraint = { + MaxSize: p, + MinSize: p, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vUITextSizeConstraint = { + MaxTextSize: p, + MinTextSize: p, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vUICorner = { + CornerRadius: p, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vUIDragDetector = { + ActivatedCursorIcon: p, + BoundingBehavior: p, + BoundingUI: p, + CursorIcon: p, + DragAxis: p, + DragRelativity: p, + DragRotation: p, + DragSpace: p, + DragStyle: p, + DragUDim2: p, + Enabled: p, + MaxDragAngle: p, + MaxDragTranslation: p, + MinDragAngle: p, + MinDragTranslation: p, + ReferenceUIInstance: p, + ResponseStyle: p, + SelectionModeDragSpeed: p, + SelectionModeRotateSpeed: p, + UIDragSpeedAxisMapping: p, + DragContinue: e<(inputPosition:Vector2) -> ()>, + DragEnd: e<(inputPosition:Vector2) -> ()>, + DragStart: e<(inputPosition:Vector2) -> ()>, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vUIFlexItem = { + FlexMode: p, + GrowRatio: p, + ItemLineAlignment: p, + ShrinkRatio: p, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vUIGradient = { + Color: p, + Enabled: p, + Offset: p, + Rotation: p, + Transparency: p, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vUIListLayout = { + HorizontalFlex: p, + ItemLineAlignment: p, + Padding: p, + VerticalFlex: p, + Wraps: p, + FillDirection: p, + HorizontalAlignment: p, + SortOrder: p, + VerticalAlignment: p, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vUIGridLayout = { + CellPadding: p, + CellSize: p, + FillDirectionMaxCells: p, + StartCorner: p, + FillDirection: p, + HorizontalAlignment: p, + SortOrder: p, + VerticalAlignment: p, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vUIPageLayout = { + Animated: p, + Circular: p, + EasingDirection: p, + EasingStyle: p, + GamepadInputEnabled: p, + Padding: p, + ScrollWheelInputEnabled: p, + TouchInputEnabled: p, + TweenTime: p, + PageEnter: e<(page:Instance?) -> ()>, + PageLeave: e<(page:Instance?) -> ()>, + Stopped: e<(currentPage:Instance?) -> ()>, + FillDirection: p, + HorizontalAlignment: p, + SortOrder: p, + VerticalAlignment: p, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vUITableLayout = { + FillEmptySpaceColumns: p, + FillEmptySpaceRows: p, + MajorAxis: p, + Padding: p, + FillDirection: p, + HorizontalAlignment: p, + SortOrder: p, + VerticalAlignment: p, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vUIPadding = { + PaddingBottom: p, + PaddingLeft: p, + PaddingRight: p, + PaddingTop: p, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vUIScale = { + Scale: p, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vUIStroke = { + ApplyStrokeMode: p, + Color: p, + Enabled: p, + LineJoinMode: p, + Thickness: p, + Transparency: p, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vWorldModel = { + ModelStreamingMode: p, + PrimaryPart: p, + WorldPivot: p, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vCamera = { + CFrame: p, + CameraSubject: p, + CameraType: p, + DiagonalFieldOfView: p, + FieldOfView: p, + FieldOfViewMode: p, + Focus: p, + HeadLocked: p, + HeadScale: p, + MaxAxisFieldOfView: p, + VRTiltAndRollEnabled: p, + InterpolationFinished: e<() -> ()>, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vPart = { + Shape: p, + Anchored: p, + AssemblyAngularVelocity: p, + AssemblyLinearVelocity: p, + BackSurface: p, + BottomSurface: p, + BrickColor: p, + CFrame: p, + CanCollide: p, + CanQuery: p, + CanTouch: p, + CastShadow: p, + CollisionGroup: p, + Color: p, + CustomPhysicalProperties: p, + EnableFluidForces: p, + FrontSurface: p, + LeftSurface: p, + LocalTransparencyModifier: p, + Locked: p, + Massless: p, + Material: p, + MaterialVariant: p, + Orientation: p, + PivotOffset: p, + Position: p, + Reflectance: p, + RightSurface: p, + RootPriority: p, + Rotation: p, + Size: p, + TopSurface: p, + Transparency: p, + TouchEnded: e<(otherPart:BasePart) -> ()>, + Touched: e<(otherPart:BasePart) -> ()>, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vModel = { + ModelStreamingMode: p, + PrimaryPart: p, + WorldPivot: p, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +export type vMeshPart = { + TextureID: p, + Anchored: p, + AssemblyAngularVelocity: p, + AssemblyLinearVelocity: p, + BackSurface: p, + BottomSurface: p, + BrickColor: p, + CFrame: p, + CanCollide: p, + CanQuery: p, + CanTouch: p, + CastShadow: p, + CollisionGroup: p, + Color: p, + CustomPhysicalProperties: p, + EnableFluidForces: p, + FrontSurface: p, + LeftSurface: p, + LocalTransparencyModifier: p, + Locked: p, + Massless: p, + Material: p, + MaterialVariant: p, + Orientation: p, + PivotOffset: p, + Position: p, + Reflectance: p, + RightSurface: p, + RootPriority: p, + Rotation: p, + Size: p, + TopSurface: p, + Transparency: p, + TouchEnded: e<(otherPart:BasePart) -> ()>, + Touched: e<(otherPart:BasePart) -> ()>, + Archivable: p, + Name: p, + Parent: p, + AncestryChanged: e<(child:Instance?,parent:Instance?) -> ()>, + AttributeChanged: e<(attribute:string | number) -> ()>, + Changed: e<(property:string | number) -> ()>, + ChildAdded: e<(child:Instance?) -> ()>, + ChildRemoved: e<(child:Instance?) -> ()>, + DescendantAdded: e<(descendant:Instance?) -> ()>, + DescendantRemoving: e<(descendant:Instance?) -> ()>, + Destroying: e<() -> ()>, + [number]: c + +} +return{} \ No newline at end of file diff --git a/wally.toml b/wally.toml index 4896b08..2483da2 100644 --- a/wally.toml +++ b/wally.toml @@ -1,8 +1,8 @@ [package] -name = "centau/vide" -description = "A reactive Luau library for creating UI. " +name = "alicesaidhi/vide" +description = "Fork of vide, comes with Roblox Instance Types" license = "MIT" -version = "0.3.1" +version = "0.3.1-lite.646" registry = "https://github.com/UpliftGames/wally-index" realm = "shared" include = ["default.project.json", "LICENSE", "src"]