@ringozz/godot 4.7.2-583 → 4.7.2-592

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.
Files changed (49) hide show
  1. package/README.md +19 -1
  2. package/gen/classes/ArrayOccluder3D.ts +1 -1
  3. package/gen/classes/CPUParticles2D.ts +3 -3
  4. package/gen/classes/CPUParticles3D.ts +3 -3
  5. package/gen/classes/CSGPolygon3D.ts +1 -1
  6. package/gen/classes/CollisionPolygon2D.ts +1 -1
  7. package/gen/classes/CollisionPolygon3D.ts +1 -1
  8. package/gen/classes/ColorPalette.ts +1 -1
  9. package/gen/classes/ConcavePolygonShape2D.ts +1 -1
  10. package/gen/classes/ConcavePolygonShape3D.ts +1 -1
  11. package/gen/classes/ConvexPolygonShape2D.ts +1 -1
  12. package/gen/classes/ConvexPolygonShape3D.ts +1 -1
  13. package/gen/classes/FontVariation.ts +1 -1
  14. package/gen/classes/Gradient.ts +1 -1
  15. package/gen/classes/Line2D.ts +1 -1
  16. package/gen/classes/MultiMesh.ts +4 -4
  17. package/gen/classes/NavigationMesh.ts +1 -1
  18. package/gen/classes/NavigationObstacle2D.ts +1 -1
  19. package/gen/classes/NavigationObstacle3D.ts +1 -1
  20. package/gen/classes/NavigationPathQueryResult2D.ts +1 -1
  21. package/gen/classes/NavigationPathQueryResult3D.ts +1 -1
  22. package/gen/classes/NavigationPolygon.ts +1 -1
  23. package/gen/classes/OccluderPolygon2D.ts +1 -1
  24. package/gen/classes/Polygon2D.ts +3 -3
  25. package/gen/classes/PolygonOccluder3D.ts +1 -1
  26. package/gen/classes/Window.ts +1 -1
  27. package/gen/index.ts +0 -3
  28. package/gen/utility-functions.ts +114 -114
  29. package/gen/value-types/AABB.ts +267 -277
  30. package/gen/value-types/Basis.ts +313 -264
  31. package/gen/value-types/Color.ts +398 -268
  32. package/gen/value-types/Plane.ts +121 -125
  33. package/gen/value-types/Projection.ts +178 -126
  34. package/gen/value-types/Quaternion.ts +180 -179
  35. package/gen/value-types/Rect2.ts +169 -171
  36. package/gen/value-types/Rect2i.ts +148 -150
  37. package/gen/value-types/Transform2D.ts +192 -194
  38. package/gen/value-types/Transform3D.ts +133 -126
  39. package/gen/value-types/Vector2.ts +370 -354
  40. package/gen/value-types/Vector2i.ts +192 -191
  41. package/gen/value-types/Vector3.ts +354 -354
  42. package/gen/value-types/Vector3i.ts +187 -192
  43. package/gen/value-types/Vector4.ts +263 -274
  44. package/gen/value-types/Vector4i.ts +187 -198
  45. package/gen/value-types/index.ts +16 -16
  46. package/package.json +20 -4
  47. package/src/debug.ts +30 -27
  48. package/src/index.ts +0 -2
  49. package/src/runtime.ts +16 -7
package/README.md CHANGED
@@ -50,13 +50,31 @@ await import('./app.ts'); // may now import @ringozz/godot / react-godot freely
50
50
  |---|---|
51
51
  | `@ringozz/godot` | Value types (`Vector3`, `Color`, …), global enums, heap types, utility functions, global constants, `runGodot()`, RAF polyfills |
52
52
  | `@ringozz/godot/ClassName` | Classes, one per module — e.g. `@ringozz/godot/Label`, `@ringozz/godot/Node` |
53
- | `@ringozz/godot/runtime` | Low-level dispatch: `_C`, `_S`, `_get`, `_set`, `_R`, `_G`, `_P`, `getGodot`, `GodotVar` |
53
+ | `@ringozz/godot/runtime` | Low-level dispatch: `_C`, `_S`, `_R`, `_G`, `_P`, `_V`, `toValueType`, `getGodot`, `GodotVar` |
54
54
  | `@ringozz/godot/boot` | Platform boot: `getNativeModule()`; web `preloadGodot()` (awaited before importing the app; no-op on desktop) |
