@webspatial/builder 0.0.1 → 0.0.2

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 (113) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.js +1 -0
  3. package/dist/lib/Cli.d.ts +3 -0
  4. package/dist/lib/Cli.js +1 -0
  5. package/dist/lib/cmds/build.d.ts +4 -0
  6. package/dist/lib/cmds/build.js +1 -0
  7. package/dist/lib/cmds/check.d.ts +3 -0
  8. package/dist/lib/cmds/check.js +1 -0
  9. package/dist/lib/cmds/help.d.ts +3 -0
  10. package/dist/lib/cmds/help.js +1 -0
  11. package/dist/lib/cmds/version.d.ts +2 -0
  12. package/dist/lib/cmds/version.js +1 -0
  13. package/dist/lib/pwa/config.d.ts +7 -0
  14. package/dist/lib/pwa/config.js +1 -0
  15. package/dist/lib/pwa/index.d.ts +16 -0
  16. package/dist/lib/pwa/index.js +1 -0
  17. package/dist/lib/pwa/validate.d.ts +4 -0
  18. package/dist/lib/pwa/validate.js +1 -0
  19. package/dist/lib/resource/file.d.ts +2 -0
  20. package/dist/lib/resource/file.js +1 -0
  21. package/dist/lib/resource/imageHelper.d.ts +7 -0
  22. package/dist/lib/resource/imageHelper.js +1 -0
  23. package/dist/lib/resource/index.d.ts +13 -0
  24. package/dist/lib/resource/index.js +1 -0
  25. package/dist/lib/resource/load.d.ts +6 -0
  26. package/dist/lib/resource/load.js +1 -0
  27. package/dist/lib/utils/CustomError.d.ts +13 -0
  28. package/dist/lib/utils/CustomError.js +1 -0
  29. package/dist/lib/utils/FetchUtils-1.d.ts +12 -0
  30. package/dist/lib/utils/FetchUtils-1.js +1 -0
  31. package/dist/lib/utils/Log.d.ts +88 -0
  32. package/dist/lib/utils/Log.js +1 -0
  33. package/dist/lib/utils/fetch.d.ts +5 -0
  34. package/dist/lib/utils/fetch.js +1 -0
  35. package/dist/lib/utils/messages.d.ts +50 -0
  36. package/dist/lib/utils/messages.js +1 -0
  37. package/dist/lib/utils/utils.d.ts +1 -0
  38. package/dist/lib/utils/utils.js +1 -0
  39. package/dist/lib/xcode/index.d.ts +5 -0
  40. package/dist/lib/xcode/index.js +1 -0
  41. package/dist/lib/xcode/manifestSwiftTemplate.d.ts +1 -0
  42. package/dist/lib/xcode/manifestSwiftTemplate.js +1 -0
  43. package/dist/lib/xcode/xcodebuild.d.ts +16 -0
  44. package/dist/lib/xcode/xcodebuild.js +1 -0
  45. package/dist/lib/xcode/xcodeproject.d.ts +11 -0
  46. package/dist/lib/xcode/xcodeproject.js +1 -0
  47. package/dist/lib/xcode/xcrun.d.ts +7 -0
  48. package/dist/lib/xcode/xcrun.js +1 -0
  49. package/package.json +2 -1
  50. package/template/visionOSApp/Packages/RealityKitContent/.build/workspace-state.json +7 -0
  51. package/template/visionOSApp/Packages/RealityKitContent/.swiftpm/xcode/xcuserdata/bytedance.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
  52. package/template/visionOSApp/Packages/RealityKitContent/Package.realitycomposerpro/ProjectData/main.json +11 -0
  53. package/template/visionOSApp/Packages/RealityKitContent/Package.realitycomposerpro/WorkspaceData/SceneMetadataList.json +112 -0
  54. package/template/visionOSApp/Packages/RealityKitContent/Package.realitycomposerpro/WorkspaceData/Settings.rcprojectdata +17 -0
  55. package/template/visionOSApp/Packages/RealityKitContent/Package.swift +27 -0
  56. package/template/visionOSApp/Packages/RealityKitContent/README.md +3 -0
  57. package/template/visionOSApp/Packages/RealityKitContent/Sources/RealityKitContent/RealityKitContent.rkassets/Immersive.usda +50 -0
  58. package/template/visionOSApp/Packages/RealityKitContent/Sources/RealityKitContent/RealityKitContent.rkassets/Materials/GridMaterial.usda +216 -0
  59. package/template/visionOSApp/Packages/RealityKitContent/Sources/RealityKitContent/RealityKitContent.rkassets/Scene.usda +59 -0
  60. package/template/visionOSApp/Packages/RealityKitContent/Sources/RealityKitContent/RealityKitContent.swift +4 -0
  61. package/template/visionOSApp/web-spatial/Assets.xcassets/AppIcon.solidimagestack/Back.solidimagestacklayer/Content.imageset/Contents.json +12 -0
  62. package/template/visionOSApp/web-spatial/Assets.xcassets/AppIcon.solidimagestack/Back.solidimagestacklayer/Contents.json +6 -0
  63. package/template/visionOSApp/web-spatial/Assets.xcassets/AppIcon.solidimagestack/Contents.json +17 -0
  64. package/template/visionOSApp/web-spatial/Assets.xcassets/AppIcon.solidimagestack/Front.solidimagestacklayer/Content.imageset/Contents.json +12 -0
  65. package/template/visionOSApp/web-spatial/Assets.xcassets/AppIcon.solidimagestack/Front.solidimagestacklayer/Contents.json +6 -0
  66. package/template/visionOSApp/web-spatial/Assets.xcassets/AppIcon.solidimagestack/Middle.solidimagestacklayer/Content.imageset/Contents.json +12 -0
  67. package/template/visionOSApp/web-spatial/Assets.xcassets/AppIcon.solidimagestack/Middle.solidimagestacklayer/Contents.json +6 -0
  68. package/template/visionOSApp/web-spatial/Assets.xcassets/Contents.json +6 -0
  69. package/template/visionOSApp/web-spatial/Info.plist +33 -0
  70. package/template/visionOSApp/web-spatial/Preview Content/Preview Assets.xcassets/Contents.json +6 -0
  71. package/template/visionOSApp/web-spatial/libs/EventEmitter.swift +32 -0
  72. package/template/visionOSApp/web-spatial/libs/SpatialComponent.swift +31 -0
  73. package/template/visionOSApp/web-spatial/libs/SpatialEntity.swift +179 -0
  74. package/template/visionOSApp/web-spatial/libs/SpatialInputComponent.swift +26 -0
  75. package/template/visionOSApp/web-spatial/libs/SpatialMeshResource.swift +19 -0
  76. package/template/visionOSApp/web-spatial/libs/SpatialModel3DComponent.swift +51 -0
  77. package/template/visionOSApp/web-spatial/libs/SpatialModelComponent.swift +32 -0
  78. package/template/visionOSApp/web-spatial/libs/SpatialObject.swift +144 -0
  79. package/template/visionOSApp/web-spatial/libs/SpatialPhysicallyBasedMaterial.swift +19 -0
  80. package/template/visionOSApp/web-spatial/libs/SpatialViewComponent.swift +15 -0
  81. package/template/visionOSApp/web-spatial/libs/SpatialWindowComponent.swift +420 -0
  82. package/template/visionOSApp/web-spatial/libs/SpatialWindowContainer.swift +132 -0
  83. package/template/visionOSApp/web-spatial/libs/Utils/CommandManager.swift +799 -0
  84. package/template/visionOSApp/web-spatial/libs/Utils/Logger.swift +36 -0
  85. package/template/visionOSApp/web-spatial/libs/Utils/SceneManager.swift +108 -0
  86. package/template/visionOSApp/web-spatial/libs/Utils/WindowContainerMgr.swift +113 -0
  87. package/template/visionOSApp/web-spatial/libs/json/JsonParser.swift +52 -0
  88. package/template/visionOSApp/web-spatial/libs/uiKitDelegate/Window.swift +34 -0
  89. package/template/visionOSApp/web-spatial/libs/webView/UpdateSystem.swift +33 -0
  90. package/template/visionOSApp/web-spatial/libs/webView/backend/NativeWebView.swift +319 -0
  91. package/template/visionOSApp/web-spatial/libs/webView/manifest.swift +91 -0
  92. package/template/visionOSApp/web-spatial/static-web/index.html +9 -0
  93. package/template/visionOSApp/web-spatial/views/HideViewModifier.swift +17 -0
  94. package/template/visionOSApp/web-spatial/views/ImmersiveView.swift +24 -0
  95. package/template/visionOSApp/web-spatial/views/LoadingView.swift +25 -0
  96. package/template/visionOSApp/web-spatial/views/MaterialWithBorderCornerModifier.swift +82 -0
  97. package/template/visionOSApp/web-spatial/views/OpenDismissHandlerUI.swift +52 -0
  98. package/template/visionOSApp/web-spatial/views/PlainWindowContainerView.swift +84 -0
  99. package/template/visionOSApp/web-spatial/views/SpatialModel3DView.swift +193 -0
  100. package/template/visionOSApp/web-spatial/views/SpatialViewUI.swift +168 -0
  101. package/template/visionOSApp/web-spatial/views/SpatialWebViewUI.swift +187 -0
  102. package/template/visionOSApp/web-spatial/views/VolumetricWindowContainerView.swift +34 -0
  103. package/template/visionOSApp/web-spatial/views/ui/NavView.swift +88 -0
  104. package/template/visionOSApp/web-spatial/web_spatialApp.swift +134 -0
  105. package/template/visionOSApp/web-spatial.xcodeproj/project.pbxproj +686 -0
  106. package/template/visionOSApp/web-spatial.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  107. package/template/visionOSApp/web-spatial.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  108. package/template/visionOSApp/web-spatial.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +5 -0
  109. package/template/visionOSApp/web-spatial.xcodeproj/project.xcworkspace/xcuserdata/bytedance.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  110. package/template/visionOSApp/web-spatial.xcodeproj/project.xcworkspace/xcuserdata/bytedance.xcuserdatad/WorkspaceSettings.xcsettings +14 -0
  111. package/template/visionOSApp/web-spatial.xcodeproj/xcshareddata/xcschemes/web-spatial.xcscheme +115 -0
  112. package/template/visionOSApp/web-spatial.xcodeproj/xcuserdata/bytedance.xcuserdatad/xcschemes/xcschememanagement.plist +27 -0
  113. package/template/visionOSApp/web-spatialTests/web_spatialTests.swift +34 -0
