@reactvision/react-viro 2.43.0 → 2.43.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (671) hide show
  1. package/README.md +12 -6
  2. package/android/gvr_common/build/.transforms/1f305c8102b4f1e133a87e936f1e9964/results.bin +1 -0
  3. package/android/gvr_common/build/.transforms/1f305c8102b4f1e133a87e936f1e9964/transformed/com.google.vr.cardboard/drawable-hdpi-v4_quantum_ic_close_white_24.png.flat +0 -0
  4. package/android/gvr_common/build/.transforms/1f305c8102b4f1e133a87e936f1e9964/transformed/com.google.vr.cardboard/drawable-hdpi-v4_quantum_ic_settings_white_24.png.flat +0 -0
  5. package/android/gvr_common/build/.transforms/1f305c8102b4f1e133a87e936f1e9964/transformed/com.google.vr.cardboard/drawable-hdpi-v4_transition.png.flat +0 -0
  6. package/android/gvr_common/build/.transforms/1f305c8102b4f1e133a87e936f1e9964/transformed/com.google.vr.cardboard/drawable-mdpi-v4_quantum_ic_close_white_24.png.flat +0 -0
  7. package/android/gvr_common/build/.transforms/1f305c8102b4f1e133a87e936f1e9964/transformed/com.google.vr.cardboard/drawable-mdpi-v4_quantum_ic_settings_white_24.png.flat +0 -0
  8. package/android/gvr_common/build/.transforms/1f305c8102b4f1e133a87e936f1e9964/transformed/com.google.vr.cardboard/drawable-mdpi-v4_transition.png.flat +0 -0
  9. package/android/gvr_common/build/.transforms/1f305c8102b4f1e133a87e936f1e9964/transformed/com.google.vr.cardboard/drawable-v21_rippleable.xml.flat +0 -0
  10. package/android/gvr_common/build/.transforms/1f305c8102b4f1e133a87e936f1e9964/transformed/com.google.vr.cardboard/drawable-xhdpi-v4_quantum_ic_close_white_24.png.flat +0 -0
  11. package/android/gvr_common/build/.transforms/1f305c8102b4f1e133a87e936f1e9964/transformed/com.google.vr.cardboard/drawable-xhdpi-v4_quantum_ic_settings_white_24.png.flat +0 -0
  12. package/android/gvr_common/build/.transforms/1f305c8102b4f1e133a87e936f1e9964/transformed/com.google.vr.cardboard/drawable-xxhdpi-v4_quantum_ic_close_white_24.png.flat +0 -0
  13. package/android/gvr_common/build/.transforms/1f305c8102b4f1e133a87e936f1e9964/transformed/com.google.vr.cardboard/drawable-xxhdpi-v4_quantum_ic_settings_white_24.png.flat +0 -0
  14. package/android/gvr_common/build/.transforms/1f305c8102b4f1e133a87e936f1e9964/transformed/com.google.vr.cardboard/drawable-xxxhdpi-v4_quantum_ic_close_white_24.png.flat +0 -0
  15. package/android/gvr_common/build/.transforms/1f305c8102b4f1e133a87e936f1e9964/transformed/com.google.vr.cardboard/drawable-xxxhdpi-v4_quantum_ic_settings_white_24.png.flat +0 -0
  16. package/android/gvr_common/build/.transforms/1f305c8102b4f1e133a87e936f1e9964/transformed/com.google.vr.cardboard/drawable_rippleable.xml.flat +0 -0
  17. package/android/gvr_common/build/.transforms/1f305c8102b4f1e133a87e936f1e9964/transformed/com.google.vr.cardboard/layout-land_back_button.xml.flat +0 -0
  18. package/android/gvr_common/build/.transforms/1f305c8102b4f1e133a87e936f1e9964/transformed/com.google.vr.cardboard/layout-land_settings_button.xml.flat +0 -0
  19. package/android/gvr_common/build/.transforms/1f305c8102b4f1e133a87e936f1e9964/transformed/com.google.vr.cardboard/layout-land_ui_layer_with_portrait_support.xml.flat +0 -0
  20. package/android/gvr_common/build/.transforms/1f305c8102b4f1e133a87e936f1e9964/transformed/com.google.vr.cardboard/layout-ldrtl-land-v17_back_button.xml.flat +0 -0
  21. package/android/gvr_common/build/.transforms/1f305c8102b4f1e133a87e936f1e9964/transformed/com.google.vr.cardboard/layout-ldrtl-land-v17_settings_button.xml.flat +0 -0
  22. package/android/gvr_common/build/.transforms/1f305c8102b4f1e133a87e936f1e9964/transformed/com.google.vr.cardboard/layout-ldrtl-v17_back_button.xml.flat +0 -0
  23. package/android/gvr_common/build/.transforms/1f305c8102b4f1e133a87e936f1e9964/transformed/com.google.vr.cardboard/layout-ldrtl-v17_settings_button.xml.flat +0 -0
  24. package/android/gvr_common/build/.transforms/1f305c8102b4f1e133a87e936f1e9964/transformed/com.google.vr.cardboard/layout_back_button.xml.flat +0 -0
  25. package/android/gvr_common/build/.transforms/1f305c8102b4f1e133a87e936f1e9964/transformed/com.google.vr.cardboard/layout_settings_button.xml.flat +0 -0
  26. package/android/gvr_common/build/.transforms/1f305c8102b4f1e133a87e936f1e9964/transformed/com.google.vr.cardboard/layout_transition_view.xml.flat +0 -0
  27. package/android/gvr_common/build/.transforms/1f305c8102b4f1e133a87e936f1e9964/transformed/com.google.vr.cardboard/layout_ui_layer.xml.flat +0 -0
  28. package/android/gvr_common/build/.transforms/1f305c8102b4f1e133a87e936f1e9964/transformed/com.google.vr.cardboard/layout_ui_layer_with_portrait_support.xml.flat +0 -0
  29. package/android/gvr_common/build/.transforms/671af4785a8109ab1e811c3e952ce8a0/results.bin +1 -0
  30. package/android/gvr_common/build/.transforms/671af4785a8109ab1e811c3e952ce8a0/transformed/jetified-sdk-common-1.180.0-api.jar +0 -0
  31. package/android/gvr_common/build/.transforms/7ef00283b562187d9050275ffa4b0660/results.bin +1 -0
  32. package/android/gvr_common/build/.transforms/d9d2be6f33d1288527d613ce94bbb4d8/results.bin +0 -0
  33. package/android/gvr_common/build/.transforms/f19cf8825806cdc4e4891f0b3948f623/results.bin +1 -0
  34. package/android/gvr_common/build/.transforms/f19cf8825806cdc4e4891f0b3948f623/transformed/jetified-sdk-common-1.180.0.aar +0 -0
  35. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/results.bin +1 -0
  36. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/AndroidManifest.xml +9 -0
  37. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/R.txt +55 -0
  38. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/jars/classes.jar +0 -0
  39. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/proguard.txt +19 -0
  40. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/drawable/rippleable.xml +11 -0
  41. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/drawable-hdpi-v4/quantum_ic_close_white_24.png +0 -0
  42. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/drawable-hdpi-v4/quantum_ic_settings_white_24.png +0 -0
  43. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/drawable-hdpi-v4/transition.png +0 -0
  44. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/drawable-mdpi-v4/quantum_ic_close_white_24.png +0 -0
  45. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/drawable-mdpi-v4/quantum_ic_settings_white_24.png +0 -0
  46. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/drawable-mdpi-v4/transition.png +0 -0
  47. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/drawable-v21/rippleable.xml +7 -0
  48. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/drawable-xhdpi-v4/quantum_ic_close_white_24.png +0 -0
  49. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/drawable-xhdpi-v4/quantum_ic_settings_white_24.png +0 -0
  50. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/drawable-xxhdpi-v4/quantum_ic_close_white_24.png +0 -0
  51. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/drawable-xxhdpi-v4/quantum_ic_settings_white_24.png +0 -0
  52. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/drawable-xxxhdpi-v4/quantum_ic_close_white_24.png +0 -0
  53. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/drawable-xxxhdpi-v4/quantum_ic_settings_white_24.png +0 -0
  54. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/layout/back_button.xml +9 -0
  55. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/layout/settings_button.xml +10 -0
  56. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/layout/transition_view.xml +86 -0
  57. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/layout/ui_layer.xml +49 -0
  58. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/layout/ui_layer_with_portrait_support.xml +27 -0
  59. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/layout-land/back_button.xml +13 -0
  60. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/layout-land/settings_button.xml +13 -0
  61. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/layout-land/ui_layer_with_portrait_support.xml +25 -0
  62. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/layout-ldrtl-land-v17/back_button.xml +16 -0
  63. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/layout-ldrtl-land-v17/settings_button.xml +16 -0
  64. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/layout-ldrtl-v17/back_button.xml +9 -0
  65. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/layout-ldrtl-v17/settings_button.xml +9 -0
  66. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values/values.xml +109 -0
  67. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-ar/values.xml +27 -0
  68. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-bg/values.xml +27 -0
  69. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-ca/values.xml +27 -0
  70. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-cs/values.xml +27 -0
  71. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-da/values.xml +27 -0
  72. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-de/values.xml +27 -0
  73. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-el/values.xml +27 -0
  74. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-en-rGB/values.xml +27 -0
  75. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-es/values.xml +27 -0
  76. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-es-rUS/values.xml +27 -0
  77. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-fa/values.xml +27 -0
  78. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-fi/values.xml +27 -0
  79. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-fr/values.xml +27 -0
  80. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-fr-rCA/values.xml +27 -0
  81. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-hi/values.xml +27 -0
  82. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-hr/values.xml +27 -0
  83. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-hu/values.xml +27 -0
  84. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-id/values.xml +27 -0
  85. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-it/values.xml +27 -0
  86. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-iw/values.xml +27 -0
  87. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-ja/values.xml +27 -0
  88. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-ko/values.xml +27 -0
  89. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-land/values.xml +3 -0
  90. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-lt/values.xml +27 -0
  91. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-lv/values.xml +27 -0
  92. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-nb/values.xml +27 -0
  93. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-nl/values.xml +27 -0
  94. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-pl/values.xml +27 -0
  95. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-pt-rBR/values.xml +27 -0
  96. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-pt-rPT/values.xml +27 -0
  97. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-ro/values.xml +27 -0
  98. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-ru/values.xml +27 -0
  99. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-sk/values.xml +27 -0
  100. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-sl/values.xml +27 -0
  101. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-sr/values.xml +27 -0
  102. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-sv/values.xml +27 -0
  103. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-th/values.xml +27 -0
  104. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-tl/values.xml +27 -0
  105. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-tr/values.xml +27 -0
  106. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-uk/values.xml +27 -0
  107. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-v19/values.xml +6 -0
  108. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-v21/values.xml +7 -0
  109. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-vi/values.xml +27 -0
  110. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-zh-rCN/values.xml +27 -0
  111. package/android/gvr_common/build/.transforms/f243c80b103fba9462a0988ec6b80d5d/transformed/jetified-sdk-common-1.180.0/res/values-zh-rTW/values.xml +27 -0
  112. package/android/react_viro/react_viro-release.aar +0 -0
  113. package/android/viro_renderer/build/.transforms/19c4c0be5c0d4c600f767845d01a63f0/results.bin +1 -0
  114. package/android/viro_renderer/build/.transforms/19c4c0be5c0d4c600f767845d01a63f0/transformed/com.viro.viroreact/layout_activity_viro.xml.flat +0 -0
  115. package/android/viro_renderer/build/.transforms/19c4c0be5c0d4c600f767845d01a63f0/transformed/com.viro.viroreact/mipmap-hdpi-v4_ic_launcher.png.flat +0 -0
  116. package/android/viro_renderer/build/.transforms/19c4c0be5c0d4c600f767845d01a63f0/transformed/com.viro.viroreact/mipmap-mdpi-v4_ic_launcher.png.flat +0 -0
  117. package/android/viro_renderer/build/.transforms/19c4c0be5c0d4c600f767845d01a63f0/transformed/com.viro.viroreact/mipmap-xhdpi-v4_ic_launcher.png.flat +0 -0
  118. package/android/viro_renderer/build/.transforms/19c4c0be5c0d4c600f767845d01a63f0/transformed/com.viro.viroreact/mipmap-xxhdpi-v4_ic_launcher.png.flat +0 -0
  119. package/android/viro_renderer/build/.transforms/19c4c0be5c0d4c600f767845d01a63f0/transformed/com.viro.viroreact/mipmap-xxxhdpi-v4_ic_launcher.png.flat +0 -0
  120. package/android/viro_renderer/build/.transforms/2857d16871eeb28ac15e71f5d84a7bde/results.bin +1 -0
  121. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/results.bin +1 -0
  122. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/AndroidManifest.xml +42 -0
  123. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/META-INF/com/android/build/gradle/aar-metadata.properties +6 -0
  124. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/R.txt +11 -0
  125. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/annotations.zip +0 -0
  126. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/blank.png +0 -0
  127. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/brdf_fsh.glsl +106 -0
  128. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/brdf_vsh.glsl +9 -0
  129. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/constant_fsh.glsl +33 -0
  130. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/constant_fsh_adreno.glsl +33 -0
  131. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/constant_functions_fsh.glsl +4 -0
  132. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/constant_functions_fsh_adreno.glsl +4 -0
  133. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/constant_q_fsh.glsl +36 -0
  134. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/constant_q_fsh_adreno.glsl +36 -0
  135. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/daydream.obj +3284 -0
  136. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/daydream_diffuse.jpg +0 -0
  137. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/ddLaserTexture.jpg +0 -0
  138. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/dd_reticle_large.png +0 -0
  139. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/ddcontroller.obj +1537 -0
  140. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/ddcontroller_app.jpg +0 -0
  141. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/ddcontroller_idle.jpg +0 -0
  142. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/ddcontroller_system.jpg +0 -0
  143. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/ddcontroller_touchpad.jpg +0 -0
  144. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/ddcursor_pointer.jpg +0 -0
  145. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/ddlaser.obj +48 -0
  146. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/equirect_to_cube_fsh.glsl +20 -0
  147. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/equirect_to_cube_vsh.glsl +12 -0
  148. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/image_fsh.glsl +12 -0
  149. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/image_vsh.glsl +11 -0
  150. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/irradiance_convolution_fsh.glsl +34 -0
  151. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/irradiance_convolution_vsh.glsl +12 -0
  152. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/lighting_general_functions_fsh.glsl +90 -0
  153. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/particles_fsh.glsl +4 -0
  154. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/particles_vsh.glsl +4 -0
  155. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/pbr_fsh.glsl +123 -0
  156. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/point_cloud.png +0 -0
  157. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/prefilter_convolution_fsh.glsl +106 -0
  158. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/prefilter_convolution_vsh.glsl +11 -0
  159. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/skinning_vsh.glsl +56 -0
  160. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/standard_fsh.glsl +73 -0
  161. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/standard_vsh.glsl +82 -0
  162. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/standard_vsh_adreno.glsl +73 -0
  163. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/surface_functions_fsh.glsl +20 -0
  164. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/assets/surface_functions_fsh_adreno.glsl +12 -0
  165. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/jars/classes.jar +0 -0
  166. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/jni/arm64-v8a/libBulletCollision.so +0 -0
  167. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/jni/arm64-v8a/libBulletDynamics.so +0 -0
  168. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/jni/arm64-v8a/libBulletSoftBody.so +0 -0
  169. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/jni/arm64-v8a/libLinearMath.so +0 -0
  170. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/jni/arm64-v8a/libarcore_sdk_c.so +0 -0
  171. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/jni/arm64-v8a/libfreetyped.so +0 -0
  172. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/jni/arm64-v8a/libgvr.so +0 -0
  173. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/jni/arm64-v8a/libgvr_audio.so +0 -0
  174. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/jni/arm64-v8a/libviro_arcore.so +0 -0
  175. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/jni/arm64-v8a/libviro_renderer.so +0 -0
  176. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/jni/arm64-v8a/libvrapi.so +0 -0
  177. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/jni/armeabi-v7a/libBulletCollision.so +0 -0
  178. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/jni/armeabi-v7a/libBulletDynamics.so +0 -0
  179. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/jni/armeabi-v7a/libBulletSoftBody.so +0 -0
  180. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/jni/armeabi-v7a/libLinearMath.so +0 -0
  181. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/jni/armeabi-v7a/libarcore_sdk_c.so +0 -0
  182. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/jni/armeabi-v7a/libfreetyped.so +0 -0
  183. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/jni/armeabi-v7a/libgvr.so +0 -0
  184. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/jni/armeabi-v7a/libgvr_audio.so +0 -0
  185. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/jni/armeabi-v7a/libviro_arcore.so +0 -0
  186. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/jni/armeabi-v7a/libviro_renderer.so +0 -0
  187. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/jni/armeabi-v7a/libvrapi.so +0 -0
  188. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/jni/x86_64/libarcore_sdk_c.so +0 -0
  189. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/res/layout/activity_viro.xml +18 -0
  190. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/res/mipmap-hdpi-v4/ic_launcher.png +0 -0
  191. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/res/mipmap-mdpi-v4/ic_launcher.png +0 -0
  192. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/res/mipmap-xhdpi-v4/ic_launcher.png +0 -0
  193. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/res/mipmap-xxhdpi-v4/ic_launcher.png +0 -0
  194. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/res/mipmap-xxxhdpi-v4/ic_launcher.png +0 -0
  195. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/res/values/values.xml +15 -0
  196. package/android/viro_renderer/build/.transforms/3e36c7c1d5e76d6c106d5ac66bbdf042/transformed/jetified-viro_renderer-release/res/values-w820dp-v13/values-w820dp-v13.xml +4 -0
  197. package/android/viro_renderer/build/.transforms/58111449947d2a53dd8f1b923b8ba8be/results.bin +1 -0
  198. package/android/viro_renderer/build/.transforms/58111449947d2a53dd8f1b923b8ba8be/transformed/jetified-viro_renderer-release.aar +0 -0
  199. package/android/viro_renderer/build/.transforms/5ff69d26e030013836c2715bf2c6ae4f/results.bin +0 -0
  200. package/android/viro_renderer/build/.transforms/f3f0fd551b19e7c76df2899b7044d3f1/results.bin +1 -0
  201. package/android/viro_renderer/build/.transforms/f3f0fd551b19e7c76df2899b7044d3f1/transformed/jetified-viro_renderer-release-api.jar +0 -0
  202. package/components/Utilities/ViroVersion.ts +1 -1
  203. package/dist/components/Utilities/ViroVersion.d.ts +1 -1
  204. package/dist/components/Utilities/ViroVersion.js +1 -1
  205. package/dist/dynamic-index.d.ts +11 -0
  206. package/dist/dynamic-index.js +28 -0
  207. package/dist/examples/AutoDetectionExample.d.ts +10 -0
  208. package/dist/examples/AutoDetectionExample.js +91 -0
  209. package/dist/fabric-interop/NativeViro.d.ts +42 -0
  210. package/dist/fabric-interop/NativeViro.js +262 -0
  211. package/dist/fabric-interop/ViroEventsManager.d.ts +83 -0
  212. package/dist/fabric-interop/ViroEventsManager.js +222 -0
  213. package/dist/fabric-interop/ViroFabricContainer.d.ts +34 -0
  214. package/dist/fabric-interop/ViroFabricContainer.js +200 -0
  215. package/dist/fabric-interop/android/src/main/js/specs/ViroFabricContainerViewNativeComponent.d.ts +35 -0
  216. package/dist/fabric-interop/android/src/main/js/specs/ViroFabricContainerViewNativeComponent.js +20 -0
  217. package/dist/fabric-interop/components/AR/ViroARPlane.d.ts +22 -0
  218. package/dist/fabric-interop/components/AR/ViroARPlane.js +95 -0
  219. package/dist/fabric-interop/components/AR/ViroARPlaneSelector.d.ts +43 -0
  220. package/dist/fabric-interop/components/AR/ViroARPlaneSelector.js +152 -0
  221. package/dist/fabric-interop/components/AR/ViroARTrackingTargets.d.ts +55 -0
  222. package/dist/fabric-interop/components/AR/ViroARTrackingTargets.js +85 -0
  223. package/dist/fabric-interop/components/AR/ViroCommonProps.d.ts +91 -0
  224. package/dist/fabric-interop/components/AR/ViroCommonProps.js +7 -0
  225. package/dist/fabric-interop/components/Animation/ViroAnimations.d.ts +48 -0
  226. package/dist/fabric-interop/components/Animation/ViroAnimations.js +64 -0
  227. package/dist/fabric-interop/components/Material/ViroMaterials.d.ts +66 -0
  228. package/dist/fabric-interop/components/Material/ViroMaterials.js +85 -0
  229. package/dist/fabric-interop/components/Types/ViroEvents.d.ts +202 -0
  230. package/dist/fabric-interop/components/Types/ViroEvents.js +53 -0
  231. package/dist/fabric-interop/components/Types/ViroUtils.d.ts +137 -0
  232. package/dist/fabric-interop/components/Types/ViroUtils.js +7 -0
  233. package/dist/fabric-interop/components/Viro360Image.d.ts +23 -0
  234. package/dist/fabric-interop/components/Viro360Image.js +45 -0
  235. package/dist/fabric-interop/components/Viro360Video.d.ts +29 -0
  236. package/dist/fabric-interop/components/Viro360Video.js +47 -0
  237. package/dist/fabric-interop/components/Viro3DObject.d.ts +60 -0
  238. package/dist/fabric-interop/components/Viro3DObject.js +49 -0
  239. package/dist/fabric-interop/components/Viro3DSceneNavigator.d.ts +49 -0
  240. package/dist/fabric-interop/components/Viro3DSceneNavigator.js +388 -0
  241. package/dist/fabric-interop/components/ViroARCamera.d.ts +29 -0
  242. package/dist/fabric-interop/components/ViroARCamera.js +64 -0
  243. package/dist/fabric-interop/components/ViroARImageMarker.d.ts +21 -0
  244. package/dist/fabric-interop/components/ViroARImageMarker.js +71 -0
  245. package/dist/fabric-interop/components/ViroARObjectMarker.d.ts +21 -0
  246. package/dist/fabric-interop/components/ViroARObjectMarker.js +71 -0
  247. package/dist/fabric-interop/components/ViroARPlane.d.ts +24 -0
  248. package/dist/fabric-interop/components/ViroARPlane.js +88 -0
  249. package/dist/fabric-interop/components/ViroARScene.d.ts +29 -0
  250. package/dist/fabric-interop/components/ViroARScene.js +89 -0
  251. package/dist/fabric-interop/components/ViroARSceneNavigator.d.ts +29 -0
  252. package/dist/fabric-interop/components/ViroARSceneNavigator.js +76 -0
  253. package/dist/fabric-interop/components/ViroAmbientLight.d.ts +19 -0
  254. package/dist/fabric-interop/components/ViroAmbientLight.js +46 -0
  255. package/dist/fabric-interop/components/ViroAnimatedComponent.d.ts +24 -0
  256. package/dist/fabric-interop/components/ViroAnimatedComponent.js +63 -0
  257. package/dist/fabric-interop/components/ViroAnimatedImage.d.ts +28 -0
  258. package/dist/fabric-interop/components/ViroAnimatedImage.js +49 -0
  259. package/dist/fabric-interop/components/ViroBox.d.ts +20 -0
  260. package/dist/fabric-interop/components/ViroBox.js +47 -0
  261. package/dist/fabric-interop/components/ViroButton.d.ts +32 -0
  262. package/dist/fabric-interop/components/ViroButton.js +92 -0
  263. package/dist/fabric-interop/components/ViroCamera.d.ts +17 -0
  264. package/dist/fabric-interop/components/ViroCamera.js +30 -0
  265. package/dist/fabric-interop/components/ViroController.d.ts +19 -0
  266. package/dist/fabric-interop/components/ViroController.js +64 -0
  267. package/dist/fabric-interop/components/ViroDirectionalLight.d.ts +28 -0
  268. package/dist/fabric-interop/components/ViroDirectionalLight.js +55 -0
  269. package/dist/fabric-interop/components/ViroFlexView.d.ts +36 -0
  270. package/dist/fabric-interop/components/ViroFlexView.js +97 -0
  271. package/dist/fabric-interop/components/ViroGeometry.d.ts +23 -0
  272. package/dist/fabric-interop/components/ViroGeometry.js +50 -0
  273. package/dist/fabric-interop/components/ViroGlobal.d.ts +45 -0
  274. package/dist/fabric-interop/components/ViroGlobal.js +20 -0
  275. package/dist/fabric-interop/components/ViroImage.d.ts +29 -0
  276. package/dist/fabric-interop/components/ViroImage.js +52 -0
  277. package/dist/fabric-interop/components/ViroLightingEnvironment.d.ts +19 -0
  278. package/dist/fabric-interop/components/ViroLightingEnvironment.js +44 -0
  279. package/dist/fabric-interop/components/ViroMaterialVideo.d.ts +30 -0
  280. package/dist/fabric-interop/components/ViroMaterialVideo.js +48 -0
  281. package/dist/fabric-interop/components/ViroNode.d.ts +36 -0
  282. package/dist/fabric-interop/components/ViroNode.js +28 -0
  283. package/dist/fabric-interop/components/ViroOmniLight.d.ts +21 -0
  284. package/dist/fabric-interop/components/ViroOmniLight.js +48 -0
  285. package/dist/fabric-interop/components/ViroOrbitCamera.d.ts +17 -0
  286. package/dist/fabric-interop/components/ViroOrbitCamera.js +30 -0
  287. package/dist/fabric-interop/components/ViroParticleEmitter.d.ts +51 -0
  288. package/dist/fabric-interop/components/ViroParticleEmitter.js +50 -0
  289. package/dist/fabric-interop/components/ViroPolygon.d.ts +20 -0
  290. package/dist/fabric-interop/components/ViroPolygon.js +47 -0
  291. package/dist/fabric-interop/components/ViroPolyline.d.ts +19 -0
  292. package/dist/fabric-interop/components/ViroPolyline.js +46 -0
  293. package/dist/fabric-interop/components/ViroPortal.d.ts +16 -0
  294. package/dist/fabric-interop/components/ViroPortal.js +73 -0
  295. package/dist/fabric-interop/components/ViroPortalScene.d.ts +16 -0
  296. package/dist/fabric-interop/components/ViroPortalScene.js +29 -0
  297. package/dist/fabric-interop/components/ViroQuad.d.ts +39 -0
  298. package/dist/fabric-interop/components/ViroQuad.js +49 -0
  299. package/dist/fabric-interop/components/ViroScene.d.ts +29 -0
  300. package/dist/fabric-interop/components/ViroScene.js +103 -0
  301. package/dist/fabric-interop/components/ViroSceneNavigator.d.ts +23 -0
  302. package/dist/fabric-interop/components/ViroSceneNavigator.js +73 -0
  303. package/dist/fabric-interop/components/ViroSkyBox.d.ts +39 -0
  304. package/dist/fabric-interop/components/ViroSkyBox.js +44 -0
  305. package/dist/fabric-interop/components/ViroSound.d.ts +23 -0
  306. package/dist/fabric-interop/components/ViroSound.js +46 -0
  307. package/dist/fabric-interop/components/ViroSoundField.d.ts +24 -0
  308. package/dist/fabric-interop/components/ViroSoundField.js +47 -0
  309. package/dist/fabric-interop/components/ViroSpatialSound.d.ts +27 -0
  310. package/dist/fabric-interop/components/ViroSpatialSound.js +50 -0
  311. package/dist/fabric-interop/components/ViroSphere.d.ts +22 -0
  312. package/dist/fabric-interop/components/ViroSphere.js +49 -0
  313. package/dist/fabric-interop/components/ViroSpinner.d.ts +18 -0
  314. package/dist/fabric-interop/components/ViroSpinner.js +45 -0
  315. package/dist/fabric-interop/components/ViroSpotLight.d.ts +30 -0
  316. package/dist/fabric-interop/components/ViroSpotLight.js +57 -0
  317. package/dist/fabric-interop/components/ViroSurface.d.ts +38 -0
  318. package/dist/fabric-interop/components/ViroSurface.js +48 -0
  319. package/dist/fabric-interop/components/ViroText.d.ts +36 -0
  320. package/dist/fabric-interop/components/ViroText.js +59 -0
  321. package/dist/fabric-interop/components/ViroUtils.d.ts +63 -0
  322. package/dist/fabric-interop/components/ViroUtils.js +140 -0
  323. package/dist/fabric-interop/components/ViroVRSceneNavigator.d.ts +25 -0
  324. package/dist/fabric-interop/components/ViroVRSceneNavigator.js +73 -0
  325. package/dist/fabric-interop/components/ViroVideo.d.ts +32 -0
  326. package/dist/fabric-interop/components/ViroVideo.js +52 -0
  327. package/dist/fabric-interop/components/index.d.ts +62 -0
  328. package/dist/fabric-interop/components/index.js +144 -0
  329. package/dist/fabric-interop/examples/BasicSceneExample.d.ts +11 -0
  330. package/dist/fabric-interop/examples/BasicSceneExample.js +244 -0
  331. package/dist/fabric-interop/examples/ComprehensiveExample.d.ts +13 -0
  332. package/dist/fabric-interop/examples/ComprehensiveExample.js +327 -0
  333. package/dist/fabric-interop/examples/SimpleARExample.d.ts +8 -0
  334. package/dist/fabric-interop/examples/SimpleARExample.js +62 -0
  335. package/dist/fabric-interop/index.d.ts +14 -0
  336. package/dist/fabric-interop/index.js +117 -0
  337. package/dist/fabric-interop/specs/ViroEventsTurboModule.d.ts +19 -0
  338. package/dist/fabric-interop/specs/ViroEventsTurboModule.js +11 -0
  339. package/dist/fabric-interop/test/BasicFunctionalityTest.d.ts +9 -0
  340. package/dist/fabric-interop/test/BasicFunctionalityTest.js +222 -0
  341. package/dist/fabric.d.ts +13 -0
  342. package/dist/fabric.js +29 -0
  343. package/dist/plugins/withViro.d.ts +3 -0
  344. package/dist/plugins/withViro.js +19 -0
  345. package/dist/plugins/withViroAndroid.js +24 -20
  346. package/dist/plugins/withViroIos.js +20 -2
  347. package/dynamic-index-source.d.ts +77 -0
  348. package/dynamic-index.ts +41 -0
  349. package/fabric-interop/NativeViro.ts +335 -0
  350. package/fabric-interop/README.md +282 -0
  351. package/fabric-interop/ViroEventsManager.js +257 -0
  352. package/fabric-interop/ViroFabricContainer.tsx +273 -0
  353. package/fabric-interop/components/AR/ViroARPlane.tsx +108 -0
  354. package/fabric-interop/components/AR/ViroARPlaneSelector.tsx +185 -0
  355. package/fabric-interop/components/AR/ViroARTrackingTargets.ts +108 -0
  356. package/fabric-interop/components/AR/ViroCommonProps.ts +140 -0
  357. package/fabric-interop/components/Animation/ViroAnimations.ts +96 -0
  358. package/fabric-interop/components/Material/ViroMaterials.ts +127 -0
  359. package/fabric-interop/components/Resources/viro_spinner_1.png +0 -0
  360. package/fabric-interop/components/Resources/viro_spinner_1_w.png +0 -0
  361. package/fabric-interop/components/Resources/viro_spinner_1a.png +0 -0
  362. package/fabric-interop/components/Resources/viro_spinner_1a_w.png +0 -0
  363. package/fabric-interop/components/Types/ViroEvents.ts +285 -0
  364. package/fabric-interop/components/Types/ViroUtils.ts +160 -0
  365. package/fabric-interop/components/Viro360Image.tsx +70 -0
  366. package/fabric-interop/components/Viro360Video.tsx +78 -0
  367. package/fabric-interop/components/Viro3DObject.tsx +122 -0
  368. package/fabric-interop/components/Viro3DSceneNavigator.tsx +503 -0
  369. package/fabric-interop/components/ViroARCamera.tsx +105 -0
  370. package/fabric-interop/components/ViroARImageMarker.tsx +98 -0
  371. package/fabric-interop/components/ViroARObjectMarker.tsx +100 -0
  372. package/fabric-interop/components/ViroARPlane.tsx +120 -0
  373. package/fabric-interop/components/ViroARScene.tsx +127 -0
  374. package/fabric-interop/components/ViroARSceneNavigator.tsx +82 -0
  375. package/fabric-interop/components/ViroAmbientLight.tsx +62 -0
  376. package/fabric-interop/components/ViroAnimatedComponent.tsx +91 -0
  377. package/fabric-interop/components/ViroAnimatedImage.tsx +81 -0
  378. package/fabric-interop/components/ViroBox.tsx +72 -0
  379. package/fabric-interop/components/ViroButton.tsx +125 -0
  380. package/fabric-interop/components/ViroCamera.tsx +45 -0
  381. package/fabric-interop/components/ViroController.tsx +87 -0
  382. package/fabric-interop/components/ViroDirectionalLight.tsx +84 -0
  383. package/fabric-interop/components/ViroFlexView.tsx +146 -0
  384. package/fabric-interop/components/ViroGeometry.tsx +78 -0
  385. package/fabric-interop/components/ViroGlobal.ts +114 -0
  386. package/fabric-interop/components/ViroImage.tsx +85 -0
  387. package/fabric-interop/components/ViroLightingEnvironment.tsx +63 -0
  388. package/fabric-interop/components/ViroMaterialVideo.tsx +82 -0
  389. package/fabric-interop/components/ViroNode.tsx +62 -0
  390. package/fabric-interop/components/ViroOmniLight.tsx +66 -0
  391. package/fabric-interop/components/ViroOrbitCamera.tsx +45 -0
  392. package/fabric-interop/components/ViroParticleEmitter.tsx +111 -0
  393. package/fabric-interop/components/ViroPolygon.tsx +72 -0
  394. package/fabric-interop/components/ViroPolyline.tsx +71 -0
  395. package/fabric-interop/components/ViroPortal.tsx +91 -0
  396. package/fabric-interop/components/ViroPortalScene.tsx +43 -0
  397. package/fabric-interop/components/ViroQuad.tsx +82 -0
  398. package/fabric-interop/components/ViroScene.tsx +117 -0
  399. package/fabric-interop/components/ViroSceneNavigator.tsx +71 -0
  400. package/fabric-interop/components/ViroSkyBox.tsx +75 -0
  401. package/fabric-interop/components/ViroSound.tsx +71 -0
  402. package/fabric-interop/components/ViroSoundField.tsx +75 -0
  403. package/fabric-interop/components/ViroSpatialSound.tsx +81 -0
  404. package/fabric-interop/components/ViroSphere.tsx +75 -0
  405. package/fabric-interop/components/ViroSpinner.tsx +63 -0
  406. package/fabric-interop/components/ViroSpotLight.tsx +86 -0
  407. package/fabric-interop/components/ViroSurface.tsx +80 -0
  408. package/fabric-interop/components/ViroText.tsx +114 -0
  409. package/fabric-interop/components/ViroUtils.ts +208 -0
  410. package/fabric-interop/components/ViroVRSceneNavigator.tsx +75 -0
  411. package/fabric-interop/components/ViroVideo.tsx +91 -0
  412. package/fabric-interop/components/index.ts +94 -0
  413. package/fabric-interop/dist/NativeViro.d.ts +43 -0
  414. package/fabric-interop/dist/NativeViro.d.ts.map +1 -0
  415. package/fabric-interop/dist/NativeViro.js +263 -0
  416. package/fabric-interop/dist/NativeViro.js.map +1 -0
  417. package/fabric-interop/dist/ViroFabricContainer.d.ts +35 -0
  418. package/fabric-interop/dist/ViroFabricContainer.d.ts.map +1 -0
  419. package/fabric-interop/dist/ViroFabricContainer.js +201 -0
  420. package/fabric-interop/dist/ViroFabricContainer.js.map +1 -0
  421. package/fabric-interop/dist/components/AR/ViroARPlane.d.ts +23 -0
  422. package/fabric-interop/dist/components/AR/ViroARPlane.d.ts.map +1 -0
  423. package/fabric-interop/dist/components/AR/ViroARPlane.js +96 -0
  424. package/fabric-interop/dist/components/AR/ViroARPlane.js.map +1 -0
  425. package/fabric-interop/dist/components/AR/ViroARPlaneSelector.d.ts +44 -0
  426. package/fabric-interop/dist/components/AR/ViroARPlaneSelector.d.ts.map +1 -0
  427. package/fabric-interop/dist/components/AR/ViroARPlaneSelector.js +156 -0
  428. package/fabric-interop/dist/components/AR/ViroARPlaneSelector.js.map +1 -0
  429. package/fabric-interop/dist/components/AR/ViroARTrackingTargets.d.ts +56 -0
  430. package/fabric-interop/dist/components/AR/ViroARTrackingTargets.d.ts.map +1 -0
  431. package/fabric-interop/dist/components/AR/ViroARTrackingTargets.js +86 -0
  432. package/fabric-interop/dist/components/AR/ViroARTrackingTargets.js.map +1 -0
  433. package/fabric-interop/dist/components/AR/ViroCommonProps.d.ts +92 -0
  434. package/fabric-interop/dist/components/AR/ViroCommonProps.d.ts.map +1 -0
  435. package/fabric-interop/dist/components/AR/ViroCommonProps.js +8 -0
  436. package/fabric-interop/dist/components/AR/ViroCommonProps.js.map +1 -0
  437. package/fabric-interop/dist/components/Animation/ViroAnimations.d.ts +49 -0
  438. package/fabric-interop/dist/components/Animation/ViroAnimations.d.ts.map +1 -0
  439. package/fabric-interop/dist/components/Animation/ViroAnimations.js +65 -0
  440. package/fabric-interop/dist/components/Animation/ViroAnimations.js.map +1 -0
  441. package/fabric-interop/dist/components/Material/ViroMaterials.d.ts +67 -0
  442. package/fabric-interop/dist/components/Material/ViroMaterials.d.ts.map +1 -0
  443. package/fabric-interop/dist/components/Material/ViroMaterials.js +86 -0
  444. package/fabric-interop/dist/components/Material/ViroMaterials.js.map +1 -0
  445. package/fabric-interop/dist/components/Types/ViroEvents.d.ts +203 -0
  446. package/fabric-interop/dist/components/Types/ViroEvents.d.ts.map +1 -0
  447. package/fabric-interop/dist/components/Types/ViroEvents.js +54 -0
  448. package/fabric-interop/dist/components/Types/ViroEvents.js.map +1 -0
  449. package/fabric-interop/dist/components/Types/ViroUtils.d.ts +138 -0
  450. package/fabric-interop/dist/components/Types/ViroUtils.d.ts.map +1 -0
  451. package/fabric-interop/dist/components/Types/ViroUtils.js +8 -0
  452. package/fabric-interop/dist/components/Types/ViroUtils.js.map +1 -0
  453. package/fabric-interop/dist/components/Viro360Image.d.ts +24 -0
  454. package/fabric-interop/dist/components/Viro360Image.d.ts.map +1 -0
  455. package/fabric-interop/dist/components/Viro360Image.js +47 -0
  456. package/fabric-interop/dist/components/Viro360Image.js.map +1 -0
  457. package/fabric-interop/dist/components/Viro360Video.d.ts +30 -0
  458. package/fabric-interop/dist/components/Viro360Video.d.ts.map +1 -0
  459. package/fabric-interop/dist/components/Viro360Video.js +49 -0
  460. package/fabric-interop/dist/components/Viro360Video.js.map +1 -0
  461. package/fabric-interop/dist/components/Viro3DObject.d.ts +61 -0
  462. package/fabric-interop/dist/components/Viro3DObject.d.ts.map +1 -0
  463. package/fabric-interop/dist/components/Viro3DObject.js +51 -0
  464. package/fabric-interop/dist/components/Viro3DObject.js.map +1 -0
  465. package/fabric-interop/dist/components/Viro3DSceneNavigator.d.ts +50 -0
  466. package/fabric-interop/dist/components/Viro3DSceneNavigator.d.ts.map +1 -0
  467. package/fabric-interop/dist/components/Viro3DSceneNavigator.js +389 -0
  468. package/fabric-interop/dist/components/Viro3DSceneNavigator.js.map +1 -0
  469. package/fabric-interop/dist/components/ViroARCamera.d.ts +30 -0
  470. package/fabric-interop/dist/components/ViroARCamera.d.ts.map +1 -0
  471. package/fabric-interop/dist/components/ViroARCamera.js +65 -0
  472. package/fabric-interop/dist/components/ViroARCamera.js.map +1 -0
  473. package/fabric-interop/dist/components/ViroARImageMarker.d.ts +22 -0
  474. package/fabric-interop/dist/components/ViroARImageMarker.d.ts.map +1 -0
  475. package/fabric-interop/dist/components/ViroARImageMarker.js +72 -0
  476. package/fabric-interop/dist/components/ViroARImageMarker.js.map +1 -0
  477. package/fabric-interop/dist/components/ViroARObjectMarker.d.ts +22 -0
  478. package/fabric-interop/dist/components/ViroARObjectMarker.d.ts.map +1 -0
  479. package/fabric-interop/dist/components/ViroARObjectMarker.js +72 -0
  480. package/fabric-interop/dist/components/ViroARObjectMarker.js.map +1 -0
  481. package/fabric-interop/dist/components/ViroARPlane.d.ts +25 -0
  482. package/fabric-interop/dist/components/ViroARPlane.d.ts.map +1 -0
  483. package/fabric-interop/dist/components/ViroARPlane.js +89 -0
  484. package/fabric-interop/dist/components/ViroARPlane.js.map +1 -0
  485. package/fabric-interop/dist/components/ViroARScene.d.ts +30 -0
  486. package/fabric-interop/dist/components/ViroARScene.d.ts.map +1 -0
  487. package/fabric-interop/dist/components/ViroARScene.js +90 -0
  488. package/fabric-interop/dist/components/ViroARScene.js.map +1 -0
  489. package/fabric-interop/dist/components/ViroARSceneNavigator.d.ts +30 -0
  490. package/fabric-interop/dist/components/ViroARSceneNavigator.d.ts.map +1 -0
  491. package/fabric-interop/dist/components/ViroARSceneNavigator.js +78 -0
  492. package/fabric-interop/dist/components/ViroARSceneNavigator.js.map +1 -0
  493. package/fabric-interop/dist/components/ViroAmbientLight.d.ts +20 -0
  494. package/fabric-interop/dist/components/ViroAmbientLight.d.ts.map +1 -0
  495. package/fabric-interop/dist/components/ViroAmbientLight.js +48 -0
  496. package/fabric-interop/dist/components/ViroAmbientLight.js.map +1 -0
  497. package/fabric-interop/dist/components/ViroAnimatedComponent.d.ts +25 -0
  498. package/fabric-interop/dist/components/ViroAnimatedComponent.d.ts.map +1 -0
  499. package/fabric-interop/dist/components/ViroAnimatedComponent.js +65 -0
  500. package/fabric-interop/dist/components/ViroAnimatedComponent.js.map +1 -0
  501. package/fabric-interop/dist/components/ViroAnimatedImage.d.ts +29 -0
  502. package/fabric-interop/dist/components/ViroAnimatedImage.d.ts.map +1 -0
  503. package/fabric-interop/dist/components/ViroAnimatedImage.js +51 -0
  504. package/fabric-interop/dist/components/ViroAnimatedImage.js.map +1 -0
  505. package/fabric-interop/dist/components/ViroBox.d.ts +21 -0
  506. package/fabric-interop/dist/components/ViroBox.d.ts.map +1 -0
  507. package/fabric-interop/dist/components/ViroBox.js +49 -0
  508. package/fabric-interop/dist/components/ViroBox.js.map +1 -0
  509. package/fabric-interop/dist/components/ViroButton.d.ts +33 -0
  510. package/fabric-interop/dist/components/ViroButton.d.ts.map +1 -0
  511. package/fabric-interop/dist/components/ViroButton.js +94 -0
  512. package/fabric-interop/dist/components/ViroButton.js.map +1 -0
  513. package/fabric-interop/dist/components/ViroCamera.d.ts +18 -0
  514. package/fabric-interop/dist/components/ViroCamera.d.ts.map +1 -0
  515. package/fabric-interop/dist/components/ViroCamera.js +31 -0
  516. package/fabric-interop/dist/components/ViroCamera.js.map +1 -0
  517. package/fabric-interop/dist/components/ViroController.d.ts +20 -0
  518. package/fabric-interop/dist/components/ViroController.d.ts.map +1 -0
  519. package/fabric-interop/dist/components/ViroController.js +65 -0
  520. package/fabric-interop/dist/components/ViroController.js.map +1 -0
  521. package/fabric-interop/dist/components/ViroDirectionalLight.d.ts +29 -0
  522. package/fabric-interop/dist/components/ViroDirectionalLight.d.ts.map +1 -0
  523. package/fabric-interop/dist/components/ViroDirectionalLight.js +57 -0
  524. package/fabric-interop/dist/components/ViroDirectionalLight.js.map +1 -0
  525. package/fabric-interop/dist/components/ViroFlexView.d.ts +37 -0
  526. package/fabric-interop/dist/components/ViroFlexView.d.ts.map +1 -0
  527. package/fabric-interop/dist/components/ViroFlexView.js +98 -0
  528. package/fabric-interop/dist/components/ViroFlexView.js.map +1 -0
  529. package/fabric-interop/dist/components/ViroGeometry.d.ts +24 -0
  530. package/fabric-interop/dist/components/ViroGeometry.d.ts.map +1 -0
  531. package/fabric-interop/dist/components/ViroGeometry.js +52 -0
  532. package/fabric-interop/dist/components/ViroGeometry.js.map +1 -0
  533. package/fabric-interop/dist/components/ViroGlobal.d.ts +46 -0
  534. package/fabric-interop/dist/components/ViroGlobal.d.ts.map +1 -0
  535. package/fabric-interop/dist/components/ViroGlobal.js +21 -0
  536. package/fabric-interop/dist/components/ViroGlobal.js.map +1 -0
  537. package/fabric-interop/dist/components/ViroImage.d.ts +30 -0
  538. package/fabric-interop/dist/components/ViroImage.d.ts.map +1 -0
  539. package/fabric-interop/dist/components/ViroImage.js +54 -0
  540. package/fabric-interop/dist/components/ViroImage.js.map +1 -0
  541. package/fabric-interop/dist/components/ViroLightingEnvironment.d.ts +20 -0
  542. package/fabric-interop/dist/components/ViroLightingEnvironment.d.ts.map +1 -0
  543. package/fabric-interop/dist/components/ViroLightingEnvironment.js +46 -0
  544. package/fabric-interop/dist/components/ViroLightingEnvironment.js.map +1 -0
  545. package/fabric-interop/dist/components/ViroMaterialVideo.d.ts +31 -0
  546. package/fabric-interop/dist/components/ViroMaterialVideo.d.ts.map +1 -0
  547. package/fabric-interop/dist/components/ViroMaterialVideo.js +50 -0
  548. package/fabric-interop/dist/components/ViroMaterialVideo.js.map +1 -0
  549. package/fabric-interop/dist/components/ViroNode.d.ts +37 -0
  550. package/fabric-interop/dist/components/ViroNode.d.ts.map +1 -0
  551. package/fabric-interop/dist/components/ViroNode.js +29 -0
  552. package/fabric-interop/dist/components/ViroNode.js.map +1 -0
  553. package/fabric-interop/dist/components/ViroOmniLight.d.ts +22 -0
  554. package/fabric-interop/dist/components/ViroOmniLight.d.ts.map +1 -0
  555. package/fabric-interop/dist/components/ViroOmniLight.js +50 -0
  556. package/fabric-interop/dist/components/ViroOmniLight.js.map +1 -0
  557. package/fabric-interop/dist/components/ViroOrbitCamera.d.ts +18 -0
  558. package/fabric-interop/dist/components/ViroOrbitCamera.d.ts.map +1 -0
  559. package/fabric-interop/dist/components/ViroOrbitCamera.js +31 -0
  560. package/fabric-interop/dist/components/ViroOrbitCamera.js.map +1 -0
  561. package/fabric-interop/dist/components/ViroParticleEmitter.d.ts +52 -0
  562. package/fabric-interop/dist/components/ViroParticleEmitter.d.ts.map +1 -0
  563. package/fabric-interop/dist/components/ViroParticleEmitter.js +52 -0
  564. package/fabric-interop/dist/components/ViroParticleEmitter.js.map +1 -0
  565. package/fabric-interop/dist/components/ViroPolygon.d.ts +21 -0
  566. package/fabric-interop/dist/components/ViroPolygon.d.ts.map +1 -0
  567. package/fabric-interop/dist/components/ViroPolygon.js +49 -0
  568. package/fabric-interop/dist/components/ViroPolygon.js.map +1 -0
  569. package/fabric-interop/dist/components/ViroPolyline.d.ts +20 -0
  570. package/fabric-interop/dist/components/ViroPolyline.d.ts.map +1 -0
  571. package/fabric-interop/dist/components/ViroPolyline.js +48 -0
  572. package/fabric-interop/dist/components/ViroPolyline.js.map +1 -0
  573. package/fabric-interop/dist/components/ViroPortal.d.ts +17 -0
  574. package/fabric-interop/dist/components/ViroPortal.d.ts.map +1 -0
  575. package/fabric-interop/dist/components/ViroPortal.js +74 -0
  576. package/fabric-interop/dist/components/ViroPortal.js.map +1 -0
  577. package/fabric-interop/dist/components/ViroPortalScene.d.ts +17 -0
  578. package/fabric-interop/dist/components/ViroPortalScene.d.ts.map +1 -0
  579. package/fabric-interop/dist/components/ViroPortalScene.js +30 -0
  580. package/fabric-interop/dist/components/ViroPortalScene.js.map +1 -0
  581. package/fabric-interop/dist/components/ViroQuad.d.ts +40 -0
  582. package/fabric-interop/dist/components/ViroQuad.d.ts.map +1 -0
  583. package/fabric-interop/dist/components/ViroQuad.js +51 -0
  584. package/fabric-interop/dist/components/ViroQuad.js.map +1 -0
  585. package/fabric-interop/dist/components/ViroScene.d.ts +30 -0
  586. package/fabric-interop/dist/components/ViroScene.d.ts.map +1 -0
  587. package/fabric-interop/dist/components/ViroScene.js +105 -0
  588. package/fabric-interop/dist/components/ViroScene.js.map +1 -0
  589. package/fabric-interop/dist/components/ViroSceneNavigator.d.ts +24 -0
  590. package/fabric-interop/dist/components/ViroSceneNavigator.d.ts.map +1 -0
  591. package/fabric-interop/dist/components/ViroSceneNavigator.js +74 -0
  592. package/fabric-interop/dist/components/ViroSceneNavigator.js.map +1 -0
  593. package/fabric-interop/dist/components/ViroSkyBox.d.ts +40 -0
  594. package/fabric-interop/dist/components/ViroSkyBox.d.ts.map +1 -0
  595. package/fabric-interop/dist/components/ViroSkyBox.js +46 -0
  596. package/fabric-interop/dist/components/ViroSkyBox.js.map +1 -0
  597. package/fabric-interop/dist/components/ViroSound.d.ts +24 -0
  598. package/fabric-interop/dist/components/ViroSound.d.ts.map +1 -0
  599. package/fabric-interop/dist/components/ViroSound.js +48 -0
  600. package/fabric-interop/dist/components/ViroSound.js.map +1 -0
  601. package/fabric-interop/dist/components/ViroSoundField.d.ts +25 -0
  602. package/fabric-interop/dist/components/ViroSoundField.d.ts.map +1 -0
  603. package/fabric-interop/dist/components/ViroSoundField.js +49 -0
  604. package/fabric-interop/dist/components/ViroSoundField.js.map +1 -0
  605. package/fabric-interop/dist/components/ViroSpatialSound.d.ts +28 -0
  606. package/fabric-interop/dist/components/ViroSpatialSound.d.ts.map +1 -0
  607. package/fabric-interop/dist/components/ViroSpatialSound.js +52 -0
  608. package/fabric-interop/dist/components/ViroSpatialSound.js.map +1 -0
  609. package/fabric-interop/dist/components/ViroSphere.d.ts +23 -0
  610. package/fabric-interop/dist/components/ViroSphere.d.ts.map +1 -0
  611. package/fabric-interop/dist/components/ViroSphere.js +51 -0
  612. package/fabric-interop/dist/components/ViroSphere.js.map +1 -0
  613. package/fabric-interop/dist/components/ViroSpinner.d.ts +19 -0
  614. package/fabric-interop/dist/components/ViroSpinner.d.ts.map +1 -0
  615. package/fabric-interop/dist/components/ViroSpinner.js +47 -0
  616. package/fabric-interop/dist/components/ViroSpinner.js.map +1 -0
  617. package/fabric-interop/dist/components/ViroSpotLight.d.ts +31 -0
  618. package/fabric-interop/dist/components/ViroSpotLight.d.ts.map +1 -0
  619. package/fabric-interop/dist/components/ViroSpotLight.js +59 -0
  620. package/fabric-interop/dist/components/ViroSpotLight.js.map +1 -0
  621. package/fabric-interop/dist/components/ViroSurface.d.ts +39 -0
  622. package/fabric-interop/dist/components/ViroSurface.d.ts.map +1 -0
  623. package/fabric-interop/dist/components/ViroSurface.js +50 -0
  624. package/fabric-interop/dist/components/ViroSurface.js.map +1 -0
  625. package/fabric-interop/dist/components/ViroText.d.ts +37 -0
  626. package/fabric-interop/dist/components/ViroText.d.ts.map +1 -0
  627. package/fabric-interop/dist/components/ViroText.js +61 -0
  628. package/fabric-interop/dist/components/ViroText.js.map +1 -0
  629. package/fabric-interop/dist/components/ViroUtils.d.ts +64 -0
  630. package/fabric-interop/dist/components/ViroUtils.d.ts.map +1 -0
  631. package/fabric-interop/dist/components/ViroUtils.js +141 -0
  632. package/fabric-interop/dist/components/ViroUtils.js.map +1 -0
  633. package/fabric-interop/dist/components/ViroVRSceneNavigator.d.ts +26 -0
  634. package/fabric-interop/dist/components/ViroVRSceneNavigator.d.ts.map +1 -0
  635. package/fabric-interop/dist/components/ViroVRSceneNavigator.js +74 -0
  636. package/fabric-interop/dist/components/ViroVRSceneNavigator.js.map +1 -0
  637. package/fabric-interop/dist/components/ViroVideo.d.ts +33 -0
  638. package/fabric-interop/dist/components/ViroVideo.d.ts.map +1 -0
  639. package/fabric-interop/dist/components/ViroVideo.js +54 -0
  640. package/fabric-interop/dist/components/ViroVideo.js.map +1 -0
  641. package/fabric-interop/dist/components/index.d.ts +63 -0
  642. package/fabric-interop/dist/components/index.d.ts.map +1 -0
  643. package/fabric-interop/dist/components/index.js +145 -0
  644. package/fabric-interop/dist/components/index.js.map +1 -0
  645. package/fabric-interop/dist/index.d.ts +15 -0
  646. package/fabric-interop/dist/index.d.ts.map +1 -0
  647. package/fabric-interop/dist/index.js +118 -0
  648. package/fabric-interop/dist/index.js.map +1 -0
  649. package/fabric-interop/dist/specs/ViroEventsTurboModule.d.ts +20 -0
  650. package/fabric-interop/dist/specs/ViroEventsTurboModule.d.ts.map +1 -0
  651. package/fabric-interop/dist/specs/ViroEventsTurboModule.js +12 -0
  652. package/fabric-interop/dist/specs/ViroEventsTurboModule.js.map +1 -0
  653. package/fabric-interop/examples/BasicSceneExample.tsx +287 -0
  654. package/fabric-interop/examples/ComprehensiveExample.tsx +441 -0
  655. package/fabric-interop/examples/SimpleARExample.tsx +95 -0
  656. package/fabric-interop/global.d.ts +14 -0
  657. package/fabric-interop/index.ts +107 -0
  658. package/fabric-interop/metro.config.js +12 -0
  659. package/fabric-interop/package.json +40 -0
  660. package/fabric-interop/react-native.config.js +22 -0
  661. package/fabric-interop/scripts/validate-build.js +393 -0
  662. package/fabric-interop/scripts/validate-implementation.js +272 -0
  663. package/fabric-interop/specs/README.md +22 -0
  664. package/fabric-interop/specs/ViroEventsTurboModule.ts +27 -0
  665. package/fabric-interop/test/BasicFunctionalityTest.tsx +243 -0
  666. package/fabric-interop/tsconfig.json +38 -0
  667. package/fabric.d.ts +5 -0
  668. package/fabric.ts +14 -0
  669. package/ios/ViroReact.podspec +51 -11
  670. package/package.json +23 -10
  671. package/scripts/copy-types.js +46 -0
