diff --git a/.gitattributes b/.gitattributes index 21870d4..b472ce6 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2,3 +2,8 @@ *.blend1 filter=lfs diff=lfs merge=lfs -text *.gltf filter=lfs diff=lfs merge=lfs -text *.glb filter=lfs diff=lfs merge=lfs -text +*.bin filter=lfs diff=lfs merge=lfs -text +*.gltf.bak filter=lfs diff=lfs merge=lfs -text +*.glb.bak filter=lfs diff=lfs merge=lfs -text +*.bin.bak filter=lfs diff=lfs merge=lfs -text +*.ogg filter=lfs diff=lfs merge=lfs -text diff --git a/Cargo.toml b/Cargo.toml index 8bdafb8..92afd69 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -27,6 +27,10 @@ path = "bin/text-inspect.rs" name = "debug-info" path = "bin/debug-info.rs" +[[bin]] +name = "audio-inspect" +path = "bin/audio-inspect.rs" + [dependencies] bevy = "0.11" diff --git a/TODO.md b/TODO.md index 4b41742..eb3997b 100644 --- a/TODO.md +++ b/TODO.md @@ -1,5 +1,26 @@ -# Inspect Model +# Exploration -- [ ] Load previews on startup. - - [ ] Click to "Open" a model. +## Inspectors +### Model Inspector + +- [ ] Construct Scene from Nodes/Meshes (not auto-scene builder) +- [ ] Show debug info about selected model +- [ ] Wireframe view +- [ ] Automatic tighter bounding box for selection + +### Audio Inspector + +- [ ] UI for selecting sound +- [ ] Play/Pause/Volume +- [x] Load sounds +- [ ] Scrolling list of sounds + +## WASM + +- [ ] Build and run using model/text inspector + - https://github.com/bevyengine/bevy/blob/main/examples/README.md#wasm + +## Text Inspector + +- [ ] Performance improvements? diff --git a/assets/audio/Ambient/Birbs 1 7-21-22.ogg b/assets/audio/Ambient/Birbs 1 7-21-22.ogg new file mode 100644 index 0000000..af7db59 --- /dev/null +++ b/assets/audio/Ambient/Birbs 1 7-21-22.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e3cd4c009b15f2c0e2121b8b63fc0dcbd8485244c99a0060c0481a8aedc9c402 +size 4168238 diff --git a/assets/audio/Ambient/Birbs 2 7-21-22.ogg b/assets/audio/Ambient/Birbs 2 7-21-22.ogg new file mode 100644 index 0000000..d8648dd --- /dev/null +++ b/assets/audio/Ambient/Birbs 2 7-21-22.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64d49adbac8aaae84a6b1b6b2ced7e5feddaaee890a7339163f5f2957a0d5d56 +size 4168212 diff --git a/assets/audio/Ambient/Cape Ferrello Creek.ogg b/assets/audio/Ambient/Cape Ferrello Creek.ogg new file mode 100644 index 0000000..d8bc650 --- /dev/null +++ b/assets/audio/Ambient/Cape Ferrello Creek.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:770686ad376bfa121c8d919063a5a6e265b78a171d4f6f885874f76c856f6082 +size 393131 diff --git a/assets/audio/Ambient/Lake Sound 1.ogg b/assets/audio/Ambient/Lake Sound 1.ogg new file mode 100644 index 0000000..680499a --- /dev/null +++ b/assets/audio/Ambient/Lake Sound 1.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce1db1bba338c7a3e11c02491b19a2b5bad16b6faa4643eb249fdedad16c61b3 +size 3894759 diff --git a/assets/audio/Ambient/Lake Sound 2.ogg b/assets/audio/Ambient/Lake Sound 2.ogg new file mode 100644 index 0000000..5d851ce --- /dev/null +++ b/assets/audio/Ambient/Lake Sound 2.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f9a246e4581a9a4419ffd4f3e043713f0f8dd4f322795fcaeed2c216f9fe040b +size 3894801 diff --git a/assets/audio/Ambient/Wind SFX 1 2-5-23.ogg b/assets/audio/Ambient/Wind SFX 1 2-5-23.ogg new file mode 100644 index 0000000..245d113 --- /dev/null +++ b/assets/audio/Ambient/Wind SFX 1 2-5-23.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e411db4b0815d658c016059f6240af2c68be7be14397a2bf7a8683940b8bf6a +size 7652182 diff --git a/assets/audio/Ambient/Wind SFX 2 - 2-5-23.ogg b/assets/audio/Ambient/Wind SFX 2 - 2-5-23.ogg new file mode 100644 index 0000000..2f5baf1 --- /dev/null +++ b/assets/audio/Ambient/Wind SFX 2 - 2-5-23.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:430422d78e51ec79e696e21107e6cc05eea2abfcc34d5263e571e7f7d28f0fda +size 7652187 diff --git a/assets/audio/Ambient/Wind SFX 3 - 2-11-23.ogg b/assets/audio/Ambient/Wind SFX 3 - 2-11-23.ogg new file mode 100644 index 0000000..2caaec9 --- /dev/null +++ b/assets/audio/Ambient/Wind SFX 3 - 2-11-23.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7713936bac036fe622427249b4e9e6f79bc05145e853e7ef28d563d2b7d0c02 +size 7468383 diff --git a/assets/audio/Ambient/Wind SFX 4 - 2-11-23.ogg b/assets/audio/Ambient/Wind SFX 4 - 2-11-23.ogg new file mode 100644 index 0000000..66a67c1 --- /dev/null +++ b/assets/audio/Ambient/Wind SFX 4 - 2-11-23.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f3041dcf30f3a2edc1643041a02bf5f8bc568c8118d7089f526949e3dc89d9e +size 7462671 diff --git a/assets/audio/Selections-One-Offs/Clave1.ogg b/assets/audio/Selections-One-Offs/Clave1.ogg new file mode 100644 index 0000000..1a3282c --- /dev/null +++ b/assets/audio/Selections-One-Offs/Clave1.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c7a54920dc608bcd84275e79ad17ac184596da1bdcc5f74f128c8f4287c5f48 +size 22273 diff --git a/assets/audio/Selections-One-Offs/Dulcimer1.ogg b/assets/audio/Selections-One-Offs/Dulcimer1.ogg new file mode 100644 index 0000000..12be19a --- /dev/null +++ b/assets/audio/Selections-One-Offs/Dulcimer1.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ff9abe9c24a5dc9a3fe3354809f83115f99a951867a15c9341d5f0d881e8cfbe +size 70644 diff --git a/assets/audio/Selections-One-Offs/Mallet on GTR1.ogg b/assets/audio/Selections-One-Offs/Mallet on GTR1.ogg new file mode 100644 index 0000000..1f5eac1 --- /dev/null +++ b/assets/audio/Selections-One-Offs/Mallet on GTR1.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85aab86ad92f8fb693edecfeb0a804722cca0370a03f9fedbff83be731344fdd +size 22079 diff --git a/assets/audio/Selections-One-Offs/Mallet on GTR2.ogg b/assets/audio/Selections-One-Offs/Mallet on GTR2.ogg new file mode 100644 index 0000000..173801e --- /dev/null +++ b/assets/audio/Selections-One-Offs/Mallet on GTR2.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:840b48f49caf1108a1fa51f3906d2ad70f85f4f6398ef235165cdf3edefecbe8 +size 22560 diff --git a/assets/audio/Selections-One-Offs/Practice Pad1.ogg b/assets/audio/Selections-One-Offs/Practice Pad1.ogg new file mode 100644 index 0000000..2d168d3 --- /dev/null +++ b/assets/audio/Selections-One-Offs/Practice Pad1.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77afe3bbc60d5df960bf5402b0beb5027088d83f13623128847697ab71c61471 +size 21894 diff --git a/assets/audio/Selections-One-Offs/Practice Pad2.ogg b/assets/audio/Selections-One-Offs/Practice Pad2.ogg new file mode 100644 index 0000000..3a0b745 --- /dev/null +++ b/assets/audio/Selections-One-Offs/Practice Pad2.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ded8a3e8833cf1a3c0e24b085841c7f87c7b11b6dd44d4c6c851a1b30a2f58f +size 15750 diff --git a/assets/audio/Selections-One-Offs/Rustling Leaves1.ogg b/assets/audio/Selections-One-Offs/Rustling Leaves1.ogg new file mode 100644 index 0000000..097d0c0 --- /dev/null +++ b/assets/audio/Selections-One-Offs/Rustling Leaves1.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e11de979778e03de3f707c879b3d6f3c822b7b61d93573d72c4c816446b59789 +size 40436 diff --git a/assets/audio/Selections-One-Offs/Rustling Leaves2.ogg b/assets/audio/Selections-One-Offs/Rustling Leaves2.ogg new file mode 100644 index 0000000..4f86299 --- /dev/null +++ b/assets/audio/Selections-One-Offs/Rustling Leaves2.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53020b7fdc8774ef33ae76f8d115f7edc9c0ed2451be31dd1609158fbc53a88a +size 31933 diff --git a/assets/audio/Selections-One-Offs/Shaker1.ogg b/assets/audio/Selections-One-Offs/Shaker1.ogg new file mode 100644 index 0000000..ed6c6eb --- /dev/null +++ b/assets/audio/Selections-One-Offs/Shaker1.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d67487cbe64159bd38b141fe16e5c6f6e14724a4599d31ad43014ec26ad66967 +size 19489 diff --git a/assets/audio/Selections-One-Offs/Shaker2.ogg b/assets/audio/Selections-One-Offs/Shaker2.ogg new file mode 100644 index 0000000..c5440f5 --- /dev/null +++ b/assets/audio/Selections-One-Offs/Shaker2.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0b716a11f4270b2d1732c6460510a3dc3e9d3fba961e4c8b5b98923686e02b0e +size 17899 diff --git a/assets/audio/Selections-One-Offs/Tone1.ogg b/assets/audio/Selections-One-Offs/Tone1.ogg new file mode 100644 index 0000000..d701a22 --- /dev/null +++ b/assets/audio/Selections-One-Offs/Tone1.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39c2f84c799b8acdfa3f0c9e863a6c7d784c7102df4efa53a54f6cbb2f079205 +size 21090 diff --git a/assets/audio/Selections-One-Offs/Tongue Drum 2-Tone.ogg b/assets/audio/Selections-One-Offs/Tongue Drum 2-Tone.ogg new file mode 100644 index 0000000..918dc2b --- /dev/null +++ b/assets/audio/Selections-One-Offs/Tongue Drum 2-Tone.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da55c65a2703828c31a9f699e33f208215f6d02b998f7bc830c59cf232ea8158 +size 70289 diff --git a/assets/audio/Selections-One-Offs/Tongue Drum Lo.ogg b/assets/audio/Selections-One-Offs/Tongue Drum Lo.ogg new file mode 100644 index 0000000..20c6463 --- /dev/null +++ b/assets/audio/Selections-One-Offs/Tongue Drum Lo.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e0101de500c7197eafac790ec8ae6114f89cbde7cd9f004021647dbb9fa0cf41 +size 70221 diff --git a/assets/audio/Selections-One-Offs/Tongue Drum LoLo.ogg b/assets/audio/Selections-One-Offs/Tongue Drum LoLo.ogg new file mode 100644 index 0000000..a4bfca1 --- /dev/null +++ b/assets/audio/Selections-One-Offs/Tongue Drum LoLo.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69e8220702d27e18f1ead7681f4304b97b46aa8917014ad7d6da20d5ffc49787 +size 70204 diff --git a/assets/audio/Selections-One-Offs/Tongue Drum.ogg b/assets/audio/Selections-One-Offs/Tongue Drum.ogg new file mode 100644 index 0000000..05716d7 --- /dev/null +++ b/assets/audio/Selections-One-Offs/Tongue Drum.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4e70994e220e6638b732451596a7fe89711467a8d5f65e2a72b1c3be4b66eb6 +size 70145 diff --git a/assets/audio/Selections-One-Offs/Triangle1.ogg b/assets/audio/Selections-One-Offs/Triangle1.ogg new file mode 100644 index 0000000..529e40f --- /dev/null +++ b/assets/audio/Selections-One-Offs/Triangle1.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5d2e5ec65a0fdc6bb7a38150e65addeb815dc82be04cda64ba2a15aee21c4e76 +size 125663 diff --git a/assets/audio/Selections-One-Offs/Triangle2.ogg b/assets/audio/Selections-One-Offs/Triangle2.ogg new file mode 100644 index 0000000..dc4a347 --- /dev/null +++ b/assets/audio/Selections-One-Offs/Triangle2.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09a2e7ad77785aefe33870bf6ce7222e65a0b183a366bc07020eb88f2e799141 +size 17931 diff --git a/assets/audio/Selections-One-Offs/Water Bottle1.ogg b/assets/audio/Selections-One-Offs/Water Bottle1.ogg new file mode 100644 index 0000000..60ffbc3 --- /dev/null +++ b/assets/audio/Selections-One-Offs/Water Bottle1.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7bc723b4e93dae99e508356b40ce807e3b05a33c0ff9998ab8951f25880b1c89 +size 15946 diff --git a/assets/audio/Selections-One-Offs/Water Bottle2 - Low.ogg b/assets/audio/Selections-One-Offs/Water Bottle2 - Low.ogg new file mode 100644 index 0000000..e658804 --- /dev/null +++ b/assets/audio/Selections-One-Offs/Water Bottle2 - Low.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:407fdb5a48d3cad895dbab2c3602dca28df49afd3ec1774b6a003b5115c38f05 +size 61783 diff --git a/assets/audio/Selections-One-Offs/Water Bottle2 - Normal.ogg b/assets/audio/Selections-One-Offs/Water Bottle2 - Normal.ogg new file mode 100644 index 0000000..5a38745 --- /dev/null +++ b/assets/audio/Selections-One-Offs/Water Bottle2 - Normal.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a461b2296cf864bf4262406e452efbbdda96e226902bb92f3b72f0e23cc8dde9 +size 49521 diff --git a/assets/audio/Selections-One-Offs/Wind Chimes1.ogg b/assets/audio/Selections-One-Offs/Wind Chimes1.ogg new file mode 100644 index 0000000..71abad5 --- /dev/null +++ b/assets/audio/Selections-One-Offs/Wind Chimes1.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:25d9659e3a3f80c12979cdd3f63f9e14df74b887a9b77d283d824075c9d3d247 +size 32816 diff --git a/assets/audio/Selections-One-Offs/Wind Chimes2.ogg b/assets/audio/Selections-One-Offs/Wind Chimes2.ogg new file mode 100644 index 0000000..2c28251 --- /dev/null +++ b/assets/audio/Selections-One-Offs/Wind Chimes2.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c90791840ea374b9fbba02a8eb4e6aed9c87719fbc13c12fd2ea7fd1c1bc08a0 +size 30695 diff --git a/assets/audio/Talking-Text Roll/Clicky Treespeak - Multi.ogg b/assets/audio/Talking-Text Roll/Clicky Treespeak - Multi.ogg new file mode 100644 index 0000000..87709da --- /dev/null +++ b/assets/audio/Talking-Text Roll/Clicky Treespeak - Multi.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4295acbd4169dc29c028d18234c2c2f3179fe98a12d78eae277188df411b353b +size 52236 diff --git a/assets/audio/Talking-Text Roll/Treespeak i2.ogg b/assets/audio/Talking-Text Roll/Treespeak i2.ogg new file mode 100644 index 0000000..e8d8174 --- /dev/null +++ b/assets/audio/Talking-Text Roll/Treespeak i2.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da6723f70eb862af8f811eb22d3d1e39b562b6f269132fe5495246e0b1c998e7 +size 2538238 diff --git a/assets/audio/Talking-Text Roll/Wooshy Treespeak - Multi.ogg b/assets/audio/Talking-Text Roll/Wooshy Treespeak - Multi.ogg new file mode 100644 index 0000000..0306df2 --- /dev/null +++ b/assets/audio/Talking-Text Roll/Wooshy Treespeak - Multi.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4815170d7691f7055019ab195cad1392fc36106bdb831d048bacf3f72a23a02d +size 108961 diff --git a/assets/models/FlightHelmet.bin b/assets/models/FlightHelmet.bin new file mode 100644 index 0000000..a586e84 --- /dev/null +++ b/assets/models/FlightHelmet.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9e623a27f837e1cc995d1380da5fd3becf4d29586fefba882fc0ba76b49f94bf +size 3227148 diff --git a/assets/models/FlightHelmet.gltf b/assets/models/FlightHelmet.gltf new file mode 100644 index 0000000..cfcb890 --- /dev/null +++ b/assets/models/FlightHelmet.gltf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c94a08a28305fb49a612cf273330a04e3dfc084306257d52dc00b4447eeb1091 +size 18511 diff --git a/assets/models/Monologue Trees 7-21-23.glb.bak b/assets/models/Monologue Trees 7-21-23.glb.bak new file mode 100644 index 0000000..505f32f --- /dev/null +++ b/assets/models/Monologue Trees 7-21-23.glb.bak @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b3eebb902e3214a21d7055a03f8aa3fb23ee2e58a52ab5d0bbc976867dc480d +size 18049548 diff --git a/assets/models/ico-sphere-dance.gltf b/assets/models/ico-sphere-dance.gltf.bak similarity index 100% rename from assets/models/ico-sphere-dance.gltf rename to assets/models/ico-sphere-dance.gltf.bak diff --git a/assets/models/inspect.blend b/assets/models/inspect.blend new file mode 100644 index 0000000..01c24a2 --- /dev/null +++ b/assets/models/inspect.blend @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d1f234d6ce4b9a34ce38f52d40492533c6e5661d6ba090200ef07e6720c639c +size 1419860 diff --git a/assets/models/inspect.blend1 b/assets/models/inspect.blend1 new file mode 100644 index 0000000..ae1dc7d --- /dev/null +++ b/assets/models/inspect.blend1 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6e8a25df7b24c60bf7ac71fb6c7ecea73fdfde51371e10c4e58fcd9889d503d5 +size 1395092 diff --git a/assets/models/inspect.glb.bak b/assets/models/inspect.glb.bak new file mode 100644 index 0000000..f32df3a --- /dev/null +++ b/assets/models/inspect.glb.bak @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82deeb60e595bca1e3f3a2ece0ca22e50d433756c1848952bdf1df9039008bc7 +size 488980 diff --git a/assets/models/materials.blend b/assets/models/materials.blend new file mode 100644 index 0000000..144b13d --- /dev/null +++ b/assets/models/materials.blend @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:034f798a326c865905ef61c3099a44bf8e4d541d34246be2a02b0c28bf9d7bd4 +size 1320856 diff --git a/assets/models/materials.blend1 b/assets/models/materials.blend1 new file mode 100644 index 0000000..a4f9a8a --- /dev/null +++ b/assets/models/materials.blend1 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:541d68c95e4b5dd42d65d3bc33228a468a558c90464fe24ffc88ffa434cfef8b +size 1309552 diff --git a/assets/models/materials.glb.bak b/assets/models/materials.glb.bak new file mode 100644 index 0000000..e4262d9 --- /dev/null +++ b/assets/models/materials.glb.bak @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8743ab5b1932c7546856cbfb8fd4afda6caaa35fdc4e728a06b86a9b563f6311 +size 265020 diff --git a/assets/models/monkey-nod.glb b/assets/models/monkey-nod.glb.bak similarity index 100% rename from assets/models/monkey-nod.glb rename to assets/models/monkey-nod.glb.bak diff --git a/assets/models/sphere.bin b/assets/models/sphere.bin new file mode 100644 index 0000000..0da0f89 --- /dev/null +++ b/assets/models/sphere.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cabd9d79e35a8da522994d906c616c95109f8cfc807d0229c919b1854d9f2d9e +size 92384 diff --git a/assets/models/sphere.gltf b/assets/models/sphere.gltf new file mode 100644 index 0000000..a49d235 --- /dev/null +++ b/assets/models/sphere.gltf @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5cd88cf7bcde3fc38824870a9f9321affbbceefcc7784e61ae27f13191ecd8f +size 2152 diff --git a/assets/models/torus-spin.glb b/assets/models/torus-spin.glb.bak similarity index 100% rename from assets/models/torus-spin.glb rename to assets/models/torus-spin.glb.bak diff --git a/bin/TODO.txt b/bin/TODO.txt index f4b53b6..9237602 100644 --- a/bin/TODO.txt +++ b/bin/TODO.txt @@ -1,6 +1,7 @@ - [x] basic gltf inspector - [x] with animation previews - [ ] inspect specific models + - [ ] Use gltf camera - [x] basic text inspector - [x] with simple text animation - [ ] audio inspector diff --git a/bin/audio-inspect.rs b/bin/audio-inspect.rs new file mode 100644 index 0000000..26abbde --- /dev/null +++ b/bin/audio-inspect.rs @@ -0,0 +1,114 @@ +use bevy::prelude::*; +use monologue_trees::debug::*; + +fn main() { + App::new() + .add_plugins(( + DefaultPlugins.set(WindowPlugin { + primary_window: Some(Window { + title: "Audio Inspect".into(), + resolution: (640., 480.).into(), + ..default() + }), + ..default() + }), + DebugInfoPlugin, + )) + .add_systems(PreStartup, (load,)) + .add_systems(Startup, (init,)) + .add_systems(Update, (save, update)) + .run() +} + +/// Stores audio handles so they don't get dropped +#[derive(Component, Debug)] +struct AudioItem(Handle); + +#[derive(Component)] +struct Container; + +/// +/// Load audio assets +/// TODO: Does this load new items when they're added to the folder? +fn load(server: Res) { + // To prevent handles from being dropped, + // they are stored on entities created triggered on AssetEvent::Created + let _yeet = server.load_folder("audio").expect("Load audios"); +} + +/// +/// Initialize audio inspector UI +fn init(mut commands: Commands) { + commands.spawn(Camera3dBundle { ..default() }); + + commands + .spawn(( + NodeBundle { + style: Style { + width: Val::Percent(100.0), + height: Val::Percent(100.0), + align_items: AlignItems::FlexStart, + flex_direction: FlexDirection::Column, + ..default() + }, + background_color: BackgroundColor(Color::MIDNIGHT_BLUE), + ..default() + }, + Container, + )) + .with_children(|parent| { + // Something might go here... + }); +} + +/// +/// Save loaded audio sources to entities +fn save( + mut audio_load_events: EventReader>, + server: Res, + mut commands: Commands, + container_q: Query>, +) { + for event in audio_load_events.iter() { + match event { + AssetEvent::Created { handle } => { + let style = TextStyle { + color: Color::BLACK, + font_size: 16.0, + ..default() + }; + let handle_path = server + .get_handle_path(handle.clone()) + .expect("Get handle path"); + let path = handle_path.path().to_str().expect("Convert path to str"); + let title = path + .split("/") + .last() + .expect("Extracting filename") + .trim_end_matches(".ogg"); + + commands + .spawn(( + ButtonBundle { + style: Style { ..default() }, + ..default() + }, + AudioItem(handle.clone()), + )) + .with_children(|parent| { + parent.spawn(TextBundle::from_section(title, style)); + }) + .set_parent(container_q.single()); + } + AssetEvent::Modified { .. } => { + debug_assert!(false, "Audio file was modified, not handled!") + } + AssetEvent::Removed { .. } => { + debug_assert!(false, "Audio file was deleted, not handled!") + } + } + } +} + +/// Update loop; play/pause/volume +fn update() {} diff --git a/bin/gltf-inspect.rs b/bin/gltf-inspect.rs index 1ed2563..4d30e95 100644 --- a/bin/gltf-inspect.rs +++ b/bin/gltf-inspect.rs @@ -273,23 +273,6 @@ fn spawn_models( Preview(preview_image_handle.clone()), )); - builder.spawn(( - DirectionalLightBundle { - directional_light: DirectionalLight { - shadows_enabled: true, - ..default() - }, - cascade_shadow_config: CascadeShadowConfigBuilder { - num_cascades: 1, - maximum_distance: 1.6, - ..default() - } - .into(), - ..default() - }, - Inspect, - )); - builder.spawn(( SceneBundle { scene: handle.clone(), @@ -503,6 +486,7 @@ fn select( mut key_evr: EventReader, mut selected: Local>, // Active camera index parent_search: Query<&Children>, + cameras: Query<&Camera, (Without, Without)>, parents: Query, Without)>, // TODO: Constrain mut events: EventWriter, ) {