55
55
  | `@ringozz/godot/load` | Async resource loading: `loadResourceAsync` |
56
56
  | `@ringozz/godot/debug` | `initDebug()`, `dumpStr`, `snapshot`, `inspect`, `click`, `find`, `gc` |
57
57
 
58
58
  Class-scoped enums use bare names (import `ProcessMode` from `@ringozz/godot/Node`, not `NodeProcessMode`).
59
59
 
60
+ ### Value types
61
+
62
+ Godot's built-in value types (`Vector3`, `Color`, `Transform3D`, …) are **named tuples** — labeled array aliases, not classes. Import each type module as a namespace and call its math as functions; constructors are `fromXxx` factories:
63
+
64
+ ```ts
65
+ import * as v3 from '@ringozz/godot/Vector3';
66
+ import * as basis from '@ringozz/godot/Basis';
67
+ import type { Vector3 } from '@ringozz/godot/Vector3';
68
+
69
+ const v: Vector3 = [1, 2, 3]; // flat tuple, labels in the type
70
+ const n = v3.normalized(v); // math API per type module
71
+ const b = basis.fromAxisAngle([0, 1, 0], 1.57);
72
+ ```
73
+
74
+ - **Shapes**: flat types are scalar-labeled (`Vector3 = [x: number, y: number, z: number]`, `Color = [r, g, b, a?]`); nested types are row-labeled tuples of the flat alias (`Transform3D = [x, y, z, origin]`, `AABB = [position, size]`). **Wrong-arity arrays fail typecheck**; `Color`'s `a` is the only optional element (alpha defaults 1).
75
+ - **Getters/setters/props** all use the same tuple shapes — `node.position = [1, 2, 3]` reads back `[x, y, z]`; JSX props in `@ringozz/react-godot` accept them too.
76
+ - A plain tuple stored in a **Variant-typed slot** (`setMeta`, a direct `tweenProperty` final value) becomes a generic Godot `Array` — a tuple carries no type. Wrap it with `toValueType(node, 'prop', tuple)` from `@ringozz/godot/runtime` to store the typed value.
77
+
60
78
  ### Async resource loading
61
79
 
62
80
  The engine loads pre-baked native resources (`.scn`, `.ctex`, …) through `ResourceLoader`. On desktop these are real files (`res://` = cwd); on web there is no filesystem, so the asset's bundled files — `.import` sidecars as text and imported products (`.scn`/`.ctex`) as emitted asset paths — are staged into Emscripten's in-memory MEMFS (transient, no IndexedDB, no persistent copy) by the generated asset modules, handing the fetched bytes straight to MEMFS via Godot's own `copyToFS` (`FS.createDataFile` with `canOwn` — zero copy, JS-heap only). On web, `.ctex` files are decoded first: the embedded PNG/WebP blobs go through the browser's `createImageBitmap` and the container is rebuilt as raw RGBA (`DATA_FORMAT_IMAGE`), so no image codec runs in wasm. The source file itself is never fetched.
