Results 13 issues of Dom

Looking into options for #1 I wanted to think through the general issue of extensibility. There are going to be more things people want configure about their input mappings. I...

While thinking through options for #2 I found myself wanting to organize things by action rather than by input event. It seems to be a more natural way to think...

Removes event listeners on pause, re-enables them on play. Also fixes some cases where event listeners were not being cleaned up before if collision entities changed and on `remove()`

This is essentially exactly the same as Hubs, except Spoke uses yarn instead of npm. I used `turkeyCfg_base_asset_path` instead of constructing a url from `DOMAIN` and `SUB_DOMAIN` as that seems...

**Is your feature request related to a problem? Please describe.** Currently if an exception is raised in a user extension hook it is just logged to stdout (which is invisible...

enhancement
addon

There are now several GLTF extensions for alternate image formats like `KHR_texture_basisu` and `EXT_texture_webp`. It would be nice to add support for these to to other addons built against this...

┆Issue is synchronized with this [Jira Task](https://mozilla-hub.atlassian.net/browse/HUBS-220)

enhancement
paper cuts
jira-hubs

┆Issue is synchronized with this [Jira Task](https://mozilla-hub.atlassian.net/browse/HUBS-223)

enhancement
paper cuts
jira-hubs

## Simple Object3Ds These will likely just be inflators that direclty read the properties, create an Object3D, and call `addObject3DComponent`. Depending on what they do they may or may not...

If the same file is open in multiple tabs, the block cursor only works correctly in the first tab that was opened