Fix typedefs

This commit is contained in:
2026-06-06 19:06:52 -05:00
parent 9edb2aa0c1
commit 47a6f396fa
5 changed files with 51 additions and 68 deletions
+2 -25
View File
@@ -5,20 +5,12 @@
* https://opensource.org/licenses/MIT
*/
/** Fields shared by every renderable type. */
/** A Renderable component. Returned by `entity.add(Component.RENDERABLE)`. */
interface Renderable extends Component {
/** Current render type — one of the `Renderable.*` type constants. */
type: number;
/** Render priority. 0 = auto. Higher = drawn later. */
priority: number;
toString(): string;
}
/**
* Renderable in `SHADER_MATERIAL` mode (default after `entity.add`).
* Renders a mesh with the unlit shader.
*/
interface RenderableMaterial extends Renderable {
/**
* Unlit material color. Reading returns a fresh `Color` copy; assigning
* a `Color` instance writes through to the C material.
@@ -28,22 +20,12 @@ interface RenderableMaterial extends Renderable {
* r.color = new Color(255, 128, 0);
*/
color: Color;
}
/**
* Renderable in `SPRITEBATCH` mode.
*
* Set `texture` to activate spritebatch rendering (also switches `type`
* to `Renderable.SPRITEBATCH` automatically).
*/
interface RenderableSpritebatch extends Renderable {
/**
* The bound texture. Assigning a `Texture` switches the renderable to
* `SPRITEBATCH` mode and pins the object against GC. Reading returns the
* same `Texture` instance that was assigned, or `undefined` if none.
*/
texture: Texture | undefined;
/**
* Sprite list. Reading returns a JS array of 10-element sub-arrays
* `[x1,y1,z1, x2,y2,z2, u1,v1, u2,v2]` — one per sprite.
@@ -57,14 +39,9 @@ interface RenderableSpritebatch extends Renderable {
* r.sprites = []; // clear
*/
sprites: number[][];
toString(): string;
}
/**
* Renderable in `CUSTOM` mode.
* Draw logic is provided by a C callback set via `entityRenderableSetDraw`.
*/
interface RenderableCustom extends Renderable {}
interface RenderableConstructor {
readonly SHADER_MATERIAL: number;
readonly SPRITEBATCH: number;