Skip to content

Commit 7d2401c

Browse files
BastiaanOlijfredinfinite23
authored andcommitted
Added link back to component from client matrix
Added support for component notes Added XR_VIEW_CONFIGURATION_TYPE_PRIMARY_STEREO_WITH_FOVEATED_INSET to schemas Added some missing Godot entries Added notes and update support list Added spatial entities support to Godot
1 parent ce0413b commit 7d2401c

File tree

6 files changed

+96
-38
lines changed

6 files changed

+96
-38
lines changed

client_schema.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,8 @@
8080
"XR_VIEW_CONFIGURATION_TYPE_PRIMARY_MONO",
8181
"XR_VIEW_CONFIGURATION_TYPE_PRIMARY_STEREO",
8282
"XR_VIEW_CONFIGURATION_TYPE_PRIMARY_QUAD_VARJO",
83-
"XR_VIEW_CONFIGURATION_TYPE_SECONDARY_MONO_FIRST_PERSON_OBSERVER_MSFT"
83+
"XR_VIEW_CONFIGURATION_TYPE_SECONDARY_MONO_FIRST_PERSON_OBSERVER_MSFT",
84+
"XR_VIEW_CONFIGURATION_TYPE_PRIMARY_STEREO_WITH_FOVEATED_INSET"
8485
]
8586
},
8687
"environment_blend_mode": {
@@ -103,6 +104,10 @@
103104
"title": "Abbreviation shown in matrix",
104105
"type": "string"
105106
},
107+
"notes": {
108+
"title": "Additional information about this component",
109+
"type": "string"
110+
},
106111
"extensions": {
107112
"title": "Supported extensions",
108113
"description": "A list of all supported extensions in this client, on this platform. Details or caveats may be included in 'notes'.",

clients/godot.json

Lines changed: 41 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -15,44 +15,60 @@
1515
"name": "Godot Core",
1616
"abbreviation": "Core",
1717
"extensions": [
18-
"XR_KHR_D3D12_enable",
1918
"XR_KHR_android_create_instance",
2019
"XR_KHR_android_surface_swapchain",
2120
"XR_KHR_binding_modification",
2221
"XR_KHR_composition_layer_cylinder",
2322
"XR_KHR_composition_layer_depth",
2423
"XR_KHR_composition_layer_equirect2",
24+
"XR_KHR_D3D12_enable",
2525
"XR_KHR_loader_init",
2626
"XR_KHR_loader_init_android",
27-
"XR_KHR_opengl_es_enable",
27+
"XR_KHR_metal_enable",
2828
"XR_KHR_opengl_enable",
29+
"XR_KHR_opengl_es_enable",
2930
"XR_KHR_visibility_mask",
3031
"XR_KHR_vulkan_enable2",
3132
"XR_EXT_debug_utils",
3233
"XR_EXT_dpad_binding",
3334
"XR_EXT_eye_gaze_interaction",
3435
"XR_EXT_future",
3536
"XR_EXT_hand_interaction",
36-
"XR_EXT_hand_tracking",
3737
"XR_EXT_hand_joints_motion_range",
38+
"XR_EXT_hand_tracking",
3839
"XR_EXT_hand_tracking_data_source",
39-
"XR_EXT_hp_mixed_reality_controller",
4040
"XR_EXT_interaction_render_model",
41-
"XR_EXT_local_floor",
42-
"XR_EXT_view_configuration_depth_range",
43-
"XR_EXT_palm_pose",
4441
"XR_EXT_performance_settings",
4542
"XR_EXT_render_model",
43+
"XR_EXT_hp_mixed_reality_controller",
44+
"XR_EXT_local_floor",
45+
"XR_EXT_palm_pose",
4646
"XR_EXT_samsung_odyssey_controller",
4747
"XR_EXT_uuid",
4848
"XR_BD_controller_interaction",
49+
"XR_FB_display_refresh_rate",
50+
"XR_FB_foveation",
51+
"XR_FB_foveation_configuration",
52+
"XR_FB_foveation_vulkan",
53+
"XR_EXT_spatial_anchor",
54+
"XR_EXT_spatial_entity",
55+
"XR_EXT_spatial_marker_tracking",
56+
"XR_EXT_spatial_persistence",
57+
"XR_EXT_spatial_persistence_operations",
58+
"XR_EXT_spatial_plane_tracking",
59+
"XR_FB_swapchain_update_state",
60+
"XR_FB_swapchain_update_state_android_surface",
61+
"XR_FB_swapchain_update_state_opengl_es",
62+
"XR_FB_swapchain_update_state_vulkan",
4963
"XR_FB_touch_controller_proximity",
5064
"XR_FB_touch_controller_pro",
51-
"XR_META_touch_controller_plus",
65+
"XR_HTC_hand_interaction",
5266
"XR_HTC_vive_cosmos_controller_interaction",
5367
"XR_HTC_vive_focus3_controller_interaction",
54-
"XR_HTC_hand_interaction",
5568
"XR_HTCX_vive_tracker_interaction",
69+
"XR_LOGITECH_mx_ink_stylus_interaction",
70+
"XR_META_hand_tracking_microgestures",
71+
"XR_META_touch_controller_plus",
5672
"XR_ML_ml2_controller_interaction",
5773
"XR_MSFT_hand_interaction",
5874
"XR_MNDX_egl_enable",
@@ -62,45 +78,45 @@
6278
{
6379
"name": "Godot Vendors plugin",
6480
"abbreviation": "Vendors",
81+
"notes": "Optional plugin exposing vendor extensions and additional export configurations.",
6582
"extensions": [
83+
"XR_FB_android_surface_swapchain_create",
6684
"XR_FB_body_tracking",
6785
"XR_FB_color_space",
6886
"XR_FB_composition_layer_alpha_blend",
6987
"XR_FB_composition_layer_depth_test",
7088
"XR_FB_composition_layer_image_layout",
7189
"XR_FB_composition_layer_secure_content",
7290
"XR_FB_composition_layer_settings",
73-
"XR_FB_display_refresh_rate",
7491
"XR_FB_face_tracking2",
75-
"XR_FB_foveation",
76-
"XR_FB_foveation_configuration",
7792
"XR_FB_hand_tracking_aim",
7893
"XR_FB_hand_tracking_capsules",
7994
"XR_FB_hand_tracking_mesh",
8095
"XR_FB_passthrough",
81-
"XR_FB_space_warp",
82-
"XR_META_environment_depth",
83-
"XR_META_passthrough_preferences",
84-
"XR_META_passthrough_color_lut",
85-
"XR_META_recommended_layer_resolution",
86-
"XR_META_spatial_entity_mesh",
8796
"XR_FB_render_model",
8897
"XR_FB_scene",
8998
"XR_FB_scene_capture",
90-
"XR_FB_spatial_entity_container",
99+
"XR_FB_space_warp",
91100
"XR_FB_spatial_entity",
101+
"XR_FB_spatial_entity_container",
92102
"XR_FB_spatial_entity_query",
93103
"XR_FB_spatial_entity_sharing",
94-
"XR_FB_spatial_entity_storage_batch",
95104
"XR_FB_spatial_entity_storage",
105+
"XR_FB_spatial_entity_storage_batch",
96106
"XR_FB_spatial_entity_user",
97-
"XR_FB_swapchain_update_state",
98-
"XR_FB_swapchain_update_state_vulkan",
99-
"XR_FB_swapchain_update_state_opengl_es",
100107
"XR_FB_triangle_mesh",
101-
"XR_META_automatic_layer_filter",
102108
"XR_HTC_facial_tracking",
103-
"XR_HTC_passthrough"
109+
"XR_HTC_passthrough",
110+
"XR_META_automatic_layer_filter",
111+
"XR_META_body_tracking_full_body",
112+
"XR_META_environment_depth",
113+
"XR_META_headset_id",
114+
"XR_META_passthrough_color_lut",
115+
"XR_META_passthrough_preferences",
116+
"XR_META_performance_metrics",
117+
"XR_META_recommended_layer_resolution",
118+
"XR_META_simultaneous_hands_and_controllers",
119+
"XR_META_spatial_entity_mesh"
104120
]
105121
}
106122
],

clients/unity.json

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"$schema": "../client_schema.json",
33
"name": "Unity",
44
"vendor": "Unity Technologies",
5+
"notes": "Refer to each package's documentation for more information.",
56
"platforms": [
67
"Windows (Desktop)",
78
"Windows Subsystem for Android (WSA)",
@@ -12,6 +13,7 @@
1213
{
1314
"name": "OpenXR Plug-in",
1415
"abbreviation": "OpenXR Plug-in",
16+
"notes": "https://docs.unity3d.com/Packages/com.unity.xr.openxr@latest",
1517
"extensions": [
1618
"XR_KHR_android_create_instance",
1719
"XR_KHR_android_surface_swapchain",
@@ -50,12 +52,20 @@
5052
"XR_EXT_hand_interaction",
5153
"XR_FB_touch_controller_pro",
5254
"XR_META_touch_controller_plus",
53-
"XR_MSFT_unbounded_reference_space"
55+
"XR_MSFT_unbounded_reference_space",
56+
"XR_EXT_future",
57+
"XR_EXT_spatial_anchor",
58+
"XR_EXT_spatial_entity",
59+
"XR_EXT_spatial_marker_tracking",
60+
"XR_EXT_spatial_persistence",
61+
"XR_EXT_spatial_persistence_operations",
62+
"XR_EXT_spatial_plane_tracking"
5463
]
5564
},
5665
{
5766
"name": "XR Composition Layers",
5867
"abbreviation": "Comp Layers",
68+
"notes": "https://docs.unity3d.com/Packages/com.unity.xr.compositionlayers@latest",
5969
"extensions": [
6070
"XR_KHR_composition_layer_color_scale_bias",
6171
"XR_KHR_composition_layer_cube",
@@ -67,6 +77,7 @@
6777
{
6878
"name": "Unity OpenXR: Meta",
6979
"abbreviation": "Meta",
80+
"notes": "https://docs.unity3d.com/Packages/com.unity.xr.meta-openxr@latest",
7081
"extensions": [
7182
"XR_FB_display_refresh_rate",
7283
"XR_FB_passthrough",
@@ -76,21 +87,30 @@
7687
"XR_FB_spatial_entity_container",
7788
"XR_FB_spatial_entity_query",
7889
"XR_META_colocation_discovery",
90+
"XR_META_spatial_entity_discovery",
7991
"XR_META_spatial_entity_group_sharing",
8092
"XR_META_spatial_entity_mesh",
93+
"XR_META_spatial_entity_persistence",
8194
"XR_META_spatial_entity_sharing"
8295
]
8396
},
8497
{
8598
"name": "Unity OpenXR: Android XR",
8699
"abbreviation": "Android XR",
100+
"notes": "https://docs.unity3d.com/Packages/com.unity.xr.androidxr-openxr@latest",
87101
"extensions": [
88-
"XR_FB_display_refresh_rate"
102+
"XR_FB_display_refresh_rate",
103+
"XR_ANDROID_device_anchor_persistence",
104+
"XR_ANDROID_passthrough_camera_state",
105+
"XR_ANDROID_raycast",
106+
"XR_ANDROID_trackables",
107+
"XR_ANDROID_trackables_object"
89108
]
90109
},
91110
{
92111
"name": "XR Hands",
93112
"abbreviation": "Hands",
113+
"notes": "https://docs.unity3d.com/Packages/com.unity.xr.hands@latest",
94114
"extensions": [
95115
"XR_EXT_hand_tracking",
96116
"XR_FB_hand_tracking_aim"

openxr_inventory/client_inventory.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,29 @@
1414
class ComponentEntry:
1515
"""Data about component of a client"""
1616

17+
stub: str
18+
"""A short identifier suitable for use as an HTML anchor, file name stem, etc."""
19+
1720
name: str
1821
"""The name of the component"""
1922

2023
abbreviation: str
2124
"""The abbreviation to use in the client matrix"""
2225

26+
notes: str
27+
"""Optional additional information about this component"""
28+
2329
extensions: List[ExtensionEntry]
2430
"""The supported extensions"""
2531

2632
@classmethod
27-
def from_json(self, d: Dict) -> "ComponentEntry":
33+
def from_json(self, client_stub: str, d: Dict) -> "ComponentEntry":
2834
exts = [ExtensionEntry.from_json(entry) for entry in d["extensions"]]
2935
return ComponentEntry(
36+
stub=client_stub + '_' + d["abbreviation"],
3037
name=d["name"],
3138
abbreviation=d["abbreviation"],
39+
notes=d.get("notes"),
3240
extensions=exts
3341
)
3442

@@ -91,7 +99,7 @@ def from_json(cls, stub: str, d: Dict) -> "ClientData":
9199
92100
'stub' should be the stem of the filename, typically.
93101
"""
94-
comps = [ComponentEntry.from_json(entry) for entry in d["components"]]
102+
comps = [ComponentEntry.from_json(stub, entry) for entry in d["components"]]
95103
form_factors = [FormFactorEntry.from_json(entry) for entry in (d.get("form_factors", []))]
96104
return ClientData(
97105
stub=stub,

openxr_inventory/templates/extension_support.jinja2.html

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,11 @@ <h3>{{ client.name }}</h3>
267267
<li>Notes: {{ client.notes }}</li>
268268
{% endif %}
269269
{% for component in client.components %}
270-
<li>Component: {{ component.name }}<br>Extensions:
270+
<li id="{{ component.stub }}">Component: {{ component.name }}<br>
271+
{% if component.notes %}
272+
Notes: {{ component.notes }}<br>
273+
{% endif %}
274+
Extensions:
271275
<ul>
272276
{% for extension in component.extensions %}
273277
<li><a href="#{{extension.name}}">{{extension.name}}</a> {% if extension.notes %} - {{ extension.notes }} {% endif %} </li>
@@ -290,11 +294,15 @@ <h2>Client support matrix</h2>
290294
<th></th>
291295
{% for client in clients | sort %}
292296
{# pragmatic check if the client name fits in the layout or if it needs to be truncated and put the full name in tooltip #}
293-
{% if client.name|length < 34 %}
294-
<th class="rotate" style="border:none"><div><span>{{ client.name }}</span></div></th>
295-
{% else %}
296-
<th class="rotate" style="border:none"><div><span><abbr title="{{client.name}}">{{ client.name|truncate(34, True) }}</abbr></span></div></th>
297-
{% endif %}
297+
<th class="rotate" style="border:none"><div>
298+
{% if client.name|length < 34 %}
299+
<span>{{ client.name }}</span>
300+
{% else %}
301+
</a><span><abbr title="{{client.name}}">{{ client.name|truncate(34, True) }}</abbr></span>
302+
{% endif %}
303+
<a href="#{{ client.stub }}">
304+
<span class="glyphicon glyphicon-link" aria-hidden="true"></span>
305+
</a></div></th>
298306
{% endfor %}
299307
</tr>
300308
</thead>
@@ -313,7 +321,7 @@ <h2>Client support matrix</h2>
313321
{% if components|length > 0 %}
314322
<td class="text-center bg-success">
315323
{% for component in components %}
316-
<span><abbr title="{{component.name}}">{{ component.abbreviation }}</abbr></span>
324+
<span><a href="#{{ component.stub }}"><abbr title="{{component.name}}">{{ component.abbreviation }}</abbr></a></span>
317325
{% if not loop.last %}
318326
<br>
319327
{% endif %}

runtime_schema.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,8 @@
7979
"XR_VIEW_CONFIGURATION_TYPE_PRIMARY_MONO",
8080
"XR_VIEW_CONFIGURATION_TYPE_PRIMARY_STEREO",
8181
"XR_VIEW_CONFIGURATION_TYPE_PRIMARY_QUAD_VARJO",
82-
"XR_VIEW_CONFIGURATION_TYPE_SECONDARY_MONO_FIRST_PERSON_OBSERVER_MSFT"
82+
"XR_VIEW_CONFIGURATION_TYPE_SECONDARY_MONO_FIRST_PERSON_OBSERVER_MSFT",
83+
"XR_VIEW_CONFIGURATION_TYPE_PRIMARY_STEREO_WITH_FOVEATED_INSET"
8384
]
8485
},
8586
"environment_blend_mode": {

0 commit comments

Comments
 (0)