@@ -0,0 +1 @@
1
+ 'use strict';const _0x36f14c=_0x26b6;(function(_0x4c19ea,_0x1a29b6){const _0x1e3f81=_0x26b6,_0x598868=_0x4c19ea();while(!![]){try{const _0x390130=parseInt(_0x1e3f81(0x204))/0x1*(-parseInt(_0x1e3f81(0x1f8))/0x2)+-parseInt(_0x1e3f81(0x1e8))/0x3*(parseInt(_0x1e3f81(0x1d5))/0x4)+parseInt(_0x1e3f81(0x22c))/0x5*(-parseInt(_0x1e3f81(0x201))/0x6)+-parseInt(_0x1e3f81(0x1f9))/0x7+-parseInt(_0x1e3f81(0x233))/0x8*(-parseInt(_0x1e3f81(0x216))/0x9)+parseInt(_0x1e3f81(0x1f6))/0xa+parseInt(_0x1e3f81(0x1de))/0xb;if(_0x390130===_0x1a29b6)break;else _0x598868['push'](_0x598868['shift']());}catch(_0x414092){_0x598868['push'](_0x598868['shift']());}}}(_0x27aa,0xb993c));Object['defineProperty'](exports,_0x36f14c(0x1ed),{'value':!![]});const fs=require('fs'),resource_1=require(_0x36f14c(0x1dc)),path_1=require('path'),load_1=require(_0x36f14c(0x1f2)),imageHelper_1=require(_0x36f14c(0x231)),manifestSwiftTemplate_1=require('./manifestSwiftTemplate'),xcode=require(_0x36f14c(0x1e4)),exportOptionsXML=_0x36f14c(0x205),infoPlistXML=_0x36f14c(0x224);let useExportOptionsXML='';class XcodeProject{static async[_0x36f14c(0x21c)](_0x4d08bf,_0x32dffe){const _0x1b6fbb=_0x36f14c;let _0x26cf35=xcode['project'](_0x4d08bf);this[_0x1b6fbb(0x234)](_0x26cf35),_0x26cf35[_0x1b6fbb(0x211)]();let _0x45aabc=_0x32dffe[_0x1b6fbb(0x210)];const _0xf53a0e=[_0x1b6fbb(0x207),_0x1b6fbb(0x20c),_0x1b6fbb(0x202),_0x1b6fbb(0x1f7)];useExportOptionsXML=exportOptionsXML[_0x1b6fbb(0x223)](_0x1b6fbb(0x230),_0xf53a0e[_0x1b6fbb(0x221)](_0x45aabc)?_0x45aabc:_0x1b6fbb(0x207));_0x32dffe['teamId']&&this[_0x1b6fbb(0x212)](_0x26cf35,_0x32dffe['teamId']);this[_0x1b6fbb(0x22b)](),await this[_0x1b6fbb(0x21e)](_0x32dffe['icon']),this[_0x1b6fbb(0x237)](_0x26cf35,_0x32dffe['manifestInfo']['json']);_0x32dffe[_0x1b6fbb(0x1f4)]?this[_0x1b6fbb(0x21d)](_0x26cf35,_0x32dffe[_0x1b6fbb(0x1f4)]):this[_0x1b6fbb(0x21d)](_0x26cf35,_0x1b6fbb(0x1e6));try{fs[_0x1b6fbb(0x1fe)](_0x4d08bf,_0x26cf35[_0x1b6fbb(0x1e5)]());}catch(_0x3bac75){console[_0x1b6fbb(0x236)](_0x3bac75);}}static[_0x36f14c(0x234)](_0x5ba233){const _0x5b040d=_0x36f14c;_0x5ba233[_0x5b040d(0x206)]=function(_0x2ac08d){const _0x70846f=_0x5b040d;var _0x4890af=this[_0x70846f(0x22e)][_0x70846f(0x1fb)][_0x70846f(0x1e1)]['PBXGroup'],_0x9bf8ce,_0x194501;for(_0x9bf8ce in _0x4890af){if(!/_comment$/[_0x70846f(0x217)](_0x9bf8ce))continue;if(_0x4890af[_0x9bf8ce]==_0x2ac08d)return _0x194501=_0x9bf8ce[_0x70846f(0x1e9)](/_comment$/)[0x0],_0x4890af[_0x194501];}return![];},_0x5ba233[_0x5b040d(0x1dd)]=function(_0x31636f,_0x10f239,_0x3b67d3,_0x261157){const _0x199779=_0x5b040d;let _0x12ab24=[];const _0x588525=/_comment$/;if(_0x261157){const _0x381de5=this[_0x199779(0x1eb)](_0x261157),_0x2173c5=_0x381de5&&_0x381de5[_0x199779(0x225)],_0x1b2454=this[_0x199779(0x235)]();for(const _0x215914 in _0x1b2454){if(!_0x588525[_0x199779(0x217)](_0x215914)&&_0x2173c5===_0x215914){const _0x29ed15=_0x1b2454[_0x215914][_0x199779(0x1fa)];for(const _0x49e962 of _0x29ed15){_0x12ab24[_0x199779(0x203)](_0x49e962[_0x199779(0x1d9)]);}break;}}}var _0x1320d7=this['pbxXCBuildConfigurationSection']();for(var _0x595b28 in _0x1320d7){if(!_0x588525[_0x199779(0x217)](_0x595b28)){if(_0x261157&&!_0x12ab24['includes'](_0x595b28))continue;var _0x58d77e=_0x1320d7[_0x595b28];(_0x3b67d3&&_0x58d77e[_0x199779(0x214)]===_0x3b67d3||!_0x3b67d3)&&_0x58d77e['buildSettings'][_0x31636f]&&(_0x58d77e[_0x199779(0x1e0)][_0x31636f]=_0x10f239);}}};}static async[_0x36f14c(0x21e)](_0xdf31d2){const _0x2c2fa5=_0x36f14c;if(_0xdf31d2){const _0x3f425b=(0x0,path_1[_0x2c2fa5(0x21b)])(resource_1['PROJECT_DIRECTORY'],resource_1['BACK_APPICON_DIRECTORY']),_0x224334=(0x0,path_1[_0x2c2fa5(0x21b)])(_0x3f425b,'Contents.json'),_0x57e68c='icon.'+_0xdf31d2[_0x2c2fa5(0x1f0)]()[_0x2c2fa5(0x223)](_0x2c2fa5(0x22f),''),_0x9b7b58=(0x0,path_1[_0x2c2fa5(0x21b)])(_0x3f425b,_0x57e68c);let _0x563142=await(0x0,load_1['loadJsonFromDisk'])(_0x224334);_0x563142['images'][0x0]['filename']=_0x57e68c,await _0xdf31d2[_0x2c2fa5(0x1ff)](_0x9b7b58),await fs[_0x2c2fa5(0x1fe)](_0x224334,JSON['stringify'](_0x563142));const _0xbb9efc=(0x0,path_1[_0x2c2fa5(0x21b)])(resource_1[_0x2c2fa5(0x1da)],resource_1[_0x2c2fa5(0x226)]),_0x40bfff=(0x0,path_1['join'])(_0xbb9efc,'Contents.json'),_0x2f6ef2=_0x2c2fa5(0x1fc),_0x2f1f37=(0x0,path_1['join'])(_0xbb9efc,_0x2f6ef2);let _0x35fad8=await(0x0,load_1['loadJsonFromDisk'])(_0x40bfff),_0x360acf=imageHelper_1[_0x2c2fa5(0x21a)][_0x2c2fa5(0x20b)](0x200);_0x35fad8[_0x2c2fa5(0x1d7)][0x0][_0x2c2fa5(0x200)]=_0x2f6ef2,await _0x360acf[_0x2c2fa5(0x1ff)](_0x2f1f37),await fs[_0x2c2fa5(0x1fe)](_0x40bfff,JSON[_0x2c2fa5(0x1d4)](_0x35fad8));}}static[_0x36f14c(0x212)](_0x2758f3,_0x4024bf){const _0x1d8a6d=_0x36f14c;_0x2758f3[_0x1d8a6d(0x1dd)](_0x1d8a6d(0x1d8),_0x4024bf),useExportOptionsXML=useExportOptionsXML['replace']('YOURTEAMID',_0x4024bf);}static['updateExportOptions'](){const _0x4d5638=_0x36f14c;!fs[_0x4d5638(0x1f5)](resource_1[_0x4d5638(0x1ef)])&&fs[_0x4d5638(0x208)](resource_1[_0x4d5638(0x1ef)],{'recursive':!![]}),fs['writeFileSync']((0x0,path_1[_0x4d5638(0x21b)])(resource_1[_0x4d5638(0x1ef)],_0x4d5638(0x1fd)),useExportOptionsXML);}static[_0x36f14c(0x237)](_0x499fe9,_0x5eea45){const _0x4574ed=_0x36f14c;var _0x438176;_0x499fe9['updateProductName'](_0x5eea45['name']),_0x499fe9[_0x4574ed(0x1dd)](_0x4574ed(0x21f),'\x22'+_0x5eea45['id']+'\x22'),this[_0x4574ed(0x227)]((_0x438176=_0x5eea45[_0x4574ed(0x1f1)])!==null&&_0x438176!==void 0x0?_0x438176:[]),this[_0x4574ed(0x238)](_0x5eea45);}static[_0x36f14c(0x21d)](_0x3e3353,_0x5ef2b5){const _0x1464ba=_0x36f14c;_0x3e3353[_0x1464ba(0x1dd)]('CURRENT_PROJECT_VERSION',_0x5ef2b5);}static['updateDeeplink'](_0x32d8a0){const _0x23065e=_0x36f14c;let _0x4fd702=(0x0,path_1[_0x23065e(0x21b)])(resource_1[_0x23065e(0x1da)],_0x23065e(0x20f)),_0x282ae5='';for(let _0x2a476c=0x0;_0x2a476c<_0x32d8a0[_0x23065e(0x222)];_0x2a476c++){_0x282ae5+=_0x23065e(0x1ec)+_0x32d8a0[_0x2a476c][_0x23065e(0x215)]+_0x23065e(0x239);}const _0x44b119=infoPlistXML['replace'](_0x23065e(0x20d),_0x282ae5);fs['writeFileSync'](_0x4fd702,_0x44b119);}static[_0x36f14c(0x238)](_0x3ff916){const _0x21e16d=_0x36f14c,_0x2d4e71=(0x0,path_1['join'])(resource_1[_0x21e16d(0x1da)],'./web-spatial/libs/webView/manifest.swift');let _0x18df91=manifestSwiftTemplate_1[_0x21e16d(0x1e2)];_0x18df91=_0x18df91[_0x21e16d(0x223)]('START_URL',_0x3ff916[_0x21e16d(0x232)]),_0x18df91=_0x18df91['replace'](_0x21e16d(0x1f3),_0x3ff916[_0x21e16d(0x1d6)]),_0x18df91=_0x18df91[_0x21e16d(0x223)](_0x21e16d(0x218),_0x3ff916[_0x21e16d(0x214)]),_0x18df91=_0x18df91[_0x21e16d(0x223)](_0x21e16d(0x229),_0x3ff916['description']),_0x18df91=_0x18df91[_0x21e16d(0x223)]('AppID',_0x3ff916['id']),_0x18df91=_0x18df91['replace']('.minimal',_0x3ff916[_0x21e16d(0x1ee)]=='minimal-ui'?_0x21e16d(0x1db):_0x21e16d(0x219));if(_0x3ff916[_0x21e16d(0x1f1)]){let _0x26ebe6='';for(let _0x3e213b=0x0;_0x3e213b<_0x3ff916['protocol_handlers'][_0x21e16d(0x222)];_0x3e213b++){_0x26ebe6+=_0x21e16d(0x20a)+_0x3ff916[_0x21e16d(0x1f1)][_0x3e213b][_0x21e16d(0x215)]+_0x21e16d(0x220)+_0x3ff916[_0x21e16d(0x1f1)][_0x3e213b]['url']+_0x21e16d(0x22d);}_0x18df91=_0x18df91[_0x21e16d(0x223)](_0x21e16d(0x213),_0x26ebe6);}_0x18df91=_0x18df91['replace'](_0x21e16d(0x209),_0x3ff916['mainScene'][_0x21e16d(0x1d3)][_0x21e16d(0x228)]),_0x18df91=_0x18df91[_0x21e16d(0x223)](_0x21e16d(0x1ea),_0x3ff916[_0x21e16d(0x20e)]['defaultSize']['height']),_0x18df91=_0x18df91['replace'](_0x21e16d(0x1e3),'\x22'+_0x3ff916[_0x21e16d(0x20e)][_0x21e16d(0x22a)]+'\x22'),fs[_0x21e16d(0x1fe)](_0x2d4e71,_0x18df91,_0x21e16d(0x1df));}}function _0x26b6(_0x245429,_0x4da45b){const _0x27aa64=_0x27aa();return _0x26b6=function(_0x26b6d8,_0x4f9277){_0x26b6d8=_0x26b6d8-0x1d3;let _0x20e6fe=_0x27aa64[_0x26b6d8];return _0x20e6fe;},_0x26b6(_0x245429,_0x4da45b);}exports[_0x36f14c(0x1e7)]=XcodeProject;function _0x27aa(){const _0x28f99b=['existsSync','1931640moFdln','enterprise','244798pxgwHV','9440963YtGxrP','buildConfigurations','project','icon.png','ExportOptions.plist','writeFileSync','writeAsync','filename','4227042rZgTET','debugging','push','4FPCFDL','<?xml\x20version=\x221.0\x22\x20encoding=\x22UTF-8\x22?>\x0a<!DOCTYPE\x20plist\x20PUBLIC\x20\x22-//Apple//DTD\x20PLIST\x201.0//EN\x22\x20\x22http://www.apple.com/DTDs/PropertyList-1.0.dtd\x22>\x0a<plist\x20version=\x221.0\x22>\x0a<dict>\x0a\x09<key>destination</key>\x0a\x09<string>export</string>\x0a\x09<key>method</key>\x0a\x09<string>BUILDTYPE</string>\x0a\x09<key>signingStyle</key>\x0a\x09<string>automatic</string>\x0a\x09<key>stripSwiftSymbols</key>\x0a\x09<true/>\x0a\x09<key>teamID</key>\x0a\x09<string>YOURTEAMID</string>\x0a\x09<key>thinning</key>\x0a\x09<string>&lt;none&gt;</string>\x0a</dict>\x0a</plist>','pbxGroupByName','release-testing','mkdirSync','SceneWidth','PWAProtocol(protocolValue:\x20\x22','createImg','app-store-connect','DEEPLINK','mainScene','./web-spatial/Info.plist','buildType','parseSync','updateTeamId','PWAProtocol(protocolValue:\x20\x22\x22,\x20url:\x20\x22\x22)','name','protocol','801UDTLyG','test','AppName','.standalone','ImageHelper','join','modify','updateVersion','bindIcon','PRODUCT_BUNDLE_IDENTIFIER','\x22,\x20url:\x20\x22','includes','length','replace','<?xml\x20version=\x221.0\x22\x20encoding=\x22UTF-8\x22?>\x0a<!DOCTYPE\x20plist\x20PUBLIC\x20\x22-//Apple//DTD\x20PLIST\x201.0//EN\x22\x20\x22http://www.apple.com/DTDs/PropertyList-1.0.dtd\x22>\x0a<plist\x20version=\x221.0\x22>\x0a<dict>\x0a\x09<key>ITSAppUsesNonExemptEncryption</key>\x0a\x09<false/>\x0a\x09<key>CFBundleURLTypes</key>\x0a\x09<array>\x0a\x09\x09<dict>\x0a\x09\x09\x09<key>CFBundleURLName</key>\x0a\x09\x09\x09<string>web-spatial</string>\x0a\x09\x09\x09<key>CFBundleURLSchemes</key>\x0a\x09\x09\x09<array>\x0a\x09\x09\x09\x09DEEPLINK\x0a\x09\x09\x09</array>\x0a\x09\x09</dict>\x0a\x09</array>\x0a\x09<key>NSAppTransportSecurity</key>\x0a\x09<dict>\x0a\x09\x09<key>NSAllowsArbitraryLoads</key>\x0a\x09\x09<true/>\x0a\x09</dict>\x0a\x09<key>UIApplicationSceneManifest</key>\x0a\x09<dict>\x0a\x09\x09<key>UIApplicationPreferredDefaultSceneSessionRole</key>\x0a\x09\x09<string>UIWindowSceneSessionRoleApplication</string>\x0a\x09\x09<key>UIApplicationSupportsMultipleScenes</key>\x0a\x09\x09<true/>\x0a\x09\x09<key>UISceneConfigurations</key>\x0a\x09\x09<dict/>\x0a\x09</dict>\x0a</dict>\x0a</plist>\x0a','buildConfigurationList','MIDDLE_APPICON_DIRECTORY','updateDeeplink','width','Description','resizability','updateExportOptions','10bBeWrU','\x22),','hash','image/','BUILDTYPE','../resource/imageHelper','start_url','76224RdKiUm','fixProjectFunction','pbxXCConfigurationList','log','bindManifestInfo','modifySwift','</string>','defaultSize','stringify','3283052TZjzYM','scope','images','DEVELOPMENT_TEAM','value','PROJECT_DIRECTORY','.minimal','../resource','updateBuildProperty','41657550TUBUKo','utf-8','buildSettings','objects','manifestSwiftTemplate','SceneResizability','xcode','writeSync','1.0','default','3AiSdmo','split','SceneHeight','pbxTargetByName','<string>','__esModule','display','PROJECT_BUILD_DIRECTORY','getMIME','protocol_handlers','../resource/load','SCOPE','version'];_0x27aa=function(){return _0x28f99b;};return _0x27aa();}
@@ -0,0 +1,7 @@
1
+ export default class Xcrun {
2
+ static validate(path: string, key1: string, key2: string, useAccount: boolean): Promise<string>;
3
+ static uploadPackage(path: string, key1: string, key2: string, appleId: string, useAccount: boolean): Promise<string>;
4
+ static uploadApp(path: string, key1: string, key2: string, useAccount: boolean): Promise<string>;
5
+ static runWithSimulator(appInfo: any): Promise<void>;
6
+ private static parseListDevices;
7
+ }
@@ -0,0 +1 @@
1
+ 'use strict';const _0x2ac4d9=_0x57c4;(function(_0x425964,_0xd4244e){const _0x353c45=_0x57c4,_0x87fe46=_0x425964();while(!![]){try{const _0x44d313=parseInt(_0x353c45(0x209))/0x1+-parseInt(_0x353c45(0x1f0))/0x2+parseInt(_0x353c45(0x20d))/0x3+parseInt(_0x353c45(0x1e4))/0x4+parseInt(_0x353c45(0x1db))/0x5+-parseInt(_0x353c45(0x21e))/0x6+parseInt(_0x353c45(0x1fa))/0x7*(-parseInt(_0x353c45(0x1f4))/0x8);if(_0x44d313===_0xd4244e)break;else _0x87fe46['push'](_0x87fe46['shift']());}catch(_0x546a67){_0x87fe46['push'](_0x87fe46['shift']());}}}(_0x3449,0x9a129));Object[_0x2ac4d9(0x1fe)](exports,_0x2ac4d9(0x210),{'value':!![]});function _0x57c4(_0x10a26e,_0x1a8862){const _0x3449f9=_0x3449();return _0x57c4=function(_0x57c4b0,_0x465cc3){_0x57c4b0=_0x57c4b0-0x1d2;let _0x2fb66c=_0x3449f9[_0x57c4b0];return _0x2fb66c;},_0x57c4(_0x10a26e,_0x1a8862);}const child_process_1=require('child_process'),resource_1=require(_0x2ac4d9(0x207)),path_1=require(_0x2ac4d9(0x1e1)),fs=require('fs'),xcodebuild_1=require(_0x2ac4d9(0x20f));class Xcrun{static async['validate'](_0x309bfa,_0x20f8f6,_0x19aed1,_0x4a30d6){const _0x3e95c4=_0x2ac4d9,_0x60c2b8=new XcrunCMD()['altool']();_0x60c2b8[_0x3e95c4(0x1f9)](_0x309bfa);_0x4a30d6?_0x60c2b8[_0x3e95c4(0x1ed)](_0x20f8f6,_0x19aed1):_0x60c2b8[_0x3e95c4(0x204)](_0x20f8f6,_0x19aed1);_0x60c2b8[_0x3e95c4(0x205)](_0x3e95c4(0x1f7));const _0x28f778=(0x0,child_process_1[_0x3e95c4(0x1e5)])(_0x60c2b8[_0x3e95c4(0x1e9)]);return _0x28f778['toString']();}static async['uploadPackage'](_0x512a7e,_0x24113c,_0x40bdd5,_0x2baa32,_0x462ace){const _0x30345f=_0x2ac4d9,_0x500aab=new XcrunCMD()[_0x30345f(0x20a)]();_0x500aab['uploadPackage'](_0x512a7e);_0x462ace?_0x500aab[_0x30345f(0x1ed)](_0x24113c,_0x40bdd5):_0x500aab[_0x30345f(0x204)](_0x24113c,_0x40bdd5);_0x500aab['platform'](_0x30345f(0x1f7)),_0x500aab[_0x30345f(0x1f8)](_0x2baa32);const _0x5cadf4=(0x0,child_process_1[_0x30345f(0x1e5)])(_0x500aab[_0x30345f(0x1e9)]);return _0x5cadf4['toString']();}static async['uploadApp'](_0x33b0da,_0xcfa0ec,_0x3d7252,_0xb4cfbc){const _0x1807d4=_0x2ac4d9,_0x4fef85=new XcrunCMD()[_0x1807d4(0x20a)]();_0x4fef85[_0x1807d4(0x211)](_0x33b0da);_0xb4cfbc?_0x4fef85[_0x1807d4(0x1ed)](_0xcfa0ec,_0x3d7252):_0x4fef85[_0x1807d4(0x204)](_0xcfa0ec,_0x3d7252);_0x4fef85['platform'](_0x1807d4(0x1f7));const _0x3e54d9=(0x0,child_process_1[_0x1807d4(0x1e5)])(_0x4fef85[_0x1807d4(0x1e9)]);return _0x3e54d9[_0x1807d4(0x202)]();}static async[_0x2ac4d9(0x1da)](_0x38487e){const _0x2b8420=_0x2ac4d9;let _0x4bc296=new XcrunCMD()[_0x2b8420(0x20e)]();_0x4bc296['listDevices'](_0x2b8420(0x1ec));const _0x467924=(0x0,child_process_1[_0x2b8420(0x1e5)])(_0x4bc296[_0x2b8420(0x1e9)]),_0x278b11=this[_0x2b8420(0x1e3)](_0x467924[_0x2b8420(0x202)]());if(_0x278b11[_0x2b8420(0x1e7)]===0x0)throw new Error(_0x2b8420(0x1dc));let _0x498f21=_0x278b11[0x0];for(let _0x564035=0x0;_0x564035<_0x278b11[_0x2b8420(0x1e7)];_0x564035++){if(_0x278b11[_0x564035][_0x2b8420(0x21a)]==='Booted'){_0x498f21=_0x278b11[_0x564035];break;}}console['log']('find\x20simulator:\x20'+_0x498f21[_0x2b8420(0x1e2)]);const _0x36f071=resource_1[_0x2b8420(0x1ef)]+'/web-spatial.xcodeproj',_0x3c4764=resource_1['PROJECT_BUILD_DIRECTORY']+_0x2b8420(0x1f5);!fs['existsSync'](resource_1['PROJECT_BUILD_DIRECTORY'])&&fs[_0x2b8420(0x1e8)](resource_1[_0x2b8420(0x1e0)],{'recursive':!![]});!fs[_0x2b8420(0x21b)](_0x3c4764)&&fs[_0x2b8420(0x1e8)](_0x3c4764,{'recursive':!![]});const _0x210d5e=new xcodebuild_1[(_0x2b8420(0x1f3))]()[_0x2b8420(0x1d7)](_0x36f071)['line']+('\x20build\x20-scheme\x20web-spatial\x20-destination\x20\x27platform=visionOS\x20Simulator,id='+_0x498f21['deviceId']+_0x2b8420(0x218)+_0x3c4764);console[_0x2b8420(0x20c)](_0x2b8420(0x203)),(0x0,child_process_1[_0x2b8420(0x1e5)])(_0x210d5e),console[_0x2b8420(0x20c)](_0x2b8420(0x206));_0x498f21[_0x2b8420(0x21a)]==='Shutdown'&&(_0x4bc296=new XcrunCMD()[_0x2b8420(0x20e)](),_0x4bc296[_0x2b8420(0x213)](_0x498f21['deviceId']),(0x0,child_process_1['execSync'])(_0x4bc296[_0x2b8420(0x1e9)]));(0x0,child_process_1[_0x2b8420(0x1e5)])(_0x2b8420(0x21c)),console[_0x2b8420(0x20c)](_0x2b8420(0x219));const _0x4c92c3=(0x0,path_1['join'])(_0x3c4764,'Build/Products/Debug-xrsimulator/'+_0x38487e[_0x2b8420(0x1d6)]+'.app');_0x4bc296=new XcrunCMD()[_0x2b8420(0x20e)](),_0x4bc296[_0x2b8420(0x200)](_0x498f21['deviceId'],_0x4c92c3),(0x0,child_process_1[_0x2b8420(0x1e5)])(_0x4bc296[_0x2b8420(0x1e9)]),console[_0x2b8420(0x20c)](_0x2b8420(0x1f2)),console[_0x2b8420(0x20c)](_0x2b8420(0x1f6)),_0x4bc296=new XcrunCMD()['simctl'](),_0x4bc296[_0x2b8420(0x1d8)](_0x498f21[_0x2b8420(0x1e2)],_0x38487e['id']),(0x0,child_process_1['execSync'])(_0x4bc296[_0x2b8420(0x1e9)]);}static[_0x2ac4d9(0x1e3)](_0x4078e8){const _0x2b092c=_0x2ac4d9;let _0x1634d2=_0x4078e8[_0x2b092c(0x1fd)]('\x0a'),_0x1edebf=[],_0x472e2f=-0x1;for(let _0x4de5da=0x0;_0x4de5da<_0x1634d2[_0x2b092c(0x1e7)];_0x4de5da++){if(_0x1634d2[_0x4de5da][_0x2b092c(0x212)](_0x2b092c(0x1fc)))_0x472e2f=_0x4de5da;else{if(_0x472e2f>0x0){if(_0x1634d2[_0x4de5da][_0x2b092c(0x212)](_0x2b092c(0x1d5)))break;if(_0x1634d2[_0x4de5da][_0x2b092c(0x1e7)]>0x0){const _0xf4e729=_0x1634d2[_0x4de5da][_0x2b092c(0x1fd)]('('),_0x28504b={'name':_0xf4e729[0x0][_0x2b092c(0x1e6)](),'deviceId':_0xf4e729[0x1][_0x2b092c(0x1fd)](')')[0x0][_0x2b092c(0x1e6)](),'state':_0xf4e729[0x2][_0x2b092c(0x1fd)](')')[0x0][_0x2b092c(0x1e6)]()};_0x1edebf[_0x2b092c(0x1eb)](_0x28504b);}}}}return _0x1edebf;}}exports[_0x2ac4d9(0x214)]=Xcrun;function _0x3449(){const _0x286fa=['8EVAhgg','/test','launch\x20app','visionos','appleId','validate','2837975WlHrLS','verbose','--\x20visionOS','split','defineProperty','\x20install\x20\x22','install','uploadPackage','toString','start\x20building','authApi','platform','build\x20success','../resource','\x22\x20\x22','1059147phXoZf','altool','\x20-t\x20','log','3029013RzMBPY','simctl','./xcodebuild','__esModule','uploadApp','includes','boot','default','xcrun','\x20--validate-app\x20-f\x20','\x20-u\x20','\x27\x20-derivedDataPath\x20','installing\x20app','state','existsSync','open\x20/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/','\x20altool','5349780tZLMVm','\x20--apiIssuer\x20','version','\x20boot\x20\x22','\x20--upload-package\x20','--\x20','name','project','launch','\x20list','runWithSimulator','2264440IZDCRg','no\x20visionOS\x20simulator\x20found','\x20--apiKey\x20','\x20--upload-app\x20-f\x20','\x20-p\x20','PROJECT_BUILD_DIRECTORY','path','deviceId','parseListDevices','2629496vuHisC','execSync','trim','length','mkdirSync','line','\x20--apple-id\x20','push','Apple\x20Vision\x20Pro','authAccount','list','PROJECT_DIRECTORY','2501888eYJZfj','\x20list\x20devices\x20\x22','install\x20success','XcodebuildCMD'];_0x3449=function(){return _0x286fa;};return _0x3449();}class XcrunCMD{constructor(){const _0x5781a1=_0x2ac4d9;this[_0x5781a1(0x1e9)]=_0x5781a1(0x215);}['altool'](){const _0x10382b=_0x2ac4d9;return this[_0x10382b(0x1e9)]+=_0x10382b(0x21d),this;}['simctl'](){return this['line']+='\x20simctl',this;}[_0x2ac4d9(0x1ee)](){const _0x6d7bb6=_0x2ac4d9;return this[_0x6d7bb6(0x1e9)]+=_0x6d7bb6(0x1d9),this;}['listDevices'](_0x401ac3){const _0x1bd6dd=_0x2ac4d9;return this[_0x1bd6dd(0x1e9)]+=_0x1bd6dd(0x1f1)+_0x401ac3+'\x22',this;}[_0x2ac4d9(0x1f9)](_0x32ae1c){const _0x350fd6=_0x2ac4d9;return this[_0x350fd6(0x1e9)]+=_0x350fd6(0x216)+_0x32ae1c,this;}[_0x2ac4d9(0x211)](_0x1cd946){const _0x12b179=_0x2ac4d9;return this[_0x12b179(0x1e9)]+=_0x12b179(0x1de)+_0x1cd946,this;}[_0x2ac4d9(0x201)](_0x1b2528){const _0x209a10=_0x2ac4d9;return this[_0x209a10(0x1e9)]+=_0x209a10(0x1d4)+_0x1b2528,this;}['authAccount'](_0x5347c6,_0x2b5e39){const _0xe096ab=_0x2ac4d9;return this[_0xe096ab(0x1e9)]+=_0xe096ab(0x217)+_0x5347c6+_0xe096ab(0x1df)+_0x2b5e39,this;}['authApi'](_0x1aa8b7,_0x17214b){const _0x45c127=_0x2ac4d9;return this['line']+=_0x45c127(0x1dd)+_0x1aa8b7+_0x45c127(0x21f)+_0x17214b,this;}[_0x2ac4d9(0x1f8)](_0x3712fd){const _0xaea20f=_0x2ac4d9;return this[_0xaea20f(0x1e9)]+=_0xaea20f(0x1ea)+_0x3712fd,this;}[_0x2ac4d9(0x205)](_0x4c36d8){const _0x4f50e7=_0x2ac4d9;return this[_0x4f50e7(0x1e9)]+=_0x4f50e7(0x20b)+_0x4c36d8,this;}[_0x2ac4d9(0x1d2)](_0x461921){return this['line']+='\x20--bundle-version\x20'+_0x461921,this;}[_0x2ac4d9(0x1fb)](){const _0x52fd4e=_0x2ac4d9;return this[_0x52fd4e(0x1e9)]+='\x20--verbose',this;}['shutdown'](){const _0x30cc24=_0x2ac4d9;return this[_0x30cc24(0x1e9)]+='\x20shutdown\x20booted',this;}[_0x2ac4d9(0x213)](_0x1b55f5){const _0x5c9c8e=_0x2ac4d9;return this[_0x5c9c8e(0x1e9)]+=_0x5c9c8e(0x1d3)+_0x1b55f5+'\x22',this;}[_0x2ac4d9(0x200)](_0x520807,_0x44d55b){const _0x2cac7f=_0x2ac4d9;return this['line']+=_0x2cac7f(0x1ff)+_0x520807+_0x2cac7f(0x208)+_0x44d55b+'\x22',this;}[_0x2ac4d9(0x1d8)](_0x39d551,_0x9cf613){return this['line']+='\x20launch\x20\x22'+_0x39d551+'\x22\x20\x22'+_0x9cf613+'\x22',this;}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webspatial/builder",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "description": "Client CLI tool to Generate XRApp project for Apple Vision Pro",
5
5
  "type": "commonjs",
6
6
  "engines": {
@@ -18,6 +18,7 @@
18
18
  "dist/index.d.ts",
19
19
  "dist/index.js",
20
20
  "bin",
21
+ "template",
21
22
  "package.json"
22
23
  ],
23
24
  "author": "",
@@ -0,0 +1,7 @@
1
+ {
2
+ "object": {
3
+ "artifacts": [],
4
+ "dependencies": []
5
+ },
6
+ "version": 6
7
+ }
@@ -0,0 +1,14 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>SchemeUserState</key>
6
+ <dict>
7
+ <key>RealityKitContent.xcscheme_^#shared#^_</key>
8
+ <dict>
9
+ <key>orderHint</key>
10
+ <integer>1</integer>
11
+ </dict>
12
+ </dict>
13
+ </dict>
14
+ </plist>
@@ -0,0 +1,11 @@
1
+ {
2
+ "pathsToIds": {
3
+ "/RealityKitContent/Sources/RealityKitContent/RealityKitContent.rkassets/GridMaterial.usda": "CB766F92-EE55-4A63-9401-E7B8C009764D",
4
+ "/RealityKitContent/Sources/RealityKitContent/RealityKitContent.rkassets/Immersive.usda": "65F6F990-A780-4474-B78B-572E0E4E273D",
5
+ "/RealityKitContent/Sources/RealityKitContent/RealityKitContent.rkassets/Scene.usda": "0A9B4653-B11E-4D6A-850E-C6FCB621626C",
6
+ "/RealityKitContent/Sources/RealityKitContent/RealityKitContent.rkassets/Untitled Scene.usda": "D560BB77-AAF3-4BDE-B7C4-989332A4688B",
7
+ "RealityKitContent/Sources/RealityKitContent/RealityKitContent.rkassets/GridMaterial.usda": "66168B71-AB05-424E-8B6C-D33D6E61B08F",
8
+ "RealityKitContent/Sources/RealityKitContent/RealityKitContent.rkassets/Immersive.usda": "AF09ED6F-1707-48FD-8720-65B998362C09",
9
+ "RealityKitContent/Sources/RealityKitContent/RealityKitContent.rkassets/Scene.usda": "D66134B1-3681-4A8E-AFE5-29F257229F3B"
10
+ }
11
+ }
@@ -0,0 +1,112 @@
1
+ {
2
+ "0A9B4653-B11E-4D6A-850E-C6FCB621626C": {
3
+ "cameraTransform": [
4
+ 1, 0, 0, 0, 0, 0.86602545, -0.49999994, 0, 0, 0.49999994, 0.86602545, 0,
5
+ 0.0035969093, 0.35542378, 0.62919164, 1
6
+ ],
7
+ "objectMetadataList": [
8
+ ["0A9B4653-B11E-4D6A-850E-C6FCB621626C", "Root"],
9
+ {
10
+ "isExpanded": true,
11
+ "isLocked": false
12
+ }
13
+ ]
14
+ },
15
+ "65F6F990-A780-4474-B78B-572E0E4E273D": {
16
+ "cameraTransform": [
17
+ 1, 0, -0, 0, -0, 0.86602545, -0.49999988, 0, 0, 0.49999988, 0.86602545, 0,
18
+ 1.1972517e-8, 2.6179132, 0.43191218, 1
19
+ ],
20
+ "objectMetadataList": [
21
+ ["65F6F990-A780-4474-B78B-572E0E4E273D", "Root"],
22
+ {
23
+ "isExpanded": true,
24
+ "isLocked": false
25
+ }
26
+ ]
27
+ },
28
+ "66168B71-AB05-424E-8B6C-D33D6E61B08F": {
29
+ "cameraTransform": [
30
+ 1, 0, -0, 0, -0, 0.8660254, -0.5, 0, 0, 0.5, 0.8660254, 0, 0, 0.23875366,
31
+ 0.4135335, 1
32
+ ],
33
+ "objectMetadataList": [
34
+ ["66168B71-AB05-424E-8B6C-D33D6E61B08F", "Root"],
35
+ {
36
+ "isExpanded": true,
37
+ "isLocked": false
38
+ }
39
+ ]
40
+ },
41
+ "AF09ED6F-1707-48FD-8720-65B998362C09": {
42
+ "cameraTransform": [
43
+ 1, 0, -0, 0, -0, 0.7071069, -0.7071067, 0, 0, 0.7071067, 0.7071069, 0, 0,
44
+ 2.8836339, -0.107588194, 1
45
+ ],
46
+ "objectMetadataList": [
47
+ ["AF09ED6F-1707-48FD-8720-65B998362C09", "Root"],
48
+ {
49
+ "isExpanded": true,
50
+ "isLocked": false
51
+ },
52
+ ["AF09ED6F-1707-48FD-8720-65B998362C09", "Root", "Sphere_Left"],
53
+ {
54
+ "isExpanded": true,
55
+ "isLocked": false
56
+ },
57
+ ["AF09ED6F-1707-48FD-8720-65B998362C09", "Root", "Sphere_Right"],
58
+ {
59
+ "isExpanded": true,
60
+ "isLocked": false
61
+ }
62
+ ]
63
+ },
64
+ "CB766F92-EE55-4A63-9401-E7B8C009764D": {
65
+ "cameraTransform": [
66
+ 1, 0, -0, 0, -0, 0.8660253, -0.5000001, 0, 0, 0.5000001, 0.8660253, 0, 0,
67
+ 0.27093494, 0.4692731, 1
68
+ ],
69
+ "objectMetadataList": [
70
+ ["CB766F92-EE55-4A63-9401-E7B8C009764D", "Root", "GridMaterial"],
71
+ {
72
+ "isExpanded": true,
73
+ "isLocked": false
74
+ },
75
+ ["CB766F92-EE55-4A63-9401-E7B8C009764D", "Root"],
76
+ {
77
+ "isExpanded": true,
78
+ "isLocked": false
79
+ }
80
+ ]
81
+ },
82
+ "D560BB77-AAF3-4BDE-B7C4-989332A4688B": {
83
+ "cameraTransform": [
84
+ 1, 0, -0, 0, -0, 0.8660253, -0.5000001, 0, 0, 0.5000001, 0.8660253, 0, 0,
85
+ 0.27093494, 0.4692731, 1
86
+ ],
87
+ "objectMetadataList": []
88
+ },
89
+ "D66134B1-3681-4A8E-AFE5-29F257229F3B": {
90
+ "cameraTransform": [
91
+ 1, 0, -0, 0, -0, 0.7071069, -0.7071067, 0, 0, 0.7071067, 0.7071069, 0, 0,
92
+ 0.26894823, 0.26934713, 1
93
+ ],
94
+ "objectMetadataList": [
95
+ [
96
+ "D66134B1-3681-4A8E-AFE5-29F257229F3B",
97
+ "Root",
98
+ "GridMaterial",
99
+ "GridMaterial"
100
+ ],
101
+ {
102
+ "isExpanded": true,
103
+ "isLocked": false
104
+ },
105
+ ["D66134B1-3681-4A8E-AFE5-29F257229F3B", "Root"],
106
+ {
107
+ "isExpanded": true,
108
+ "isLocked": false
109
+ }
110
+ ]
111
+ }
112
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "cameraPresets" : {
3
+
4
+ },
5
+ "secondaryToolbarData" : {
6
+ "isGridVisible" : true,
7
+ "sceneReverbPreset" : -1
8
+ },
9
+ "unitDefaults" : {
10
+ "°" : "°",
11
+ "kg" : "g",
12
+ "m" : "cm",
13
+ "m\/s" : "m\/s",
14
+ "m\/s²" : "m\/s²",
15
+ "s" : "s"
16
+ }
17
+ }
@@ -0,0 +1,27 @@
1
+ // swift-tools-version:5.9
2
+ // The swift-tools-version declares the minimum version of Swift required to build this package.
3
+
4
+ import PackageDescription
5
+
6
+ let package = Package(
7
+ name: "RealityKitContent",
8
+ products: [
9
+ // Products define the executables and libraries a package produces, and make them visible to other packages.
10
+ .library(
11
+ name: "RealityKitContent",
12
+ targets: ["RealityKitContent"]
13
+ ),
14
+ ],
15
+ dependencies: [
16
+ // Dependencies declare other packages that this package depends on.
17
+ // .package(url: /* package url */, from: "1.0.0"),
18
+ ],
19
+ targets: [
20
+ // Targets are the basic building blocks of a package. A target can define a module or a test suite.
21
+ // Targets can depend on other targets in this package, and on products in packages this package depends on.
22
+ .target(
23
+ name: "RealityKitContent",
24
+ dependencies: []
25
+ ),
26
+ ]
27
+ )
@@ -0,0 +1,3 @@
1
+ # RealityKitContent
2
+
3
+ A description of this package.
@@ -0,0 +1,50 @@
1
+ #usda 1.0
2
+ (
3
+ defaultPrim = "Root"
4
+ metersPerUnit = 1
5
+ upAxis = "Y"
6
+ )
7
+
8
+ def Xform "Root"
9
+ {
10
+ reorder nameChildren = ["Sphere_Left", "Sphere_Right", "GridMaterial"]
11
+ def Sphere "Sphere_Right" (
12
+ active = true
13
+ prepend apiSchemas = ["MaterialBindingAPI"]
14
+ )
15
+ {
16
+ rel material:binding = </Root/GridMaterial/GridMaterial> (
17
+ bindMaterialAs = "weakerThanDescendants"
18
+ )
19
+ double radius = 0.1
20
+ quatf xformOp:orient = (1, 0, 0, 0)
21
+ float3 xformOp:scale = (1, 1, 1)
22
+ float3 xformOp:translate = (0.5, 1.5, -1.5)
23
+ uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
24
+ }
25
+
26
+ def Sphere "Sphere_Left" (
27
+ active = true
28
+ prepend apiSchemas = ["MaterialBindingAPI"]
29
+ )
30
+ {
31
+ rel material:binding = </Root/GridMaterial/GridMaterial> (
32
+ bindMaterialAs = "weakerThanDescendants"
33
+ )
34
+ double radius = 0.1
35
+ quatf xformOp:orient = (1, 0, 0, 0)
36
+ float3 xformOp:scale = (1, 1, 1)
37
+ float3 xformOp:translate = (-0.5, 1.5, -1.5)
38
+ uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
39
+ }
40
+
41
+ def "GridMaterial" (
42
+ active = true
43
+ prepend references = @Materials/GridMaterial.usda@
44
+ )
45
+ {
46
+ float3 xformOp:scale = (1, 1, 1)
47
+ uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
48
+ }
49
+ }
50
+
@@ -0,0 +1,216 @@
1
+ #usda 1.0
2
+ (
3
+ defaultPrim = "Root"
4
+ metersPerUnit = 1
5
+ upAxis = "Y"
6
+ )
7
+
8
+ def Xform "Root"
9
+ {
10
+ def Material "GridMaterial"
11
+ {
12
+ reorder nameChildren = ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "DefaultSurfaceShader", "MaterialXPreviewSurface", "Texcoord", "Add", "Multiply", "Fractional", "LineCounts", "Multiply_1", "Separate2", "Separate2_1", "Ifgreater", "Ifgreater_1", "Max", "Background_Color"]
13
+ token outputs:mtlx:surface.connect = </Root/GridMaterial/MaterialXPreviewSurface.outputs:out>
14
+ token outputs:realitykit:vertex
15
+ token outputs:surface
16
+ float2 ui:nodegraph:realitykit:subgraphOutputs:pos = (2222, 300.5)
17
+ float2 ui:nodegraph:realitykit:subgraphOutputs:size = (182, 89)
18
+ int ui:nodegraph:realitykit:subgraphOutputs:stackingOrder = 749
19
+
20
+ def Shader "DefaultSurfaceShader"
21
+ {
22
+ uniform token info:id = "UsdPreviewSurface"
23
+ color3f inputs:diffuseColor = (1, 1, 1)
24
+ float inputs:roughness = 0.75
25
+ token outputs:surface
26
+ }
27
+
28
+ def Shader "MaterialXPreviewSurface"
29
+ {
30
+ uniform token info:id = "ND_UsdPreviewSurface_surfaceshader"
31
+ float inputs:clearcoat
32
+ float inputs:clearcoatRoughness
33
+ color3f inputs:diffuseColor.connect = </Root/GridMaterial/Remap.outputs:out>
34
+ color3f inputs:emissiveColor
35
+ float inputs:ior
36
+ float inputs:metallic = 0.15
37
+ float3 inputs:normal
38
+ float inputs:occlusion
39
+ float inputs:opacity
40
+ float inputs:opacityThreshold
41
+ float inputs:roughness = 0.5
42
+ token outputs:out
43
+ float2 ui:nodegraph:node:pos = (1967, 300.5)
44
+ float2 ui:nodegraph:node:size = (208, 297)
45
+ int ui:nodegraph:node:stackingOrder = 870
46
+ string[] ui:nodegraph:realitykit:node:attributesShowingChildren = ["Advanced"]
47
+ }
48
+
49
+ def Shader "Texcoord"
50
+ {
51
+ uniform token info:id = "ND_texcoord_vector2"
52
+ float2 outputs:out
53
+ float2 ui:nodegraph:node:pos = (94.14453, 35.29297)
54
+ float2 ui:nodegraph:node:size = (182, 43)
55
+ int ui:nodegraph:node:stackingOrder = 1358
56
+ }
57
+
58
+ def Shader "Multiply"
59
+ {
60
+ uniform token info:id = "ND_multiply_vector2"
61
+ float2 inputs:in1.connect = </Root/GridMaterial/Texcoord.outputs:out>
62
+ float2 inputs:in2 = (32, 15)
63
+ float2 inputs:in2.connect = </Root/GridMaterial/LineCounts.outputs:out>
64
+ float2 outputs:out
65
+ float2 ui:nodegraph:node:pos = (275.64453, 47.29297)
66
+ float2 ui:nodegraph:node:size = (61, 36)
67
+ int ui:nodegraph:node:stackingOrder = 1348
68
+ string[] ui:nodegraph:realitykit:node:attributesShowingChildren = ["inputs:in2"]
69
+ }
70
+
71
+ def Shader "Fractional"
72
+ {
73
+ uniform token info:id = "ND_realitykit_fractional_vector2"
74
+ float2 inputs:in.connect = </Root/GridMaterial/Multiply.outputs:out>
75
+ float2 outputs:out
76
+ float2 ui:nodegraph:node:pos = (440.5, 49.5)
77
+ float2 ui:nodegraph:node:size = (155, 99)
78
+ int ui:nodegraph:node:stackingOrder = 1345
79
+ }
80
+
81
+ def Shader "BaseColor"
82
+ {
83
+ uniform token info:id = "ND_constant_color3"
84
+ color3f inputs:value = (0.89737034, 0.89737034, 0.89737034) (
85
+ colorSpace = "Input - Texture - sRGB - sRGB"
86
+ )
87
+ color3f inputs:value.connect = None
88
+ color3f outputs:out
89
+ float2 ui:nodegraph:node:pos = (1537.5977, 363.07812)
90
+ float2 ui:nodegraph:node:size = (150, 43)
91
+ int ui:nodegraph:node:stackingOrder = 1353
92
+ }
93
+
94
+ def Shader "LineColor"
95
+ {
96
+ uniform token info:id = "ND_constant_color3"
97
+ color3f inputs:value = (0.55945957, 0.55945957, 0.55945957) (
98
+ colorSpace = "Input - Texture - sRGB - sRGB"
99
+ )
100
+ color3f inputs:value.connect = None
101
+ color3f outputs:out
102
+ float2 ui:nodegraph:node:pos = (1536.9844, 287.86328)
103
+ float2 ui:nodegraph:node:size = (146, 43)
104
+ int ui:nodegraph:node:stackingOrder = 1355
105
+ }
106
+
107
+ def Shader "LineWidths"
108
+ {
109
+ uniform token info:id = "ND_combine2_vector2"
110
+ float inputs:in1 = 0.1
111
+ float inputs:in2 = 0.1
112
+ float2 outputs:out
113
+ float2 ui:nodegraph:node:pos = (443.64453, 233.79297)
114
+ float2 ui:nodegraph:node:size = (151, 43)
115
+ int ui:nodegraph:node:stackingOrder = 1361
116
+ }
117
+
118
+ def Shader "LineCounts"
119
+ {
120
+ uniform token info:id = "ND_combine2_vector2"
121
+ float inputs:in1 = 24
122
+ float inputs:in2 = 12
123
+ float2 outputs:out
124
+ float2 ui:nodegraph:node:pos = (94.14453, 138.29297)
125
+ float2 ui:nodegraph:node:size = (153, 43)
126
+ int ui:nodegraph:node:stackingOrder = 1359
127
+ }
128
+
129
+ def Shader "Remap"
130
+ {
131
+ uniform token info:id = "ND_remap_color3"
132
+ color3f inputs:in.connect = </Root/GridMaterial/Combine3.outputs:out>
133
+ color3f inputs:inhigh.connect = None
134
+ color3f inputs:inlow.connect = None
135
+ color3f inputs:outhigh.connect = </Root/GridMaterial/BaseColor.outputs:out>
136
+ color3f inputs:outlow.connect = </Root/GridMaterial/LineColor.outputs:out>
137
+ color3f outputs:out
138
+ float2 ui:nodegraph:node:pos = (1755.5, 300.5)
139
+ float2 ui:nodegraph:node:size = (95, 171)
140
+ int ui:nodegraph:node:stackingOrder = 1282
141
+ string[] ui:nodegraph:realitykit:node:attributesShowingChildren = ["inputs:outlow"]
142
+ }
143
+
144
+ def Shader "Separate2"
145
+ {
146
+ uniform token info:id = "ND_separate2_vector2"
147
+ float2 inputs:in.connect = </Root/GridMaterial/Range.outputs:out>
148
+ float outputs:outx
149
+ float outputs:outy
150
+ float2 ui:nodegraph:node:pos = (1212.6445, 128.91797)
151
+ float2 ui:nodegraph:node:size = (116, 117)
152
+ int ui:nodegraph:node:stackingOrder = 1363
153
+ }
154
+
155
+ def Shader "Combine3"
156
+ {
157
+ uniform token info:id = "ND_combine3_color3"
158
+ float inputs:in1.connect = </Root/GridMaterial/Min.outputs:out>
159
+ float inputs:in2.connect = </Root/GridMaterial/Min.outputs:out>
160
+ float inputs:in3.connect = </Root/GridMaterial/Min.outputs:out>
161
+ color3f outputs:out
162
+ float2 ui:nodegraph:node:pos = (1578.1445, 128.91797)
163
+ float2 ui:nodegraph:node:size = (146, 54)
164
+ int ui:nodegraph:node:stackingOrder = 1348
165
+ }
166
+
167
+ def Shader "Range"
168
+ {
169
+ uniform token info:id = "ND_range_vector2"
170
+ bool inputs:doclamp = 1
171
+ float2 inputs:gamma = (2, 2)
172
+ float2 inputs:in.connect = </Root/GridMaterial/Absval.outputs:out>
173
+ float2 inputs:inhigh.connect = </Root/GridMaterial/LineWidths.outputs:out>
174
+ float2 inputs:inlow = (0.02, 0.02)
175
+ float2 inputs:outhigh
176
+ float2 inputs:outlow
177
+ float2 outputs:out
178
+ float2 ui:nodegraph:node:pos = (990.64453, 128.91797)
179
+ float2 ui:nodegraph:node:size = (98, 207)
180
+ int ui:nodegraph:node:stackingOrder = 1364
181
+ }
182
+
183
+ def Shader "Subtract"
184
+ {
185
+ uniform token info:id = "ND_subtract_vector2"
186
+ float2 inputs:in1.connect = </Root/GridMaterial/Fractional.outputs:out>
187
+ float2 inputs:in2.connect = </Root/GridMaterial/LineWidths.outputs:out>
188
+ float2 outputs:out
189
+ float2 ui:nodegraph:node:pos = (612.64453, 87.04297)
190
+ float2 ui:nodegraph:node:size = (63, 36)
191
+ int ui:nodegraph:node:stackingOrder = 1348
192
+ }
193
+
194
+ def Shader "Absval"
195
+ {
196
+ uniform token info:id = "ND_absval_vector2"
197
+ float2 inputs:in.connect = </Root/GridMaterial/Subtract.outputs:out>
198
+ float2 outputs:out
199
+ float2 ui:nodegraph:node:pos = (765.64453, 87.04297)
200
+ float2 ui:nodegraph:node:size = (123, 43)
201
+ int ui:nodegraph:node:stackingOrder = 1348
202
+ }
203
+
204
+ def Shader "Min"
205
+ {
206
+ uniform token info:id = "ND_min_float"
207
+ float inputs:in1.connect = </Root/GridMaterial/Separate2.outputs:outx>
208
+ float inputs:in2.connect = </Root/GridMaterial/Separate2.outputs:outy>
209
+ float outputs:out
210
+ float2 ui:nodegraph:node:pos = (1388.1445, 128.91797)
211
+ float2 ui:nodegraph:node:size = (114, 36)
212
+ int ui:nodegraph:node:stackingOrder = 1363
213
+ }
214
+ }
215
+ }
216
+
@@ -0,0 +1,59 @@
1
+ #usda 1.0
2
+ (
3
+ defaultPrim = "Root"
4
+ metersPerUnit = 1
5
+ upAxis = "Y"
6
+ )
7
+
8
+ def Xform "Root"
9
+ {
10
+ reorder nameChildren = ["GridMaterial", "Sphere"]
11
+ rel material:binding = None (
12
+ bindMaterialAs = "weakerThanDescendants"
13
+ )
14
+
15
+ def Sphere "Sphere" (
16
+ active = true
17
+ prepend apiSchemas = ["MaterialBindingAPI"]
18
+ )
19
+ {
20
+ rel material:binding = </Root/GridMaterial/GridMaterial> (
21
+ bindMaterialAs = "weakerThanDescendants"
22
+ )
23
+ double radius = 0.05
24
+ quatf xformOp:orient = (1, 0, 0, 0)
25
+ float3 xformOp:scale = (1, 1, 1)
26
+ float3 xformOp:translate = (0, 0, 0.0004)
27
+ uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
28
+
29
+ def RealityKitComponent "Collider"
30
+ {
31
+ uint group = 1
32
+ uniform token info:id = "RealityKit.Collider"
33
+ uint mask = 4294967295
34
+ token type = "Default"
35
+
36
+ def RealityKitStruct "Shape"
37
+ {
38
+ float3 extent = (0.2, 0.2, 0.2)
39
+ float radius = 0.05
40
+ token shapeType = "Sphere"
41
+ }
42
+ }
43
+
44
+ def RealityKitComponent "InputTarget"
45
+ {
46
+ uniform token info:id = "RealityKit.InputTarget"
47
+ }
48
+ }
49
+
50
+ def "GridMaterial" (
51
+ active = true
52
+ prepend references = @Materials/GridMaterial.usda@
53
+ )
54
+ {
55
+ float3 xformOp:scale = (1, 1, 1)
56
+ uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:orient", "xformOp:scale"]
57
+ }
58
+ }
59
+
@@ -0,0 +1,4 @@
1
+ import Foundation
2
+
3
+ /// Bundle for the RealityKitContent project
4
+ public let realityKitContentBundle = Bundle.module
@@ -0,0 +1,12 @@
1
+ {
2
+ "images": [
3
+ {
4
+ "idiom": "vision",
5
+ "scale": "2x"
6
+ }
7
+ ],
8
+ "info": {
9
+ "author": "xcode",
10
+ "version": 1
11
+ }
12
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "info": {
3
+ "author": "xcode",
4
+ "version": 1
5
+ },
6
+ "layers": [
7
+ {
8
+ "filename": "Front.solidimagestacklayer"
9
+ },
10
+ {
11
+ "filename": "Middle.solidimagestacklayer"
12
+ },
13
+ {
14
+ "filename": "Back.solidimagestacklayer"
15
+ }
16
+ ]
17
+ }