diff --git a/spine-flutter/CHANGELOG.md b/spine-flutter/CHANGELOG.md index cfaa2bb3e..267a5711b 100644 --- a/spine-flutter/CHANGELOG.md +++ b/spine-flutter/CHANGELOG.md @@ -1,3 +1,6 @@ +# 4.2.34 +- Support latest emscripten SDK (4.0.6+) via update of web_ffi + # 4.2.33 - Merge fixes in spine-cpp(-lite) - Prepare for upcoming Dart/Flutter releases, see https://github.com/EsotericSoftware/spine-runtimes/pull/2690 diff --git a/spine-flutter/compile-wasm.sh b/spine-flutter/compile-wasm.sh index 9739a9ab8..e9e220c4f 100755 --- a/spine-flutter/compile-wasm.sh +++ b/spine-flutter/compile-wasm.sh @@ -12,6 +12,7 @@ em++ \ -Isrc/spine-cpp/include \ -O2 --closure 1 -fno-rtti -fno-exceptions \ -s STRICT=1 \ + -s EXPORTED_RUNTIME_METHODS=wasmExports \ -s ERROR_ON_UNDEFINED_SYMBOLS=1 \ -s MODULARIZE=1 \ -s ALLOW_MEMORY_GROWTH=1 \ diff --git a/spine-flutter/example/pubspec.lock b/spine-flutter/example/pubspec.lock index 6410eeb03..92e911f25 100644 --- a/spine-flutter/example/pubspec.lock +++ b/spine-flutter/example/pubspec.lock @@ -169,7 +169,7 @@ packages: path: ".." relative: true source: path - version: "4.2.29" + version: "4.2.34" string_scanner: dependency: transitive description: @@ -206,10 +206,10 @@ packages: dependency: transitive description: name: web_ffi_fork - sha256: "7466228b7fc6a29ee1b5f6ab7ee2473847367a70fb523eb1a7c1d7a6a9841589" + sha256: "557b3008bb3c8547ee63eac6e53c0ebebb443da9d7558b3f1b98e1ed59989a11" url: "https://pub.dev" source: hosted - version: "0.7.4" + version: "0.7.5" sdks: dart: ">=3.3.0-0 <4.0.0" flutter: ">=3.16.0" diff --git a/spine-flutter/lib/assets/libspine_flutter.js b/spine-flutter/lib/assets/libspine_flutter.js index a52ced31d..179af7fc3 100644 --- a/spine-flutter/lib/assets/libspine_flutter.js +++ b/spine-flutter/lib/assets/libspine_flutter.js @@ -17,20 +17,21 @@ a.setValue=function(c,d,e="i8"){e.endsWith("*")&&(e="*");switch(e){case "i1":z[c var O=(c,d=0,e=NaN)=>{var g=d+e;for(e=d;c[e]&&!(e>=g);)++e;if(16f?g+=String.fromCharCode(f):(f-=65536,g+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else g+=String.fromCharCode(f)}return g};a.UTF8ArrayToString=O;a.UTF8ToString=(c,d)=>c?O(A,c,d):""; var P=(c,d,e,g)=>L(`Assertion failed: ${c?O(A,c,void 0):""}, at: `+[d?d?O(A,d,void 0):"":"unknown filename",e,g?g?O(A,g,void 0):"":"unknown function"]);a.___assert_fail=P;var Q=()=>L("");a.__abort_js=Q;a.getHeapMax=()=>2147483648;a.alignMemory=(c,d)=>Math.ceil(c/d)*d;var R=c=>{c=(c-w.buffer.byteLength+65535)/65536|0;try{return w.grow(c),H(),1}catch(d){}};a.growMemory=R; var S=c=>{var d=A.length;c>>>=0;if(2147483648=e;e*=2){var g=d*(1+.2/e);g=Math.min(g,c+100663296);if(R(Math.min(2147483648,65536*Math.ceil(Math.max(c,g)/65536))))return!0}return!1};a._emscripten_resize_heap=S;var T=[null,[],[]];a.printCharBuffers=T;var U=(c,d)=>{var e=T[c];0===d||10===d?((1===c?ba:v)(O(e)),e.length=0):e.push(d)};a.printChar=U;a.flush_NO_FILESYSTEM=()=>{T[1].length&&U(1,10);T[2].length&&U(2,10)};a.SYSCALLS={h:void 0,g(c){return c?O(A,c,void 0):""}}; -var V=(c,d,e,g)=>{for(var f=0,n=0;n>2],W=D[d+4>>2];d+=8;for(var K=0;K>2]=f;return 0};a._fd_write=V;a.ptrToString=c=>"0x"+(c>>>0).toString(16).padStart(8,"0");var X={__assert_fail:P,_abort_js:Q,emscripten_resize_heap:S,fd_write:V},Y=await (async function(){I++;var c={env:X,wasi_snapshot_preview1:X};M??=q+"libspine_flutter.wasm";try{return Y=(await ea(c)).instance.exports,w=Y.memory,H(),I--,0==I&&J&&(c=J,J=null,c()),Y}catch(d){return h(d),Promise.reject(d)}}()); -a._spine_enable_debug_extension=Y.spine_enable_debug_extension;a._spine_major_version=Y.spine_major_version;a._spine_minor_version=Y.spine_minor_version;a._spine_report_leaks=Y.spine_report_leaks;a._spine_color_get_r=Y.spine_color_get_r;a._spine_color_get_g=Y.spine_color_get_g;a._spine_color_get_b=Y.spine_color_get_b;a._spine_color_get_a=Y.spine_color_get_a;a._spine_bounds_get_x=Y.spine_bounds_get_x;a._spine_bounds_get_y=Y.spine_bounds_get_y;a._spine_bounds_get_width=Y.spine_bounds_get_width; -a._spine_bounds_get_height=Y.spine_bounds_get_height;a._spine_vector_get_x=Y.spine_vector_get_x;a._spine_vector_get_y=Y.spine_vector_get_y;a._spine_atlas_load=Y.spine_atlas_load;a._spine_atlas_load_callback=Y.spine_atlas_load_callback;a._spine_atlas_get_num_image_paths=Y.spine_atlas_get_num_image_paths;a._spine_atlas_is_pma=Y.spine_atlas_is_pma;a._spine_atlas_get_image_path=Y.spine_atlas_get_image_path;a._spine_atlas_get_error=Y.spine_atlas_get_error;a._spine_atlas_dispose=Y.spine_atlas_dispose; -a._free=Y.free;a._spine_skeleton_data_load_json=Y.spine_skeleton_data_load_json;a._spine_skeleton_data_load_binary=Y.spine_skeleton_data_load_binary;a._spine_skeleton_data_result_get_error=Y.spine_skeleton_data_result_get_error;a._spine_skeleton_data_result_get_data=Y.spine_skeleton_data_result_get_data;a._spine_skeleton_data_result_dispose=Y.spine_skeleton_data_result_dispose;a._spine_skeleton_data_find_bone=Y.spine_skeleton_data_find_bone;a._spine_skeleton_data_find_slot=Y.spine_skeleton_data_find_slot; -a._spine_skeleton_data_find_skin=Y.spine_skeleton_data_find_skin;a._spine_skeleton_data_find_event=Y.spine_skeleton_data_find_event;a._spine_skeleton_data_find_animation=Y.spine_skeleton_data_find_animation;a._spine_skeleton_data_find_ik_constraint=Y.spine_skeleton_data_find_ik_constraint;a._spine_skeleton_data_find_transform_constraint=Y.spine_skeleton_data_find_transform_constraint;a._spine_skeleton_data_find_path_constraint=Y.spine_skeleton_data_find_path_constraint; -a._spine_skeleton_data_find_physics_constraint=Y.spine_skeleton_data_find_physics_constraint;a._spine_skeleton_data_get_name=Y.spine_skeleton_data_get_name;a._spine_skeleton_data_get_num_bones=Y.spine_skeleton_data_get_num_bones;a._spine_skeleton_data_get_bones=Y.spine_skeleton_data_get_bones;a._spine_skeleton_data_get_num_slots=Y.spine_skeleton_data_get_num_slots;a._spine_skeleton_data_get_slots=Y.spine_skeleton_data_get_slots;a._spine_skeleton_data_get_num_skins=Y.spine_skeleton_data_get_num_skins; -a._spine_skeleton_data_get_skins=Y.spine_skeleton_data_get_skins;a._spine_skeleton_data_get_default_skin=Y.spine_skeleton_data_get_default_skin;a._spine_skeleton_data_set_default_skin=Y.spine_skeleton_data_set_default_skin;a._spine_skeleton_data_get_num_events=Y.spine_skeleton_data_get_num_events;a._spine_skeleton_data_get_events=Y.spine_skeleton_data_get_events;a._spine_skeleton_data_get_num_animations=Y.spine_skeleton_data_get_num_animations;a._spine_skeleton_data_get_animations=Y.spine_skeleton_data_get_animations; -a._spine_skeleton_data_get_num_ik_constraints=Y.spine_skeleton_data_get_num_ik_constraints;a._spine_skeleton_data_get_ik_constraints=Y.spine_skeleton_data_get_ik_constraints;a._spine_skeleton_data_get_num_transform_constraints=Y.spine_skeleton_data_get_num_transform_constraints;a._spine_skeleton_data_get_transform_constraints=Y.spine_skeleton_data_get_transform_constraints;a._spine_skeleton_data_get_num_path_constraints=Y.spine_skeleton_data_get_num_path_constraints; -a._spine_skeleton_data_get_path_constraints=Y.spine_skeleton_data_get_path_constraints;a._spine_skeleton_data_get_num_physics_constraints=Y.spine_skeleton_data_get_num_physics_constraints;a._spine_skeleton_data_get_physics_constraints=Y.spine_skeleton_data_get_physics_constraints;a._spine_skeleton_data_get_x=Y.spine_skeleton_data_get_x;a._spine_skeleton_data_set_x=Y.spine_skeleton_data_set_x;a._spine_skeleton_data_get_y=Y.spine_skeleton_data_get_y;a._spine_skeleton_data_set_y=Y.spine_skeleton_data_set_y; -a._spine_skeleton_data_get_width=Y.spine_skeleton_data_get_width;a._spine_skeleton_data_set_width=Y.spine_skeleton_data_set_width;a._spine_skeleton_data_get_height=Y.spine_skeleton_data_get_height;a._spine_skeleton_data_set_height=Y.spine_skeleton_data_set_height;a._spine_skeleton_data_get_version=Y.spine_skeleton_data_get_version;a._spine_skeleton_data_get_hash=Y.spine_skeleton_data_get_hash;a._spine_skeleton_data_get_images_path=Y.spine_skeleton_data_get_images_path; -a._spine_skeleton_data_get_audio_path=Y.spine_skeleton_data_get_audio_path;a._spine_skeleton_data_get_fps=Y.spine_skeleton_data_get_fps;a._spine_skeleton_data_get_reference_scale=Y.spine_skeleton_data_get_reference_scale;a._spine_skeleton_data_dispose=Y.spine_skeleton_data_dispose;a._spine_skeleton_drawable_create=Y.spine_skeleton_drawable_create;a._spine_skeleton_drawable_dispose=Y.spine_skeleton_drawable_dispose;a._spine_skeleton_drawable_render=Y.spine_skeleton_drawable_render; -a._spine_skeleton_drawable_get_skeleton=Y.spine_skeleton_drawable_get_skeleton;a._spine_skeleton_drawable_get_animation_state=Y.spine_skeleton_drawable_get_animation_state;a._spine_skeleton_drawable_get_animation_state_data=Y.spine_skeleton_drawable_get_animation_state_data;a._spine_skeleton_drawable_get_animation_state_events=Y.spine_skeleton_drawable_get_animation_state_events;a._spine_render_command_get_positions=Y.spine_render_command_get_positions;a._spine_render_command_get_uvs=Y.spine_render_command_get_uvs; -a._spine_render_command_get_colors=Y.spine_render_command_get_colors;a._spine_render_command_get_dark_colors=Y.spine_render_command_get_dark_colors;a._spine_render_command_get_num_vertices=Y.spine_render_command_get_num_vertices;a._spine_render_command_get_indices=Y.spine_render_command_get_indices;a._spine_render_command_get_num_indices=Y.spine_render_command_get_num_indices;a._spine_render_command_get_atlas_page=Y.spine_render_command_get_atlas_page;a._spine_render_command_get_blend_mode=Y.spine_render_command_get_blend_mode; -a._spine_render_command_get_next=Y.spine_render_command_get_next;a._spine_animation_get_name=Y.spine_animation_get_name;a._spine_animation_get_duration=Y.spine_animation_get_duration;a._spine_animation_state_data_get_skeleton_data=Y.spine_animation_state_data_get_skeleton_data;a._spine_animation_state_data_get_default_mix=Y.spine_animation_state_data_get_default_mix;a._spine_animation_state_data_set_default_mix=Y.spine_animation_state_data_set_default_mix;a._spine_animation_state_data_set_mix=Y.spine_animation_state_data_set_mix; +var V=(c,d,e,g)=>{for(var f=0,n=0;n>2],W=D[d+4>>2];d+=8;for(var K=0;K>2]=f;return 0};a._fd_write=V;a.ptrToString=c=>"0x"+(c>>>0).toString(16).padStart(8,"0"); +var X={__assert_fail:P,_abort_js:Q,emscripten_resize_heap:S,fd_write:V},Y=await (async function(){I++;var c={env:X,wasi_snapshot_preview1:X};M??=q+"libspine_flutter.wasm";try{return Y=(await ea(c)).instance.exports,a.wasmExports=Y,w=Y.memory,H(),I--,0==I&&J&&(c=J,J=null,c()),Y}catch(d){return h(d),Promise.reject(d)}}());a._spine_enable_debug_extension=Y.spine_enable_debug_extension;a._spine_major_version=Y.spine_major_version;a._spine_minor_version=Y.spine_minor_version; +a._spine_report_leaks=Y.spine_report_leaks;a._spine_color_get_r=Y.spine_color_get_r;a._spine_color_get_g=Y.spine_color_get_g;a._spine_color_get_b=Y.spine_color_get_b;a._spine_color_get_a=Y.spine_color_get_a;a._spine_bounds_get_x=Y.spine_bounds_get_x;a._spine_bounds_get_y=Y.spine_bounds_get_y;a._spine_bounds_get_width=Y.spine_bounds_get_width;a._spine_bounds_get_height=Y.spine_bounds_get_height;a._spine_vector_get_x=Y.spine_vector_get_x;a._spine_vector_get_y=Y.spine_vector_get_y; +a._spine_atlas_load=Y.spine_atlas_load;a._spine_atlas_load_callback=Y.spine_atlas_load_callback;a._spine_atlas_get_num_image_paths=Y.spine_atlas_get_num_image_paths;a._spine_atlas_is_pma=Y.spine_atlas_is_pma;a._spine_atlas_get_image_path=Y.spine_atlas_get_image_path;a._spine_atlas_get_error=Y.spine_atlas_get_error;a._spine_atlas_dispose=Y.spine_atlas_dispose;a._free=Y.free;a._spine_skeleton_data_load_json=Y.spine_skeleton_data_load_json;a._spine_skeleton_data_load_binary=Y.spine_skeleton_data_load_binary; +a._spine_skeleton_data_result_get_error=Y.spine_skeleton_data_result_get_error;a._spine_skeleton_data_result_get_data=Y.spine_skeleton_data_result_get_data;a._spine_skeleton_data_result_dispose=Y.spine_skeleton_data_result_dispose;a._spine_skeleton_data_find_bone=Y.spine_skeleton_data_find_bone;a._spine_skeleton_data_find_slot=Y.spine_skeleton_data_find_slot;a._spine_skeleton_data_find_skin=Y.spine_skeleton_data_find_skin;a._spine_skeleton_data_find_event=Y.spine_skeleton_data_find_event; +a._spine_skeleton_data_find_animation=Y.spine_skeleton_data_find_animation;a._spine_skeleton_data_find_ik_constraint=Y.spine_skeleton_data_find_ik_constraint;a._spine_skeleton_data_find_transform_constraint=Y.spine_skeleton_data_find_transform_constraint;a._spine_skeleton_data_find_path_constraint=Y.spine_skeleton_data_find_path_constraint;a._spine_skeleton_data_find_physics_constraint=Y.spine_skeleton_data_find_physics_constraint;a._spine_skeleton_data_get_name=Y.spine_skeleton_data_get_name; +a._spine_skeleton_data_get_num_bones=Y.spine_skeleton_data_get_num_bones;a._spine_skeleton_data_get_bones=Y.spine_skeleton_data_get_bones;a._spine_skeleton_data_get_num_slots=Y.spine_skeleton_data_get_num_slots;a._spine_skeleton_data_get_slots=Y.spine_skeleton_data_get_slots;a._spine_skeleton_data_get_num_skins=Y.spine_skeleton_data_get_num_skins;a._spine_skeleton_data_get_skins=Y.spine_skeleton_data_get_skins;a._spine_skeleton_data_get_default_skin=Y.spine_skeleton_data_get_default_skin; +a._spine_skeleton_data_set_default_skin=Y.spine_skeleton_data_set_default_skin;a._spine_skeleton_data_get_num_events=Y.spine_skeleton_data_get_num_events;a._spine_skeleton_data_get_events=Y.spine_skeleton_data_get_events;a._spine_skeleton_data_get_num_animations=Y.spine_skeleton_data_get_num_animations;a._spine_skeleton_data_get_animations=Y.spine_skeleton_data_get_animations;a._spine_skeleton_data_get_num_ik_constraints=Y.spine_skeleton_data_get_num_ik_constraints; +a._spine_skeleton_data_get_ik_constraints=Y.spine_skeleton_data_get_ik_constraints;a._spine_skeleton_data_get_num_transform_constraints=Y.spine_skeleton_data_get_num_transform_constraints;a._spine_skeleton_data_get_transform_constraints=Y.spine_skeleton_data_get_transform_constraints;a._spine_skeleton_data_get_num_path_constraints=Y.spine_skeleton_data_get_num_path_constraints;a._spine_skeleton_data_get_path_constraints=Y.spine_skeleton_data_get_path_constraints; +a._spine_skeleton_data_get_num_physics_constraints=Y.spine_skeleton_data_get_num_physics_constraints;a._spine_skeleton_data_get_physics_constraints=Y.spine_skeleton_data_get_physics_constraints;a._spine_skeleton_data_get_x=Y.spine_skeleton_data_get_x;a._spine_skeleton_data_set_x=Y.spine_skeleton_data_set_x;a._spine_skeleton_data_get_y=Y.spine_skeleton_data_get_y;a._spine_skeleton_data_set_y=Y.spine_skeleton_data_set_y;a._spine_skeleton_data_get_width=Y.spine_skeleton_data_get_width; +a._spine_skeleton_data_set_width=Y.spine_skeleton_data_set_width;a._spine_skeleton_data_get_height=Y.spine_skeleton_data_get_height;a._spine_skeleton_data_set_height=Y.spine_skeleton_data_set_height;a._spine_skeleton_data_get_version=Y.spine_skeleton_data_get_version;a._spine_skeleton_data_get_hash=Y.spine_skeleton_data_get_hash;a._spine_skeleton_data_get_images_path=Y.spine_skeleton_data_get_images_path;a._spine_skeleton_data_get_audio_path=Y.spine_skeleton_data_get_audio_path; +a._spine_skeleton_data_get_fps=Y.spine_skeleton_data_get_fps;a._spine_skeleton_data_get_reference_scale=Y.spine_skeleton_data_get_reference_scale;a._spine_skeleton_data_dispose=Y.spine_skeleton_data_dispose;a._spine_skeleton_drawable_create=Y.spine_skeleton_drawable_create;a._spine_skeleton_drawable_dispose=Y.spine_skeleton_drawable_dispose;a._spine_skeleton_drawable_render=Y.spine_skeleton_drawable_render;a._spine_skeleton_drawable_get_skeleton=Y.spine_skeleton_drawable_get_skeleton; +a._spine_skeleton_drawable_get_animation_state=Y.spine_skeleton_drawable_get_animation_state;a._spine_skeleton_drawable_get_animation_state_data=Y.spine_skeleton_drawable_get_animation_state_data;a._spine_skeleton_drawable_get_animation_state_events=Y.spine_skeleton_drawable_get_animation_state_events;a._spine_render_command_get_positions=Y.spine_render_command_get_positions;a._spine_render_command_get_uvs=Y.spine_render_command_get_uvs;a._spine_render_command_get_colors=Y.spine_render_command_get_colors; +a._spine_render_command_get_dark_colors=Y.spine_render_command_get_dark_colors;a._spine_render_command_get_num_vertices=Y.spine_render_command_get_num_vertices;a._spine_render_command_get_indices=Y.spine_render_command_get_indices;a._spine_render_command_get_num_indices=Y.spine_render_command_get_num_indices;a._spine_render_command_get_atlas_page=Y.spine_render_command_get_atlas_page;a._spine_render_command_get_blend_mode=Y.spine_render_command_get_blend_mode;a._spine_render_command_get_next=Y.spine_render_command_get_next; +a._spine_animation_get_name=Y.spine_animation_get_name;a._spine_animation_get_duration=Y.spine_animation_get_duration;a._spine_animation_state_data_get_skeleton_data=Y.spine_animation_state_data_get_skeleton_data;a._spine_animation_state_data_get_default_mix=Y.spine_animation_state_data_get_default_mix;a._spine_animation_state_data_set_default_mix=Y.spine_animation_state_data_set_default_mix;a._spine_animation_state_data_set_mix=Y.spine_animation_state_data_set_mix; a._spine_animation_state_data_get_mix=Y.spine_animation_state_data_get_mix;a._spine_animation_state_data_set_mix_by_name=Y.spine_animation_state_data_set_mix_by_name;a._spine_animation_state_data_get_mix_by_name=Y.spine_animation_state_data_get_mix_by_name;a._spine_animation_state_data_clear=Y.spine_animation_state_data_clear;a._spine_animation_state_update=Y.spine_animation_state_update;a._spine_animation_state_dispose_track_entry=Y.spine_animation_state_dispose_track_entry; a._spine_animation_state_apply=Y.spine_animation_state_apply;a._spine_animation_state_clear_tracks=Y.spine_animation_state_clear_tracks;a._spine_animation_state_get_num_tracks=Y.spine_animation_state_get_num_tracks;a._spine_animation_state_clear_track=Y.spine_animation_state_clear_track;a._spine_animation_state_set_animation_by_name=Y.spine_animation_state_set_animation_by_name;a._spine_animation_state_set_animation=Y.spine_animation_state_set_animation; a._spine_animation_state_add_animation_by_name=Y.spine_animation_state_add_animation_by_name;a._spine_animation_state_add_animation=Y.spine_animation_state_add_animation;a._spine_animation_state_set_empty_animation=Y.spine_animation_state_set_empty_animation;a._spine_animation_state_add_empty_animation=Y.spine_animation_state_add_empty_animation;a._spine_animation_state_set_empty_animations=Y.spine_animation_state_set_empty_animations;a._spine_animation_state_get_current=Y.spine_animation_state_get_current; @@ -128,7 +129,7 @@ a._spine_texture_region_get_offset_y=Y.spine_texture_region_get_offset_y;a._spin a._spine_texture_region_set_original_width=Y.spine_texture_region_set_original_width;a._spine_texture_region_get_original_height=Y.spine_texture_region_get_original_height;a._spine_texture_region_set_original_height=Y.spine_texture_region_set_original_height;a._spine_skeleton_bounds_create=Y.spine_skeleton_bounds_create;a._spine_skeleton_bounds_dispose=Y.spine_skeleton_bounds_dispose;a._spine_skeleton_bounds_update=Y.spine_skeleton_bounds_update;a._spine_skeleton_bounds_aabb_contains_point=Y.spine_skeleton_bounds_aabb_contains_point; a._spine_skeleton_bounds_aabb_intersects_segment=Y.spine_skeleton_bounds_aabb_intersects_segment;a._spine_skeleton_bounds_aabb_intersects_skeleton=Y.spine_skeleton_bounds_aabb_intersects_skeleton;a._spine_skeleton_bounds_contains_point=Y.spine_skeleton_bounds_contains_point;a._spine_skeleton_bounds_contains_point_attachment=Y.spine_skeleton_bounds_contains_point_attachment;a._spine_skeleton_bounds_intersects_segment_attachment=Y.spine_skeleton_bounds_intersects_segment_attachment; a._spine_skeleton_bounds_intersects_segment=Y.spine_skeleton_bounds_intersects_segment;a._spine_skeleton_bounds_get_polygon=Y.spine_skeleton_bounds_get_polygon;a._spine_skeleton_bounds_get_bounding_box=Y.spine_skeleton_bounds_get_bounding_box;a._spine_skeleton_bounds_get_num_polygons=Y.spine_skeleton_bounds_get_num_polygons;a._spine_skeleton_bounds_get_polygons=Y.spine_skeleton_bounds_get_polygons;a._spine_skeleton_bounds_get_num_bounding_boxes=Y.spine_skeleton_bounds_get_num_bounding_boxes; -a._spine_skeleton_bounds_get_bounding_boxes=Y.spine_skeleton_bounds_get_bounding_boxes;a._spine_skeleton_bounds_get_width=Y.spine_skeleton_bounds_get_width;a._spine_skeleton_bounds_get_height=Y.spine_skeleton_bounds_get_height;a._spine_polygon_get_num_vertices=Y.spine_polygon_get_num_vertices;a._spine_polygon_get_vertices=Y.spine_polygon_get_vertices;a._malloc=Y.malloc;var ha=Y._emscripten_stack_restore,ia=Y.emscripten_stack_get_current; +a._spine_skeleton_bounds_get_bounding_boxes=Y.spine_skeleton_bounds_get_bounding_boxes;a._spine_skeleton_bounds_get_width=Y.spine_skeleton_bounds_get_width;a._spine_skeleton_bounds_get_height=Y.spine_skeleton_bounds_get_height;a._spine_polygon_get_num_vertices=Y.spine_polygon_get_num_vertices;a._spine_polygon_get_vertices=Y.spine_polygon_get_vertices;a._malloc=Y.malloc;var ha=Y._emscripten_stack_restore,ia=Y.emscripten_stack_get_current;a.wasmExports=Y; function Z(){0