@@ -0,0 +1,503 @@
1
+ /**
2
+ * Viro3DSceneNavigator
3
+ *
4
+ * Component for transitioning between multiple scenes in a 3D environment.
5
+ */
6
+
7
+ import * as React from "react";
8
+ import { useEffect, useRef, useState } from "react";
9
+ import { StyleSheet, View, ViewProps } from "react-native";
10
+ import { ViroScene } from "./ViroScene";
11
+ import {
12
+ registerEventListener,
13
+ unregisterEventListener,
14
+ generateNodeId,
15
+ } from "../NativeViro";
16
+ import { Viro3DPoint, ViroSceneDictionary } from "./Types/ViroUtils";
17
+ import { getNativeViro } from "./ViroGlobal";
18
+
19
+ type Props = ViewProps & {
20
+ /**
21
+ * initial scene key
22
+ */
23
+ initialSceneKey?: string;
24
+
25
+ /**
26
+ * A flag to enable/disable some debug features
27
+ */
28
+ debug?: boolean;
29
+
30
+ viroAppProps?: any;
31
+
32
+ /**
33
+ * ViroSceneNavigator uses "scene" objects like the following to
34
+ * describe a scene.
35
+ */
36
+ initialScene: {
37
+ /**
38
+ * The React Component to render for this scene.
39
+ */
40
+ scene: typeof ViroScene;
41
+ passProps?: any;
42
+ };
43
+
44
+ /**
45
+ * Called when either the user physically decides to exit vr (hits
46
+ * the "X" button).
47
+ */
48
+ onExitViro?: () => void;
49
+
50
+ /**
51
+ * Renderer settings that can be used to enable or disable various
52
+ * renderer capabilities and algorithms.
53
+ */
54
+ hdrEnabled?: boolean;
55
+ pbrEnabled?: boolean;
56
+ bloomEnabled?: boolean;
57
+ shadowsEnabled?: boolean;
58
+ multisamplingEnabled?: boolean;
59
+ };
60
+
61
+ /**
62
+ * Viro3DSceneNavigator is used to transition between multiple scenes.
63
+ */
64
+ export function Viro3DSceneNavigator(props: Props): React.ReactElement {
65
+ const {
66
+ initialSceneKey,
67
+ initialScene,
68
+ viroAppProps,
69
+ onExitViro,
70
+ debug = false,
71
+ hdrEnabled,
72
+ pbrEnabled,
73
+ bloomEnabled,
74
+ shadowsEnabled,
75
+ multisamplingEnabled,
76
+ style,
77
+ ...rest
78
+ } = props;
79
+
80
+ // Generate a random tag for scenes
81
+ const mathRandomOffsetRef = useRef(0);
82
+ const getRandomTag = () => {
83
+ const randomTag = Math.random() + mathRandomOffsetRef.current;
84
+ mathRandomOffsetRef.current++;
85
+ return randomTag.toString();
86
+ };
87
+
88
+ // Initialize state
89
+ const initialTag = initialSceneKey || getRandomTag();
90
+ const initialSceneObj = {
91
+ sceneClass: initialScene,
92
+ tag: initialTag,
93
+ referenceCount: 1,
94
+ };
95
+
96
+ const [sceneDictionary, setSceneDictionary] = useState<ViroSceneDictionary>({
97
+ [initialTag]: initialSceneObj,
98
+ });
99
+
100
+ const [sceneHistory, setSceneHistory] = useState<string[]>([initialTag]);
101
+ const [currentSceneIndex, setCurrentSceneIndex] = useState<number>(0);
102
+
103
+ // Create a ref for the navigator node
104
+ const navigatorRef = useRef<string>(generateNodeId());
105
+
106
+ // Set up event listeners
107
+ useEffect(() => {
108
+ if (!navigatorRef.current) return;
109
+
110
+ const exitViroCallbackId = onExitViro
111
+ ? registerEventListener(navigatorRef.current, "onExitViro", () => {
112
+ onExitViro();
113
+ })
114
+ : null;
115
+
116
+ // Clean up event listeners
117
+ return () => {
118
+ if (exitViroCallbackId) {
119
+ unregisterEventListener(
120
+ navigatorRef.current,
121
+ "onExitViro",
122
+ exitViroCallbackId
123
+ );
124
+ }
125
+ };
126
+ }, [navigatorRef.current, onExitViro]);
127
+
128
+ /**
129
+ * Increments the reference count for a scene within sceneDictionary that is
130
+ * mapped to the given sceneKey. If no scenes are found / mapped, we create
131
+ * one, initialize it with a reference count of 1, and store it within the
132
+ * sceneDictionary for future reference.
133
+ */
134
+ const incrementSceneReference = (
135
+ scene: any,
136
+ sceneKey: string,
137
+ limitOne: boolean
138
+ ) => {
139
+ setSceneDictionary((prevDictionary) => {
140
+ const newDictionary = { ...prevDictionary };
141
+
142
+ if (!(sceneKey in newDictionary)) {
143
+ const newScene = {
144
+ sceneClass: scene,
145
+ tag: sceneKey,
146
+ referenceCount: 0,
147
+ };
148
+ newDictionary[sceneKey] = newScene;
149
+ }
150
+
151
+ // Error out if there are no scenes matching the given sceneKey
152
+ const currentScene = newDictionary[sceneKey];
153
+ if (!currentScene) {
154
+ console.log("ERROR: No scene found for: " + sceneKey);
155
+ return prevDictionary;
156
+ }
157
+
158
+ // Update the scene's reference count
159
+ if ((limitOne && currentScene.referenceCount < 1) || !limitOne) {
160
+ currentScene.referenceCount++;
161
+ }
162
+
163
+ newDictionary[sceneKey] = currentScene;
164
+ return newDictionary;
165
+ });
166
+ };
167
+
168
+ /**
169
+ * Decrements the reference count for the last N scenes within
170
+ * the sceneHistory by 1. If nothing else references that given scene
171
+ * (counts equals 0), we then remove that scene from sceneDictionary.
172
+ */
173
+ const decrementReferenceForLastNScenes = (n: number) => {
174
+ setSceneDictionary((prevDictionary) => {
175
+ const newDictionary = { ...prevDictionary };
176
+
177
+ // Now update and release any reference counts
178
+ for (let i = 1; i <= n; i++) {
179
+ const sceneTag = sceneHistory[sceneHistory.length - i];
180
+ const scene = newDictionary[sceneTag];
181
+ if (!scene) continue;
182
+
183
+ scene.referenceCount--;
184
+
185
+ if (scene.referenceCount <= 0) {
186
+ delete newDictionary[sceneTag];
187
+ } else {
188
+ newDictionary[sceneTag] = scene;
189
+ }
190
+ }
191
+
192
+ return newDictionary;
193
+ });
194
+ };
195
+
196
+ /**
197
+ * Adds the given sceneKey to the sceneHistory and updates the currentSceneIndex to point
198
+ * to the scene on the top of the history stack (the most recent scene).
199
+ */
200
+ const addToHistory = (sceneKey: string) => {
201
+ setSceneHistory((prevHistory) => [...prevHistory, sceneKey]);
202
+
203
+ // Find the index of the scene in the dictionary
204
+ let index = 0;
205
+ for (const key in sceneDictionary) {
206
+ if (sceneKey === sceneDictionary[key].tag) {
207
+ setCurrentSceneIndex(index);
208
+ break;
209
+ }
210
+ index++;
211
+ }
212
+ };
213
+
214
+ /**
215
+ * Instead of preserving history, we find the last pushed sceneKey within the history stack
216
+ * matching the given sceneKey and re-order it to the front.
217
+ */
218
+ const reorderHistory = (sceneKey: string) => {
219
+ setSceneHistory((prevHistory) => {
220
+ // Find the last sceneKey within sceneHistory and remove it
221
+ const newHistory = [...prevHistory];
222
+ for (let i = newHistory.length - 1; i >= 0; i--) {
223
+ if (sceneKey === newHistory[i]) {
224
+ newHistory.splice(i, 1);
225
+ break;
226
+ }
227
+ }
228
+
229
+ // Add back the sceneKey to the front of the History stack
230
+ return [...newHistory, sceneKey];
231
+ });
232
+
233
+ // Find the index of the scene in the dictionary
234
+ let index = 0;
235
+ for (const key in sceneDictionary) {
236
+ if (sceneKey === sceneDictionary[key].tag) {
237
+ setCurrentSceneIndex(index);
238
+ break;
239
+ }
240
+ index++;
241
+ }
242
+ };
243
+
244
+ /**
245
+ * Removes the last N scenes from the history stack
246
+ */
247
+ const popHistoryByN = (n: number) => {
248
+ setSceneHistory((prevHistory) => {
249
+ const newHistory = [...prevHistory];
250
+ newHistory.splice(newHistory.length - n, n);
251
+
252
+ // Find the index of the last scene in the dictionary
253
+ if (newHistory.length > 0) {
254
+ const lastSceneTag = newHistory[newHistory.length - 1];
255
+ let index = 0;
256
+ for (const key in sceneDictionary) {
257
+ if (lastSceneTag === sceneDictionary[key].tag) {
258
+ setCurrentSceneIndex(index);
259
+ break;
260
+ }
261
+ index++;
262
+ }
263
+ }
264
+
265
+ return newHistory;
266
+ });
267
+ };
268
+
269
+ /**
270
+ * Pushes a scene and reference it with the given key if provided.
271
+ */
272
+ const push = (param1?: any, param2?: any) => {
273
+ let sceneKey: string | undefined = undefined;
274
+ let scene: any = undefined;
275
+
276
+ if (typeof param1 === "string") {
277
+ sceneKey = param1;
278
+ scene = param2;
279
+ } else {
280
+ scene = param1;
281
+ }
282
+
283
+ if (scene === undefined && sceneKey === undefined) {
284
+ console.log(
285
+ "ERROR: pushing requires either the scene tag, or both the tag and scene."
286
+ );
287
+ return;
288
+ } else if (
289
+ scene === undefined &&
290
+ sceneKey !== undefined &&
291
+ !(sceneKey in sceneDictionary)
292
+ ) {
293
+ console.log(
294
+ "ERROR: Cannot push with a new sceneKey with no associated scene."
295
+ );
296
+ return;
297
+ }
298
+
299
+ if (
300
+ sceneKey === undefined ||
301
+ (typeof sceneKey === "string" && sceneKey.trim().length <= 0)
302
+ ) {
303
+ sceneKey = getRandomTag();
304
+ }
305
+
306
+ incrementSceneReference(scene, sceneKey, false);
307
+ addToHistory(sceneKey);
308
+ };
309
+
310
+ /**
311
+ * Replace the top scene in the stack with the given scene.
312
+ */
313
+ const replace = (param1?: any, param2?: any) => {
314
+ let sceneKey: string | undefined = undefined;
315
+ let scene: any = undefined;
316
+
317
+ if (typeof param1 === "string") {
318
+ sceneKey = param1;
319
+ scene = param2;
320
+ } else {
321
+ scene = param1;
322
+ }
323
+
324
+ if (scene === undefined && sceneKey === undefined) {
325
+ console.log(
326
+ "ERROR: replacing requires either the scene tag, or both the tag and scene."
327
+ );
328
+ return;
329
+ } else if (
330
+ scene === undefined &&
331
+ sceneKey !== undefined &&
332
+ !(sceneKey in sceneDictionary)
333
+ ) {
334
+ console.log(
335
+ "ERROR: Cannot replace with a new sceneKey with no associated scene."
336
+ );
337
+ return;
338
+ }
339
+
340
+ if (
341
+ sceneKey === undefined ||
342
+ (typeof sceneKey === "string" && sceneKey.trim().length <= 0)
343
+ ) {
344
+ sceneKey = getRandomTag();
345
+ }
346
+
347
+ // Pop 1 off the scene history, then push this scene
348
+ decrementReferenceForLastNScenes(1);
349
+ popHistoryByN(1);
350
+ incrementSceneReference(scene, sceneKey, false);
351
+ addToHistory(sceneKey);
352
+ };
353
+
354
+ /**
355
+ * Jumps to a given scene that had been previously pushed.
356
+ */
357
+ const jump = (param1?: any, param2?: any) => {
358
+ let sceneKey: string | undefined = undefined;
359
+ let scene: any = undefined;
360
+
361
+ if (typeof param1 === "string") {
362
+ sceneKey = param1;
363
+ scene = param2;
364
+ } else {
365
+ scene = param1;
366
+ }
367
+
368
+ if (scene === undefined && sceneKey === undefined) {
369
+ console.log(
370
+ "ERROR: jumping requires either the scene tag, or both the tag and scene."
371
+ );
372
+ return;
373
+ } else if (
374
+ scene === undefined &&
375
+ sceneKey !== undefined &&
376
+ !(sceneKey in sceneDictionary)
377
+ ) {
378
+ console.log(
379
+ "ERROR: Cannot jump with a new sceneKey with no associated scene."
380
+ );
381
+ return;
382
+ }
383
+
384
+ if (
385
+ sceneKey === undefined ||
386
+ (typeof sceneKey === "string" && sceneKey.trim().length <= 0)
387
+ ) {
388
+ sceneKey = getRandomTag();
389
+ }
390
+
391
+ incrementSceneReference(scene, sceneKey, true);
392
+ reorderHistory(sceneKey);
393
+ };
394
+
395
+ /**
396
+ * Pops the current scene from the stack
397
+ */
398
+ const pop = () => {
399
+ popN(1);
400
+ };
401
+
402
+ /**
403
+ * Pops N scenes from the stack
404
+ */
405
+ const popN = (n: number) => {
406
+ if (n === 0) {
407
+ return;
408
+ }
409
+
410
+ if (sceneHistory.length - n <= 0) {
411
+ console.log(
412
+ "WARN: Attempted to pop the root scene in ViroSceneNavigator!"
413
+ );
414
+ return;
415
+ }
416
+
417
+ decrementReferenceForLastNScenes(n);
418
+ popHistoryByN(n);
419
+ };
420
+
421
+ /**
422
+ * Recenter the tracking
423
+ */
424
+ const recenterTracking = () => {
425
+ const nativeViro = getNativeViro();
426
+ if (nativeViro && navigatorRef.current) {
427
+ nativeViro.recenterTracking(navigatorRef.current);
428
+ }
429
+ };
430
+
431
+ /**
432
+ * Project a 3D point to screen space
433
+ */
434
+ const project = async (point: Viro3DPoint) => {
435
+ const nativeViro = getNativeViro();
436
+ if (nativeViro && navigatorRef.current) {
437
+ return await nativeViro.project(navigatorRef.current, point);
438
+ }
439
+ return null;
440
+ };
441
+
442
+ /**
443
+ * Unproject a screen point to 3D space
444
+ */
445
+ const unproject = async (point: Viro3DPoint) => {
446
+ const nativeViro = getNativeViro();
447
+ if (nativeViro && navigatorRef.current) {
448
+ return await nativeViro.unproject(navigatorRef.current, point);
449
+ }
450
+ return null;
451
+ };
452
+
453
+ // Create the sceneNavigator object to pass to scenes
454
+ const sceneNavigator = {
455
+ push,
456
+ pop,
457
+ popN,
458
+ jump,
459
+ replace,
460
+ recenterTracking,
461
+ project,
462
+ unproject,
463
+ viroAppProps: viroAppProps || {},
464
+ };
465
+
466
+ // Render the scenes
467
+ const renderScenes = () => {
468
+ const views = [];
469
+ let i = 0;
470
+
471
+ for (const key in sceneDictionary) {
472
+ const sceneInfo = sceneDictionary[key];
473
+ const Component = sceneInfo.sceneClass.scene;
474
+ const passProps = sceneInfo.sceneClass.passProps || {};
475
+
476
+ views.push(
477
+ <Component
478
+ key={`scene${i}`}
479
+ sceneNavigator={sceneNavigator}
480
+ {...passProps}
481
+ />
482
+ );
483
+ i++;
484
+ }
485
+
486
+ return views;
487
+ };
488
+
489
+ // Render the navigator
490
+ return (
491
+ <View style={[styles.container, style]} {...rest}>
492
+ {renderScenes()}
493
+ </View>
494
+ );
495
+ }
496
+
497
+ const styles = StyleSheet.create({
498
+ container: {
499
+ flex: 1,
500
+ justifyContent: "center",
501
+ alignItems: "center",
502
+ },
503
+ });
@@ -0,0 +1,105 @@
1
+ /**
2
+ * ViroARCamera
3
+ *
4
+ * A component for controlling the camera in an AR scene.
5
+ */
6
+
7
+ import React from "react";
8
+ import {
9
+ ViroCommonProps,
10
+ useViroNode,
11
+ convertCommonProps,
12
+ ViroContextProvider,
13
+ useViroEventListeners,
14
+ } from "./ViroUtils";
15
+ import { getNativeViro } from "./ViroGlobal";
16
+
17
+ // Custom type for transform update event
18
+ export type ViroARCameraTransformUpdateEvent = {
19
+ position: [number, number, number];
20
+ rotation: [number, number, number];
21
+ forward: [number, number, number];
22
+ up: [number, number, number];
23
+ };
24
+
25
+ // Custom type for tracking state update event
26
+ export type ViroARTrackingStateEvent = {
27
+ state: "NORMAL" | "LIMITED" | "NOT_AVAILABLE";
28
+ reason?:
29
+ | "NONE"
30
+ | "INITIALIZING"
31
+ | "EXCESSIVE_MOTION"
32
+ | "INSUFFICIENT_FEATURES";
33
+ };
34
+
35
+ export interface ViroARCameraProps
36
+ extends Omit<ViroCommonProps, "onTransformUpdate"> {
37
+ // Camera properties
38
+ active?: boolean;
39
+
40
+ // Events with specific types
41
+ onTransformUpdate?: (event: ViroARCameraTransformUpdateEvent) => void;
42
+ onTrackingUpdated?: (event: ViroARTrackingStateEvent) => void;
43
+
44
+ // Children components
45
+ children?: React.ReactNode;
46
+ }
47
+
48
+ /**
49
+ * ViroARCamera is a component for controlling the camera in an AR scene.
50
+ * It provides information about the camera's position and orientation in the real world,
51
+ * as well as tracking state updates.
52
+ */
53
+ export const ViroARCamera: React.FC<ViroARCameraProps> = (props) => {
54
+ // Convert common props to the format expected by the native code
55
+ const nativeProps = {
56
+ ...convertCommonProps(props),
57
+ active: props.active,
58
+ };
59
+
60
+ // Create the node (parent will be determined by context)
61
+ const nodeId = useViroNode("arCamera", nativeProps);
62
+
63
+ // Register event handlers
64
+ React.useEffect(() => {
65
+ const nativeViro = getNativeViro();
66
+ if (!nativeViro) return;
67
+
68
+ const eventHandlers = [
69
+ { name: "onTransformUpdate", handler: props.onTransformUpdate },
70
+ { name: "onTrackingUpdated", handler: props.onTrackingUpdated },
71
+ ];
72
+
73
+ // Register all event handlers and store callback IDs for cleanup
74
+ const registeredCallbacks = eventHandlers
75
+ .filter(({ handler }) => !!handler)
76
+ .map(({ name, handler }) => {
77
+ const callbackId = `${nodeId}_${name}`;
78
+
79
+ // Register the callback in the global registry
80
+ if (typeof global !== "undefined" && global.registerViroEventCallback) {
81
+ global.registerViroEventCallback(callbackId, handler);
82
+ }
83
+
84
+ // Register with native code
85
+ nativeViro.registerEventCallback(nodeId, name, callbackId);
86
+ return { name, callbackId };
87
+ });
88
+
89
+ // Cleanup when unmounting
90
+ return () => {
91
+ const nativeViro = getNativeViro();
92
+ if (!nativeViro) return;
93
+
94
+ // Unregister all event handlers
95
+ registeredCallbacks.forEach(({ name, callbackId }) => {
96
+ nativeViro.unregisterEventCallback(nodeId, name, callbackId);
97
+ });
98
+ };
99
+ }, [nodeId, props.onTransformUpdate, props.onTrackingUpdated]);
100
+
101
+ // Render children with this AR camera as their parent
102
+ return (
103
+ <ViroContextProvider value={nodeId}>{props.children}</ViroContextProvider>
104
+ );
105
+ };
@@ -0,0 +1,98 @@
1
+ /**
2
+ * ViroARImageMarker
3
+ *
4
+ * A component for detecting and tracking images in the real world.
5
+ */
6
+
7
+ import React from "react";
8
+ import {
9
+ ViroCommonProps,
10
+ useViroNode,
11
+ convertCommonProps,
12
+ ViroContextProvider,
13
+ useViroEventListeners,
14
+ } from "./ViroUtils";
15
+ import { getNativeViro } from "./ViroGlobal";
16
+
17
+ export interface ViroARImageMarkerProps extends ViroCommonProps {
18
+ // Image marker properties
19
+ target: string;
20
+
21
+ // Visual properties
22
+ visible?: boolean;
23
+ opacity?: number;
24
+
25
+ // Events
26
+ onAnchorFound?: () => void;
27
+ onAnchorUpdated?: () => void;
28
+ onAnchorRemoved?: () => void;
29
+
30
+ // Children components
31
+ children?: React.ReactNode;
32
+ }
33
+
34
+ /**
35
+ * ViroARImageMarker is a component for detecting and tracking images in the real world.
36
+ * It allows you to attach virtual content to real-world images, such as posters, book covers, or logos.
37
+ */
38
+ export const ViroARImageMarker: React.FC<ViroARImageMarkerProps> = (props) => {
39
+ // Convert common props to the format expected by the native code
40
+ const nativeProps = {
41
+ ...convertCommonProps(props),
42
+ target: props.target,
43
+ visible: props.visible,
44
+ opacity: props.opacity,
45
+ };
46
+
47
+ // Create the node (parent will be determined by context)
48
+ const nodeId = useViroNode("arImageMarker", nativeProps);
49
+
50
+ // Register event handlers
51
+ React.useEffect(() => {
52
+ const nativeViro = getNativeViro();
53
+ if (!nativeViro) return;
54
+
55
+ const eventHandlers = [
56
+ { name: "onAnchorFound", handler: props.onAnchorFound },
57
+ { name: "onAnchorUpdated", handler: props.onAnchorUpdated },
58
+ { name: "onAnchorRemoved", handler: props.onAnchorRemoved },
59
+ ];
60
+
61
+ // Register all event handlers and store callback IDs for cleanup
62
+ const registeredCallbacks = eventHandlers
63
+ .filter(({ handler }) => !!handler)
64
+ .map(({ name, handler }) => {
65
+ const callbackId = `${nodeId}_${name}`;
66
+
67
+ // Register the callback in the global registry
68
+ if (typeof global !== "undefined" && global.registerViroEventCallback) {
69
+ global.registerViroEventCallback(callbackId, handler);
70
+ }
71
+
72
+ // Register with native code
73
+ nativeViro.registerEventCallback(nodeId, name, callbackId);
74
+ return { name, callbackId };
75
+ });
76
+
77
+ // Cleanup when unmounting
78
+ return () => {
79
+ const nativeViro = getNativeViro();
80
+ if (!nativeViro) return;
81
+
82
+ // Unregister all event handlers
83
+ registeredCallbacks.forEach(({ name, callbackId }) => {
84
+ nativeViro.unregisterEventCallback(nodeId, name, callbackId);
85
+ });
86
+ };
87
+ }, [
88
+ nodeId,
89
+ props.onAnchorFound,
90
+ props.onAnchorUpdated,
91
+ props.onAnchorRemoved,
92
+ ]);
93
+
94
+ // Render children with this AR image marker as their parent
95
+ return (
96
+ <ViroContextProvider value={nodeId}>{props.children}</ViroContextProvider>
97
+ );
98
+ };