Show raw api
{
"functions": [
{
"name": "Validate",
"desc": "Checks a candidate module against the preset schema without registering it.",
"params": [
{
"name": "candidate",
"desc": "",
"lua_type": "any"
}
],
"returns": [
{
"desc": "Whether it conforms",
"lua_type": "boolean"
},
{
"desc": "Every problem found, empty when it conforms",
"lua_type": "{ string }"
}
],
"function_type": "static",
"source": {
"line": 112,
"path": "runtime/Presets/init.luau"
}
},
{
"name": "Register",
"desc": "Validates and registers a preset. Pass the `source` ModuleScript to mark it as custom; a custom preset\ncannot replace a built-in one.",
"params": [
{
"name": "definition",
"desc": "",
"lua_type": "PresetDefinition"
},
{
"name": "source",
"desc": "",
"lua_type": "Instance?"
}
],
"returns": [
{
"desc": "Whether it was registered",
"lua_type": "boolean"
},
{
"desc": "Errors when it was not",
"lua_type": "{ string }"
}
],
"function_type": "static",
"source": {
"line": 147,
"path": "runtime/Presets/init.luau"
}
},
{
"name": "Unregister",
"desc": "Removes a custom preset. Built-in presets cannot be unregistered.",
"params": [
{
"name": "name",
"desc": "",
"lua_type": "string"
}
],
"returns": [],
"function_type": "static",
"source": {
"line": 170,
"path": "runtime/Presets/init.luau"
}
},
{
"name": "Get",
"desc": "",
"params": [
{
"name": "name",
"desc": "",
"lua_type": "string"
}
],
"returns": [
{
"desc": "",
"lua_type": "PresetDefinition?\n"
}
],
"function_type": "static",
"source": {
"line": 183,
"path": "runtime/Presets/init.luau"
}
},
{
"name": "GetNames",
"desc": "Built-in names in registration order, then custom names alphabetically.",
"params": [],
"returns": [
{
"desc": "",
"lua_type": "{ string }\n"
}
],
"function_type": "static",
"source": {
"line": 191,
"path": "runtime/Presets/init.luau"
}
},
{
"name": "IsCustom",
"desc": "",
"params": [
{
"name": "name",
"desc": "",
"lua_type": "string"
}
],
"returns": [
{
"desc": "",
"lua_type": "boolean\n"
}
],
"function_type": "static",
"source": {
"line": 207,
"path": "runtime/Presets/init.luau"
}
},
{
"name": "GetSource",
"desc": "The ModuleScript a custom preset was loaded from.",
"params": [
{
"name": "name",
"desc": "",
"lua_type": "string"
}
],
"returns": [
{
"desc": "",
"lua_type": "Instance?\n"
}
],
"function_type": "static",
"source": {
"line": 215,
"path": "runtime/Presets/init.luau"
}
},
{
"name": "LoadFolder",
"desc": "Requires every ModuleScript in `folder` and registers the ones that conform. Custom presets whose module is\nno longer in the folder are unregistered.",
"params": [
{
"name": "folder",
"desc": "",
"lua_type": "Instance?"
}
],
"returns": [
{
"desc": "",
"lua_type": "LoadResult\n"
}
],
"function_type": "static",
"source": {
"line": 224,
"path": "runtime/Presets/init.luau"
}
},
{
"name": "GetSubjectParent",
"desc": "Where a preset subject lives so it renders: the root when it is or sits inside a WorldModel or\nViewportFrame, and Workspace otherwise.",
"params": [
{
"name": "root",
"desc": "",
"lua_type": "Instance"
}
],
"returns": [
{
"desc": "",
"lua_type": "Instance\n"
}
],
"function_type": "static",
"source": {
"line": 261,
"path": "runtime/Presets/init.luau"
}
},
{
"name": "GetPlacement",
"desc": "Where a preset subject stands before anything animates it: `localPivot` relative to the root's origin, or\nthe origin itself when there is none.",
"params": [
{
"name": "root",
"desc": "",
"lua_type": "Instance"
},
{
"name": "localPivot",
"desc": "",
"lua_type": "CFrame?"
}
],
"returns": [
{
"desc": "",
"lua_type": "CFrame\n"
}
],
"function_type": "static",
"source": {
"line": 273,
"path": "runtime/Presets/init.luau"
}
},
{
"name": "PlaceSubject",
"desc": "Pivots a preset subject onto [Presets.GetPlacement] and parents it to [Presets.GetSubjectParent]. The\nruntime does this to every resolved subject and stand-in, so `Resolve` does not need to.",
"params": [
{
"name": "subject",
"desc": "",
"lua_type": "Instance"
},
{
"name": "root",
"desc": "",
"lua_type": "Instance"
},
{
"name": "localPivot",
"desc": "",
"lua_type": "CFrame?"
}
],
"returns": [],
"function_type": "static",
"source": {
"line": 282,
"path": "runtime/Presets/init.luau"
}
}
],
"properties": [
{
"name": "Changed",
"desc": "Fires when a preset is registered or unregistered.",
"lua_type": "Signal",
"source": {
"line": 89,
"path": "runtime/Presets/init.luau"
}
}
],
"types": [
{
"name": "LoadResult",
"desc": "",
"fields": [
{
"name": "Loaded",
"lua_type": "{ string }",
"desc": "Names registered"
},
{
"name": "Errors",
"lua_type": "{ [string]: { string } }",
"desc": "Validation errors, by module name"
}
],
"source": {
"line": 29,
"path": "runtime/Presets/init.luau"
}
},
{
"name": "PresetDefinition",
"desc": "",
"fields": [
{
"name": "Name",
"lua_type": "string",
"desc": "Identifier-like; `\"Custom\"` is reserved"
},
{
"name": "DisplayName",
"lua_type": "string",
"desc": ""
},
{
"name": "Description",
"lua_type": "string?",
"desc": ""
},
{
"name": "SubjectClass",
"lua_type": "string?",
"desc": ""
},
{
"name": "Resolve",
"lua_type": "(context: PresetContext) -> PresetResult?",
"desc": "Runs on the client before the clock starts, and may yield"
},
{
"name": "CreateStandIn",
"lua_type": "(context: PresetContext) -> Instance?",
"desc": "Returns an unparented placeholder"
}
],
"source": {
"line": 57,
"path": "runtime/Presets/init.luau"
}
},
{
"name": "PresetContext",
"desc": "",
"fields": [
{
"name": "Sequence",
"lua_type": "SequenceData",
"desc": ""
},
{
"name": "Binding",
"lua_type": "BindingData",
"desc": "The binding the preset is producing a subject for"
},
{
"name": "Root",
"lua_type": "Instance",
"desc": "The playback's root"
},
{
"name": "Label",
"lua_type": "string",
"desc": ""
}
],
"source": {
"line": 66,
"path": "runtime/Presets/init.luau"
}
},
{
"name": "PresetResult",
"desc": "",
"fields": [
{
"name": "Subject",
"lua_type": "Instance",
"desc": ""
},
{
"name": "Cleanup",
"lua_type": "(() -> ())?",
"desc": "Takes the subject down when playback ends; nil for a subject the preset does not own"
}
],
"source": {
"line": 73,
"path": "runtime/Presets/init.luau"
}
}
],
"name": "Presets",
"desc": "The registry of subject presets: named resolvers that produce a track's subject on the client at play time,\nfor subjects that do not exist while the sequence is authored, such as the local player's character. The\neditor authors against a stand-in, and the runtime falls back to the stand-in if the preset fails to\nresolve.\n\nA custom preset is a ModuleScript in `Flow.CustomPresets` that returns a [Presets.PresetDefinition].",
"source": {
"line": 46,
"path": "runtime/Presets/init.luau"
}
}