@@ -23,7 +23,7 @@ export class ArrayOccluder3D extends Occluder3D {
23
23
  * **Note:** The occluder is always updated after setting this value. If creating occluders procedurally, consider using {@link setArrays} instead to avoid updating the occluder twice when it's created.
24
24
  */
25
25
  get vertices(): PackedVector3Array { return _C(this, 7068) as PackedVector3Array; }
26
- set vertices(v: PackedVector3Array | Vector3[]) { _C(this, 13308, v); }
26
+ set vertices(v: PackedVector3Array | (Vector3 | number[])[]) { _C(this, 13308, v); }
27
27
 
28
28
  /**
29
29
  * The occluder's index position. Indices determine which points from the {@link vertices} array should be drawn, and in which order.
@@ -152,19 +152,19 @@ export class CPUParticles2D extends Node2D {
152
152
  * Sets the initial positions to spawn particles when using {@link EMISSION_SHAPE_POINTS} or {@link EMISSION_SHAPE_DIRECTED_POINTS}.
153
153
  */
154
154
  get emissionPoints(): PackedVector2Array { return _C(this, 4628) as PackedVector2Array; }
155
- set emissionPoints(v: PackedVector2Array | Vector2[]) { _C(this, 11245, v); }
155
+ set emissionPoints(v: PackedVector2Array | (Vector2 | number[])[]) { _C(this, 11245, v); }
156
156
 
157
157
  /**
158
158
  * Sets the direction the particles will be emitted in when using {@link EMISSION_SHAPE_DIRECTED_POINTS}.
159
159
  */
160
160
  get emissionNormals(): PackedVector2Array { return _C(this, 4624) as PackedVector2Array; }
161
- set emissionNormals(v: PackedVector2Array | Vector2[]) { _C(this, 11241, v); }
161
+ set emissionNormals(v: PackedVector2Array | (Vector2 | number[])[]) { _C(this, 11241, v); }
162
162
 
163
163
  /**
164
164
  * Sets the {@link Color}s to modulate particles by when using {@link EMISSION_SHAPE_POINTS} or {@link EMISSION_SHAPE_DIRECTED_POINTS}.
165
165
  */
166
166
  get emissionColors(): PackedColorArray { return _C(this, 4618) as PackedColorArray; }
167
- set emissionColors(v: PackedColorArray | Color[]) { _C(this, 11235, v); }
167
+ set emissionColors(v: PackedColorArray | (Color | number[])[]) { _C(this, 11235, v); }
168
168
 
169
169
  /**
170
170
  * The ring's inner radius if {@link emissionShape} is set to {@link EMISSION_SHAPE_RING}.
@@ -164,20 +164,20 @@ export class CPUParticles3D extends GeometryInstance3D {
164
164
  * Sets the initial positions to spawn particles when using {@link EMISSION_SHAPE_POINTS} or {@link EMISSION_SHAPE_DIRECTED_POINTS}.
165
165
  */
166
166
  get emissionPoints(): PackedVector3Array { return _C(this, 4628) as PackedVector3Array; }
167
- set emissionPoints(v: PackedVector3Array | Vector3[]) { _C(this, 11245, v); }
167
+ set emissionPoints(v: PackedVector3Array | (Vector3 | number[])[]) { _C(this, 11245, v); }
168
168
 
169
169
  /**
170
170
  * Sets the direction the particles will be emitted in when using {@link EMISSION_SHAPE_DIRECTED_POINTS}.
171
171
  */
172
172
  get emissionNormals(): PackedVector3Array { return _C(this, 4624) as PackedVector3Array; }
173
- set emissionNormals(v: PackedVector3Array | Vector3[]) { _C(this, 11241, v); }
173
+ set emissionNormals(v: PackedVector3Array | (Vector3 | number[])[]) { _C(this, 11241, v); }
174
174
 
175
175
  /**
176
176
  * Sets the {@link Color}s to modulate particles by when using {@link EMISSION_SHAPE_POINTS} or {@link EMISSION_SHAPE_DIRECTED_POINTS}.
177
177
  * **Note:** {@link emissionColors} multiplies the particle mesh's vertex colors. To have a visible effect on a {@link BaseMaterial3D}, {@link BaseMaterial3D.vertexColorUseAsAlbedo} *must* be `true`. For a {@link ShaderMaterial}, `ALBEDO *= COLOR.rgb;` must be inserted in the shader's `fragment()` function. Otherwise, {@link emissionColors} will have no visible effect.
178
178
  */
179
179
  get emissionColors(): PackedColorArray { return _C(this, 4618) as PackedColorArray; }
180
- set emissionColors(v: PackedColorArray | Color[]) { _C(this, 11235, v); }
180
+ set emissionColors(v: PackedColorArray | (Color | number[])[]) { _C(this, 11235, v); }
181
181
 
182
182
  /**
183
183
  * The axis of the ring when using the emitter {@link EMISSION_SHAPE_RING}.
@@ -19,7 +19,7 @@ export class CSGPolygon3D extends CSGPrimitive3D {
19
19
  * **Note:** If only 1 or 2 points are defined in {@link polygon}, no mesh will be generated.
20
20
  */
21
21
  get polygon(): PackedVector2Array { return _C(this, 5962) as PackedVector2Array; }
22
- set polygon(v: PackedVector2Array | Vector2[]) { _C(this, 12373, v); }
22
+ set polygon(v: PackedVector2Array | (Vector2 | number[])[]) { _C(this, 12373, v); }
23
23
 
24
24
  /**
25
25
  * The {@link mode} used to extrude the {@link polygon}.
@@ -24,7 +24,7 @@ export class CollisionPolygon2D extends Node2D {
24
24
  * **Note:** The returned vertices are in the local coordinate space of the given {@link CollisionPolygon2D}.
25
25
  */
26
26
  get polygon(): PackedVector2Array { return _C(this, 5962) as PackedVector2Array; }
27
- set polygon(v: PackedVector2Array | Vector2[]) { _C(this, 12373, v); }
27
+ set polygon(v: PackedVector2Array | (Vector2 | number[])[]) { _C(this, 12373, v); }
28
28
 
29
29
  /**
30
30
  * If `true`, no collisions will be detected. This property should be changed with {@link Object.setDeferred}.
@@ -29,7 +29,7 @@ export class CollisionPolygon3D extends Node3D {
29
29
  * Array of vertices which define the 2D polygon in the local XY plane.
30
30
  */
31
31
  get polygon(): PackedVector2Array { return _C(this, 5962) as PackedVector2Array; }
32
- set polygon(v: PackedVector2Array | Vector2[]) { _C(this, 12373, v); }
32
+ set polygon(v: PackedVector2Array | (Vector2 | number[])[]) { _C(this, 12373, v); }
33
33
 
34
34
  /**
35
35
  * The collision margin for the generated {@link Shape3D}. See {@link Shape3D.margin} for more details.
@@ -16,7 +16,7 @@ export class ColorPalette extends Resource {
16
16
  * A {@link PackedColorArray} containing the colors in the palette.
17
17
  */
18
18
  get colors(): PackedColorArray { return _C(this, 4232) as PackedColorArray; }
19
- set colors(v: PackedColorArray | Color[]) { _C(this, 10914, v); }
19
+ set colors(v: PackedColorArray | (Color | number[])[]) { _C(this, 10914, v); }
20
20
 
21
21
  static readonly name = _R(208, ColorPalette);
22
22
  }
