roavatar-renderer 1.2.15 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/index.d.ts +151 -36
- package/dist/index.js +366 -196
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -44,7 +44,7 @@ Basic example on how to load an avatar using OutfitRenderer (to make it simpler)
|
|
|
44
44
|
document.body.appendChild(RBXRenderer.getRendererElement())
|
|
45
45
|
|
|
46
46
|
//get avatar data for the user with id 1
|
|
47
|
-
const outfit = API.Avatar.GetAvatarDetails(1)
|
|
47
|
+
const outfit = await API.Avatar.GetAvatarDetails(1)
|
|
48
48
|
if (!(outfit instanceof Outfit)) throw new Error("Failed to get outfit")
|
|
49
49
|
|
|
50
50
|
//create renderer for outfit
|
package/dist/index.d.ts
CHANGED
|
@@ -55,6 +55,14 @@ export declare const AccessoryType: {
|
|
|
55
55
|
Eyelash: number;
|
|
56
56
|
};
|
|
57
57
|
|
|
58
|
+
export declare class AccessoryWrapper extends InstanceWrapper {
|
|
59
|
+
static className: string;
|
|
60
|
+
static requiredProperties: string[];
|
|
61
|
+
setup(): void;
|
|
62
|
+
created(): void;
|
|
63
|
+
AccessoryBuildWeld(): void;
|
|
64
|
+
}
|
|
65
|
+
|
|
58
66
|
export declare const ActualBundleTypes: string[];
|
|
59
67
|
|
|
60
68
|
export declare function add(v0: Vec3, v1: Vec3): Vec3;
|
|
@@ -83,6 +91,12 @@ export declare const AlphaMode: {
|
|
|
83
91
|
TintMask: number;
|
|
84
92
|
};
|
|
85
93
|
|
|
94
|
+
export declare class AnimationConstraintWrapper extends InstanceWrapper {
|
|
95
|
+
static className: string;
|
|
96
|
+
static requiredProperties: string[];
|
|
97
|
+
setup(): void;
|
|
98
|
+
}
|
|
99
|
+
|
|
86
100
|
export declare type AnimationProp = "ClimbAnimation" | "FallAnimation" | "IdleAnimation" | "JumpAnimation" | "MoodAnimation" | "RunAnimation" | "SwimAnimation" | "WalkAnimation" | "dance1" | "dance2" | "dance3" | "toolnone";
|
|
87
101
|
|
|
88
102
|
export declare const AnimationPropToName: {
|
|
@@ -295,6 +309,10 @@ export declare const API: {
|
|
|
295
309
|
PremiumFeatures: {
|
|
296
310
|
GetSubscription: (userId: number) => Promise<Response | GetSubscription_Result>;
|
|
297
311
|
};
|
|
312
|
+
RBLXGet: typeof RBLXGet;
|
|
313
|
+
RBLXPost: typeof RBLXPost;
|
|
314
|
+
RBLXDelete: typeof RBLXDelete;
|
|
315
|
+
RBLXPatch: typeof RBLXPatch;
|
|
298
316
|
};
|
|
299
317
|
|
|
300
318
|
export declare function arrayBufferToBase64(buffer: ArrayBuffer): string;
|
|
@@ -548,6 +566,14 @@ declare type BodyColorsJson = {
|
|
|
548
566
|
leftLegColorId?: number;
|
|
549
567
|
};
|
|
550
568
|
|
|
569
|
+
export declare class BodyColorsWrapper extends InstanceWrapper {
|
|
570
|
+
static className: string;
|
|
571
|
+
static requiredProperties: string[];
|
|
572
|
+
setup(): void;
|
|
573
|
+
created(): void;
|
|
574
|
+
update(): void;
|
|
575
|
+
}
|
|
576
|
+
|
|
551
577
|
export declare const BodyPart: {
|
|
552
578
|
Head: number;
|
|
553
579
|
Torso: number;
|
|
@@ -822,6 +848,12 @@ export declare const DataType: {
|
|
|
822
848
|
NonSerializable: number;
|
|
823
849
|
};
|
|
824
850
|
|
|
851
|
+
export declare class DecalWrapper extends InstanceWrapper {
|
|
852
|
+
static className: string;
|
|
853
|
+
static requiredProperties: string[];
|
|
854
|
+
setup(): void;
|
|
855
|
+
}
|
|
856
|
+
|
|
825
857
|
/**
|
|
826
858
|
* @deprecated
|
|
827
859
|
*/
|
|
@@ -978,6 +1010,8 @@ export declare class FileMeshSubset {
|
|
|
978
1010
|
clone(): FileMeshSubset;
|
|
979
1011
|
}
|
|
980
1012
|
|
|
1013
|
+
export declare function fileMeshToTHREEGeometry(mesh: FileMesh, canIncludeSkinning?: boolean, forceVertexColor?: Vector3): THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>;
|
|
1014
|
+
|
|
981
1015
|
export declare const FLAGS: {
|
|
982
1016
|
HAIR_IS_BODYPART: boolean;
|
|
983
1017
|
AVATAR_JOINT_UPGRADE: boolean;
|
|
@@ -1057,6 +1091,11 @@ export declare function getCameraCFrameForHeadshotCustomized(rig: Instance, fov:
|
|
|
1057
1091
|
|
|
1058
1092
|
export declare function getDistIndexArray(ref: FileMesh, dist: FileMesh): (number | undefined)[];
|
|
1059
1093
|
|
|
1094
|
+
export declare function getExtents(cframe: CFrame, parts: Instance[]): [Vector3, Vector3];
|
|
1095
|
+
|
|
1096
|
+
/**@deprecated this is SO broken */
|
|
1097
|
+
export declare function getExtentsForParts(parts: Instance[], includeTransform?: boolean): [Vector3, Vector3];
|
|
1098
|
+
|
|
1060
1099
|
export declare function getHeadExtents(rig: Instance): [Vector3, Vector3] | undefined;
|
|
1061
1100
|
|
|
1062
1101
|
export declare interface GetInfoForId_Result {
|
|
@@ -1545,6 +1584,8 @@ export declare const magic = "<roblox!";
|
|
|
1545
1584
|
|
|
1546
1585
|
export declare function magnitude(v: Vec3): number;
|
|
1547
1586
|
|
|
1587
|
+
export declare const MakeupAssetTypes: string[];
|
|
1588
|
+
|
|
1548
1589
|
export declare class MakeupDescriptionWrapper extends InstanceWrapper {
|
|
1549
1590
|
static className: string;
|
|
1550
1591
|
static requiredProperties: string[];
|
|
@@ -1557,6 +1598,10 @@ export declare const MakeupType: {
|
|
|
1557
1598
|
Eye: number;
|
|
1558
1599
|
};
|
|
1559
1600
|
|
|
1601
|
+
export declare class ManualWeldWrapper extends WeldWrapper {
|
|
1602
|
+
static className: string;
|
|
1603
|
+
}
|
|
1604
|
+
|
|
1560
1605
|
export declare function mapNum(x: number, in_min: number, in_max: number, out_min: number, out_max: number): number;
|
|
1561
1606
|
|
|
1562
1607
|
export declare interface MarketplaceWidget {
|
|
@@ -1639,6 +1684,12 @@ export declare class ModelWrapper extends InstanceWrapper {
|
|
|
1639
1684
|
GetModelCFrame(): CFrame;
|
|
1640
1685
|
}
|
|
1641
1686
|
|
|
1687
|
+
export declare class Motor6DWrapper extends WeldWrapper {
|
|
1688
|
+
static className: string;
|
|
1689
|
+
static requiredProperties: string[];
|
|
1690
|
+
setup(): void;
|
|
1691
|
+
}
|
|
1692
|
+
|
|
1642
1693
|
/**
|
|
1643
1694
|
* @deprecated Use mountElement instead
|
|
1644
1695
|
* @param container
|
|
@@ -1878,7 +1929,6 @@ export declare class OutfitRenderer {
|
|
|
1878
1929
|
outfit: Outfit;
|
|
1879
1930
|
currentRig?: Instance; /**Instance for the Model of the current outfit */
|
|
1880
1931
|
currentRigType: AvatarType;
|
|
1881
|
-
rigPath: string;
|
|
1882
1932
|
doCameraUpdateOnLoad: boolean; /**Makes camera update when new avatar has loaded */
|
|
1883
1933
|
doCameraUpdate: boolean; /**Does camera update every frame */
|
|
1884
1934
|
currentlyChangingRig: boolean;
|
|
@@ -1888,13 +1938,14 @@ export declare class OutfitRenderer {
|
|
|
1888
1938
|
animationInterval?: NodeJS.Timeout;
|
|
1889
1939
|
animationFPS: number;
|
|
1890
1940
|
deltaTimeMultiplier: number;
|
|
1941
|
+
renderScene: RBXRendererScene;
|
|
1891
1942
|
/**
|
|
1892
1943
|
* Creates a new OutfitRenderer which makes it easy to render outfits
|
|
1893
1944
|
* @param auth The authentication object, you should have one you use for everything
|
|
1894
1945
|
* @param outfit The outfit you want to render, it can be updated later by calling setOutfit()
|
|
1895
|
-
* @param
|
|
1946
|
+
* @param renderScene The scene the outfit should be rendered in
|
|
1896
1947
|
*/
|
|
1897
|
-
constructor(auth: Authentication, outfit: Outfit,
|
|
1948
|
+
constructor(auth: Authentication, outfit: Outfit, renderScene?: RBXRendererScene);
|
|
1898
1949
|
/**
|
|
1899
1950
|
* Updates the current rig, called internally by _updateOutfit()
|
|
1900
1951
|
*/
|
|
@@ -2060,6 +2111,14 @@ export declare class RBFDeformerPatch {
|
|
|
2060
2111
|
deformMesh(): void;
|
|
2061
2112
|
}
|
|
2062
2113
|
|
|
2114
|
+
declare function RBLXDelete(url: string, auth: Authentication, body: any, attempt?: number): Promise<Response>;
|
|
2115
|
+
|
|
2116
|
+
declare function RBLXGet(url: string, headers?: any, includeCredentials?: boolean): Promise<Response>;
|
|
2117
|
+
|
|
2118
|
+
declare function RBLXPatch(url: string, auth: Authentication, body: any, attempt?: number): Promise<Response>;
|
|
2119
|
+
|
|
2120
|
+
declare function RBLXPost(url: string, auth: Authentication | undefined, body: any, attempt?: number, method?: string): Promise<Response>;
|
|
2121
|
+
|
|
2063
2122
|
export declare class RBX {
|
|
2064
2123
|
classCount: number;
|
|
2065
2124
|
instanceCount: number;
|
|
@@ -2091,42 +2150,47 @@ export declare class RBX {
|
|
|
2091
2150
|
}
|
|
2092
2151
|
|
|
2093
2152
|
export declare class RBXRenderer {
|
|
2094
|
-
static isRenderingMesh: Map<Instance, boolean>;
|
|
2095
|
-
static renderDescs: Map<Instance, RenderDesc>;
|
|
2096
|
-
static destroyConnections: Map<Instance, Connection>;
|
|
2097
|
-
static lookAwayVector: Vec3;
|
|
2098
|
-
static lookAwayDistance: number;
|
|
2099
2153
|
static orbitControlsTarget: Vec3;
|
|
2100
|
-
static
|
|
2101
|
-
static
|
|
2102
|
-
|
|
2154
|
+
static scenes: RBXRendererScene[];
|
|
2155
|
+
static get firstScene(): RBXRendererScene;
|
|
2156
|
+
/**@deprecated This can only get the first renderScene's scene */
|
|
2157
|
+
static get scene(): THREE.Scene;
|
|
2158
|
+
/**@deprecated This can only get the first renderScene's camera */
|
|
2159
|
+
static get camera(): THREE.PerspectiveCamera;
|
|
2160
|
+
/**@deprecated This can only get the first renderScene's controls */
|
|
2161
|
+
static get controls(): OrbitControls | undefined;
|
|
2103
2162
|
static renderer?: THREE.WebGLRenderer;
|
|
2104
|
-
static effectComposer: EffectComposer | undefined;
|
|
2105
|
-
static shadowEnabled: boolean;
|
|
2106
|
-
static shadowResolution: [number, number];
|
|
2107
2163
|
static resolution: [number, number];
|
|
2108
2164
|
static backgroundColorHex: number;
|
|
2109
2165
|
static backgroundTransparent: boolean;
|
|
2110
|
-
static _wellLitDirectionalLightIntensity: number;
|
|
2111
|
-
static set wellLitDirectionalLightIntensity(v: number);
|
|
2112
|
-
static get wellLitDirectionalLightIntensity(): number;
|
|
2113
2166
|
static createLoadingIcon: boolean;
|
|
2114
2167
|
static canvasContainer: HTMLDivElement;
|
|
2115
2168
|
static loadingIcon?: HTMLSpanElement;
|
|
2116
2169
|
static loadingIconStyle?: HTMLStyleElement;
|
|
2117
|
-
|
|
2118
|
-
static
|
|
2119
|
-
|
|
2120
|
-
static
|
|
2121
|
-
|
|
2170
|
+
/**@deprecated This can only get the first renderScene's plane */
|
|
2171
|
+
static get plane(): THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap> | undefined;
|
|
2172
|
+
/**@deprecated This can only get the first renderScene's shadowPlane */
|
|
2173
|
+
static get shadowPlane(): THREE.Mesh<THREE.BufferGeometry<THREE.NormalBufferAttributes, THREE.BufferGeometryEventMap>, THREE.Material | THREE.Material[], THREE.Object3DEventMap> | undefined;
|
|
2174
|
+
/**@deprecated This can only get the first renderScene's ambientLight */
|
|
2175
|
+
static get ambientLight(): THREE.AmbientLight | undefined;
|
|
2176
|
+
/**@deprecated This can only get the first renderScene's directionalLight */
|
|
2177
|
+
static get directionalLight(): THREE.DirectionalLight | undefined;
|
|
2178
|
+
/**@deprecated This can only get the first renderScene's directionalLight2 */
|
|
2179
|
+
static get directionalLight2(): THREE.DirectionalLight | undefined;
|
|
2180
|
+
/**@deprecated This can only set the first renderScene's wellLitDirectionalLightIntensity*/
|
|
2181
|
+
static set wellLitDirectionalLightIntensity(v: number);
|
|
2182
|
+
/**@deprecated This can only gey the first renderScene's wellLitDirectionalLightIntensity*/
|
|
2183
|
+
static get wellLitDirectionalLightIntensity(): number;
|
|
2122
2184
|
static failedToCreate: boolean;
|
|
2123
2185
|
static error?: unknown;
|
|
2124
2186
|
static boilerplateSetup(): Promise<void>;
|
|
2125
2187
|
static showErrorHTML(): Promise<void>;
|
|
2188
|
+
static createLoadingIconHTML(): void;
|
|
2189
|
+
static addScene(): RBXRendererScene;
|
|
2126
2190
|
/**Fully sets up renderer with scene, camera and frame rendering
|
|
2127
2191
|
* @returns success
|
|
2128
2192
|
*/
|
|
2129
|
-
static fullSetup(
|
|
2193
|
+
static fullSetup(includeSceneAppearance?: boolean, includeControls?: boolean, includeAnimate?: boolean): Promise<boolean>;
|
|
2130
2194
|
/**Creates canvasContainer */
|
|
2131
2195
|
static createContainer(): void;
|
|
2132
2196
|
/**Sets up the THREE.js renderer */
|
|
@@ -2135,9 +2199,9 @@ export declare class RBXRenderer {
|
|
|
2135
2199
|
* @param lightingType "WellLit" is the default lighting for RoAvatar, "Thumbnail" tries to match the Roblox thumbnail lighting
|
|
2136
2200
|
* @param backgroundColorHex is the hex code for the background color, for example 0x2b2d33
|
|
2137
2201
|
*/
|
|
2138
|
-
static setupScene(lightingType?: "WellLit" | "Thumbnail", backgroundColorHex?: number): void;
|
|
2202
|
+
static setupScene(lightingType?: "WellLit" | "Thumbnail", backgroundColorHex?: number, renderScene?: RBXRendererScene): void;
|
|
2139
2203
|
/**Sets up orbit controls */
|
|
2140
|
-
static setupControls(): void;
|
|
2204
|
+
static setupControls(renderScene?: RBXRendererScene): void;
|
|
2141
2205
|
/**
|
|
2142
2206
|
* @param colorHex example: 0x2b2d33 which is the default
|
|
2143
2207
|
*/
|
|
@@ -2148,13 +2212,15 @@ export declare class RBXRenderer {
|
|
|
2148
2212
|
*/
|
|
2149
2213
|
static setBackgroundTransparent(transparent: boolean): void;
|
|
2150
2214
|
/**Makes the renderer render a new frame on every animationFrame */
|
|
2151
|
-
static animate(): void;
|
|
2152
|
-
static
|
|
2215
|
+
static animate(shouldRequestAnimationFrame?: boolean): void;
|
|
2216
|
+
static animateAll(shouldRequestAnimationFrame?: boolean): void;
|
|
2217
|
+
static renderScene(renderScene: RBXRendererScene, autoClear?: boolean): void;
|
|
2218
|
+
static _createEffectComposer(renderScene?: RBXRendererScene): void;
|
|
2153
2219
|
/**Removes an instance from the renderer */
|
|
2154
|
-
static removeInstance(instance: Instance): void;
|
|
2155
|
-
static _addRenderDesc(instance: Instance, auth: Authentication, DescClass: typeof RenderDesc): void;
|
|
2220
|
+
static removeInstance(instance: Instance, renderScene?: RBXRendererScene): void;
|
|
2221
|
+
static _addRenderDesc(instance: Instance, auth: Authentication, DescClass: typeof RenderDesc, renderScene: RBXRendererScene): void;
|
|
2156
2222
|
/**Adds an instance to the renderer or updates it */
|
|
2157
|
-
static addInstance(instance: Instance, auth: Authentication): void;
|
|
2223
|
+
static addInstance(instance: Instance, auth: Authentication, renderScene?: RBXRendererScene): void;
|
|
2158
2224
|
static setRendererSize(width: number, height: number): void;
|
|
2159
2225
|
/**
|
|
2160
2226
|
* @deprecated Use getRendererElement instead which includes the loading icon
|
|
@@ -2165,17 +2231,46 @@ export declare class RBXRenderer {
|
|
|
2165
2231
|
* @returns An element containing the renderer canvas
|
|
2166
2232
|
*/
|
|
2167
2233
|
static getRendererElement(): HTMLDivElement;
|
|
2234
|
+
/**@deprecated This can only get the first renderScene's camera */
|
|
2168
2235
|
static getRendererCamera(): THREE.PerspectiveCamera;
|
|
2169
|
-
static getCameraCFrame(): CFrame;
|
|
2170
|
-
static setCameraCFrame(cameraCF: CFrame): void;
|
|
2171
|
-
static setCameraFov(fov: number): void;
|
|
2236
|
+
static getCameraCFrame(renderScene?: RBXRendererScene): CFrame;
|
|
2237
|
+
static setCameraCFrame(cameraCF: CFrame, renderScene?: RBXRendererScene): void;
|
|
2238
|
+
static setCameraFov(fov: number, renderScene?: RBXRendererScene): void;
|
|
2239
|
+
/**@deprecated This can only get the first renderScene's controls */
|
|
2172
2240
|
static getRendererControls(): OrbitControls | undefined;
|
|
2173
2241
|
static getRenderer(): THREE.WebGLRenderer | undefined;
|
|
2174
|
-
|
|
2242
|
+
/**@deprecated This can only get the first renderScene's scene */
|
|
2243
|
+
static getScene(): RBXRendererScene;
|
|
2175
2244
|
/**@deprecated
|
|
2176
2245
|
* This function is unstable and can throw errors, but might work
|
|
2177
2246
|
*/
|
|
2178
|
-
static exportScene(): void;
|
|
2247
|
+
static exportScene(renderScene?: RBXRendererScene): void;
|
|
2248
|
+
}
|
|
2249
|
+
|
|
2250
|
+
export declare class RBXRendererScene {
|
|
2251
|
+
scene: THREE.Scene;
|
|
2252
|
+
camera: THREE.PerspectiveCamera;
|
|
2253
|
+
controls: OrbitControls | undefined;
|
|
2254
|
+
effectComposer: EffectComposer | undefined;
|
|
2255
|
+
scissor?: [number, number, number, number];
|
|
2256
|
+
viewport?: [number, number, number, number];
|
|
2257
|
+
isRenderingMesh: Map<Instance, boolean>;
|
|
2258
|
+
renderDescs: Map<Instance, RenderDesc>;
|
|
2259
|
+
destroyConnections: Map<Instance, Connection>;
|
|
2260
|
+
lookAwayVector: Vec3;
|
|
2261
|
+
lookAwayDistance: number;
|
|
2262
|
+
shadowEnabled: boolean;
|
|
2263
|
+
shadowResolution: [number, number];
|
|
2264
|
+
_wellLitDirectionalLightIntensity: number;
|
|
2265
|
+
set wellLitDirectionalLightIntensity(v: number);
|
|
2266
|
+
get wellLitDirectionalLightIntensity(): number;
|
|
2267
|
+
plane?: THREE.Mesh;
|
|
2268
|
+
shadowPlane?: THREE.Mesh;
|
|
2269
|
+
ambientLight?: THREE.AmbientLight;
|
|
2270
|
+
directionalLight?: THREE.DirectionalLight;
|
|
2271
|
+
directionalLight2?: THREE.DirectionalLight;
|
|
2272
|
+
setRect(bounds: DOMRect): void;
|
|
2273
|
+
noRect(): void;
|
|
2179
2274
|
}
|
|
2180
2275
|
|
|
2181
2276
|
declare class RBXSimpleView {
|
|
@@ -2221,8 +2316,10 @@ export declare const RegularBodyColors: string[];
|
|
|
2221
2316
|
* Abstract class used to describe all rendered instances
|
|
2222
2317
|
*/
|
|
2223
2318
|
declare class RenderDesc extends DisposableDesc {
|
|
2319
|
+
renderScene: RBXRendererScene;
|
|
2224
2320
|
results?: THREE.Mesh[];
|
|
2225
2321
|
instance?: Instance;
|
|
2322
|
+
constructor(renderScene: RBXRendererScene);
|
|
2226
2323
|
isSame(_other: RenderDesc): boolean;
|
|
2227
2324
|
needsRegeneration(_other: RenderDesc): boolean;
|
|
2228
2325
|
fromRenderDesc(other: RenderDesc): void;
|
|
@@ -2610,7 +2707,7 @@ declare type ValidationIssue = {
|
|
|
2610
2707
|
assetIndex?: number;
|
|
2611
2708
|
};
|
|
2612
2709
|
|
|
2613
|
-
declare type ValidationIssueType = "AccessoryLimit" | "LayeredLimit" | "OneOfTypeLimit" | "DuplicateId" | "NotWearable" | "MissingLayeredMeta" | "InvalidAsset";
|
|
2710
|
+
declare type ValidationIssueType = "AccessoryLimit" | "LayeredLimit" | "OneOfTypeLimit" | "DuplicateId" | "NotWearable" | "MissingLayeredMeta" | "InvalidAsset" | "MakeupLimit";
|
|
2614
2711
|
|
|
2615
2712
|
export declare type Vec2 = [number, number];
|
|
2616
2713
|
|
|
@@ -2673,6 +2770,22 @@ export declare type WeightChunk3 = WeightChunk & {
|
|
|
2673
2770
|
weights: Vec3[];
|
|
2674
2771
|
};
|
|
2675
2772
|
|
|
2773
|
+
export declare class WeldWrapper extends InstanceWrapper {
|
|
2774
|
+
static className: string;
|
|
2775
|
+
static requiredProperties: string[];
|
|
2776
|
+
setup(): void;
|
|
2777
|
+
get data(): WeldWrapperData;
|
|
2778
|
+
created(): void;
|
|
2779
|
+
preRender(): void;
|
|
2780
|
+
update(affectedPart?: number): void;
|
|
2781
|
+
}
|
|
2782
|
+
|
|
2783
|
+
declare class WeldWrapperData {
|
|
2784
|
+
part0ChangedConnection?: Connection;
|
|
2785
|
+
lastUpdateTime: number;
|
|
2786
|
+
timeUpdates: number;
|
|
2787
|
+
}
|
|
2788
|
+
|
|
2676
2789
|
export declare const WorkerTypeToFunction: {
|
|
2677
2790
|
[K in string]: Function;
|
|
2678
2791
|
};
|
|
@@ -2685,4 +2798,6 @@ export declare const WrapLayerAutoSkin: {
|
|
|
2685
2798
|
|
|
2686
2799
|
export declare const xmlMagic = "<roblox ";
|
|
2687
2800
|
|
|
2801
|
+
export declare function zoomExtents(cameraCFrame: CFrame, modelCFrame: CFrame, modelSize: Vector3, targetFOV: number, distanceScale: number): void;
|
|
2802
|
+
|
|
2688
2803
|
export { }
|