Commit 86224b5
authored
Refactor GltfExtensionHandler Hooks (#22114)
As it turns out, many glTF extensions require accessing the data from
other extensions.
Trying to isolate and scope access is much less helpful than exposing
the glTF objects for consumers to take what they want.
This includes
- extension data in the "others" category (anything the gltf crate
doesn't support explicitly)
- the functions that return the extension data the gltf crate *does*
have hardcoded support for
- names and any other available data
---
The diff for users is that they
- no longer have to worry about defining extension ids to process
- no longer have to worry about multiple calls due to those ids
- now have to use `.extension_value()`, `.name()`, or similar to get
relevant data
- Can now access `.light()` or any other data built-in to the gltf
crate, such as
[`.variants`](https://docs.rs/gltf/1.4.1/gltf/struct.Document.html#method.variants)
for `KHR_materials_variants`.
An example diff on the user side can be viewed in the update commit for
the Skein PR:
rust-adventure/skein@ac1e5101 parent 030657a commit 86224b5
File tree
3 files changed
+40
-162
lines changed- crates/bevy_gltf/src/loader
- extensions
- examples/gltf
3 files changed
+40
-162
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
50 | 59 | | |
51 | 60 | | |
52 | 61 | | |
53 | 62 | | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | 63 | | |
84 | 64 | | |
85 | 65 | | |
86 | 66 | | |
87 | 67 | | |
88 | 68 | | |
89 | | - | |
| 69 | + | |
90 | 70 | | |
91 | 71 | | |
92 | 72 | | |
93 | 73 | | |
94 | 74 | | |
95 | 75 | | |
96 | 76 | | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
| 77 | + | |
106 | 78 | | |
107 | 79 | | |
108 | 80 | | |
| |||
123 | 95 | | |
124 | 96 | | |
125 | 97 | | |
| 98 | + | |
| 99 | + | |
126 | 100 | | |
127 | 101 | | |
128 | 102 | | |
129 | 103 | | |
130 | 104 | | |
131 | 105 | | |
132 | | - | |
133 | | - | |
| 106 | + | |
134 | 107 | | |
135 | 108 | | |
136 | 109 | | |
| |||
142 | 115 | | |
143 | 116 | | |
144 | 117 | | |
145 | | - | |
146 | | - | |
147 | 118 | | |
148 | 119 | | |
149 | | - | |
150 | 120 | | |
151 | 121 | | |
152 | 122 | | |
| |||
158 | 128 | | |
159 | 129 | | |
160 | 130 | | |
161 | | - | |
162 | | - | |
163 | 131 | | |
164 | 132 | | |
165 | | - | |
166 | 133 | | |
167 | 134 | | |
168 | 135 | | |
| |||
191 | 158 | | |
192 | 159 | | |
193 | 160 | | |
194 | | - | |
195 | | - | |
| 161 | + | |
196 | 162 | | |
197 | | - | |
198 | 163 | | |
199 | 164 | | |
200 | | - | |
201 | 165 | | |
202 | 166 | | |
203 | 167 | | |
| |||
208 | 172 | | |
209 | 173 | | |
210 | 174 | | |
211 | | - | |
212 | | - | |
213 | 175 | | |
214 | 176 | | |
215 | 177 | | |
| |||
225 | 187 | | |
226 | 188 | | |
227 | 189 | | |
228 | | - | |
229 | | - | |
230 | 190 | | |
231 | 191 | | |
232 | 192 | | |
| |||
241 | 201 | | |
242 | 202 | | |
243 | 203 | | |
244 | | - | |
245 | | - | |
246 | 204 | | |
247 | 205 | | |
248 | 206 | | |
| |||
257 | 215 | | |
258 | 216 | | |
259 | 217 | | |
260 | | - | |
261 | | - | |
262 | 218 | | |
263 | 219 | | |
264 | 220 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
258 | 258 | | |
259 | 259 | | |
260 | 260 | | |
261 | | - | |
262 | | - | |
263 | | - | |
| 261 | + | |
264 | 262 | | |
265 | 263 | | |
266 | 264 | | |
| |||
597 | 595 | | |
598 | 596 | | |
599 | 597 | | |
600 | | - | |
601 | | - | |
602 | | - | |
603 | | - | |
604 | | - | |
605 | | - | |
606 | | - | |
607 | | - | |
608 | | - | |
| 598 | + | |
609 | 599 | | |
610 | 600 | | |
611 | 601 | | |
| |||
654 | 644 | | |
655 | 645 | | |
656 | 646 | | |
657 | | - | |
658 | | - | |
659 | | - | |
660 | | - | |
661 | | - | |
662 | | - | |
663 | | - | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
664 | 651 | | |
665 | 652 | | |
666 | 653 | | |
| |||
695 | 682 | | |
696 | 683 | | |
697 | 684 | | |
698 | | - | |
699 | | - | |
700 | | - | |
701 | | - | |
702 | | - | |
703 | | - | |
704 | | - | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
705 | 689 | | |
706 | 690 | | |
707 | 691 | | |
| |||
723 | 707 | | |
724 | 708 | | |
725 | 709 | | |
726 | | - | |
727 | | - | |
728 | | - | |
729 | | - | |
730 | | - | |
731 | | - | |
732 | | - | |
733 | | - | |
734 | | - | |
735 | | - | |
| 710 | + | |
736 | 711 | | |
737 | 712 | | |
738 | 713 | | |
| |||
899 | 874 | | |
900 | 875 | | |
901 | 876 | | |
902 | | - | |
903 | | - | |
904 | | - | |
905 | | - | |
906 | | - | |
907 | | - | |
908 | | - | |
909 | | - | |
910 | | - | |
911 | | - | |
| 877 | + | |
912 | 878 | | |
913 | 879 | | |
914 | 880 | | |
| |||
1114 | 1080 | | |
1115 | 1081 | | |
1116 | 1082 | | |
1117 | | - | |
1118 | | - | |
1119 | | - | |
1120 | | - | |
1121 | | - | |
1122 | | - | |
1123 | | - | |
1124 | | - | |
1125 | | - | |
1126 | | - | |
1127 | | - | |
| 1083 | + | |
| 1084 | + | |
| 1085 | + | |
| 1086 | + | |
| 1087 | + | |
| 1088 | + | |
1128 | 1089 | | |
1129 | 1090 | | |
1130 | 1091 | | |
| |||
1755 | 1716 | | |
1756 | 1717 | | |
1757 | 1718 | | |
1758 | | - | |
1759 | | - | |
1760 | | - | |
1761 | | - | |
1762 | | - | |
1763 | | - | |
1764 | | - | |
1765 | | - | |
1766 | | - | |
| 1719 | + | |
1767 | 1720 | | |
1768 | 1721 | | |
1769 | 1722 | | |
| |||
1786 | 1739 | | |
1787 | 1740 | | |
1788 | 1741 | | |
1789 | | - | |
1790 | | - | |
1791 | | - | |
1792 | | - | |
1793 | | - | |
1794 | | - | |
1795 | | - | |
1796 | | - | |
1797 | | - | |
| 1742 | + | |
1798 | 1743 | | |
1799 | 1744 | | |
1800 | 1745 | | |
| |||
1822 | 1767 | | |
1823 | 1768 | | |
1824 | 1769 | | |
1825 | | - | |
1826 | | - | |
1827 | | - | |
1828 | | - | |
1829 | | - | |
1830 | | - | |
1831 | | - | |
1832 | | - | |
1833 | | - | |
| 1770 | + | |
1834 | 1771 | | |
1835 | 1772 | | |
1836 | 1773 | | |
| |||
1881 | 1818 | | |
1882 | 1819 | | |
1883 | 1820 | | |
1884 | | - | |
1885 | | - | |
1886 | | - | |
1887 | | - | |
| 1821 | + | |
1888 | 1822 | | |
1889 | 1823 | | |
1890 | 1824 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
135 | 135 | | |
136 | 136 | | |
137 | 137 | | |
138 | | - | |
139 | | - | |
140 | | - | |
141 | | - | |
142 | | - | |
143 | | - | |
144 | | - | |
145 | | - | |
146 | | - | |
| 138 | + | |
| 139 | + | |
147 | 140 | | |
148 | 141 | | |
149 | 142 | | |
| |||
160 | 153 | | |
161 | 154 | | |
162 | 155 | | |
163 | | - | |
164 | | - | |
165 | 156 | | |
166 | 157 | | |
167 | 158 | | |
| |||
174 | 165 | | |
175 | 166 | | |
176 | 167 | | |
177 | | - | |
178 | | - | |
| 168 | + | |
179 | 169 | | |
180 | | - | |
181 | 170 | | |
182 | 171 | | |
183 | | - | |
184 | 172 | | |
185 | 173 | | |
186 | 174 | | |
| |||
0 commit comments