@@ -20,7 +20,7 @@ export class ConcavePolygonShape2D extends Shape2D {
20
20
  * The array of points that make up the {@link ConcavePolygonShape2D}'s line segments. The array (of length divisible by two) is naturally divided into pairs (one pair for each segment); each pair consists of the starting point of a segment and the endpoint of a segment.
21
21
  */
22
22
  get segments(): PackedVector2Array { return _C(this, 6318) as PackedVector2Array; }
23
- set segments(v: PackedVector2Array | Vector2[]) { _C(this, 12683, v); }
23
+ set segments(v: PackedVector2Array | (Vector2 | number[])[]) { _C(this, 12683, v); }
24
24
 
25
25
  static readonly name = _R(220, ConcavePolygonShape2D);
26
26
  }
@@ -17,7 +17,7 @@ export class ConcavePolygonShape3D extends Shape3D {
17
17
  constructor(name = 221) { super(name); }
18
18
 
19
19
  get data(): PackedVector3Array { return _C(this, 4736) as PackedVector3Array; }
20
- set data(v: PackedVector3Array | Vector3[]) { _C(this, 11352, v); }
20
+ set data(v: PackedVector3Array | (Vector3 | number[])[]) { _C(this, 11352, v); }
21
21
 
22
22
  /**
23
23
  * If set to `true`, collisions occur on both sides of the concave shape faces. Otherwise they occur only along the face normals.
@@ -25,7 +25,7 @@ export class ConvexPolygonShape2D extends Shape2D {
25
25
  * **Warning:** Only set this property to a list of points that actually form a convex hull. Use {@link setPointCloud} to generate the convex hull of an arbitrary set of points.
26
26
  */
27
27
  get points(): PackedVector2Array { return _C(this, 5958) as PackedVector2Array; }
28
- set points(v: PackedVector2Array | Vector2[]) { _C(this, 12369, v); }
28
+ set points(v: PackedVector2Array | (Vector2 | number[])[]) { _C(this, 12369, v); }
29
29
 
30
30
  static readonly name = _R(228, ConvexPolygonShape2D);
31
31
  }
@@ -19,7 +19,7 @@ export class ConvexPolygonShape3D extends Shape3D {
19
19
  * The list of 3D points forming the convex polygon shape.
20
20
  */
21
21
  get points(): PackedVector3Array { return _C(this, 5958) as PackedVector3Array; }
22
- set points(v: PackedVector3Array | Vector3[]) { _C(this, 12369, v); }
22
+ set points(v: PackedVector3Array | (Vector3 | number[])[]) { _C(this, 12369, v); }
23
23
 
24
24
  static readonly name = _R(229, ConvexPolygonShape3D);
25
25
  }
