@sandustry-modding/types 0.1.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.
Files changed (124) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +66 -0
  3. package/global.d.ts +38 -0
  4. package/package.json +44 -0
  5. package/sandkit/api/action.d.ts +28 -0
  6. package/sandkit/api/assets.d.ts +30 -0
  7. package/sandkit/api/authorization.d.ts +54 -0
  8. package/sandkit/api/building.d.ts +92 -0
  9. package/sandkit/api/camera.d.ts +23 -0
  10. package/sandkit/api/collector.d.ts +36 -0
  11. package/sandkit/api/constants.d.ts +21 -0
  12. package/sandkit/api/cooldown.d.ts +26 -0
  13. package/sandkit/api/discoveries.d.ts +18 -0
  14. package/sandkit/api/effects.d.ts +76 -0
  15. package/sandkit/api/elements.d.ts +237 -0
  16. package/sandkit/api/energy.d.ts +70 -0
  17. package/sandkit/api/events.d.ts +53 -0
  18. package/sandkit/api/excavation.d.ts +34 -0
  19. package/sandkit/api/fire.d.ts +26 -0
  20. package/sandkit/api/gameconfig.d.ts +15 -0
  21. package/sandkit/api/grid.d.ts +26 -0
  22. package/sandkit/api/hooks.d.ts +52 -0
  23. package/sandkit/api/i18n.d.ts +101 -0
  24. package/sandkit/api/index.d.ts +66 -0
  25. package/sandkit/api/input.d.ts +119 -0
  26. package/sandkit/api/items.d.ts +60 -0
  27. package/sandkit/api/lights.d.ts +66 -0
  28. package/sandkit/api/maps.d.ts +33 -0
  29. package/sandkit/api/mods.d.ts +18 -0
  30. package/sandkit/api/patterns.d.ts +32 -0
  31. package/sandkit/api/player.d.ts +84 -0
  32. package/sandkit/api/processing.d.ts +66 -0
  33. package/sandkit/api/progression.d.ts +22 -0
  34. package/sandkit/api/projectiles.d.ts +80 -0
  35. package/sandkit/api/random.d.ts +21 -0
  36. package/sandkit/api/raycast.d.ts +19 -0
  37. package/sandkit/api/reactions.d.ts +30 -0
  38. package/sandkit/api/rendering.d.ts +26 -0
  39. package/sandkit/api/resources.d.ts +23 -0
  40. package/sandkit/api/sandkit-api.d.ts +117 -0
  41. package/sandkit/api/scene.d.ts +15 -0
  42. package/sandkit/api/schedule.d.ts +14 -0
  43. package/sandkit/api/settings.d.ts +29 -0
  44. package/sandkit/api/shared.d.ts +27 -0
  45. package/sandkit/api/signals.d.ts +25 -0
  46. package/sandkit/api/sound.d.ts +91 -0
  47. package/sandkit/api/sprites.d.ts +45 -0
  48. package/sandkit/api/storage.d.ts +55 -0
  49. package/sandkit/api/structureBehaviors.d.ts +22 -0
  50. package/sandkit/api/structures.d.ts +320 -0
  51. package/sandkit/api/tech.d.ts +66 -0
  52. package/sandkit/api/terrains.d.ts +125 -0
  53. package/sandkit/api/time.d.ts +13 -0
  54. package/sandkit/api/tools.d.ts +35 -0
  55. package/sandkit/api/triggers.d.ts +24 -0
  56. package/sandkit/api/ui.d.ts +175 -0
  57. package/sandkit/api/upgrades.d.ts +63 -0
  58. package/sandkit/api/utils.d.ts +35 -0
  59. package/sandkit/api/workers.d.ts +14 -0
  60. package/sandkit/api/world.d.ts +107 -0
  61. package/sandkit/engine/api/augments.d.ts +96 -0
  62. package/sandkit/engine/api/auralite.d.ts +21 -0
  63. package/sandkit/engine/api/blueprints.d.ts +47 -0
  64. package/sandkit/engine/api/clipboard.d.ts +46 -0
  65. package/sandkit/engine/api/colorPicker.d.ts +74 -0
  66. package/sandkit/engine/api/coloringTool.d.ts +56 -0
  67. package/sandkit/engine/api/conveyors.d.ts +16 -0
  68. package/sandkit/engine/api/debug.d.ts +16 -0
  69. package/sandkit/engine/api/drones.d.ts +21 -0
  70. package/sandkit/engine/api/entities.d.ts +66 -0
  71. package/sandkit/engine/api/extensions.d.ts +16 -0
  72. package/sandkit/engine/api/factory.d.ts +56 -0
  73. package/sandkit/engine/api/foliage.d.ts +31 -0
  74. package/sandkit/engine/api/foundationColorPicker.d.ts +16 -0
  75. package/sandkit/engine/api/game.d.ts +26 -0
  76. package/sandkit/engine/api/heatTransfer.d.ts +46 -0
  77. package/sandkit/engine/api/index.d.ts +47 -0
  78. package/sandkit/engine/api/launchers.d.ts +16 -0
  79. package/sandkit/engine/api/lightColorPicker.d.ts +16 -0
  80. package/sandkit/engine/api/matters.d.ts +26 -0
  81. package/sandkit/engine/api/misc.d.ts +16 -0
  82. package/sandkit/engine/api/portals.d.ts +16 -0
  83. package/sandkit/engine/api/prefabData.d.ts +36 -0
  84. package/sandkit/engine/api/prefabDecor.d.ts +21 -0
  85. package/sandkit/engine/api/prefabulator.d.ts +21 -0
  86. package/sandkit/engine/api/prismaline.d.ts +26 -0
  87. package/sandkit/engine/api/prismite.d.ts +26 -0
  88. package/sandkit/engine/api/queue.d.ts +41 -0
  89. package/sandkit/engine/api/shadows.d.ts +26 -0
  90. package/sandkit/engine/api/strataform.d.ts +36 -0
  91. package/sandkit/engine/api/swarmConsole.d.ts +71 -0
  92. package/sandkit/engine/api/sweeperDrone.d.ts +16 -0
  93. package/sandkit/engine/api/teleportZones.d.ts +46 -0
  94. package/sandkit/engine/api/tutorialBuild.d.ts +66 -0
  95. package/sandkit/engine/api/usageTracker.d.ts +26 -0
  96. package/sandkit/engine/api/wall.d.ts +31 -0
  97. package/sandkit/engine/api/workerLocal.d.ts +30 -0
  98. package/sandkit/engine/index.d.ts +135 -0
  99. package/sandkit/engine/retro-console.d.ts +52 -0
  100. package/sandkit/engine/state.d.ts +31 -0
  101. package/sandkit/enums/index.d.ts +444 -0
  102. package/sandkit/index.d.ts +47 -0
  103. package/sandkit/react.d.ts +49 -0
  104. package/shared/api/effects.d.ts +76 -0
  105. package/shared/api/elements.d.ts +162 -0
  106. package/shared/api/maps.d.ts +30 -0
  107. package/shared/api/player.d.ts +31 -0
  108. package/shared/api/shared.d.ts +46 -0
  109. package/shared/api/structures.d.ts +138 -0
  110. package/shared/api/terrains.d.ts +100 -0
  111. package/shared/api/ui.d.ts +54 -0
  112. package/shared/api/world.d.ts +71 -0
  113. package/shared/asset.d.ts +14 -0
  114. package/shared/engine.d.ts +17 -0
  115. package/shared/index.d.ts +25 -0
  116. package/shared/jsonvalue.d.ts +30 -0
  117. package/shared/nominal.d.ts +31 -0
  118. package/shared/player.d.ts +173 -0
  119. package/worker/api/elements.d.ts +60 -0
  120. package/worker/api/main.d.ts +16 -0
  121. package/worker/api/shared.d.ts +38 -0
  122. package/worker/api/worker.d.ts +20 -0
  123. package/worker/index.d.ts +29 -0
  124. package/worker/sandkit-api.d.ts +31 -0
