@galfus/transport-browser 0.0.0-stage → 0.31.0-alpha
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 +39 -2
- package/dist/galfus_browser.d.ts +594 -0
- package/dist/galfus_browser.js +4304 -0
- package/dist/galfus_browser_bg.wasm +0 -0
- package/dist/galfus_browser_bg.wasm.d.ts +308 -0
- package/package.json +38 -4
- package/src/index.ts +179 -0
|
Binary file
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
export const memory: WebAssembly.Memory;
|
|
4
|
+
export const galfus_realm_2d_create: (a: number) => number;
|
|
5
|
+
export const galfus_multiverse_unregister_realm: (a: number) => number;
|
|
6
|
+
export const galfus_realm_2d_create_svg: (a: number, b: number, c: number, d: number) => number;
|
|
7
|
+
export const galfus_realm_2d_destroy_svg: (a: number, b: number) => number;
|
|
8
|
+
export const galfus_realm_2d_create_light: (a: number, b: number, c: number, d: number) => number;
|
|
9
|
+
export const galfus_realm_2d_create_camera: (a: number, b: number, c: number, d: number) => number;
|
|
10
|
+
export const galfus_realm_2d_destroy_light: (a: number, b: number) => number;
|
|
11
|
+
export const galfus_realm_3d_destroy_light: (a: number, b: number) => number;
|
|
12
|
+
export const galfus_realm_3d_destroy_model: (a: number, b: number) => number;
|
|
13
|
+
export const galfus_realm_2d_destroy_camera: (a: number, b: number) => number;
|
|
14
|
+
export const galfus_realm_2d_set_svg_source: (a: number, b: number, c: number) => number;
|
|
15
|
+
export const galfus_realm_3d_destroy_camera: (a: number, b: number) => number;
|
|
16
|
+
export const galfus_realm_3d_destroy_portal: (a: number, b: number) => number;
|
|
17
|
+
export const galfus_realm_3d_destroy_geometry: (a: number, b: number) => number;
|
|
18
|
+
export const galfus_realm_3d_destroy_material: (a: number, b: number) => number;
|
|
19
|
+
export const galfus_realm_2d_set_svg_transform: (a: number, b: number, c: number) => number;
|
|
20
|
+
export const galfus_realm_2d_set_light_transform: (a: number, b: number, c: number) => number;
|
|
21
|
+
export const galfus_realm_2d_set_camera_transform: (a: number, b: number, c: number) => number;
|
|
22
|
+
export const galfus_realm_3d_destroy_particle_emitter: (a: number, b: number) => number;
|
|
23
|
+
export const galfus_realm_3d_create: (a: number) => number;
|
|
24
|
+
export const galfus_realm_3d_create_light: (a: number, b: number, c: number, d: number) => number;
|
|
25
|
+
export const galfus_realm_3d_create_model: (a: number, b: number, c: number, d: number) => number;
|
|
26
|
+
export const galfus_realm_3d_update_bones: (a: number, b: number, c: number, d: number) => number;
|
|
27
|
+
export const galfus_realm_3d_create_camera: (a: number, b: number, c: number, d: number) => number;
|
|
28
|
+
export const galfus_realm_3d_create_portal: (a: number, b: number, c: number) => number;
|
|
29
|
+
export const galfus_realm_3d_create_geometry: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number;
|
|
30
|
+
export const galfus_realm_3d_create_material: (a: number, b: number, c: number) => number;
|
|
31
|
+
export const galfus_realm_3d_set_environment: (a: number, b: number) => number;
|
|
32
|
+
export const galfus_realm_3d_set_light_transform: (a: number, b: number, c: number) => number;
|
|
33
|
+
export const galfus_realm_3d_set_model_transform: (a: number, b: number, c: number) => number;
|
|
34
|
+
export const galfus_realm_3d_set_camera_transform: (a: number, b: number, c: number) => number;
|
|
35
|
+
export const galfus_realm_3d_create_particle_emitter: (a: number, b: number, c: number, d: number) => number;
|
|
36
|
+
export const galfus_realm_3d_set_model_morph_weights: (a: number, b: number, c: number, d: number) => number;
|
|
37
|
+
export const galfus_realm_3d_set_geometry_morph_targets: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
38
|
+
export const galfus_realm_3d_set_particle_emitter_transform: (a: number, b: number, c: number) => number;
|
|
39
|
+
export const galfus_realm_3d_set_instanced_model_morph_weights: (a: number, b: number, c: number, d: number) => number;
|
|
40
|
+
export const animationBindPathFollowTarget: (a: number, b: number, c: any) => void;
|
|
41
|
+
export const animationBindTarget: (a: number, b: number, c: any) => void;
|
|
42
|
+
export const animationCreatePathFollow: (a: number, b: number, c: any, d: number) => void;
|
|
43
|
+
export const animationCreateScalarTransition: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
44
|
+
export const animationCreateTransition: (a: number, b: number, c: any, d: number) => void;
|
|
45
|
+
export const animationDestroyPathFollow: (a: number, b: number) => void;
|
|
46
|
+
export const animationDestroyTransition: (a: number, b: number) => void;
|
|
47
|
+
export const animationGetCustomChannel: (a: number, b: number) => void;
|
|
48
|
+
export const animationGetPathFollowState: (a: number, b: number) => void;
|
|
49
|
+
export const animationGetState: (a: number, b: number) => void;
|
|
50
|
+
export const animationGetValue: (a: number, b: number) => void;
|
|
51
|
+
export const animationPumpEvents: (a: number) => void;
|
|
52
|
+
export const animationSetCustomChannel: (a: number, b: number, c: any) => void;
|
|
53
|
+
export const animationStep: (a: number, b: number) => void;
|
|
54
|
+
export const animationTransitionTo: (a: number, b: number, c: any, d: number) => void;
|
|
55
|
+
export const animationTransitionToScalar: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
56
|
+
export const animationTransitionToTransform2d: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
57
|
+
export const animationTransitionToTransform3d: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
58
|
+
export const animationUnbindPathFollowTarget: (a: number, b: number) => void;
|
|
59
|
+
export const audioLoadSound: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
60
|
+
export const audioPauseSound: (a: number, b: number) => void;
|
|
61
|
+
export const audioPlaySound: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
62
|
+
export const audioPlaySoundSpatial: (a: number, b: number, c: any, d: any, e: any) => void;
|
|
63
|
+
export const audioResumeSound: (a: number, b: number) => void;
|
|
64
|
+
export const audioSetPanning: (a: number, b: number, c: number) => void;
|
|
65
|
+
export const galfus_animation_bind_path_follow_target: (a: number, b: number) => number;
|
|
66
|
+
export const galfus_animation_bind_target: (a: number, b: number) => number;
|
|
67
|
+
export const galfus_animation_create_path_follow: (a: number, b: number, c: number) => number;
|
|
68
|
+
export const galfus_animation_create_scalar_transition: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
69
|
+
export const galfus_animation_create_transition: (a: number, b: number, c: number) => number;
|
|
70
|
+
export const galfus_animation_destroy_path_follow: (a: number) => number;
|
|
71
|
+
export const galfus_animation_destroy_transition: (a: number) => number;
|
|
72
|
+
export const galfus_animation_get_custom_channel: (a: number) => number;
|
|
73
|
+
export const galfus_animation_get_path_follow_state: (a: number) => number;
|
|
74
|
+
export const galfus_animation_get_state: (a: number) => number;
|
|
75
|
+
export const galfus_animation_get_value: (a: number) => number;
|
|
76
|
+
export const galfus_animation_pump_events: () => number;
|
|
77
|
+
export const galfus_animation_set_custom_channel: (a: number, b: number) => number;
|
|
78
|
+
export const galfus_animation_step: (a: number) => number;
|
|
79
|
+
export const galfus_animation_transition_to: (a: number, b: number, c: number) => number;
|
|
80
|
+
export const galfus_animation_transition_to_scalar: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
81
|
+
export const galfus_animation_transition_to_transform2d: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
82
|
+
export const galfus_animation_transition_to_transform3d: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
83
|
+
export const galfus_animation_unbind_path_follow_target: (a: number) => number;
|
|
84
|
+
export const galfus_animation_unbind_target: (a: number) => number;
|
|
85
|
+
export const galfus_audio_load_sound: (a: number, b: number, c: number) => number;
|
|
86
|
+
export const galfus_audio_pause_sound: (a: number) => number;
|
|
87
|
+
export const galfus_audio_play_sound: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
88
|
+
export const galfus_audio_play_sound_spatial: (a: number, b: number) => number;
|
|
89
|
+
export const galfus_audio_set_panning: (a: number, b: number) => number;
|
|
90
|
+
export const galfus_audio_update_sound_spatial: (a: number, b: number) => number;
|
|
91
|
+
export const galfus_gamepad_get_connected: () => number;
|
|
92
|
+
export const galfus_gamepad_set_rumble: (a: number, b: number, c: number, d: number) => number;
|
|
93
|
+
export const galfus_get_last_error: () => number;
|
|
94
|
+
export const galfus_multiverse_attach_window: (a: number) => number;
|
|
95
|
+
export const galfus_multiverse_bind_target_texture: (a: number) => number;
|
|
96
|
+
export const galfus_multiverse_create_invocation: (a: number, b: number) => number;
|
|
97
|
+
export const galfus_multiverse_create_target: (a: number, b: number) => number;
|
|
98
|
+
export const galfus_multiverse_destroy_invocation: (a: number) => number;
|
|
99
|
+
export const galfus_multiverse_destroy_target: (a: number) => number;
|
|
100
|
+
export const galfus_multiverse_dispatch: (a: bigint, b: number) => number;
|
|
101
|
+
export const galfus_multiverse_get_anti_aliasing: () => number;
|
|
102
|
+
export const galfus_multiverse_get_target_size: (a: number, b: number, c: number) => number;
|
|
103
|
+
export const galfus_multiverse_register_color_realm: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
104
|
+
export const galfus_multiverse_register_shader: (a: number, b: number) => number;
|
|
105
|
+
export const galfus_multiverse_resolve: () => number;
|
|
106
|
+
export const galfus_multiverse_set_anti_aliasing: (a: number) => number;
|
|
107
|
+
export const galfus_multiverse_set_invocation_camera_slot: (a: number, b: number, c: number) => number;
|
|
108
|
+
export const galfus_multiverse_set_invocation_clear_color: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
109
|
+
export const galfus_multiverse_set_invocation_enabled: (a: number, b: number) => number;
|
|
110
|
+
export const galfus_multiverse_set_invocation_filters: (a: number, b: number) => number;
|
|
111
|
+
export const galfus_multiverse_set_invocation_viewport: (a: number, b: number) => number;
|
|
112
|
+
export const galfus_multiverse_set_invocation_z_index: (a: number, b: number) => number;
|
|
113
|
+
export const galfus_multiverse_unbind_target_texture: (a: number, b: number) => number;
|
|
114
|
+
export const galfus_multiverse_update_window_size: (a: number, b: number, c: number) => number;
|
|
115
|
+
export const galfus_platform_get_capabilities: () => number;
|
|
116
|
+
export const galfus_platform_get_window_size: (a: number, b: number, c: number) => number;
|
|
117
|
+
export const galfus_platform_init: () => number;
|
|
118
|
+
export const galfus_platform_init_headless: () => number;
|
|
119
|
+
export const galfus_platform_pump_events: (a: number) => number;
|
|
120
|
+
export const galfus_platform_release_event_batch: (a: bigint) => number;
|
|
121
|
+
export const galfus_platform_shutdown: () => number;
|
|
122
|
+
export const galfus_realm_2d_create_material: (a: number, b: number, c: number) => number;
|
|
123
|
+
export const galfus_realm_2d_create_particle_emitter: (a: number, b: number, c: number, d: number) => number;
|
|
124
|
+
export const galfus_realm_2d_create_shape: (a: number, b: number, c: number, d: number) => number;
|
|
125
|
+
export const galfus_realm_2d_create_sprite: (a: number, b: number, c: number, d: number) => number;
|
|
126
|
+
export const galfus_realm_2d_destroy_material: (a: number, b: number) => number;
|
|
127
|
+
export const galfus_realm_2d_destroy_particle_emitter: (a: number, b: number) => number;
|
|
128
|
+
export const galfus_realm_2d_destroy_shape: (a: number, b: number) => number;
|
|
129
|
+
export const galfus_realm_2d_destroy_sprite: (a: number, b: number) => number;
|
|
130
|
+
export const galfus_realm_2d_get_camera_transform: (a: number, b: number, c: number) => number;
|
|
131
|
+
export const galfus_realm_2d_get_sprite_transform: (a: number, b: number, c: number) => number;
|
|
132
|
+
export const galfus_realm_2d_get_svg_element_rect: (a: number, b: number, c: number) => number;
|
|
133
|
+
export const galfus_realm_2d_get_svg_text_layout: (a: number, b: number, c: number) => number;
|
|
134
|
+
export const galfus_realm_2d_get_svg_transform: (a: number, b: number, c: number) => number;
|
|
135
|
+
export const galfus_realm_2d_load_font_data: (a: number, b: number, c: number) => number;
|
|
136
|
+
export const galfus_realm_2d_particle_emitter_burst: (a: number, b: number, c: number) => number;
|
|
137
|
+
export const galfus_realm_2d_remove_svg_attribute: (a: number, b: number, c: number, d: number) => number;
|
|
138
|
+
export const galfus_realm_2d_set_particle_emitter_transform: (a: number, b: number, c: number) => number;
|
|
139
|
+
export const galfus_realm_2d_set_shadow_config: (a: number, b: number) => number;
|
|
140
|
+
export const galfus_realm_2d_set_shape_transform: (a: number, b: number, c: number) => number;
|
|
141
|
+
export const galfus_realm_2d_set_sprite_transform: (a: number, b: number, c: number) => number;
|
|
142
|
+
export const galfus_realm_2d_set_svg_attribute: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
143
|
+
export const galfus_realm_2d_set_svg_text: (a: number, b: number, c: number, d: number) => number;
|
|
144
|
+
export const galfus_realm_3d_clear_camera_look_at: (a: number, b: number) => number;
|
|
145
|
+
export const galfus_realm_3d_clear_gizmos: (a: number) => number;
|
|
146
|
+
export const galfus_realm_3d_create_capsule: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
147
|
+
export const galfus_realm_3d_create_cube: (a: number, b: number, c: number) => number;
|
|
148
|
+
export const galfus_realm_3d_create_cylinder: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
149
|
+
export const galfus_realm_3d_create_instanced_model: (a: number, b: number, c: number) => number;
|
|
150
|
+
export const galfus_realm_3d_create_plane: (a: number, b: number, c: number, d: number) => number;
|
|
151
|
+
export const galfus_realm_3d_create_pyramid: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
152
|
+
export const galfus_realm_3d_create_quad: (a: number, b: number, c: number, d: number) => number;
|
|
153
|
+
export const galfus_realm_3d_create_sphere: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
154
|
+
export const galfus_realm_3d_create_torus: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
|
|
155
|
+
export const galfus_realm_3d_destroy_instanced_model: (a: number, b: number) => number;
|
|
156
|
+
export const galfus_realm_3d_draw_aabb: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => number;
|
|
157
|
+
export const galfus_realm_3d_draw_line: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => number;
|
|
158
|
+
export const galfus_realm_3d_get_camera_look_at: (a: number, b: number, c: number) => number;
|
|
159
|
+
export const galfus_realm_3d_get_camera_transform: (a: number, b: number, c: number) => number;
|
|
160
|
+
export const galfus_realm_3d_get_model_aabb: (a: number, b: number, c: number, d: number) => number;
|
|
161
|
+
export const galfus_realm_3d_get_model_transform: (a: number, b: number, c: number) => number;
|
|
162
|
+
export const galfus_realm_3d_particle_emitter_burst: (a: number, b: number, c: number) => number;
|
|
163
|
+
export const galfus_realm_3d_set_camera_look_at: (a: number, b: number, c: number) => number;
|
|
164
|
+
export const galfus_realm_3d_set_instanced_model_data: (a: number, b: number, c: number, d: number) => number;
|
|
165
|
+
export const galfus_realm_3d_set_portal_active: (a: number, b: number, c: number) => number;
|
|
166
|
+
export const galfus_realm_clear: (a: number) => number;
|
|
167
|
+
export const galfus_resource_create_buffer: (a: number, b: number, c: number, d: number) => number;
|
|
168
|
+
export const galfus_resource_create_texture: (a: number, b: number, c: number, d: number) => number;
|
|
169
|
+
export const galfus_resource_dispose_buffer: (a: number) => number;
|
|
170
|
+
export const galfus_resource_dispose_texture: (a: number) => number;
|
|
171
|
+
export const galfus_resource_update_buffer: (a: number, b: bigint, c: number, d: number) => number;
|
|
172
|
+
export const galfus_resource_update_texture: (a: number, b: number, c: number, d: number) => number;
|
|
173
|
+
export const galfus_string_free: (a: number) => void;
|
|
174
|
+
export const galfus_window_close: (a: number) => number;
|
|
175
|
+
export const galfus_window_create: (a: number) => number;
|
|
176
|
+
export const galfus_window_request_input_focus: (a: number) => number;
|
|
177
|
+
export const galfus_window_set_cursor_grab: (a: number, b: number) => number;
|
|
178
|
+
export const galfus_window_set_icon: (a: number, b: number, c: bigint) => number;
|
|
179
|
+
export const galfus_window_set_ime_allowed: (a: number, b: number) => number;
|
|
180
|
+
export const galfus_window_set_ime_cursor_area: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
181
|
+
export const galfus_window_set_tab_capture: (a: number, b: number) => number;
|
|
182
|
+
export const galfus_window_set_title: (a: number, b: number) => number;
|
|
183
|
+
export const audioSetVolume: (a: number, b: number, c: number) => void;
|
|
184
|
+
export const audioStopSound: (a: number, b: number) => void;
|
|
185
|
+
export const audioUnloadSound: (a: number, b: number) => void;
|
|
186
|
+
export const audioUpdateSoundSpatial: (a: number, b: number, c: any, d: any, e: any) => void;
|
|
187
|
+
export const gamepadGetConnected: (a: number) => void;
|
|
188
|
+
export const gamepadSetRumble: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
189
|
+
export const multiverseAttachWindow: (a: number) => any;
|
|
190
|
+
export const multiverseBindTargetTexture: (a: number, b: any) => void;
|
|
191
|
+
export const multiverseCreateInvocation: (a: number, b: number, c: any) => void;
|
|
192
|
+
export const multiverseCreateTarget: (a: number, b: number, c: any) => void;
|
|
193
|
+
export const multiverseDestroyInvocation: (a: number, b: number) => void;
|
|
194
|
+
export const multiverseDestroyTarget: (a: number, b: number) => void;
|
|
195
|
+
export const multiverseDispatch: (a: number, b: number, c: number) => void;
|
|
196
|
+
export const multiverseGetAntiAliasing: (a: number) => void;
|
|
197
|
+
export const multiverseRegisterColorRealm: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
198
|
+
export const multiverseRegisterShader: (a: number, b: number, c: number, d: number) => void;
|
|
199
|
+
export const multiverseResolve: (a: number) => void;
|
|
200
|
+
export const multiverseSetAntiAliasing: (a: number, b: number, c: number) => void;
|
|
201
|
+
export const multiverseSetInvocationCameraSlot: (a: number, b: number, c: number, d: number) => void;
|
|
202
|
+
export const multiverseSetInvocationClearColor: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
203
|
+
export const multiverseSetInvocationEnabled: (a: number, b: number, c: number) => void;
|
|
204
|
+
export const multiverseSetInvocationFilters: (a: number, b: number, c: any) => void;
|
|
205
|
+
export const multiverseSetInvocationViewport: (a: number, b: number, c: any) => void;
|
|
206
|
+
export const multiverseSetInvocationZIndex: (a: number, b: number, c: number) => void;
|
|
207
|
+
export const multiverseUnbindTargetTexture: (a: number, b: number, c: number, d: number) => void;
|
|
208
|
+
export const multiverseUnregisterRealm: (a: number, b: number) => void;
|
|
209
|
+
export const multiverseUpdateWindowSize: (a: number, b: number, c: number, d: number) => void;
|
|
210
|
+
export const platformGetCapabilities: (a: number) => void;
|
|
211
|
+
export const platformInit: (a: number) => void;
|
|
212
|
+
export const platformInitHeadless: (a: number) => void;
|
|
213
|
+
export const platformPumpEvents: (a: number) => void;
|
|
214
|
+
export const platformReleaseEventBatch: (a: number, b: number) => void;
|
|
215
|
+
export const platformShutdown: (a: number) => void;
|
|
216
|
+
export const realm2dCreate: (a: number, b: number) => void;
|
|
217
|
+
export const realm2dCreateCamera: (a: number, b: number, c: number, d: any, e: number) => void;
|
|
218
|
+
export const realm2dCreateLight: (a: number, b: number, c: number, d: any, e: number) => void;
|
|
219
|
+
export const realm2dCreateSvg: (a: number, b: number, c: number, d: any, e: number) => void;
|
|
220
|
+
export const realm2dDestroy: (a: number, b: number) => void;
|
|
221
|
+
export const realm2dDestroyCamera: (a: number, b: number, c: number) => void;
|
|
222
|
+
export const realm2dDestroyLight: (a: number, b: number, c: number) => void;
|
|
223
|
+
export const realm2dDestroySvg: (a: number, b: number, c: number) => void;
|
|
224
|
+
export const realm2dGetSvgElementRect: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
225
|
+
export const realm2dGetSvgTextLayout: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
226
|
+
export const realm2dSetCameraTransform: (a: number, b: number, c: number, d: any) => void;
|
|
227
|
+
export const realm2dSetLightTransform: (a: number, b: number, c: number, d: any) => void;
|
|
228
|
+
export const realm2dSetSvgSource: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
229
|
+
export const realm2dSetSvgTransform: (a: number, b: number, c: number, d: any) => void;
|
|
230
|
+
export const realm3dClearCameraLookAt: (a: number, b: number, c: number) => void;
|
|
231
|
+
export const realm3dCreate: (a: number, b: number) => void;
|
|
232
|
+
export const realm3dCreateCamera: (a: number, b: number, c: number, d: any, e: number) => void;
|
|
233
|
+
export const realm3dCreateCapsule: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
234
|
+
export const realm3dCreateCube: (a: number, b: number, c: number, d: number) => void;
|
|
235
|
+
export const realm3dCreateCylinder: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
236
|
+
export const realm3dCreateGeometry: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number) => void;
|
|
237
|
+
export const realm3dCreateLight: (a: number, b: number, c: number, d: any, e: number) => void;
|
|
238
|
+
export const realm3dCreateMaterial: (a: number, b: number, c: number, d: any) => void;
|
|
239
|
+
export const realm3dCreateModel: (a: number, b: number, c: number, d: any, e: number) => void;
|
|
240
|
+
export const realm3dCreateParticleEmitter: (a: number, b: number, c: number, d: any, e: number) => void;
|
|
241
|
+
export const realm3dCreatePlane: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
242
|
+
export const realm3dCreatePortal: (a: number, b: number, c: number, d: any) => void;
|
|
243
|
+
export const realm3dCreatePyramid: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
244
|
+
export const realm3dCreateQuad: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
245
|
+
export const realm3dCreateSphere: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
246
|
+
export const realm3dCreateTorus: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
247
|
+
export const realm3dDestroy: (a: number, b: number) => void;
|
|
248
|
+
export const realm3dDestroyCamera: (a: number, b: number, c: number) => void;
|
|
249
|
+
export const realm3dDestroyGeometry: (a: number, b: number, c: number) => void;
|
|
250
|
+
export const realm3dDestroyLight: (a: number, b: number, c: number) => void;
|
|
251
|
+
export const realm3dDestroyMaterial: (a: number, b: number, c: number) => void;
|
|
252
|
+
export const realm3dDestroyModel: (a: number, b: number, c: number) => void;
|
|
253
|
+
export const realm3dDestroyParticleEmitter: (a: number, b: number, c: number) => void;
|
|
254
|
+
export const realm3dDestroyPortal: (a: number, b: number, c: number) => void;
|
|
255
|
+
export const realm3dGetCameraLookAt: (a: number, b: number, c: number) => void;
|
|
256
|
+
export const realm3dSetCameraLookAt: (a: number, b: number, c: number, d: any) => void;
|
|
257
|
+
export const realm3dSetCameraTransform: (a: number, b: number, c: number, d: any) => void;
|
|
258
|
+
export const realm3dSetEnvironment: (a: number, b: number, c: any) => void;
|
|
259
|
+
export const realm3dSetGeometryMorphTargets: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => void;
|
|
260
|
+
export const realm3dSetInstancedModelMorphWeights: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
261
|
+
export const realm3dSetLightTransform: (a: number, b: number, c: number, d: any) => void;
|
|
262
|
+
export const realm3dSetModelMorphWeights: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
263
|
+
export const realm3dSetModelTransform: (a: number, b: number, c: number, d: any) => void;
|
|
264
|
+
export const realm3dSetParticleEmitterTransform: (a: number, b: number, c: number, d: any) => void;
|
|
265
|
+
export const realm3dUpdateBones: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
266
|
+
export const resourceCreateBuffer: (a: number, b: number, c: any, d: number, e: number, f: number, g: number) => void;
|
|
267
|
+
export const resourceCreateTexture: (a: number, b: number, c: any, d: number, e: number, f: number, g: number) => void;
|
|
268
|
+
export const resourceDisposeBuffer: (a: number, b: number) => void;
|
|
269
|
+
export const resourceDisposeTexture: (a: number, b: number) => void;
|
|
270
|
+
export const resourceUpdateBuffer: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
271
|
+
export const resourceUpdateTexture: (a: number, b: number, c: any, d: number, e: number, f: number, g: number) => void;
|
|
272
|
+
export const windowClose: (a: number, b: number) => void;
|
|
273
|
+
export const windowCreate: (a: number, b: any) => void;
|
|
274
|
+
export const windowGetSize: (a: number, b: number) => void;
|
|
275
|
+
export const windowRequestInputFocus: (a: number, b: number) => void;
|
|
276
|
+
export const windowSetCursorGrab: (a: number, b: number, c: number) => void;
|
|
277
|
+
export const galfus_audio_set_volume: (a: number, b: number) => number;
|
|
278
|
+
export const galfus_window_set_cursor_icon: (a: number, b: number) => number;
|
|
279
|
+
export const galfus_audio_resume_sound: (a: number) => number;
|
|
280
|
+
export const galfus_audio_stop_sound: (a: number) => number;
|
|
281
|
+
export const galfus_audio_unload_sound: (a: number) => number;
|
|
282
|
+
export const windowSetCursorIcon: (a: number, b: number, c: number) => void;
|
|
283
|
+
export const windowSetIcon: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
284
|
+
export const windowSetImeAllowed: (a: number, b: number, c: number) => void;
|
|
285
|
+
export const windowSetImeCursorArea: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
286
|
+
export const windowSetTabCapture: (a: number, b: number, c: number) => void;
|
|
287
|
+
export const galfus_realm_2d_destroy: (a: number) => number;
|
|
288
|
+
export const galfus_realm_3d_destroy: (a: number) => number;
|
|
289
|
+
export const galfus_realm_destroy: (a: number) => number;
|
|
290
|
+
export const windowSetTitle: (a: number, b: number, c: number, d: number) => void;
|
|
291
|
+
export const __wasm_bindgen_func_elem_3290: (a: number, b: number, c: any, d: any) => void;
|
|
292
|
+
export const __wasm_bindgen_func_elem_729: (a: number, b: number, c: number, d: any) => void;
|
|
293
|
+
export const __wasm_bindgen_func_elem_746: (a: number, b: number, c: any, d: any) => void;
|
|
294
|
+
export const __wasm_bindgen_func_elem_2535: (a: number, b: number, c: any) => void;
|
|
295
|
+
export const __wasm_bindgen_func_elem_3292: (a: number, b: number, c: any) => void;
|
|
296
|
+
export const __wasm_bindgen_func_elem_3292_130: (a: number, b: number, c: any) => void;
|
|
297
|
+
export const __wasm_bindgen_func_elem_3292_131: (a: number, b: number, c: any) => void;
|
|
298
|
+
export const __wasm_bindgen_func_elem_3292_132: (a: number, b: number, c: any) => void;
|
|
299
|
+
export const __wbindgen_export: (a: number, b: number) => number;
|
|
300
|
+
export const __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
|
|
301
|
+
export const __wbindgen_export3: (a: number, b: number, c: number) => void;
|
|
302
|
+
export const __wbindgen_export4: () => number;
|
|
303
|
+
export const __wbindgen_externrefs: WebAssembly.Table;
|
|
304
|
+
export const __wbindgen_export5: (a: number) => void;
|
|
305
|
+
export const __wbindgen_export6: (a: number, b: number) => void;
|
|
306
|
+
export const __wbindgen_add_to_stack_pointer: (a: number) => number;
|
|
307
|
+
export const __wbindgen_export7: (a: number) => void;
|
|
308
|
+
export const __wbindgen_start: () => void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,40 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@galfus/transport-browser",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "0.31.0-alpha",
|
|
4
|
+
"description": "WebAssembly and WebGPU browser transport for Galfus Engine",
|
|
5
|
+
"author": "Renato Rodrigues (morbden) <renato@vulppi.dev>",
|
|
6
|
+
"license": "Apache-2.0",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "https://github.com/galfus-lang/galfus-engine.git",
|
|
10
|
+
"directory": "host/transport-browser"
|
|
11
|
+
},
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/galfus-lang/galfus-engine/issues"
|
|
14
|
+
},
|
|
15
|
+
"homepage": "https://github.com/galfus-lang/galfus-engine#readme",
|
|
16
|
+
"keywords": [
|
|
17
|
+
"galfus",
|
|
18
|
+
"game-engine",
|
|
19
|
+
"transport",
|
|
20
|
+
"browser",
|
|
21
|
+
"webassembly",
|
|
22
|
+
"wasm",
|
|
23
|
+
"webgpu",
|
|
24
|
+
"canvas"
|
|
25
|
+
],
|
|
26
|
+
"type": "module",
|
|
27
|
+
"main": "./src/index.ts",
|
|
28
|
+
"types": "./src/index.ts",
|
|
29
|
+
"files": [
|
|
30
|
+
"src",
|
|
31
|
+
"dist",
|
|
32
|
+
"README.md"
|
|
33
|
+
],
|
|
34
|
+
"exports": {
|
|
35
|
+
".": "./src/index.ts"
|
|
36
|
+
},
|
|
37
|
+
"dependencies": {
|
|
38
|
+
"@galfus/transport-types": "^0.31.0-alpha"
|
|
39
|
+
}
|
|
40
|
+
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import {
|
|
2
|
+
calculateFrameTiming,
|
|
3
|
+
type FrameCallback,
|
|
4
|
+
type GalfusEngine,
|
|
5
|
+
GalfusLoopError,
|
|
6
|
+
type GalfusTransport,
|
|
7
|
+
GalfusTransportError,
|
|
8
|
+
type LoopOptions,
|
|
9
|
+
type TransportInitOptions
|
|
10
|
+
} from '@galfus/transport-types';
|
|
11
|
+
import { GalfusBrowser, type GalfusBrowserWasmModule, initializeGalfusBrowser } from './sdk/galfus';
|
|
12
|
+
|
|
13
|
+
export * from './sdk/galfus';
|
|
14
|
+
|
|
15
|
+
export interface BrowserTransportOptions extends TransportInitOptions {
|
|
16
|
+
wasmModule?: GalfusBrowserWasmModule;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export class BrowserTransport implements GalfusTransport {
|
|
20
|
+
private _engine: GalfusBrowser | null = null;
|
|
21
|
+
private _wasmModule: GalfusBrowserWasmModule | null = null;
|
|
22
|
+
private _isRunning = false;
|
|
23
|
+
private _isInitialized = false;
|
|
24
|
+
private _isDisposed = false;
|
|
25
|
+
private _frameId = 0;
|
|
26
|
+
private _lastTime = 0;
|
|
27
|
+
private _loopGeneration = 0;
|
|
28
|
+
private _rafId: number | null = null;
|
|
29
|
+
private _callback: FrameCallback | null = null;
|
|
30
|
+
|
|
31
|
+
constructor(wasmModule?: GalfusBrowserWasmModule) {
|
|
32
|
+
if (wasmModule) {
|
|
33
|
+
this._wasmModule = wasmModule;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
get engine(): GalfusEngine {
|
|
38
|
+
if (this._isDisposed) {
|
|
39
|
+
throw new GalfusTransportError('Cannot access engine on a disposed BrowserTransport.');
|
|
40
|
+
}
|
|
41
|
+
if (!this._engine) {
|
|
42
|
+
throw new GalfusTransportError(
|
|
43
|
+
'[BrowserTransport] Engine not initialized. Please ensure transport is initialized.'
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
return this._engine;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
get isInitialized(): boolean {
|
|
50
|
+
return this._isInitialized;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
get isDisposed(): boolean {
|
|
54
|
+
return this._isDisposed;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
get isRunning(): boolean {
|
|
58
|
+
return this._isRunning;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
async init(options: BrowserTransportOptions = {}): Promise<void> {
|
|
62
|
+
if (this._isDisposed) {
|
|
63
|
+
throw new GalfusTransportError('Cannot initialize a disposed BrowserTransport.');
|
|
64
|
+
}
|
|
65
|
+
if (this._isInitialized) return;
|
|
66
|
+
|
|
67
|
+
if (options.wasmModule) {
|
|
68
|
+
this._wasmModule = options.wasmModule;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
if (!this._wasmModule) {
|
|
72
|
+
// In web applications, users pass the wasm module or import default
|
|
73
|
+
// @ts-ignore
|
|
74
|
+
const module = await import('../dist/galfus_browser.js');
|
|
75
|
+
this._wasmModule = module;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
this._engine = await initializeGalfusBrowser(this._wasmModule!);
|
|
79
|
+
if (options.headless) {
|
|
80
|
+
this._engine.platformInitHeadless();
|
|
81
|
+
} else {
|
|
82
|
+
this._engine.platformInit();
|
|
83
|
+
}
|
|
84
|
+
this._isInitialized = true;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
dispose(): void {
|
|
88
|
+
if (this._isDisposed) return;
|
|
89
|
+
this.stopLoop();
|
|
90
|
+
this._callback = null;
|
|
91
|
+
if (this._isInitialized && this._engine) {
|
|
92
|
+
try {
|
|
93
|
+
this._engine.platformShutdown();
|
|
94
|
+
} catch {
|
|
95
|
+
// Ignore if already shutdown
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
this._engine = null;
|
|
99
|
+
this._isInitialized = false;
|
|
100
|
+
this._isDisposed = true;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
startLoop(callback: FrameCallback, _options?: LoopOptions): void {
|
|
104
|
+
if (this._isDisposed) {
|
|
105
|
+
throw new GalfusLoopError('Cannot start loop on a disposed BrowserTransport.');
|
|
106
|
+
}
|
|
107
|
+
if (!this._isInitialized) {
|
|
108
|
+
throw new GalfusLoopError('Cannot start loop on an uninitialized BrowserTransport.');
|
|
109
|
+
}
|
|
110
|
+
if (this._isRunning) {
|
|
111
|
+
throw new GalfusLoopError('BrowserTransport loop is already running.');
|
|
112
|
+
}
|
|
113
|
+
if (typeof window === 'undefined' || typeof window.requestAnimationFrame !== 'function') {
|
|
114
|
+
throw new GalfusLoopError(
|
|
115
|
+
'BrowserTransport requires requestAnimationFrame. In headless or non-DOM environments, use a native transport.'
|
|
116
|
+
);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
const currentGen = ++this._loopGeneration;
|
|
120
|
+
this._callback = callback;
|
|
121
|
+
this._isRunning = true;
|
|
122
|
+
this._lastTime = performance.now();
|
|
123
|
+
|
|
124
|
+
const tick = (now: number) => {
|
|
125
|
+
if (!this._isRunning || this._loopGeneration !== currentGen || this._isDisposed) return;
|
|
126
|
+
|
|
127
|
+
const timing = calculateFrameTiming(now, this._lastTime, ++this._frameId);
|
|
128
|
+
this._lastTime = now;
|
|
129
|
+
|
|
130
|
+
try {
|
|
131
|
+
this._callback?.(timing);
|
|
132
|
+
} catch (err) {
|
|
133
|
+
console.error('[BrowserTransport] Unhandled error during frame execution:', err);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
if (
|
|
137
|
+
this._isRunning &&
|
|
138
|
+
this._loopGeneration === currentGen &&
|
|
139
|
+
!this._isDisposed &&
|
|
140
|
+
typeof window !== 'undefined' &&
|
|
141
|
+
typeof window.requestAnimationFrame === 'function'
|
|
142
|
+
) {
|
|
143
|
+
this._rafId = window.requestAnimationFrame(tick);
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
this._rafId = window.requestAnimationFrame(tick);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
stopLoop(): void {
|
|
151
|
+
this._isRunning = false;
|
|
152
|
+
this._loopGeneration++;
|
|
153
|
+
if (this._rafId !== null) {
|
|
154
|
+
if (typeof window !== 'undefined' && typeof window.cancelAnimationFrame === 'function') {
|
|
155
|
+
window.cancelAnimationFrame(this._rafId);
|
|
156
|
+
}
|
|
157
|
+
this._rafId = null;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* Creates and initializes a new GalfusTransport driver instance running via WebAssembly in the browser.
|
|
164
|
+
*/
|
|
165
|
+
export async function createBrowserTransport(
|
|
166
|
+
optionsOrModule?: BrowserTransportOptions | GalfusBrowserWasmModule
|
|
167
|
+
): Promise<GalfusTransport> {
|
|
168
|
+
const isModule =
|
|
169
|
+
optionsOrModule && typeof optionsOrModule === 'object' && 'platformInit' in optionsOrModule;
|
|
170
|
+
const options: BrowserTransportOptions = isModule
|
|
171
|
+
? { wasmModule: optionsOrModule as GalfusBrowserWasmModule }
|
|
172
|
+
: ((optionsOrModule as BrowserTransportOptions) ?? {});
|
|
173
|
+
|
|
174
|
+
const transport = new BrowserTransport(options.wasmModule);
|
|
175
|
+
await transport.init(options);
|
|
176
|
+
return transport;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
export default createBrowserTransport;
|