@@ -117,7 +117,7 @@ export class FontVariation extends Font {
117
117
  * An array of colors to override predefined palette. Use `Color(0, 0, 0, 0)`, to keep predefined palette color at specific position.
118
118
  */
119
119
  get paletteCustomColors(): PackedColorArray { return _C(this, 5797) as PackedColorArray; }
120
- set paletteCustomColors(v: PackedColorArray | Color[]) { _C(this, 12238, v); }
120
+ set paletteCustomColors(v: PackedColorArray | (Color | number[])[]) { _C(this, 12238, v); }
121
121
 
122
122
  static readonly name = _R(274, FontVariation);
123
123
  }
@@ -84,7 +84,7 @@ export class Gradient extends Resource {
84
84
  * **Note:** Setting this property updates all colors at once. To update any color individually use {@link setColor}.
85
85
  */
86
86
  get colors(): PackedColorArray { return _C(this, 4232) as PackedColorArray; }
87
- set colors(v: PackedColorArray | Color[]) { _C(this, 10914, v); }
87
+ set colors(v: PackedColorArray | (Color | number[])[]) { _C(this, 10914, v); }
88
88
 
89
89
  static readonly name = _R(314, Gradient);
90
90
  }
@@ -52,7 +52,7 @@ export class Line2D extends Node2D {
52
52
  * The points of the polyline, interpreted in local 2D coordinates. Segments are drawn between the adjacent points in this array.
53
53
  */
54
54
  get points(): PackedVector2Array { return _C(this, 5958) as PackedVector2Array; }
55
- set points(v: PackedVector2Array | Vector2[]) { _C(this, 12369, v); }
55
+ set points(v: PackedVector2Array | (Vector2 | number[])[]) { _C(this, 12369, v); }
56
56
 
57
57
  /**
58
58
  * If `true` and the polyline has more than 2 points, the last point and the first one will be connected by a segment.
@@ -138,25 +138,25 @@ export class MultiMesh extends Resource {
138
138
  * Array containing each {@link Transform3D} value used by all instances of this mesh, as a {@link PackedVector3Array}. Each transform is divided into 4 {@link Vector3} values corresponding to the transforms' `x`, `y`, `z`, and `origin`.
139
139
  */
140
140
  get transformArray(): PackedVector3Array { return _C(this, 1014) as PackedVector3Array; }
141
- set transformArray(v: PackedVector3Array | Vector3[]) { _C(this, 1045, v); }
141
+ set transformArray(v: PackedVector3Array | (Vector3 | number[])[]) { _C(this, 1045, v); }
142
142
 
143
143
  /**
144
144
  * Array containing each {@link Transform2D} value used by all instances of this mesh, as a {@link PackedVector2Array}. Each transform is divided into 3 {@link Vector2} values corresponding to the transforms' `x`, `y`, and `origin`.
145
145
  */
146
146
  get transform2dArray(): PackedVector2Array { return _C(this, 1013) as PackedVector2Array; }
147
- set transform2dArray(v: PackedVector2Array | Vector2[]) { _C(this, 1044, v); }
147
+ set transform2dArray(v: PackedVector2Array | (Vector2 | number[])[]) { _C(this, 1044, v); }
148
148
 
149
149
  /**
150
150
  * Array containing each {@link Color} used by all instances of this mesh.
151
151
  */
152
152
  get colorArray(): PackedColorArray { return _C(this, 997) as PackedColorArray; }
153
- set colorArray(v: PackedColorArray | Color[]) { _C(this, 1023, v); }
153
+ set colorArray(v: PackedColorArray | (Color | number[])[]) { _C(this, 1023, v); }
154
154
 
155
155
  /**
156
156
  * Array containing each custom data value used by all instances of this mesh, as a {@link PackedColorArray}.
157
157
  */
158
158
  get customDataArray(): PackedColorArray { return _C(this, 999) as PackedColorArray; }
159
- set customDataArray(v: PackedColorArray | Color[]) { _C(this, 1025, v); }
159
+ set customDataArray(v: PackedColorArray | (Color | number[])[]) { _C(this, 1025, v); }
160
160
 
161
161
  /**
162
162
  * Choose whether to use an interpolation method that favors speed or quality.
@@ -55,7 +55,7 @@ export class NavigationMesh extends Resource {
55
55
  clear(): void { _C(this, 2232); }
56
56
 
57
57
  get vertices(): PackedVector3Array { return _C(this, 7068) as PackedVector3Array; }
58
- set vertices(v: PackedVector3Array | Vector3[]) { _C(this, 13308, v); }
58
+ set vertices(v: PackedVector3Array | (Vector3 | number[])[]) { _C(this, 13308, v); }
59
59
 
60
60
  get polygons(): GodotArray { return _C(this, 1009) as GodotArray; }
61
61
  set polygons(v: GodotArray | unknown[]) { _C(this, 1037, v); }
@@ -49,7 +49,7 @@ export class NavigationObstacle2D extends Node2D {
49
49
  * The outline vertices of the obstacle. If the vertices are winded in clockwise order agents will be pushed in by the obstacle, else they will be pushed out. Outlines can not be crossed or overlap. Should the vertices using obstacle be warped to a new position agent's can not predict this movement and may get trapped inside the obstacle.
50
50
  */
51
51
  get vertices(): PackedVector2Array { return _C(this, 7068) as PackedVector2Array; }
52
- set vertices(v: PackedVector2Array | Vector2[]) { _C(this, 13308, v); }
52
+ set vertices(v: PackedVector2Array | (Vector2 | number[])[]) { _C(this, 13308, v); }
53
53
 
54
54
  /**
55
55
  * If enabled and parsed in a navigation mesh baking process the obstacle will discard source geometry inside its {@link vertices} defined shape.
@@ -55,7 +55,7 @@ export class NavigationObstacle3D extends Node3D {
55
55
  * The outline vertices of the obstacle. If the vertices are winded in clockwise order agents will be pushed in by the obstacle, else they will be pushed out. Outlines can not be crossed or overlap. Should the vertices using obstacle be warped to a new position agent's can not predict this movement and may get trapped inside the obstacle.
56
56
  */
57
57
  get vertices(): PackedVector3Array { return _C(this, 7068) as PackedVector3Array; }
58
- set vertices(v: PackedVector3Array | Vector3[]) { _C(this, 13308, v); }
58
+ set vertices(v: PackedVector3Array | (Vector3 | number[])[]) { _C(this, 13308, v); }
59
59
 
60
60
  /**
61
61
  * If enabled and parsed in a navigation mesh baking process the obstacle will discard source geometry inside its {@link vertices} and {@link height} defined shape.
@@ -21,7 +21,7 @@ export class NavigationPathQueryResult2D extends RefCounted {
21
21
  * The resulting path array from the navigation query. All path array positions are in global coordinates. Without customized query parameters this is the same path as returned by {@link NavigationServer2D.mapGetPath}.
22
22
  */
23
23
  get path(): PackedVector2Array { return _C(this, 5840) as PackedVector2Array; }
24
- set path(v: PackedVector2Array | Vector2[]) { _C(this, 12271, v); }
24
+ set path(v: PackedVector2Array | (Vector2 | number[])[]) { _C(this, 12271, v); }
25
25
 
26
26
  /**
27
27
  * The type of navigation primitive (region or link) that each point of the path goes through.
@@ -21,7 +21,7 @@ export class NavigationPathQueryResult3D extends RefCounted {
21
21
  * The resulting path array from the navigation query. All path array positions are in global coordinates. Without customized query parameters this is the same path as returned by {@link NavigationServer3D.mapGetPath}.
22
22
  */
23
23
  get path(): PackedVector3Array { return _C(this, 5840) as PackedVector3Array; }
24
- set path(v: PackedVector3Array | Vector3[]) { _C(this, 12271, v); }
24
+ set path(v: PackedVector3Array | (Vector3 | number[])[]) { _C(this, 12271, v); }
25
25
 
26
26
  /**
27
27
  * The type of navigation primitive (region or link) that each point of the path goes through.
@@ -122,7 +122,7 @@ export class NavigationPolygon extends Resource {
122
122
  clear(): void { _C(this, 2232); }
123
123
 
124
124
  get vertices(): PackedVector2Array { return _C(this, 7068) as PackedVector2Array; }
125
- set vertices(v: PackedVector2Array | Vector2[]) { _C(this, 13308, v); }
125
+ set vertices(v: PackedVector2Array | (Vector2 | number[])[]) { _C(this, 13308, v); }
126
126
 
127
127
  get polygons(): GodotArray { return _C(this, 1009) as GodotArray; }
128
128
  set polygons(v: GodotArray | unknown[]) { _C(this, 1037, v); }
@@ -28,7 +28,7 @@ export class OccluderPolygon2D extends Resource {
28
28
  * A {@link Vector2} array with the index for polygon's vertices positions.
29
29
  */
30
30
  get polygon(): PackedVector2Array { return _C(this, 5962) as PackedVector2Array; }
31
- set polygon(v: PackedVector2Array | Vector2[]) { _C(this, 12373, v); }
31
+ set polygon(v: PackedVector2Array | (Vector2 | number[])[]) { _C(this, 12373, v); }
32
32
 
33
33
  static readonly name = _R(467, OccluderPolygon2D);
34
34
  }