@@ -0,0 +1,175 @@
1
+ /**
2
+ * UI overlays, dialogs, tooltips, and controller navigation hooks.
3
+ *
4
+ * Available as `sandkit.api.ui`.
5
+ *
6
+ * @module
7
+ */
8
+ import type { ComponentType, ReactNode, RefObject } from "react";
9
+ import type { ComponentId as ComponentIdEnum } from "../enums/index";
10
+ import { shared } from "../../shared";
11
+ import type { LooseString } from "../../shared/nominal";
12
+
13
+ export namespace ui {
14
+ /** Show a toast message. */
15
+ export import toast = shared.api.ui.toast;
16
+ /** Localized text value for UI strings. */
17
+ export import LocalizedText = shared.api.ui.LocalizedText;
18
+ /** Options for toast display. */
19
+ export import ToastOptions = shared.api.ui.ToastOptions;
20
+
21
+ /**
22
+ * Update a registered UI component by id.
23
+ * @param componentId - Built-in {@link ComponentIdEnum} value or custom string id.
24
+ * @param options - Component-specific update payload.
25
+ */
26
+ export function update(componentId: ComponentId, options?: ComponentUpdateOptions): void;
27
+
28
+ /** Open the pause menu. */
29
+ export function openPauseMenu(): void;
30
+
31
+ /**
32
+ * Show a tooltip with the given data.
33
+ * @param data - Tooltip type and localized content.
34
+ */
35
+ export function showTooltip(data: TooltipData): void;
36
+
37
+ /**
38
+ * Show an alert dialog.
39
+ * @param message - Dialog body text.
40
+ * @param title - Optional dialog title.
41
+ * @returns Promise that resolves when the user dismisses the dialog.
42
+ */
43
+ export function alert(message: LocalizedText, title?: LocalizedText): Promise<void>;
44
+
45
+ /**
46
+ * Show a confirm dialog.
47
+ * @param message - Dialog body text.
48
+ * @param title - Optional dialog title.
49
+ * @returns Promise that resolves with true when confirmed, or false when cancelled.
50
+ */
51
+ export function confirm(message: LocalizedText, title?: LocalizedText): Promise<boolean>;
52
+
53
+ /**
54
+ * Show a prompt dialog.
55
+ * @param message - Dialog body text.
56
+ * @param defaultValue - Initial input value.
57
+ * @param placeholder - Placeholder text in the input field.
58
+ * @param title - Optional dialog title.
59
+ * @param allowCopy - When true, allow copying the result from the dialog.
60
+ * @returns Promise that resolves with entered text, or null when cancelled.
61
+ */
62
+ export function prompt(message: LocalizedText, defaultValue?: string, placeholder?: LocalizedText, title?: LocalizedText, allowCopy?: boolean): Promise<string | null>;
63
+
64
+ /**
65
+ * Mount a React component by id.
66
+ * @param componentId - Overlay slot or custom mount point id.
67
+ * @param component - React component to render.
68
+ * @returns Function that unmounts the injected component.
69
+ */
70
+ export function inject(componentId: ComponentId, component: ComponentType<Record<string, never>>): () => void;
71
+
72
+ /** Overlay slot registration and updates. */
73
+ export namespace overlays {
74
+ /**
75
+ * Register a render function in an overlay slot.
76
+ * @param slot - Slot name (for example `"hotbar"`).
77
+ * @param overlayId - Unique id for this overlay within the slot.
78
+ * @param render - Function that returns React content.
79
+ */
80
+ export function register(slot: OverlaySlot, overlayId: string, render: () => ReactNode): void;
81
+
82
+ /**
83
+ * Remove an overlay from a slot.
84
+ * @param slot - Slot name the overlay was registered in.
85
+ * @param overlayId - Overlay id passed to {@link register}.
86
+ */
87
+ export function unregister(slot: OverlaySlot, overlayId: string): void;
88
+
89
+ /**
90
+ * Request a re-render for all overlays in a slot.
91
+ * @param slot - Slot name to refresh.
92
+ */
93
+ export function update(slot: OverlaySlot): void;
94
+ }
95
+
96
+ /** Controller focus and scope navigation hooks. */
97
+ export namespace navigation {
98
+ /**
99
+ * React hook for a focusable UI element in a scope.
100
+ * @param options - Focus registration and neighbor wiring.
101
+ * @returns Ref, focus state, and a focus helper.
102
+ */
103
+ export function useFocusable<T extends HTMLElement = HTMLDivElement>(options: FocusOptions): Focusable<T>;
104
+
105
+ /**
106
+ * React hook to register a focus scope with back handling.
107
+ * @param options - Scope id, priority, default focus, and back handler.
108
+ */
109
+ export function useFocusScope(options: { readonly id: string; readonly active: boolean; readonly priority?: number; readonly defaultId?: string; readonly onBack?: (() => boolean | void); }): void;
110
+
111
+ /**
112
+ * Return CSS class for controller focus ring state.
113
+ * @param focused - True when the element has controller focus.
114
+ * @returns Class name string for the focus ring.
115
+ */
116
+ export function controllerFocusClass(focused: boolean): string;
117
+ }
118
+
119
+ /**
120
+ * Overlay slot name. Known vanilla slots autocomplete; any string is allowed.
121
+ */
122
+ export type OverlaySlot = LooseString<"hotbar" | "global">;
123
+
124
+ /**
125
+ * Registered UI component id.
126
+ * Built-in {@link ComponentIdEnum} values autocomplete; custom string ids are allowed.
127
+ */
128
+ export type ComponentId = ComponentIdEnum | LooseString<never>;
129
+
130
+ /** Component-specific update payload passed to {@link update}. */
131
+ export type ComponentUpdateOptions = Record<string, unknown>;
132
+
133
+ /** Tooltip payload shown near the cursor or UI target. */
134
+ export type TooltipData = TooltipMessageData;
135
+
136
+ /** Message tooltip with localized body text. */
137
+ export interface TooltipMessageData {
138
+ /** Discriminator for tooltip renderer selection. */
139
+ type: 'message';
140
+ /** Message body as localized text. */
141
+ text: LocalizedText;
142
+ }
143
+
144
+ /** Focusable element state from useFocusable. */
145
+ export interface Focusable<T extends HTMLElement = HTMLDivElement> {
146
+ /** Ref to attach to the focusable element. */
147
+ readonly ref: RefObject<T>;
148
+ /** True when the element has controller focus. */
149
+ readonly focused: boolean;
150
+ /** Move controller focus to this element. */
151
+ readonly focus: () => void;
152
+ }
153
+
154
+ /** Options for useFocusable registration. */
155
+ export interface FocusOptions {
156
+ /** Unique id within the focus scope. */
157
+ readonly id: string;
158
+ /** Focus scope id this element belongs to. */
159
+ readonly scope: string;
160
+ /** Called when the element is activated (A button / Enter). */
161
+ readonly onActivate: (element?: HTMLElement) => void;
162
+ /** Called when the element receives focus. */
163
+ readonly onFocus?: (() => void);
164
+ /** When true, skip this element during navigation. */
165
+ readonly disabled?: boolean;
166
+ /** Optional grid column for spatial navigation. */
167
+ readonly x?: number;
168
+ /** Optional grid row for spatial navigation. */
169
+ readonly y?: number;
170
+ /** Neighbor ids for directional navigation. */
171
+ readonly neighbors?: Partial<Record<'left' | 'right' | 'up' | 'down', string>>;
172
+ /** When true, scroll the element into view on focus. */
173
+ readonly scrollIntoView?: boolean;
174
+ }
175
+ }
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Upgrade categories, definitions, and level queries.
3
+ *
4
+ * Available as `sandkit.api.upgrades`.
5
+ *
6
+ * @module
7
+ */
8
+ export namespace upgrades {
9
+ /**
10
+ * Register an upgrade category.
11
+ * @param definition - Category id and display metadata.
12
+ */
13
+ export function registerCategory(definition: UpgradeCategoryDefinition): void;
14
+ /**
15
+ * Register an upgrade definition.
16
+ * @param definition - Item id, upgrade id, costs, and level metadata.
17
+ */
18
+ export function register(definition: UpgradeDefinition): void;
19
+ /**
20
+ * Patch fields on an existing upgrade definition.
21
+ * @param itemId - Parent item id.
22
+ * @param upgradeId - Upgrade id within the item.
23
+ * @param partial - Fields to merge into the definition.
24
+ */
25
+ export function updateDefinition(itemId: string, upgradeId: string, partial: Partial<UpgradeDefinition>): void;
26
+ /**
27
+ * Return the current purchased level for an upgrade.
28
+ * @param itemId - Parent item id.
29
+ * @param upgradeId - Upgrade id within the item.
30
+ */
31
+ export function getLevelById(itemId: string, upgradeId: string): number;
32
+ /**
33
+ * Return the maximum available level for an upgrade.
34
+ * @param itemId - Parent item id.
35
+ * @param upgradeId - Upgrade id within the item.
36
+ */
37
+ export function getAvailableLevelById(itemId: string, upgradeId: string): number;
38
+
39
+ /** Upgrade definition registered for an item. */
40
+ export interface UpgradeDefinition {
41
+ itemId: string;
42
+ itemNameKey?: string;
43
+ categoryId?: string;
44
+ upgrade: {
45
+ id: string;
46
+ nameKey?: string;
47
+ descriptionKey?: string;
48
+ maxLevel: number;
49
+ costs: number[];
50
+ oneOff?: boolean;
51
+ };
52
+ [key: string]: unknown;
53
+ }
54
+
55
+ /** Upgrade category definition shape. */
56
+ export interface UpgradeCategoryDefinition {
57
+ /** Category identifier referenced by upgrades. */
58
+ id: string;
59
+ /** Display name translation key. */
60
+ nameKey?: string;
61
+ [key: string]: unknown;
62
+ }
63
+ }
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Vector math helpers for world and cell coordinates.
3
+ *
4
+ * Available as `sandkit.api.utils`.
5
+ *
6
+ * @module
7
+ */
8
+ import type { Vector2 } from "../../shared/player";
9
+
10
+ export namespace utils {
11
+ /**
12
+ * Return distance between two points.
13
+ * @param pointA - First point.
14
+ * @param pointB - Second point.
15
+ */
16
+ export function getDistance(pointA: Vector2, pointB: Vector2): number;
17
+ /**
18
+ * Return normalized direction from point A to point B.
19
+ * @param pointA - Origin point.
20
+ * @param pointB - Target point.
21
+ */
22
+ export function getDirection(pointA: Vector2, pointB: Vector2): Vector2;
23
+ /**
24
+ * Return angle in radians from point A to point B.
25
+ * @param pointA - Origin point.
26
+ * @param pointB - Target point.
27
+ */
28
+ export function getAngle(pointA: Vector2, pointB: Vector2): number;
29
+ /**
30
+ * Return grid cells along a line between two points.
31
+ * @param pointA - Line start in cell or world coordinates.
32
+ * @param pointB - Line end in cell or world coordinates.
33
+ */
34
+ export function getCoordinatesBetweenPoints(pointA: Vector2, pointB: Vector2): Vector2[];
35
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Worker thread post-update scheduling control.
3
+ *
4
+ * Available as `sandkit.api.workers`.
5
+ *
6
+ * @module
7
+ */
8
+ export namespace workers {
9
+ /**
10
+ * Enable or disable worker post-update callbacks.
11
+ * @param enabled - When true, workers run post-update hooks each tick.
12
+ */
13
+ export function setPostUpdateEnabled(enabled: boolean): void;
14
+ }
@@ -0,0 +1,107 @@
1
+ /**
2
+ * World cell queries, excavation, fog, redraw, and pickups.
3
+ *
4
+ * Available as `sandkit.api.world`.
5
+ *
6
+ * @module
7
+ */
8
+ import { CellCoordinates } from "../../shared/player";
9
+ import { shared } from "../../shared";
10
+ import type { WorldItemType as WorldItemTypeEnum } from "../enums/index";
11
+
12
+ export namespace world {
13
+
14
+ /** Return cell id at a grid cell. */
15
+ export import getCellIdAtCell = shared.api.world.getCellIdAtCell;
16
+ /** Return true when the cell is empty. */
17
+ export import isCellEmptyAtCell = shared.api.world.isCellEmptyAtCell;
18
+ /** Return true when the cell holds terrain. */
19
+ export import isTerrainAtCell = shared.api.world.isTerrainAtCell;
20
+ /** Mark a cell as active for simulation this tick. */
21
+ export import reportActivityAtCell = shared.api.world.reportActivityAtCell;
22
+ /** Excavate at a cell with output velocity and damage. */
23
+ export import excavateAtCell = shared.api.world.excavateAtCell;
24
+ /** Options for {@link excavateAtCell}. */
25
+ export import ExcavateOptions = shared.api.world.ExcavateOptions;
26
+ /** Packed cell id from {@link getCellIdAtCell}. */
27
+ export import CellId = shared.api.world.CellId;
28
+
29
+ /**
30
+ * Run a callback when simulation is idle.
31
+ * @param callback - Function invoked on the main thread when workers are idle.
32
+ */
33
+ export function runWhenSimulationIdle(callback: () => void): void;
34
+
35
+ /**
36
+ * Reveal fog of war at a cell.
37
+ * @param cellX - Grid column of the target cell.
38
+ * @param cellY - Grid row of the target cell.
39
+ */
40
+ export function revealFogAtCell(...args: CellCoordinates): void;
41
+
42
+ /**
43
+ * Request redraw around a cell when simulation is idle.
44
+ * @param cellX - Grid column of the target cell.
45
+ * @param cellY - Grid row of the target cell.
46
+ * @param range - Radius in cells to redraw.
47
+ */
48
+ export function redrawAroundCellWhenIdle(...args: [...CellCoordinates, range: number]): void;
49
+
50
+ /** World item spawn, pickup, and lookup. */
51
+ export namespace pickups {
52
+ /**
53
+ * Spawn a world pickup at world position.
54
+ * @param type - Pickup type discriminator.
55
+ * @param worldX - World x position in pixels.
56
+ * @param worldY - World y position in pixels.
57
+ * @param data - Optional per-item data bag copied onto the instance.
58
+ * @param light - Optional point light spawned with the pickup.
59
+ * @returns The spawned world item instance.
60
+ */
61
+ export function spawnAtWorld(type: WorldItemType, worldX: number, worldY: number, data?: Record<string, unknown>, light?: WorldItemLight): WorldItem;
62
+
63
+ /**
64
+ * Destroy a world pickup instance.
65
+ * @param worldItem - World item returned from spawn or lookup helpers.
66
+ */
67
+ export function destroy(worldItem: WorldItem): void;
68
+
69
+ /**
70
+ * Pick up a world item into inventory.
71
+ * @param worldItem - World item to pick up.
72
+ * @returns True when the item was collected.
73
+ */
74
+ export function pickUp(worldItem: WorldItem): boolean;
75
+
76
+ /** Return all active world pickups. */
77
+ export function getAll(): WorldItem[];
78
+
79
+ /**
80
+ * Return a world pickup by numeric id.
81
+ * @param worldItemId - Runtime world item id.
82
+ */
83
+ export function getById(worldItemId: number): WorldItem | undefined;
84
+ }
85
+
86
+ /** World pickup type discriminator. */
87
+ export type WorldItemType = WorldItemTypeEnum;
88
+
89
+ /** Optional point light attached when spawning a pickup. */
90
+ export interface WorldItemLight {
91
+ /** Light brightness multiplier. Default 1. */
92
+ brightness?: number;
93
+ /** Light radius in world pixels. Default 100. */
94
+ size?: number;
95
+ /** RGB or RGBA color components in 0–1 range. */
96
+ color?: [number, number, number] | [number, number, number, number];
97
+ }
98
+
99
+ /** Active world pickup instance. */
100
+ export interface WorldItem {
101
+ id: number;
102
+ x: number;
103
+ y: number;
104
+ type: WorldItemType;
105
+ data: Record<string, unknown>;
106
+ }
107
+ }
@@ -0,0 +1,96 @@
1
+ /**
2
+ * `sandkit.engine.api.augments` — player augment levels and unlocked perks.
3
+ *
4
+ * **Internal API.** Prefer {@link sandkit.api} when a public method exists.
5
+ * Methods use loose stubs; signatures may take game state as the first argument.
6
+ * Engine methods pass game state as the first argument (args[0]); remaining entries are method-specific.
7
+ *
8
+ * @internal
9
+ */
10
+ export namespace augments {
11
+ /**
12
+ * Return the current dig augment level.
13
+ * @param args - Game state first, then method-specific arguments.
14
+ */
15
+ export function getDigLevel(...args: unknown[]): unknown;
16
+ /**
17
+ * Return the current gun augment level.
18
+ * @param args - Game state first, then method-specific arguments.
19
+ */
20
+ export function getGunLevel(...args: unknown[]): unknown;
21
+ /**
22
+ * Return the current phase augment level.
23
+ * @param args - Game state first, then method-specific arguments.
24
+ */
25
+ export function getPhaseLevel(...args: unknown[]): unknown;
26
+ /**
27
+ * Return the current rocket ammo augment level.
28
+ * @param args - Game state first, then method-specific arguments.
29
+ */
30
+ export function getRocketAmmoLevel(...args: unknown[]): unknown;
31
+ /**
32
+ * Return the current rocket reload augment level.
33
+ * @param args - Game state first, then method-specific arguments.
34
+ */
35
+ export function getRocketReloadLevel(...args: unknown[]): unknown;
36
+ /**
37
+ * Return the current sprint cap augment level.
38
+ * @param args - Game state first, then method-specific arguments.
39
+ */
40
+ export function getSprintCapLevel(...args: unknown[]): unknown;
41
+ /**
42
+ * Return whether the big-dig augment is unlocked.
43
+ * @param args - Game state first, then method-specific arguments.
44
+ */
45
+ export function hasBigDig(...args: unknown[]): unknown;
46
+ /**
47
+ * Return whether the bullet-speed augment is unlocked.
48
+ * @param args - Game state first, then method-specific arguments.
49
+ */
50
+ export function hasBulletSpeed(...args: unknown[]): unknown;
51
+ /**
52
+ * Return whether the bullet-tracer augment is unlocked.
53
+ * @param args - Game state first, then method-specific arguments.
54
+ */
55
+ export function hasBulletTracer(...args: unknown[]): unknown;
56
+ /**
57
+ * Return whether the kickstart-boost augment is unlocked.
58
+ * @param args - Game state first, then method-specific arguments.
59
+ */
60
+ export function hasKickstartBoost(...args: unknown[]): unknown;
61
+ /**
62
+ * Return whether the phase-dash augment is unlocked.
63
+ * @param args - Game state first, then method-specific arguments.
64
+ */
65
+ export function hasPhaseDash(...args: unknown[]): unknown;
66
+ /**
67
+ * Return whether the phase-dash-charge augment is unlocked.
68
+ * @param args - Game state first, then method-specific arguments.
69
+ */
70
+ export function hasPhaseDashCharge(...args: unknown[]): unknown;
71
+ /**
72
+ * Return whether the ride-boost augment is unlocked.
73
+ * @param args - Game state first, then method-specific arguments.
74
+ */
75
+ export function hasRideBoost(...args: unknown[]): unknown;
76
+ /**
77
+ * Return whether the rocket-damage augment is unlocked.
78
+ * @param args - Game state first, then method-specific arguments.
79
+ */
80
+ export function hasRocketDamage(...args: unknown[]): unknown;
81
+ /**
82
+ * Return whether the rocket-warhead augment is unlocked.
83
+ * @param args - Game state first, then method-specific arguments.
84
+ */
85
+ export function hasRocketWarhead(...args: unknown[]): unknown;
86
+ /**
87
+ * Return whether the sprint-power augment is unlocked.
88
+ * @param args - Game state first, then method-specific arguments.
89
+ */
90
+ export function hasSprintPower(...args: unknown[]): unknown;
91
+ /**
92
+ * Return whether the triple-shot augment is unlocked.
93
+ * @param args - Game state first, then method-specific arguments.
94
+ */
95
+ export function hasTripleShot(...args: unknown[]): unknown;
96
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * `sandkit.engine.api.auralite` — auralite production tracking.
3
+ *
4
+ * **Internal API.** Prefer {@link sandkit.api} when a public method exists.
5
+ * Methods use loose stubs; signatures may take game state as the first argument.
6
+ * Engine methods pass game state as the first argument (args[0]); remaining entries are method-specific.
7
+ *
8
+ * @internal
9
+ */
10
+ export namespace auralite {
11
+ /**
12
+ * Ensure at least the given amount of auralite has been produced.
13
+ * @param args - Game state first, then method-specific arguments.
14
+ */
15
+ export function ensureProducedAtLeast(...args: unknown[]): unknown;
16
+ /**
17
+ * Return total auralite produced so far.
18
+ * @param args - Game state first, then method-specific arguments.
19
+ */
20
+ export function getProduced(...args: unknown[]): unknown;
21
+ }
@@ -0,0 +1,47 @@
1
+ /**
2
+ * `sandkit.engine.api.blueprints` — blueprint save, load, and import/export.
3
+ *
4
+ * **Internal API.** Prefer {@link sandkit.api} when a public method exists.
5
+ * Methods use loose stubs; signatures may take game state as the first argument.
6
+ * Engine methods pass game state as the first argument (args[0]); remaining entries are method-specific.
7
+ *
8
+ * @internal
9
+ */
10
+ export namespace blueprints {
11
+ /**
12
+ * Delete a saved blueprint. Runtime property name is `delete`.
13
+ * @param args - Game state first, then method-specific arguments.
14
+ */
15
+ function _delete(...args: unknown[]): unknown;
16
+ export { _delete as delete };
17
+ /**
18
+ * Export all blueprints as one string.
19
+ * @param args - Game state first, then method-specific arguments.
20
+ */
21
+ export function exportAllString(...args: unknown[]): unknown;
22
+ /**
23
+ * Export one blueprint as a string.
24
+ * @param args - Game state first, then method-specific arguments.
25
+ */
26
+ export function exportString(...args: unknown[]): unknown;
27
+ /**
28
+ * Return all saved blueprints.
29
+ * @param args - Game state first, then method-specific arguments.
30
+ */
31
+ export function getAll(...args: unknown[]): unknown;
32
+ /**
33
+ * Import a blueprint from a string.
34
+ * @param args - Game state first, then method-specific arguments.
35
+ */
36
+ export function importString(...args: unknown[]): unknown;
37
+ /**
38
+ * Load a blueprint into the active session.
39
+ * @param args - Game state first, then method-specific arguments.
40
+ */
41
+ export function load(...args: unknown[]): unknown;
42
+ /**
43
+ * Save the current selection as a blueprint.
44
+ * @param args - Game state first, then method-specific arguments.
45
+ */
46
+ export function save(...args: unknown[]): unknown;
47
+ }
@@ -0,0 +1,46 @@
1
+ /**
2
+ * `sandkit.engine.api.clipboard` — build clipboard copy, paste, and history.
3
+ *
4
+ * **Internal API.** Prefer {@link sandkit.api} when a public method exists.
5
+ * Methods use loose stubs; signatures may take game state as the first argument.
6
+ * Engine methods pass game state as the first argument (args[0]); remaining entries are method-specific.
7
+ *
8
+ * @internal
9
+ */
10
+ export namespace clipboard {
11
+ /**
12
+ * Activate the clipboard tool or mode.
13
+ * @param args - Game state first, then method-specific arguments.
14
+ */
15
+ export function activate(...args: unknown[]): unknown;
16
+ /**
17
+ * Clear the current clipboard contents.
18
+ * @param args - Game state first, then method-specific arguments.
19
+ */
20
+ export function clear(...args: unknown[]): unknown;
21
+ /**
22
+ * Return the current clipboard payload.
23
+ * @param args - Game state first, then method-specific arguments.
24
+ */
25
+ export function get(...args: unknown[]): unknown;
26
+ /**
27
+ * Return clipboard history entries.
28
+ * @param args - Game state first, then method-specific arguments.
29
+ */
30
+ export function getHistory(...args: unknown[]): unknown;
31
+ /**
32
+ * Return signal links stored on the clipboard.
33
+ * @param args - Game state first, then method-specific arguments.
34
+ */
35
+ export function getSignalLinks(...args: unknown[]): unknown;
36
+ /**
37
+ * Restore a clipboard entry from history.
38
+ * @param args - Game state first, then method-specific arguments.
39
+ */
40
+ export function selectFromHistory(...args: unknown[]): unknown;
41
+ /**
42
+ * Set the clipboard payload.
43
+ * @param args - Game state first, then method-specific arguments.
44
+ */
45
+ export function set(...args: unknown[]): unknown;
46
+ }
@@ -0,0 +1,74 @@
1
+ /**
2
+ * `sandkit.engine.api.colorPicker` — structure color palette UI helpers.
3
+ *
4
+ * **Internal API.** Prefer {@link sandkit.api} when a public method exists.
5
+ * Methods use loose stubs; signatures may take game state as the first argument.
6
+ * Engine methods pass game state as the first argument (args[0]); remaining entries are method-specific.
7
+ *
8
+ * @internal
9
+ */
10
+ export namespace colorPicker {
11
+ /** Sentinel value for cycling through predefined colors. */
12
+ export const CYCLE_COLOR: unknown;
13
+ /** Sentinel value for no color selected. */
14
+ export const NO_COLOR: unknown;
15
+ /** List of predefined palette colors. */
16
+ export const PREDEFINED_COLORS: unknown;
17
+ /** Sentinel value for a random palette color. */
18
+ export const RANDOM_COLOR: unknown;
19
+ /**
20
+ * Close the active color palette UI.
21
+ * @param args - Game state first, then method-specific arguments.
22
+ */
23
+ export function closePalette(...args: unknown[]): unknown;
24
+ /**
25
+ * Return the active palette identifier.
26
+ * @param args - Game state first, then method-specific arguments.
27
+ */
28
+ export function getActivePalette(...args: unknown[]): unknown;
29
+ /**
30
+ * Return the next color in the cycle.
31
+ * @param args - Game state first, then method-specific arguments.
32
+ */
33
+ export function getCycleColor(...args: unknown[]): unknown;
34
+ /**
35
+ * Return a random predefined color.
36
+ * @param args - Game state first, then method-specific arguments.
37
+ */
38
+ export function getRandomColor(...args: unknown[]): unknown;
39
+ /**
40
+ * Convert a hex color string to RGBA components.
41
+ * @param args - Game state first, then method-specific arguments.
42
+ */
43
+ export function hexToRgba(...args: unknown[]): unknown;
44
+ /**
45
+ * Render a color-picker button in the UI.
46
+ * @param args - Game state first, then method-specific arguments.
47
+ */
48
+ export function renderColorButton(...args: unknown[]): unknown;
49
+ /**
50
+ * Render a color section in the UI.
51
+ * @param args - Game state first, then method-specific arguments.
52
+ */
53
+ export function renderColorSection(...args: unknown[]): unknown;
54
+ /**
55
+ * Render the full color palette UI.
56
+ * @param args - Game state first, then method-specific arguments.
57
+ */
58
+ export function renderPalette(...args: unknown[]): unknown;
59
+ /**
60
+ * Convert RGBA components to a hex color string.
61
+ * @param args - Game state first, then method-specific arguments.
62
+ */
63
+ export function rgbaToHex(...args: unknown[]): unknown;
64
+ /**
65
+ * Set the active palette identifier.
66
+ * @param args - Game state first, then method-specific arguments.
67
+ */
68
+ export function setActivePalette(...args: unknown[]): unknown;
69
+ /**
70
+ * Open or close the color palette UI.
71
+ * @param args - Game state first, then method-specific arguments.
72
+ */
73
+ export function togglePalette(...args: unknown[]): unknown;
74
+ }