1
+ #![ allow( clippy:: arc_with_non_send_sync) ]
2
+
3
+ #[ cfg( target_arch = "wasm32" ) ]
4
+ use wasm_bindgen:: prelude:: * ;
5
+
1
6
mod animation;
2
7
mod cube;
3
8
mod cube_no_framework;
@@ -7,6 +12,9 @@ mod skinning;
7
12
mod static_gltf;
8
13
mod textured_quad;
9
14
15
+ #[ cfg( target_arch = "wasm32" ) ]
16
+ use log:: info as println;
17
+
10
18
#[ cfg( test) ]
11
19
mod tests;
12
20
@@ -16,62 +24,41 @@ struct ExampleDesc {
16
24
}
17
25
18
26
const EXAMPLES : & [ ExampleDesc ] = & [
19
- ExampleDesc {
20
- name : "animation" ,
21
- run : animation:: main,
22
- } ,
23
- ExampleDesc {
24
- name : "cube" ,
25
- run : cube:: main,
26
- } ,
27
- ExampleDesc {
28
- name : "cube-no-framework" ,
29
- run : cube_no_framework:: main,
30
- } ,
31
- ExampleDesc {
32
- name : "egui" ,
33
- run : egui:: main,
34
- } ,
35
- ExampleDesc {
36
- name : "scene-viewer" ,
37
- run : scene_viewer:: main,
38
- } ,
39
- ExampleDesc {
40
- name : "skinning" ,
41
- run : skinning:: main,
42
- } ,
43
- ExampleDesc {
44
- name : "static-gltf" ,
45
- run : static_gltf:: main,
46
- } ,
47
- ExampleDesc {
48
- name : "textured-quad" ,
49
- run : textured_quad:: main,
50
- } ,
27
+ ExampleDesc { name : "animation" , run : animation:: main } ,
28
+ ExampleDesc { name : "cube" , run : cube:: main } ,
29
+ ExampleDesc { name : "cube-no-framework" , run : cube_no_framework:: main } ,
30
+ ExampleDesc { name : "egui" , run : egui:: main } ,
31
+ ExampleDesc { name : "scene_viewer" , run : scene_viewer:: main } ,
32
+ ExampleDesc { name : "skinning" , run : skinning:: main } ,
33
+ ExampleDesc { name : "static_gltf" , run : static_gltf:: main } ,
34
+ ExampleDesc { name : "textured_quad" , run : textured_quad:: main } ,
51
35
] ;
52
36
53
37
fn print_examples ( ) {
54
- println ! ( "Usage: cargo run <example_name>" ) ;
55
- println ! ( ) ;
38
+ println ! ( "Usage: cargo run <example_name>\n " ) ;
56
39
println ! ( "Available examples:" ) ;
57
40
for example in EXAMPLES {
58
41
println ! ( " {}" , example. name) ;
59
42
}
60
43
}
61
44
62
- #[ cfg_attr( target_os = "android " , ndk_glue :: main ( backtrace = "on" , logger ( level = "debug" ) ) ) ]
63
- pub fn main ( ) {
64
- let Some ( example_name) = std :: env :: args ( ) . nth ( 1 ) else {
45
+ #[ cfg_attr( target_arch = "wasm32 " , wasm_bindgen ) ]
46
+ pub fn main_with_name ( example_name : Option < String > ) {
47
+ let Some ( example_name) = example_name else {
65
48
print_examples ( ) ;
66
49
return ;
67
50
} ;
68
51
69
52
let Some ( example) = EXAMPLES . iter ( ) . find ( |example| example. name == example_name) else {
70
- println ! ( "Unknown example: {}" , example_name) ;
71
- println ! ( ) ;
53
+ println ! ( "Unknown example: {}\n " , example_name) ;
72
54
print_examples ( ) ;
73
55
return ;
74
56
} ;
75
57
76
58
( example. run ) ( ) ;
77
59
}
60
+
61
+ #[ cfg_attr( target_os = "android" , ndk_glue:: main( backtrace = "on" , logger( level = "debug" ) ) ) ]
62
+ pub fn main ( ) {
63
+ main_with_name ( std:: env:: args ( ) . nth ( 1 ) )
64
+ }
0 commit comments