@@ -117,19 +117,19 @@ export class Polygon2D extends Node2D {
117
117
  * The polygon's list of vertices. The final point will be connected to the first.
118
118
  */
119
119
  get polygon(): PackedVector2Array { return _C(this, 5962) as PackedVector2Array; }
120
- set polygon(v: PackedVector2Array | Vector2[]) { _C(this, 12373, v); }
120
+ set polygon(v: PackedVector2Array | (Vector2 | number[])[]) { _C(this, 12373, v); }
121
121
 
122
122
  /**
123
123
  * Texture coordinates for each vertex of the polygon. There should be one UV value per polygon vertex. If there are fewer, undefined vertices will use `Vector2(0, 0)`.
124
124
  */
125
125
  get uv(): PackedVector2Array { return _C(this, 7002) as PackedVector2Array; }
126
- set uv(v: PackedVector2Array | Vector2[]) { _C(this, 13251, v); }
126
+ set uv(v: PackedVector2Array | (Vector2 | number[])[]) { _C(this, 13251, v); }
127
127
 
128
128
  /**
129
129
  * Color for each vertex. Colors are interpolated between vertices, resulting in smooth gradients. There should be one per polygon vertex. If there are fewer, undefined vertices will use {@link color}.
130
130
  */
131
131
  get vertexColors(): PackedColorArray { return _C(this, 7050) as PackedColorArray; }
132
- set vertexColors(v: PackedColorArray | Color[]) { _C(this, 13291, v); }
132
+ set vertexColors(v: PackedColorArray | (Color | number[])[]) { _C(this, 13291, v); }
133
133
 
134
134
  /**
135
135
  * The list of polygons, in case more than one is being represented. Every individual polygon is stored as a {@link PackedInt32Array} where each {@link int} is an index to a point in {@link polygon}. If empty, this property will be ignored, and the resulting single polygon will be composed of all points in {@link polygon}, using the order they are stored in.
@@ -18,7 +18,7 @@ export class PolygonOccluder3D extends Occluder3D {
18
18
  * The polygon must *not* have intersecting lines. Otherwise, triangulation will fail (with an error message printed).
19
19
  */
20
20
  get polygon(): PackedVector2Array { return _C(this, 5962) as PackedVector2Array; }
21
- set polygon(v: PackedVector2Array | Vector2[]) { _C(this, 12373, v); }
21
+ set polygon(v: PackedVector2Array | (Vector2 | number[])[]) { _C(this, 12373, v); }
22
22
 
23
23
  static readonly name = _R(601, PolygonOccluder3D);
24
24
  }
@@ -542,7 +542,7 @@ export class Window extends Viewport {
542
542
  * **Note:** This property is implemented on Linux (X11), macOS and Windows.
543
543
  */
544
544
  get mousePassthroughPolygon(): PackedVector2Array { return _C(this, 5590) as PackedVector2Array; }
545
- set mousePassthroughPolygon(v: PackedVector2Array | Vector2[]) { _C(this, 12096, v); }
545
+ set mousePassthroughPolygon(v: PackedVector2Array | (Vector2 | number[])[]) { _C(this, 12096, v); }
546
546
 
547
547
  /**
548
548
  * If `true`, the window is visible.
package/gen/index.ts CHANGED
@@ -6,6 +6,3 @@ export * from './global-enums.ts';
6
6
  export * from './heap-types/index.ts';
7
7
  export * from './utility-functions.ts';
8
8
  export * from './global-constants.ts';
9
-
10
- type VT = typeof import('./value-types/index.ts');
11
- export type ValueTypes = InstanceType<{ [K in keyof VT]: VT[K] extends new (...args: never) => unknown ? VT[K] : never }[keyof VT]>;