@webspatial/builder 0.0.6 → 0.0.8
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.
- package/dist/index.js +1 -1
- package/dist/lib/Cli.js +1 -1
- package/dist/lib/cmds/build.js +1 -1
- package/dist/lib/cmds/check.js +1 -1
- package/dist/lib/cmds/help.js +1 -1
- package/dist/lib/cmds/version.js +1 -1
- package/dist/lib/pwa/config.js +1 -1
- package/dist/lib/pwa/index.js +1 -1
- package/dist/lib/pwa/validate.js +1 -1
- package/dist/lib/resource/file.js +1 -1
- package/dist/lib/resource/imageHelper.js +1 -1
- package/dist/lib/resource/index.js +1 -1
- package/dist/lib/resource/load.js +1 -1
- package/dist/lib/utils/CustomError.js +1 -1
- package/dist/lib/utils/FetchUtils-1.js +1 -1
- package/dist/lib/utils/Log.js +1 -1
- package/dist/lib/utils/fetch.js +1 -1
- package/dist/lib/utils/messages.js +1 -1
- package/dist/lib/utils/utils.js +1 -1
- package/dist/lib/xcode/index.js +1 -1
- package/dist/lib/xcode/manifestSwiftTemplate.d.ts +1 -1
- package/dist/lib/xcode/manifestSwiftTemplate.js +1 -1
- package/dist/lib/xcode/xcodebuild.js +1 -1
- package/dist/lib/xcode/xcodeproject.js +1 -1
- package/dist/lib/xcode/xcrun.js +1 -1
- package/package.json +1 -1
- package/template/visionOSApp/web-spatial/libs/SpatialWindowContainer.swift +20 -3
- package/template/visionOSApp/web-spatial/libs/webView/manifest.swift +3 -2
- package/template/visionOSApp/web-spatial/views/SpatialWebViewUI.swift +124 -125
- package/template/visionOSApp/web-spatial/views/VolumetricWindowContainerView.swift +5 -1
- package/template/visionOSApp/web-spatial/views/ui/NavView.swift +95 -58
- package/template/visionOSApp/web-spatial/web_spatialApp.swift +34 -10
- package/template/visionOSApp/web-spatial.xcodeproj/project.xcworkspace/xcuserdata/bytedance.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';function _0x3335(_0x1d56e7,_0x5bc387){const _0x2835bb=_0x2835();return _0x3335=function(_0x33355a,_0x2c5396){_0x33355a=_0x33355a-0x187;let _0x10ead9=_0x2835bb[_0x33355a];return _0x10ead9;},_0x3335(_0x1d56e7,_0x5bc387);}const _0x4001b2=_0x3335;function _0x2835(){const _0x1e6f42=['--manifest-url','Downloading\x20the\x20Android\x20SDK...','Do\x20you\x20agree\x20to\x20the\x20Android\x20SDK\x20terms\x20and\x20conditions\x20at\x20','https://play.google.com/console/about/families/','Invalid\x20icon\x20path:\x20','Invalid\x20integer\x20provided:\x20','--manifest','__esModule','\x20validation\x20successful.Here\x20is\x20the\x20relevant\x20information:','https://developer.android.com/studio/terms.html','Generating\x20Android\x20Project.','(5/5)','Minimum\x20length\x20is\x20','\x20or\x20','yellow','--url','Decompressing\x20the\x20JDK\x2011\x20Sources...','498260LoSjkJ','Starting\x20version\x20name\x20for\x20the\x20new\x20app\x20version:','715592cgFTAN','Invalid\x20URL:\x20','100038OADzRz','Initializing\x20application\x20from\x20Local\x20Manifest:\x0a\x09-\x20\x20','Please\x20check\x20your\x20internet\x20connection\x20or\x20start_url\x20in\x20manifest\x20file.','Maximum\x20length\x20is\x20','\x20and\x20alias\x20','Trusted\x20Web\x20Activities\x20are\x20currently\x20incompatible','383361txtYYQ','messages','URL\x20','defineProperty','underline','Starting\x20version\x20code\x20for\x20the\x20new\x20app\x20version:','4DpfCwQ','Please,\x20enter\x20passwords\x20for\x20the\x20keystore\x20','colors','Installing\x20Android\x20Build\x20Tools.\x20Please,\x20read\x20and\x20accept\x20the\x20','Initializing\x20application\x20from\x20Web\x20Manifest:\x0a\x09-\x20\x20','\x20Check\x20out\x20the\x20Play\x20for','First\x20and\x20Last\x20names\x20(eg:\x20PICO):','URL\x20must\x20resolve\x20to\x20an\x20image/*\x20mime-type,\x20but\x20resolved\x20to\x20','80694OeNisf','Organization\x20(eg:\x20Company\x20Name):','\x20Families\x0apolicies\x20to\x20learn\x20more.\x0a','Path\x20to\x20your\x20existing\x20Android\x20SDK:','Password\x20for\x20the\x20Key:','\x0aAn\x20existing\x20key\x20store\x20could\x20not\x20be\x20found\x20at\x20\x22','Decompressing\x20the\x20Android\x20SDK...','\x0aSigning\x20key\x20information\x20','1741180AEmGYa','Missing\x20required\x20parameter\x20','Do\x20you\x20want\x20picoxr-web\x20to\x20install\x20the\x20Android\x20SDK\x20(recommended)?\x0a\x20\x20(Enter\x20\x22No\x22\x20to\x20use\x20your\x20own\x20Android\x20SDK\x20installation)','redirected\x20to\x20','Decompressing\x20the\x20JDK\x2011\x20Binaries...','cyan','Icon\x20URL:','\x20can\x20not\x20be\x20accessible.','947925QlmkRw','WARNING:\x20','\x20but\x20input\x20is\x20','\x0aSigning\x20key\x20creation','bold','Password\x20for\x20the\x20Key\x20Store:','Country\x20(2\x20letter\x20code):'];_0x2835=function(){return _0x1e6f42;};return _0x2835();}(function(_0x42ed1e,_0x1ed57e){const _0x1ef9d7=_0x3335,_0x2da03a=_0x42ed1e();while(!![]){try{const _0x10f56e=-parseInt(_0x1ef9d7(0x18c))/0x1+-parseInt(_0x1ef9d7(0x1b4))/0x2+-parseInt(_0x1ef9d7(0x1be))/0x3*(-parseInt(_0x1ef9d7(0x1c4))/0x4)+parseInt(_0x1ef9d7(0x19c))/0x5+-parseInt(_0x1ef9d7(0x1b8))/0x6+parseInt(_0x1ef9d7(0x194))/0x7+-parseInt(_0x1ef9d7(0x1b6))/0x8;if(_0x10f56e===_0x1ed57e)break;else _0x2da03a['push'](_0x2da03a['shift']());}catch(_0x27e22d){_0x2da03a['push'](_0x2da03a['shift']());}}}(_0x2835,0x1fc76));Object[_0x4001b2(0x1c1)](exports,_0x4001b2(0x1aa),{'value':!![]}),exports[_0x4001b2(0x1bf)]=void 0x0;const colors_1=require(_0x4001b2(0x1c6));exports[_0x4001b2(0x1bf)]={'promptInstallJdk':'Do\x20you\x20want\x20picoxr-web\x20to\x20install\x20the\x20JDK\x20(recommended)?\x0a\x20\x20(Enter\x20\x22No\x22\x20to\x20use\x20your\x20own\x20JDK\x2011\x20installation)','promptJdkPath':'Path\x20to\x20your\x20existing\x20JDK\x2011:','messageDownloadJdk':'Downloading\x20JDK\x2011\x20to\x20','messageDownloadJdkSrc':'Downloading\x20the\x20JDK\x2011\x20Sources...','messageDecompressJdkSrc':_0x4001b2(0x1b3),'messageDownloadJdkBin':'Downloading\x20the\x20JDK\x2011\x20Binaries...','messageDecompressJdkBin':_0x4001b2(0x198),'promptInstallSdk':_0x4001b2(0x196),'promptSdkPath':_0x4001b2(0x18f),'messageDownloadSdk':'Downloading\x20Android\x20SDK\x20to\x20','errorSdkTerms':'Downloading\x20Android\x20SDK\x20failed\x20because\x20Terms\x20and\x20Conditions\x20was\x20not\x20signed.','promptSdkTerms':_0x4001b2(0x1a5)+(0x0,colors_1['underline'])(_0x4001b2(0x1ac))+'?','messageDownloadAndroidSdk':_0x4001b2(0x1a4),'messageDecompressAndroidSdk':_0x4001b2(0x192),'messageInstallingBuildTools':_0x4001b2(0x187)+'license\x20agreement.','messageGeneratingAndroidProject':_0x4001b2(0x1ad),'messageCheckSuccess':(_0x4959c4,_0x4eed1b)=>{const _0x16fd20=_0x4001b2;return'\x20URL\x20'+(0x0,colors_1[_0x16fd20(0x199)])(_0x4959c4)+'\x20'+(_0x4eed1b?_0x16fd20(0x197)+(0x0,colors_1['cyan'])(_0x4eed1b):'')+_0x16fd20(0x1ab);},'errorMissingManifestParameter':_0x4001b2(0x195)+((0x0,colors_1[_0x4001b2(0x199)])(_0x4001b2(0x1a3))+_0x4001b2(0x1b0)+(0x0,colors_1['cyan'])(_0x4001b2(0x1a9))),'messageInitializingWebManifest':_0x449747=>{const _0x1e2e26=_0x4001b2;return _0x1e2e26(0x188)+(0x0,colors_1[_0x1e2e26(0x199)])(_0x449747);},'messageInitializingLocalManifest':_0x4efd54=>{const _0x992b7=_0x4001b2;return _0x992b7(0x1b9)+(0x0,colors_1[_0x992b7(0x199)])(_0x4efd54);},'messageInvalidIcon':_0x470d6e=>{const _0x133bea=_0x4001b2;return _0x133bea(0x1a7)+(0x0,colors_1[_0x133bea(0x199)])(_0x470d6e);},'errorStartUrlNotReachable':_0x3f6418=>_0x4001b2(0x1c0)+_0x3f6418+_0x4001b2(0x19b)+_0x4001b2(0x1ba),'warnFamilyPolicy':(0x0,colors_1[_0x4001b2(0x1a0)])((0x0,colors_1[_0x4001b2(0x1b1)])(_0x4001b2(0x19d)))+_0x4001b2(0x1bd)+'\x20with\x20applications\x0atargeting\x20children\x20under\x20the\x20age\x20of\x2013.'+_0x4001b2(0x189)+_0x4001b2(0x18e)+(0x0,colors_1['cyan'])(_0x4001b2(0x1a6)),'promptIconUrl':_0x4001b2(0x19a),'errorInvalidUrl':_0x2e8ad1=>{const _0xffbd9d=_0x4001b2;return _0xffbd9d(0x1b7)+_0x2e8ad1;},'errorUrlMustBeImage':_0x1f8c8e=>{const _0x3f382b=_0x4001b2;return _0x3f382b(0x18b)+_0x1f8c8e+'.';},'promptVersionCode':_0x4001b2(0x1c3),'promptVersionName':_0x4001b2(0x1b5),'messageSigningKeyInformation':(0x0,colors_1[_0x4001b2(0x1c2)])(_0x4001b2(0x193)+(0x0,colors_1['green'])(_0x4001b2(0x1ae))),'messageProjectGeneratedSuccess':'\x0aProject\x20generated\x20successfully.','messageSigningKeyCreation':(0x0,colors_1[_0x4001b2(0x1c2)])(_0x4001b2(0x19f)),'messageSigningKeyNotFound':_0x356348=>{const _0x17b663=_0x4001b2;return _0x17b663(0x191)+_0x356348+'\x22.\x0a';},'promptCreateKey':'Do\x20you\x20want\x20to\x20create\x20one\x20now?','promptKeyFullName':_0x4001b2(0x18a),'promptKeyOrganizationalUnit':'Organizational\x20Unit\x20(eg:\x20PICO\x20Dept):','promptKeyOrganization':_0x4001b2(0x18d),'promptKeyCountry':_0x4001b2(0x1a2),'promptKeystorePassword':_0x4001b2(0x1a1),'promptKeyPassword':_0x4001b2(0x190),'messageBuildingApp':'\x0aBuilding\x20the\x20Android\x20App...','messageEnterPasswords':(_0x25739f,_0x3d1f8e)=>{const _0x12e90e=_0x4001b2;return _0x12e90e(0x1c5)+(0x0,colors_1[_0x12e90e(0x199)])(_0x25739f)+_0x12e90e(0x1bc)+(0x0,colors_1['cyan'])(_0x3d1f8e)+'.\x0a';},'errorMinLength':(_0x46ab22,_0x4883ac)=>{const _0x12dc61=_0x4001b2;return _0x12dc61(0x1af)+_0x46ab22+_0x12dc61(0x19e)+_0x4883ac+'.';},'errorMaxLength':(_0x180f5b,_0x59cf5a)=>{const _0x118c95=_0x4001b2;return _0x118c95(0x1bb)+_0x180f5b+'\x20but\x20input\x20is\x20'+_0x59cf5a+'.';},'errorInvalidInteger':_0x304856=>{const _0x3ace8d=_0x4001b2;return _0x3ace8d(0x1a8)+_0x304856;},'messageApkSuccess':_0x4f2cba=>{return'\x09-\x20Generated\x20Android\x20APK\x20at\x20'+(0x0,colors_1['cyan'])(_0x4f2cba);},'missingUrlToCheck':_0x4001b2(0x195)+(''+(0x0,colors_1[_0x4001b2(0x199)])(_0x4001b2(0x1b2)))};
|
package/dist/lib/utils/utils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';const _0x46596b=_0x37da;function _0x4648(){const _0x3a396f=['parseRouter','731895xcYTNU','470720yteUle','1082750YEpMse','14HkLxNB','join','split','290340BDBBlf','774405tBDZlr','268098EQATJi','14ODxtki','21923SKdNyE','indexOf','defineProperty','45XCfInT','__esModule'];_0x4648=function(){return _0x3a396f;};return _0x4648();}(function(_0x1566d6,_0x3b8c1c){const _0x48816f=_0x37da,_0x170f6a=_0x1566d6();while(!![]){try{const _0xf7bc16=-parseInt(_0x48816f(0x1b4))/0x1*(parseInt(_0x48816f(0x1ad))/0x2)+parseInt(_0x48816f(0x1b1))/0x3+-parseInt(_0x48816f(0x1b0))/0x4+-parseInt(_0x48816f(0x1ba))/0x5+parseInt(_0x48816f(0x1b2))/0x6*(parseInt(_0x48816f(0x1b3))/0x7)+parseInt(_0x48816f(0x1bb))/0x8*(parseInt(_0x48816f(0x1b7))/0x9)+-parseInt(_0x48816f(0x1ac))/0xa;if(_0xf7bc16===_0x3b8c1c)break;else _0x170f6a['push'](_0x170f6a['shift']());}catch(_0x397f57){_0x170f6a['push'](_0x170f6a['shift']());}}}(_0x4648,0x274e9));Object[_0x46596b(0x1b6)](exports,_0x46596b(0x1b8),{'value':!![]}),exports[_0x46596b(0x1b9)]=parseRouter;function _0x37da(_0x3ab43c,_0x2e31b3){const _0x46487d=_0x4648();return _0x37da=function(_0x37da14,_0x42039c){_0x37da14=_0x37da14-0x1ac;let _0x2fdebe=_0x46487d[_0x37da14];return _0x2fdebe;},_0x37da(_0x3ab43c,_0x2e31b3);}function parseRouter(_0x5c83d2){const _0x4a25ef=_0x46596b;let _0x1c9cf1=_0x5c83d2[_0x4a25ef(0x1af)]('/');_0x1c9cf1['pop']();let _0x2b7c95=_0x1c9cf1[_0x4a25ef(0x1ae)]();while(_0x2b7c95[_0x4a25ef(0x1b5)](',')>=0x0){_0x2b7c95=_0x2b7c95['replace'](',','/');}return _0x2b7c95;}
|
package/dist/lib/xcode/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';const _0x29e425=_0x5946;(function(_0xbefe41,_0x456fea){const _0x440468=_0x5946,_0x3b28a1=_0xbefe41();while(!![]){try{const _0xa797fc=parseInt(_0x440468(0x1ed))/0x1*(parseInt(_0x440468(0x1de))/0x2)+-parseInt(_0x440468(0x1e5))/0x3+-parseInt(_0x440468(0x1df))/0x4*(-parseInt(_0x440468(0x1d6))/0x5)+parseInt(_0x440468(0x1ef))/0x6*(-parseInt(_0x440468(0x1f6))/0x7)+-parseInt(_0x440468(0x1e3))/0x8*(-parseInt(_0x440468(0x1d9))/0x9)+-parseInt(_0x440468(0x1f3))/0xa*(-parseInt(_0x440468(0x1ee))/0xb)+-parseInt(_0x440468(0x1f4))/0xc;if(_0xa797fc===_0x456fea)break;else _0x3b28a1['push'](_0x3b28a1['shift']());}catch(_0x376170){_0x3b28a1['push'](_0x3b28a1['shift']());}}}(_0x5a71,0x5b35d));function _0x5946(_0x2b9586,_0x44552f){const _0x5a71c7=_0x5a71();return _0x5946=function(_0x594609,_0x3a794b){_0x594609=_0x594609-0x1d6;let _0x1e4093=_0x5a71c7[_0x594609];return _0x1e4093;},_0x5946(_0x2b9586,_0x44552f);}Object[_0x29e425(0x1db)](exports,_0x29e425(0x1d7),{'value':!![]}),exports[_0x29e425(0x1dd)]=void 0x0;function _0x5a71(){const _0x48189c=['262088IdzfMx','./xcrun','default','existsSync','696ocksva','parseProject','876291rgtBIg','./xcodebuild','.ipa','join','uploadApp','PROJECT_EXPORT_DIRECTORY','../resource','./xcodeproject','5uuZcDp','327151MTGyXW','6gSpmDX','name','export','upload','110OtalVJ','4393848GBYCgH','archive','4615324TpgXhP','log','15UWLPim','__esModule','PROJECT_DIRECTORY','71361lYAdUE','write\x20project.pbxproj:\x20ok','defineProperty','runWithSimulator','XcodeManager','191056pIYiBB'];_0x5a71=function(){return _0x48189c;};return _0x5a71();}const fs=require('fs'),resource_1=require(_0x29e425(0x1eb)),xcodeproject_1=require(_0x29e425(0x1ec)),xcodebuild_1=require(_0x29e425(0x1e6)),xcrun_1=require(_0x29e425(0x1e0)),path_1=require('path');class XcodeManager{static async[_0x29e425(0x1e4)](_0x1aaf70,_0x3af1a6=![]){const _0x15eff3=_0x29e425,_0x5b3032=resource_1[_0x15eff3(0x1d8)]+'/web-spatial.xcodeproj/project.pbxproj';await xcodeproject_1[_0x15eff3(0x1e1)]['modify'](_0x5b3032,_0x1aaf70),console[_0x15eff3(0x1f7)](_0x15eff3(0x1da));!fs[_0x15eff3(0x1e2)](resource_1[_0x15eff3(0x1ea)])&&fs['mkdirSync'](resource_1['PROJECT_EXPORT_DIRECTORY'],{'recursive':!![]});if(!_0x3af1a6)await xcodebuild_1['default'][_0x15eff3(0x1f5)](_0x1aaf70[_0x15eff3(0x1f1)]);}static async[_0x29e425(0x1f2)](_0x4c092e,_0x17b348){const _0xc3677e=_0x29e425;if(_0x4c092e['u']&&_0x4c092e['p'])xcrun_1[_0xc3677e(0x1e1)][_0xc3677e(0x1e9)]((0x0,path_1[_0xc3677e(0x1e8)])(resource_1[_0xc3677e(0x1ea)],_0x17b348[_0xc3677e(0x1f0)]+'.ipa'),_0x4c092e['u'],_0x4c092e['p'],!![]);else _0x4c092e['k']&&_0x4c092e['i']&&xcrun_1[_0xc3677e(0x1e1)]['uploadApp']((0x0,path_1[_0xc3677e(0x1e8)])(resource_1[_0xc3677e(0x1ea)],_0x17b348[_0xc3677e(0x1f0)]+_0xc3677e(0x1e7)),_0x4c092e['k'],_0x4c092e['i'],![]);}static async['runWithSimulator'](_0x2b87f6){const _0x5bfbed=_0x29e425;await xcrun_1[_0x5bfbed(0x1e1)][_0x5bfbed(0x1dc)](_0x2b87f6);}}exports['XcodeManager']=XcodeManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const manifestSwiftTemplate = "\nimport Foundation\n\nvar pwaManager = PWAManager()\n\nstruct PWAManager: Codable {\n var isLocal: Bool = false\n var start_url: String = \"START_URL\"\n var scope: String = \"SCOPE\"\n var id: String = \"AppID\"\n\n var name: String = \"AppName\"\n var short_name: String = \"name\"\n var description: String = \"Description\"\n\n var display: PWADisplayMode = .minimal\n var display_override: [PWADisplayMode] = []\n var protocol_handlers: [PWAProtocol] = [PWAProtocol(protocolValue: \"\", url: \"\")]\n var mainScene: WindowContainerOptions = .init(\n defaultSize: .init(\n width: SceneWidth,\n height: SceneHeight\n ),\n resizability: SceneResizability\n )\n var useMainScene: Bool = true\n\n mutating func _init() {\n let urlType = start_url.split(separator: \"://\").first\n if !(urlType == \"http\" || urlType == \"https\") {\n start_url = Bundle.main.url(forResource: start_url, withExtension: \"\", subdirectory: \"\")!.absoluteString\n scope = \"file://\" + Bundle.main.bundlePath + \"/\" + scope\n isLocal = true\n }\n\n if display_override.count > 0 {\n display = display_override[0]\n }\n\n for i in 0 ... protocol_handlers.count - 1 {\n let item = protocol_handlers[i]\n protocol_handlers[i].updateUrl(scope + item.url)\n }\n }\n\n func checkInScope(url: String) -> Bool {\n return url.starts(with: scope)\n }\n\n // web+spatial://test\n func checkInDeeplink(url: String) -> String {\n var linkUrl: String = url\n for item in protocol_handlers {\n if linkUrl.starts(with: item.protocolValue) {\n let queryString: String = linkUrl.replacingOccurrences(of: item.protocolValue, with: \"\").addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)!\n linkUrl = item.url.replacingOccurrences(of: \"%s\", with: item.protocolValue + queryString)\n }\n }\n logger.debug(linkUrl)\n return linkUrl\n }\n \n func getLocalResourceURL(url: String) -> String{\n let path:String = String(url.split(separator: \"file://\").first!.split(separator: \"?\").first!)\n let root:String = String(url.split(separator: \"?\").first!)\n let params = String(url.split(separator: \"file://\" + root).first!)\n var resource:String = Bundle.main.url(forResource: path, withExtension: \"\", subdirectory: \"\")?.absoluteString ?? \"\"\n if resource == \"\" {\n resource = Bundle.main.url(forResource: \"static-web\" + path, withExtension: \"\", subdirectory: \"\")?.absoluteString ?? \"\"\n }\n if resource == \"\" {\n return url\n }\n resource += \"?\" + params\n return resource\n }\n}\n\nenum PWADisplayMode: Codable {\n case minimal\n case standalone\n}\n\nstruct PWAProtocol: Codable {\n var protocolValue: String = \"\"\n var url: String = \"\"\n\n mutating func updateUrl(_ str: String) {\n url = str\n }\n}\n\n";
|
|
1
|
+
export declare const manifestSwiftTemplate = "\nimport Foundation\n\nvar pwaManager = PWAManager()\n\nstruct PWAManager: Codable {\n var isLocal: Bool = false\n var start_url: String = \"START_URL\"\n var scope: String = \"SCOPE\"\n var id: String = \"AppID\"\n\n var name: String = \"AppName\"\n var short_name: String = \"name\"\n var description: String = \"Description\"\n\n var display: PWADisplayMode = .minimal\n var display_override: [PWADisplayMode] = []\n var protocol_handlers: [PWAProtocol] = [PWAProtocol(protocolValue: \"\", url: \"\")]\n var mainScene: WindowContainerOptions = .init(\n defaultSize: .init(\n width: SceneWidth,\n height: SceneHeight\n ),\n resizability: SceneResizability\n )\n var useMainScene: Bool = true\n\n mutating func _init() {\n let urlType = start_url.split(separator: \"://\").first\n if !(urlType == \"http\" || urlType == \"https\") {\n start_url = Bundle.main.url(forResource: start_url, withExtension: \"\", subdirectory: \"\")!.absoluteString\n scope = \"file://\" + Bundle.main.bundlePath + \"/\" + scope\n scope = scope.replacingOccurrences(of: \" \", with: \"%20\")\n isLocal = true\n }\n\n if display_override.count > 0 {\n display = display_override[0]\n }\n\n for i in 0 ... protocol_handlers.count - 1 {\n let item = protocol_handlers[i]\n protocol_handlers[i].updateUrl(scope + item.url)\n }\n }\n\n func checkInScope(url: String) -> Bool {\n return url.starts(with: scope)\n }\n\n // web+spatial://test\n func checkInDeeplink(url: String) -> String {\n var linkUrl: String = url\n for item in protocol_handlers {\n if linkUrl.starts(with: item.protocolValue) {\n let queryString: String = linkUrl.replacingOccurrences(of: item.protocolValue, with: \"\").addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)!\n linkUrl = item.url.replacingOccurrences(of: \"%s\", with: item.protocolValue + queryString)\n }\n }\n logger.debug(linkUrl)\n return linkUrl\n }\n \n func getLocalResourceURL(url: String) -> String{\n let path:String = String(url.split(separator: \"file://\").first!.split(separator: \"?\").first!)\n let root:String = String(url.split(separator: \"?\").first!)\n let params = String(url.split(separator: \"file://\" + root).first!)\n var resource:String = Bundle.main.url(forResource: path, withExtension: \"\", subdirectory: \"\")?.absoluteString ?? \"\"\n if resource == \"\" {\n resource = Bundle.main.url(forResource: \"static-web\" + path, withExtension: \"\", subdirectory: \"\")?.absoluteString ?? \"\"\n }\n if resource == \"\" {\n return url\n }\n resource += \"?\" + params\n return resource\n }\n}\n\nenum PWADisplayMode: Codable {\n case minimal\n case standalone\n}\n\nstruct PWAProtocol: Codable {\n var protocolValue: String = \"\"\n var url: String = \"\"\n\n mutating func updateUrl(_ str: String) {\n url = str\n }\n}\n\n";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';function
|
|
1
|
+
'use strict';var _0x2de96e=_0x2ba0;(function(_0x4631ca,_0x247738){var _0x1b61ff=_0x2ba0,_0x14bcae=_0x4631ca();while(!![]){try{var _0x2b6cea=parseInt(_0x1b61ff(0xc0))/0x1+-parseInt(_0x1b61ff(0xc8))/0x2+parseInt(_0x1b61ff(0xcc))/0x3+-parseInt(_0x1b61ff(0xbe))/0x4*(-parseInt(_0x1b61ff(0xc9))/0x5)+-parseInt(_0x1b61ff(0xca))/0x6*(parseInt(_0x1b61ff(0xc3))/0x7)+-parseInt(_0x1b61ff(0xc5))/0x8*(-parseInt(_0x1b61ff(0xc1))/0x9)+parseInt(_0x1b61ff(0xc7))/0xa*(-parseInt(_0x1b61ff(0xc4))/0xb);if(_0x2b6cea===_0x247738)break;else _0x14bcae['push'](_0x14bcae['shift']());}catch(_0x41dd18){_0x14bcae['push'](_0x14bcae['shift']());}}}(_0x2581,0x3208a));function _0x2ba0(_0x398894,_0x1eef3c){var _0x2581b9=_0x2581();return _0x2ba0=function(_0x2ba0fa,_0x7031c0){_0x2ba0fa=_0x2ba0fa-0xbe;var _0x21445a=_0x2581b9[_0x2ba0fa];return _0x21445a;},_0x2ba0(_0x398894,_0x1eef3c);}function _0x2581(){var _0x57d06d=['36YIDTot','manifestSwiftTemplate','1074192givYQH','4hIVaYW','defineProperty','228746lBDmum','9YCVpJA','__esModule','256557OdRhBZ','283217kFvdgr','1644232YnFbBN','\x0aimport\x20Foundation\x0a\x0avar\x20pwaManager\x20=\x20PWAManager()\x0a\x0astruct\x20PWAManager:\x20Codable\x20{\x0a\x20\x20\x20\x20var\x20isLocal:\x20Bool\x20=\x20false\x0a\x20\x20\x20\x20var\x20start_url:\x20String\x20=\x20\x22START_URL\x22\x0a\x20\x20\x20\x20var\x20scope:\x20String\x20=\x20\x22SCOPE\x22\x0a\x20\x20\x20\x20var\x20id:\x20String\x20=\x20\x22AppID\x22\x0a\x0a\x20\x20\x20\x20var\x20name:\x20String\x20=\x20\x22AppName\x22\x0a\x20\x20\x20\x20var\x20short_name:\x20String\x20=\x20\x22name\x22\x0a\x20\x20\x20\x20var\x20description:\x20String\x20=\x20\x22Description\x22\x0a\x0a\x20\x20\x20\x20var\x20display:\x20PWADisplayMode\x20=\x20.minimal\x0a\x20\x20\x20\x20var\x20display_override:\x20[PWADisplayMode]\x20=\x20[]\x0a\x20\x20\x20\x20var\x20protocol_handlers:\x20[PWAProtocol]\x20=\x20[PWAProtocol(protocolValue:\x20\x22\x22,\x20url:\x20\x22\x22)]\x0a\x20\x20\x20\x20var\x20mainScene:\x20WindowContainerOptions\x20=\x20.init(\x0a\x20\x20\x20\x20\x20\x20\x20\x20defaultSize:\x20.init(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20width:\x20SceneWidth,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20height:\x20SceneHeight\x0a\x20\x20\x20\x20\x20\x20\x20\x20),\x0a\x20\x20\x20\x20\x20\x20\x20\x20resizability:\x20SceneResizability\x0a\x20\x20\x20\x20)\x0a\x20\x20\x20\x20var\x20useMainScene:\x20Bool\x20=\x20true\x0a\x0a\x20\x20\x20\x20mutating\x20func\x20_init()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20urlType\x20=\x20start_url.split(separator:\x20\x22://\x22).first\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20!(urlType\x20==\x20\x22http\x22\x20||\x20urlType\x20==\x20\x22https\x22)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20start_url\x20=\x20Bundle.main.url(forResource:\x20start_url,\x20withExtension:\x20\x22\x22,\x20subdirectory:\x20\x22\x22)!.absoluteString\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20scope\x20=\x20\x22file://\x22\x20+\x20Bundle.main.bundlePath\x20+\x20\x22/\x22\x20+\x20scope\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20scope\x20=\x20scope.replacingOccurrences(of:\x20\x22\x20\x22,\x20with:\x20\x22%20\x22)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20isLocal\x20=\x20true\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20display_override.count\x20>\x200\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display\x20=\x20display_override[0]\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20for\x20i\x20in\x200\x20...\x20protocol_handlers.count\x20-\x201\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20item\x20=\x20protocol_handlers[i]\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20protocol_handlers[i].updateUrl(scope\x20+\x20item.url)\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20func\x20checkInScope(url:\x20String)\x20->\x20Bool\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20url.starts(with:\x20scope)\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20//\x20web+spatial://test\x0a\x20\x20\x20\x20func\x20checkInDeeplink(url:\x20String)\x20->\x20String\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20linkUrl:\x20String\x20=\x20url\x0a\x20\x20\x20\x20\x20\x20\x20\x20for\x20item\x20in\x20protocol_handlers\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20linkUrl.starts(with:\x20item.protocolValue)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20queryString:\x20String\x20=\x20linkUrl.replacingOccurrences(of:\x20item.protocolValue,\x20with:\x20\x22\x22).addingPercentEncoding(withAllowedCharacters:\x20.urlQueryAllowed)!\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20linkUrl\x20=\x20item.url.replacingOccurrences(of:\x20\x22%s\x22,\x20with:\x20item.protocolValue\x20+\x20queryString)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20logger.debug(linkUrl)\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20linkUrl\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20func\x20getLocalResourceURL(url:\x20String)\x20->\x20String{\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20path:String\x20=\x20String(url.split(separator:\x20\x22file://\x22).first!.split(separator:\x20\x22?\x22).first!)\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20root:String\x20=\x20String(url.split(separator:\x20\x22?\x22).first!)\x0a\x20\x20\x20\x20\x20\x20\x20\x20let\x20params\x20=\x20String(url.split(separator:\x20\x22file://\x22\x20+\x20root).first!)\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20resource:String\x20=\x20Bundle.main.url(forResource:\x20path,\x20withExtension:\x20\x22\x22,\x20subdirectory:\x20\x22\x22)?.absoluteString\x20??\x20\x22\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20resource\x20==\x20\x22\x22\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20resource\x20=\x20Bundle.main.url(forResource:\x20\x22static-web\x22\x20+\x20path,\x20withExtension:\x20\x22\x22,\x20subdirectory:\x20\x22\x22)?.absoluteString\x20??\x20\x22\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20resource\x20==\x20\x22\x22\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20url\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20resource\x20+=\x20\x22?\x22\x20+\x20params\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20resource\x0a\x20\x20\x20\x20}\x0a}\x0a\x0aenum\x20PWADisplayMode:\x20Codable\x20{\x0a\x20\x20\x20\x20case\x20minimal\x0a\x20\x20\x20\x20case\x20standalone\x0a}\x0a\x0astruct\x20PWAProtocol:\x20Codable\x20{\x0a\x20\x20\x20\x20var\x20protocolValue:\x20String\x20=\x20\x22\x22\x0a\x20\x20\x20\x20var\x20url:\x20String\x20=\x20\x22\x22\x0a\x0a\x20\x20\x20\x20mutating\x20func\x20updateUrl(_\x20str:\x20String)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20url\x20=\x20str\x0a\x20\x20\x20\x20}\x0a}\x0a\x0a','30iHrKXH','691210dehQqT','276755hDIcBo'];_0x2581=function(){return _0x57d06d;};return _0x2581();}Object[_0x2de96e(0xbf)](exports,_0x2de96e(0xc2),{'value':!![]}),exports[_0x2de96e(0xcb)]=void 0x0,exports[_0x2de96e(0xcb)]=_0x2de96e(0xc6);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';const _0x47cdc0=_0x35f4;function _0x35f4(_0x52aad8,_0x2b1da7){const _0x106846=_0x1068();return _0x35f4=function(_0x35f43e,_0x5969b7){_0x35f43e=_0x35f43e-0x15c;let _0x2a8a5c=_0x106846[_0x35f43e];return _0x2a8a5c;},_0x35f4(_0x52aad8,_0x2b1da7);}(function(_0x5c0aa4,_0x208b13){const _0x9d7112=_0x35f4,_0x210ce4=_0x5c0aa4();while(!![]){try{const _0x1f6a89=-parseInt(_0x9d7112(0x16e))/0x1*(-parseInt(_0x9d7112(0x16c))/0x2)+-parseInt(_0x9d7112(0x18b))/0x3+parseInt(_0x9d7112(0x167))/0x4+parseInt(_0x9d7112(0x15d))/0x5+-parseInt(_0x9d7112(0x170))/0x6*(-parseInt(_0x9d7112(0x17f))/0x7)+parseInt(_0x9d7112(0x171))/0x8*(parseInt(_0x9d7112(0x183))/0x9)+parseInt(_0x9d7112(0x169))/0xa*(-parseInt(_0x9d7112(0x18f))/0xb);if(_0x1f6a89===_0x208b13)break;else _0x210ce4['push'](_0x210ce4['shift']());}catch(_0x4aeacf){_0x210ce4['push'](_0x210ce4['shift']());}}}(_0x1068,0x325d4));Object[_0x47cdc0(0x172)](exports,_0x47cdc0(0x182),{'value':!![]}),exports[_0x47cdc0(0x164)]=void 0x0;const fs=require('fs'),path_1=require(_0x47cdc0(0x18e)),resource_1=require(_0x47cdc0(0x18d)),semver_1=require(_0x47cdc0(0x18a)),file_1=require(_0x47cdc0(0x181)),{execSync,exec}=require('child_process');class Xcodebuild{static async[_0x47cdc0(0x174)](){const _0x499bf5=_0x47cdc0;try{await new Promise((_0xda3175,_0x33e78b)=>{const _0x5e2187=_0x35f4,_0x3b3812=resource_1['PROJECT_DIRECTORY']+'/web-spatial.xcodeproj',_0x19ec4e=execSync(new XcodebuildCMD()[_0x5e2187(0x174)](_0x3b3812)[_0x5e2187(0x16d)]()[_0x5e2187(0x15f)]);console[_0x5e2187(0x163)](_0x19ec4e[_0x5e2187(0x18c)]()),_0xda3175(_0x19ec4e);});}catch(_0x300049){console[_0x499bf5(0x163)](_0x300049);}}static async[_0x47cdc0(0x16d)](){try{await new Promise((_0x3e8bcf,_0x4fda01)=>{const _0x1a37e3=_0x35f4,_0x29b225=resource_1[_0x1a37e3(0x190)]+_0x1a37e3(0x15c),_0x6cdafa=execSync(new XcodebuildCMD()[_0x1a37e3(0x174)](_0x29b225)[_0x1a37e3(0x16d)]()['line']);console[_0x1a37e3(0x163)](_0x6cdafa[_0x1a37e3(0x18c)]()),_0x3e8bcf(_0x6cdafa);});}catch(_0x176e75){console['log'](_0x176e75);}}static async[_0x47cdc0(0x187)](_0x1b5d90){const _0x40aaac=_0x47cdc0;try{return console[_0x40aaac(0x163)](_0x40aaac(0x193)),!fs['existsSync'](resource_1[_0x40aaac(0x175)])&&fs[_0x40aaac(0x17b)](resource_1[_0x40aaac(0x175)],{'recursive':!![]}),await new Promise((_0x4b06d6,_0x5915ca)=>{const _0x5bd458=_0x40aaac,_0x6e3a0e=resource_1[_0x5bd458(0x190)]+_0x5bd458(0x15c),_0xc46569=execSync(new XcodebuildCMD()['project'](_0x6e3a0e)[_0x5bd458(0x17e)](_0x5bd458(0x16f))[_0x5bd458(0x187)]((0x0,path_1[_0x5bd458(0x184)])(resource_1[_0x5bd458(0x188)],_0x5bd458(0x180)))[_0x5bd458(0x17d)]()[_0x5bd458(0x15f)]);let _0x4fd13e=_0xc46569[_0x5bd458(0x18c)]();if(_0x4fd13e['indexOf'](_0x5bd458(0x186))>0x0){console[_0x5bd458(0x163)](_0x5bd458(0x16a)),console['log']('start\x20export');const _0x316192=execSync(new XcodebuildCMD()[_0x5bd458(0x16b)]((0x0,path_1[_0x5bd458(0x184)])(resource_1['PROJECT_BUILD_DIRECTORY'],_0x5bd458(0x160)),resource_1[_0x5bd458(0x175)],(0x0,path_1[_0x5bd458(0x184)])(resource_1[_0x5bd458(0x188)],_0x5bd458(0x177)))[_0x5bd458(0x194)]()[_0x5bd458(0x15f)]);_0x4fd13e=_0x316192[_0x5bd458(0x18c)]();if(_0x4fd13e['indexOf'](_0x5bd458(0x179))>0x0){if(_0x1b5d90){const _0xf8ae3b=(0x0,path_1[_0x5bd458(0x184)])(process[_0x5bd458(0x165)](),_0x1b5d90);!fs[_0x5bd458(0x15e)](_0xf8ae3b)&&fs['mkdirSync'](_0xf8ae3b,{'recursive':!![]}),(0x0,file_1[_0x5bd458(0x192)])(resource_1['PROJECT_EXPORT_DIRECTORY'],_0xf8ae3b);}console['log'](_0x5bd458(0x176)),_0x4b06d6(!![]);}(0x0,semver_1[_0x5bd458(0x17d)])(resource_1[_0x5bd458(0x188)]);}_0x4b06d6(![]);});}catch(_0x264ee0){console['log'](_0x264ee0);}}}exports[_0x47cdc0(0x161)]=Xcodebuild;function _0x1068(){const _0x3fcdd7=['252290rRVKAx','existsSync','line','pack.xcarchive','default','\x20-scheme\x20','log','XcodebuildCMD','cwd','\x20-project\x20','1172088uoEkwZ','\x20-exportArchive\x20-archivePath\x20','1222880QysuWq','-------------------\x20ARCHIVE\x20SUCCEEDED\x20-------------------','output','42JvSWMa','list','8289FRnqWk','web-spatial','12MKpXFC','645712tRRHfS','defineProperty','\x20archive','project','PROJECT_EXPORT_DIRECTORY','-------------------\x20EXPORT\x20SUCCEEDED\x20-------------------','ExportOptions.plist','xcodebuild','EXPORT\x20SUCCEEDED','\x20-archivePath\x20','mkdirSync','\x20-exportOptionsPlist\x20','clean','scheme','1216103wEuhpZ','./pack','../resource/file','__esModule','27krxeuM','join','destination','ARCHIVE\x20SUCCEEDED','archive','PROJECT_BUILD_DIRECTORY','\x20-allowProvisioningUpdates','semver','1235115ZCDZSG','toString','../resource','path','44WpJRiW','PROJECT_DIRECTORY','\x20clean','copyDir','start\x20archive','allowProvisioningUpdates','\x20-list','/web-spatial.xcodeproj'];_0x1068=function(){return _0x3fcdd7;};return _0x1068();}class XcodebuildCMD{constructor(){const _0xd5913e=_0x47cdc0;this[_0xd5913e(0x15f)]=_0xd5913e(0x178);}[_0x47cdc0(0x174)](_0x3a56c1){const _0x1fa7ba=_0x47cdc0;return this[_0x1fa7ba(0x15f)]+=_0x1fa7ba(0x166)+_0x3a56c1,this;}[_0x47cdc0(0x16d)](){const _0x4b7c42=_0x47cdc0;return this[_0x4b7c42(0x15f)]+=_0x4b7c42(0x195),this;}[_0x47cdc0(0x17e)](_0x58759d){const _0x5152c8=_0x47cdc0;return this[_0x5152c8(0x15f)]+=_0x5152c8(0x162)+_0x58759d,this;}[_0x47cdc0(0x187)](_0x209c22){const _0x30f2c4=_0x47cdc0;return this[_0x30f2c4(0x15f)]+=_0x30f2c4(0x17a)+_0x209c22+_0x30f2c4(0x173),this;}[_0x47cdc0(0x194)](){const _0x54ca9c=_0x47cdc0;return this['line']+=_0x54ca9c(0x189),this;}[_0x47cdc0(0x185)](_0x1ef99a){const _0x46c702=_0x47cdc0;return this[_0x46c702(0x15f)]+='\x20-destination\x20\x27'+_0x1ef99a+'\x27',this;}[_0x47cdc0(0x16b)](_0x15eed8,_0x257e9f,_0x1d0ca6){const _0x1ab1f7=_0x47cdc0;return this['line']+=_0x1ab1f7(0x168)+_0x15eed8+'\x20-exportPath\x20'+_0x257e9f+_0x1ab1f7(0x17c)+_0x1d0ca6,this;}[_0x47cdc0(0x17d)](){const _0x2776e6=_0x47cdc0;return this[_0x2776e6(0x15f)]+=_0x2776e6(0x191),this;}}exports[_0x47cdc0(0x164)]=XcodebuildCMD;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const _0x301c9c=_0x5cbe;(function(_0x25b590,_0x402a70){const _0x33bfee=_0x5cbe,_0x2ce9ad=_0x25b590();while(!![]){try{const _0x1c4ce0=-parseInt(_0x33bfee(0x8d))/0x1*(-parseInt(_0x33bfee(0x92))/0x2)+parseInt(_0x33bfee(0x8f))/0x3*(parseInt(_0x33bfee(0xc1))/0x4)+parseInt(_0x33bfee(0x99))/0x5+-parseInt(_0x33bfee(0xcb))/0x6+parseInt(_0x33bfee(0x77))/0x7*(parseInt(_0x33bfee(0x93))/0x8)+-parseInt(_0x33bfee(0x9c))/0x9*(-parseInt(_0x33bfee(0xab))/0xa)+-parseInt(_0x33bfee(0x8b))/0xb;if(_0x1c4ce0===_0x402a70)break;else _0x2ce9ad['push'](_0x2ce9ad['shift']());}catch(_0x5453c8){_0x2ce9ad['push'](_0x2ce9ad['shift']());}}}(_0x9797,0xadc17));function _0x5cbe(_0x19caaa,_0x99f2c1){const _0x97971=_0x9797();return _0x5cbe=function(_0x5cbe94,_0x3d1762){_0x5cbe94=_0x5cbe94-0x76;let _0x22db83=_0x97971[_0x5cbe94];return _0x22db83;},_0x5cbe(_0x19caaa,_0x99f2c1);}Object[_0x301c9c(0x7a)](exports,_0x301c9c(0xa1),{'value':!![]});const fs=require('fs'),resource_1=require('../resource'),path_1=require('path'),load_1=require('../resource/load'),imageHelper_1=require(_0x301c9c(0xb5)),manifestSwiftTemplate_1=require(_0x301c9c(0xca)),xcode=require(_0x301c9c(0xcd)),exportOptionsXML=_0x301c9c(0xcc),infoPlistXML='<?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';function _0x9797(){const _0x5af934=['app-store-connect','\x22),','project','resizability','1453620HhTZUt','updateBuildProperty','pbxGroupByName','52389RKefHO','parseSync','SCOPE','push','debugging','__esModule','protocol','protocol_handlers','value','PROJECT_BUILD_DIRECTORY','./web-spatial/Info.plist','bindManifestInfo','.minimal','release-testing','updateTeamId','530XTmQXh','manifestInfo','teamId','buildType','modifySwift','writeAsync','updateDeeplink','PWAProtocol(protocolValue:\x20\x22\x22,\x20url:\x20\x22\x22)','utf-8','updateProductName','../resource/imageHelper','pbxXCBuildConfigurationSection','length','YOURTEAMID','./web-spatial/libs/webView/manifest.swift','hash','Contents.json','AppName','default','filename','icon.','mainScene','771652ETAnLh','BUILDTYPE','updateVersion','json','pbxXCConfigurationList','existsSync','ImageHelper','enterprise','start_url','./manifestSwiftTemplate','5053146kxHmmh','<?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><none></string>\x0a</dict>\x0a</plist>','xcode','PROJECT_DIRECTORY','</string>','pbxTargetByName','defaultSize','Description','<string>','DEVELOPMENT_TEAM','version','stringify','buildSettings','SceneWidth','name','createImg','objects','writeSync','height','1708jdlfTB','buildConfigurations','image/','defineProperty','replace','CURRENT_PROJECT_VERSION','description','updateExportOptions','PBXGroup','loadJsonFromDisk','DEEPLINK','1.0','bindIcon','url','SceneResizability','width','.standalone','fixProjectFunction','test','split','21745163gcmZEU','join','1noeahl','images','21vBezdT','writeFileSync','ExportOptions.plist','2790830sooFrf','6088dArGcW','MIDDLE_APPICON_DIRECTORY'];_0x9797=function(){return _0x5af934;};return _0x9797();}let useExportOptionsXML='';class XcodeProject{static async['modify'](_0x49c81b,_0x17fbc5){const _0x70a7f8=_0x301c9c;let _0x5ed193=xcode[_0x70a7f8(0x97)](_0x49c81b);this[_0x70a7f8(0x88)](_0x5ed193),_0x5ed193[_0x70a7f8(0x9d)]();let _0x568107=_0x17fbc5[_0x70a7f8(0xae)];const _0x23b1f3=[_0x70a7f8(0xa9),_0x70a7f8(0x95),_0x70a7f8(0xa0),_0x70a7f8(0xc8)];useExportOptionsXML=exportOptionsXML[_0x70a7f8(0x7b)](_0x70a7f8(0xc2),_0x23b1f3['includes'](_0x568107)?_0x568107:_0x70a7f8(0xa9));_0x17fbc5[_0x70a7f8(0xad)]&&this[_0x70a7f8(0xaa)](_0x5ed193,_0x17fbc5[_0x70a7f8(0xad)]);this[_0x70a7f8(0x7e)](),await this[_0x70a7f8(0x83)](_0x17fbc5['icon']),this['bindManifestInfo'](_0x5ed193,_0x17fbc5[_0x70a7f8(0xac)][_0x70a7f8(0xc4)]);_0x17fbc5['version']?this[_0x70a7f8(0xc3)](_0x5ed193,_0x17fbc5[_0x70a7f8(0xd5)]):this[_0x70a7f8(0xc3)](_0x5ed193,_0x70a7f8(0x82));try{fs[_0x70a7f8(0x90)](_0x49c81b,_0x5ed193[_0x70a7f8(0xdc)]());}catch(_0x244202){console['log'](_0x244202);}}static[_0x301c9c(0x88)](_0x16fd63){const _0x104344=_0x301c9c;_0x16fd63[_0x104344(0x9b)]=function(_0x2e8fb8){const _0x2ce5e3=_0x104344;var _0x47352b=this[_0x2ce5e3(0xba)]['project'][_0x2ce5e3(0xdb)][_0x2ce5e3(0x7f)],_0x2e00e5,_0x41bc3b;for(_0x2e00e5 in _0x47352b){if(!/_comment$/[_0x2ce5e3(0x89)](_0x2e00e5))continue;if(_0x47352b[_0x2e00e5]==_0x2e8fb8)return _0x41bc3b=_0x2e00e5[_0x2ce5e3(0x8a)](/_comment$/)[0x0],_0x47352b[_0x41bc3b];}return![];},_0x16fd63['updateBuildProperty']=function(_0x2e79ed,_0x33960a,_0x2e8988,_0x2db9be){const _0x3bdc69=_0x104344;let _0x42e6ed=[];const _0x245f25=/_comment$/;if(_0x2db9be){const _0x79a432=this[_0x3bdc69(0xd0)](_0x2db9be),_0x53c6a9=_0x79a432&&_0x79a432['buildConfigurationList'],_0x5b6db2=this[_0x3bdc69(0xc5)]();for(const _0x471971 in _0x5b6db2){if(!_0x245f25[_0x3bdc69(0x89)](_0x471971)&&_0x53c6a9===_0x471971){const _0x4f6483=_0x5b6db2[_0x471971][_0x3bdc69(0x78)];for(const _0x32ada3 of _0x4f6483){_0x42e6ed[_0x3bdc69(0x9f)](_0x32ada3[_0x3bdc69(0xa4)]);}break;}}}var _0x589236=this[_0x3bdc69(0xb6)]();for(var _0x12f49c in _0x589236){if(!_0x245f25['test'](_0x12f49c)){if(_0x2db9be&&!_0x42e6ed['includes'](_0x12f49c))continue;var _0xb13d67=_0x589236[_0x12f49c];(_0x2e8988&&_0xb13d67[_0x3bdc69(0xd9)]===_0x2e8988||!_0x2e8988)&&_0xb13d67['buildSettings'][_0x2e79ed]&&(_0xb13d67[_0x3bdc69(0xd7)][_0x2e79ed]=_0x33960a);}}};}static async['bindIcon'](_0x11d2cb){const _0x1fea07=_0x301c9c;if(_0x11d2cb){const _0x33bec4=(0x0,path_1[_0x1fea07(0x8c)])(resource_1[_0x1fea07(0xce)],resource_1['BACK_APPICON_DIRECTORY']),_0x1f3e11=(0x0,path_1[_0x1fea07(0x8c)])(_0x33bec4,_0x1fea07(0xbb)),_0x5bc8df=_0x1fea07(0xbf)+_0x11d2cb['getMIME']()[_0x1fea07(0x7b)](_0x1fea07(0x79),''),_0x807001=(0x0,path_1[_0x1fea07(0x8c)])(_0x33bec4,_0x5bc8df);let _0x59f58c=await(0x0,load_1[_0x1fea07(0x80)])(_0x1f3e11);_0x59f58c[_0x1fea07(0x8e)][0x0][_0x1fea07(0xbe)]=_0x5bc8df,await _0x11d2cb[_0x1fea07(0xb0)](_0x807001),await fs[_0x1fea07(0x90)](_0x1f3e11,JSON[_0x1fea07(0xd6)](_0x59f58c));const _0x2900e3=(0x0,path_1[_0x1fea07(0x8c)])(resource_1[_0x1fea07(0xce)],resource_1[_0x1fea07(0x94)]),_0x50aba6=(0x0,path_1[_0x1fea07(0x8c)])(_0x2900e3,'Contents.json'),_0x2e0aee='icon.png',_0x46c24b=(0x0,path_1[_0x1fea07(0x8c)])(_0x2900e3,_0x2e0aee);let _0x4f1386=await(0x0,load_1[_0x1fea07(0x80)])(_0x50aba6),_0xf2566a=imageHelper_1[_0x1fea07(0xc7)][_0x1fea07(0xda)](0x200);_0x4f1386['images'][0x0][_0x1fea07(0xbe)]=_0x2e0aee,await _0xf2566a[_0x1fea07(0xb0)](_0x46c24b),await fs[_0x1fea07(0x90)](_0x50aba6,JSON[_0x1fea07(0xd6)](_0x4f1386));}}static[_0x301c9c(0xaa)](_0x41eea8,_0x3a6dea){const _0x27b6c4=_0x301c9c;_0x41eea8['updateBuildProperty'](_0x27b6c4(0xd4),_0x3a6dea),useExportOptionsXML=useExportOptionsXML['replace'](_0x27b6c4(0xb8),_0x3a6dea);}static['updateExportOptions'](){const _0x43ee15=_0x301c9c;!fs[_0x43ee15(0xc6)](resource_1[_0x43ee15(0xa5)])&&fs['mkdirSync'](resource_1[_0x43ee15(0xa5)],{'recursive':!![]}),fs['writeFileSync']((0x0,path_1['join'])(resource_1[_0x43ee15(0xa5)],_0x43ee15(0x91)),useExportOptionsXML);}static[_0x301c9c(0xa7)](_0x14c53d,_0x29ea1d){const _0x12d225=_0x301c9c;var _0x3c5d60;_0x14c53d[_0x12d225(0xb4)](_0x29ea1d[_0x12d225(0xd9)]),_0x14c53d[_0x12d225(0x9a)]('PRODUCT_BUNDLE_IDENTIFIER','\x22'+_0x29ea1d['id']+'\x22'),this[_0x12d225(0xb1)]((_0x3c5d60=_0x29ea1d[_0x12d225(0xa3)])!==null&&_0x3c5d60!==void 0x0?_0x3c5d60:[]),this[_0x12d225(0xaf)](_0x29ea1d);}static['updateVersion'](_0x32aa53,_0x400529){const _0x235eb2=_0x301c9c;_0x32aa53['updateBuildProperty'](_0x235eb2(0x7c),_0x400529);}static['updateDeeplink'](_0x4d46a8){const _0x41e26f=_0x301c9c;let _0xac7f31=(0x0,path_1[_0x41e26f(0x8c)])(resource_1[_0x41e26f(0xce)],_0x41e26f(0xa6)),_0x287514='';for(let _0xa6c5fa=0x0;_0xa6c5fa<_0x4d46a8[_0x41e26f(0xb7)];_0xa6c5fa++){_0x287514+=_0x41e26f(0xd3)+_0x4d46a8[_0xa6c5fa][_0x41e26f(0xa2)]+_0x41e26f(0xcf);}const _0x5b7c13=infoPlistXML[_0x41e26f(0x7b)](_0x41e26f(0x81),_0x287514);fs[_0x41e26f(0x90)](_0xac7f31,_0x5b7c13);}static[_0x301c9c(0xaf)](_0x4fad89){const _0x54a625=_0x301c9c,_0x49b33c=(0x0,path_1[_0x54a625(0x8c)])(resource_1[_0x54a625(0xce)],_0x54a625(0xb9));let _0x134652=manifestSwiftTemplate_1['manifestSwiftTemplate'];_0x134652=_0x134652[_0x54a625(0x7b)]('START_URL',_0x4fad89[_0x54a625(0xc9)]),_0x134652=_0x134652[_0x54a625(0x7b)](_0x54a625(0x9e),_0x4fad89['scope']),_0x134652=_0x134652['replace'](_0x54a625(0xbc),_0x4fad89[_0x54a625(0xd9)]),_0x134652=_0x134652[_0x54a625(0x7b)](_0x54a625(0xd2),_0x4fad89[_0x54a625(0x7d)]),_0x134652=_0x134652[_0x54a625(0x7b)]('AppID',_0x4fad89['id']),_0x134652=_0x134652['replace']('.minimal',_0x4fad89['display']=='minimal-ui'?_0x54a625(0xa8):_0x54a625(0x87));if(_0x4fad89[_0x54a625(0xa3)]){let _0x32d2d6='';for(let _0x3ab6cb=0x0;_0x3ab6cb<_0x4fad89[_0x54a625(0xa3)][_0x54a625(0xb7)];_0x3ab6cb++){_0x32d2d6+='PWAProtocol(protocolValue:\x20\x22'+_0x4fad89[_0x54a625(0xa3)][_0x3ab6cb]['protocol']+'\x22,\x20url:\x20\x22'+_0x4fad89[_0x54a625(0xa3)][_0x3ab6cb][_0x54a625(0x84)]+_0x54a625(0x96);}_0x134652=_0x134652[_0x54a625(0x7b)](_0x54a625(0xb2),_0x32d2d6);}_0x134652=_0x134652['replace'](_0x54a625(0xd8),_0x4fad89[_0x54a625(0xc0)][_0x54a625(0xd1)][_0x54a625(0x86)]),_0x134652=_0x134652[_0x54a625(0x7b)]('SceneHeight',_0x4fad89['mainScene'][_0x54a625(0xd1)][_0x54a625(0x76)]),_0x134652=_0x134652[_0x54a625(0x7b)](_0x54a625(0x85),'\x22'+_0x4fad89['mainScene'][_0x54a625(0x98)]+'\x22'),fs[_0x54a625(0x90)](_0x49b33c,_0x134652,_0x54a625(0xb3));}}exports[_0x301c9c(0xbd)]=XcodeProject;
|
|
1
|
+
'use strict';function _0x2600(_0x378e7c,_0x311a1f){const _0x1ee596=_0x1ee5();return _0x2600=function(_0x2600f1,_0x55ff5d){_0x2600f1=_0x2600f1-0x13f;let _0x3558b4=_0x1ee596[_0x2600f1];return _0x3558b4;},_0x2600(_0x378e7c,_0x311a1f);}const _0x411fdb=_0x2600;function _0x1ee5(){const _0x15fa69=['615RDouWJ','DEEPLINK','SceneWidth','ImageHelper','version','writeAsync','<?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><none></string>\x0a</dict>\x0a</plist>','writeSync','7148330QCOFYm','bindManifestInfo','.standalone','DEVELOPMENT_TEAM','updateTeamId','utf-8','<string>','SceneHeight','protocol','modify','fixProjectFunction','image/','icon.','getMIME','../resource/load','start_url','8NlaySu','297kFSzBB','defineProperty','PWAProtocol(protocolValue:\x20\x22\x22,\x20url:\x20\x22\x22)','buildSettings','test','pbxGroupByName','BACK_APPICON_DIRECTORY','stringify','enterprise','app-store-connect','<?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','ExportOptions.plist','resizability','icon.png','writeFileSync','buildConfigurationList','release-testing','manifestSwiftTemplate','buildConfigurations','Contents.json','updateExportOptions','hash','PRODUCT_BUNDLE_IDENTIFIER','loadJsonFromDisk','includes','join','746oqwxFA','height','\x22),','SCOPE','../resource','buildType','path','modifySwift','PROJECT_BUILD_DIRECTORY','parseSync','PWAProtocol(protocolValue:\x20\x22','pbxXCConfigurationList','defaultSize','bindIcon','67554mksfOd','.minimal','value','createImg','objects','log','teamId','START_URL','url','MIDDLE_APPICON_DIRECTORY','AppID','name','PBXGroup','icon','width','replace','filename','length','description','YOURTEAMID','push','Description','updateProductName','images','protocol_handlers','1406083aLfVTN','manifestInfo','pbxXCBuildConfigurationSection','updateBuildProperty','PROJECT_DIRECTORY','960388JSAJKx','554790SHwKUt','CURRENT_PROJECT_VERSION','existsSync','default','json','11388sTIYNS','./web-spatial/Info.plist','minimal-ui','AppName','mainScene','project','updateDeeplink','pbxTargetByName'];_0x1ee5=function(){return _0x15fa69;};return _0x1ee5();}(function(_0x2dbde8,_0x3876bb){const _0x573a99=_0x2600,_0x50347e=_0x2dbde8();while(!![]){try{const _0x4c49fa=-parseInt(_0x573a99(0x170))/0x1*(parseInt(_0x573a99(0x18a))/0x2)+-parseInt(_0x573a99(0x14a))/0x3+-parseInt(_0x573a99(0x149))/0x4+-parseInt(_0x573a99(0x157))/0x5*(parseInt(_0x573a99(0x14f))/0x6)+parseInt(_0x573a99(0x144))/0x7*(parseInt(_0x573a99(0x16f))/0x8)+-parseInt(_0x573a99(0x198))/0x9+parseInt(_0x573a99(0x15f))/0xa;if(_0x4c49fa===_0x3876bb)break;else _0x50347e['push'](_0x50347e['shift']());}catch(_0x494557){_0x50347e['push'](_0x50347e['shift']());}}}(_0x1ee5,0x21eb6));Object[_0x411fdb(0x171)](exports,'__esModule',{'value':!![]});const fs=require('fs'),resource_1=require(_0x411fdb(0x18e)),path_1=require(_0x411fdb(0x190)),load_1=require(_0x411fdb(0x16d)),imageHelper_1=require('../resource/imageHelper'),manifestSwiftTemplate_1=require('./manifestSwiftTemplate'),xcode=require('xcode'),exportOptionsXML=_0x411fdb(0x15d),infoPlistXML=_0x411fdb(0x17a);let useExportOptionsXML='';class XcodeProject{static async[_0x411fdb(0x168)](_0xeb18af,_0x4c8eb3){const _0x347a02=_0x411fdb;let _0x400c4e=xcode[_0x347a02(0x154)](_0xeb18af);this[_0x347a02(0x169)](_0x400c4e),_0x400c4e[_0x347a02(0x193)]();let _0x2608c8=_0x4c8eb3[_0x347a02(0x18f)];const _0x357efd=[_0x347a02(0x180),_0x347a02(0x179),'debugging',_0x347a02(0x178)];useExportOptionsXML=exportOptionsXML[_0x347a02(0x1a7)]('BUILDTYPE',_0x357efd['includes'](_0x2608c8)?_0x2608c8:_0x347a02(0x180));_0x4c8eb3[_0x347a02(0x19e)]&&this[_0x347a02(0x163)](_0x400c4e,_0x4c8eb3[_0x347a02(0x19e)]);this[_0x347a02(0x184)](),await this[_0x347a02(0x197)](_0x4c8eb3[_0x347a02(0x1a5)]),this[_0x347a02(0x160)](_0x400c4e,_0x4c8eb3[_0x347a02(0x145)][_0x347a02(0x14e)]);_0x4c8eb3[_0x347a02(0x15b)]?this['updateVersion'](_0x400c4e,_0x4c8eb3[_0x347a02(0x15b)]):this['updateVersion'](_0x400c4e,'1.0');try{fs[_0x347a02(0x17e)](_0xeb18af,_0x400c4e[_0x347a02(0x15e)]());}catch(_0x59d667){console[_0x347a02(0x19d)](_0x59d667);}}static[_0x411fdb(0x169)](_0x25cc8f){const _0x21ddfb=_0x411fdb;_0x25cc8f[_0x21ddfb(0x175)]=function(_0x2d25ec){const _0x548453=_0x21ddfb;var _0x307640=this[_0x548453(0x185)][_0x548453(0x154)][_0x548453(0x19c)][_0x548453(0x1a4)],_0x4f49c2,_0x13f121;for(_0x4f49c2 in _0x307640){if(!/_comment$/[_0x548453(0x174)](_0x4f49c2))continue;if(_0x307640[_0x4f49c2]==_0x2d25ec)return _0x13f121=_0x4f49c2['split'](/_comment$/)[0x0],_0x307640[_0x13f121];}return![];},_0x25cc8f[_0x21ddfb(0x147)]=function(_0x1f0e6e,_0x19e1e0,_0x12bf39,_0x5a4296){const _0x3b11ab=_0x21ddfb;let _0x2b3f9e=[];const _0x4df46d=/_comment$/;if(_0x5a4296){const _0x6ed501=this[_0x3b11ab(0x156)](_0x5a4296),_0x3599d0=_0x6ed501&&_0x6ed501[_0x3b11ab(0x17f)],_0x13fb4e=this[_0x3b11ab(0x195)]();for(const _0x39936d in _0x13fb4e){if(!_0x4df46d[_0x3b11ab(0x174)](_0x39936d)&&_0x3599d0===_0x39936d){const _0x4f0291=_0x13fb4e[_0x39936d][_0x3b11ab(0x182)];for(const _0x5493db of _0x4f0291){_0x2b3f9e[_0x3b11ab(0x13f)](_0x5493db[_0x3b11ab(0x19a)]);}break;}}}var _0x326bae=this[_0x3b11ab(0x146)]();for(var _0x485697 in _0x326bae){if(!_0x4df46d[_0x3b11ab(0x174)](_0x485697)){if(_0x5a4296&&!_0x2b3f9e[_0x3b11ab(0x188)](_0x485697))continue;var _0x4d87ee=_0x326bae[_0x485697];(_0x12bf39&&_0x4d87ee[_0x3b11ab(0x1a3)]===_0x12bf39||!_0x12bf39)&&_0x4d87ee[_0x3b11ab(0x173)][_0x1f0e6e]&&(_0x4d87ee['buildSettings'][_0x1f0e6e]=_0x19e1e0);}}};}static async[_0x411fdb(0x197)](_0xcd882f){const _0x2c6a1e=_0x411fdb;if(_0xcd882f){const _0x20c345=(0x0,path_1[_0x2c6a1e(0x189)])(resource_1[_0x2c6a1e(0x148)],resource_1[_0x2c6a1e(0x176)]),_0x529d36=(0x0,path_1[_0x2c6a1e(0x189)])(_0x20c345,'Contents.json'),_0x4bfcc6=_0x2c6a1e(0x16b)+_0xcd882f[_0x2c6a1e(0x16c)]()[_0x2c6a1e(0x1a7)](_0x2c6a1e(0x16a),''),_0x1c8ffb=(0x0,path_1['join'])(_0x20c345,_0x4bfcc6);let _0x1cb9ef=await(0x0,load_1[_0x2c6a1e(0x187)])(_0x529d36);_0x1cb9ef[_0x2c6a1e(0x142)][0x0][_0x2c6a1e(0x1a8)]=_0x4bfcc6,await _0xcd882f[_0x2c6a1e(0x15c)](_0x1c8ffb),await fs[_0x2c6a1e(0x17e)](_0x529d36,JSON[_0x2c6a1e(0x177)](_0x1cb9ef));const _0x1240ab=(0x0,path_1['join'])(resource_1[_0x2c6a1e(0x148)],resource_1[_0x2c6a1e(0x1a1)]),_0x57862c=(0x0,path_1[_0x2c6a1e(0x189)])(_0x1240ab,_0x2c6a1e(0x183)),_0x817708=_0x2c6a1e(0x17d),_0x5d0e81=(0x0,path_1[_0x2c6a1e(0x189)])(_0x1240ab,_0x817708);let _0x39b9d1=await(0x0,load_1[_0x2c6a1e(0x187)])(_0x57862c),_0x45d6d8=imageHelper_1[_0x2c6a1e(0x15a)][_0x2c6a1e(0x19b)](0x200);_0x39b9d1[_0x2c6a1e(0x142)][0x0][_0x2c6a1e(0x1a8)]=_0x817708,await _0x45d6d8[_0x2c6a1e(0x15c)](_0x5d0e81),await fs[_0x2c6a1e(0x17e)](_0x57862c,JSON[_0x2c6a1e(0x177)](_0x39b9d1));}}static[_0x411fdb(0x163)](_0x1481ed,_0x33a5f9){const _0xd9ee72=_0x411fdb;_0x1481ed[_0xd9ee72(0x147)](_0xd9ee72(0x162),_0x33a5f9),useExportOptionsXML=useExportOptionsXML[_0xd9ee72(0x1a7)](_0xd9ee72(0x1ab),_0x33a5f9);}static[_0x411fdb(0x184)](){const _0x4993a7=_0x411fdb;!fs[_0x4993a7(0x14c)](resource_1[_0x4993a7(0x192)])&&fs['mkdirSync'](resource_1['PROJECT_BUILD_DIRECTORY'],{'recursive':!![]}),fs[_0x4993a7(0x17e)]((0x0,path_1[_0x4993a7(0x189)])(resource_1[_0x4993a7(0x192)],_0x4993a7(0x17b)),useExportOptionsXML);}static['bindManifestInfo'](_0x42ba54,_0x52184f){const _0x5af8e6=_0x411fdb;var _0x47e436;_0x42ba54[_0x5af8e6(0x141)](_0x52184f[_0x5af8e6(0x1a3)]),_0x42ba54['updateBuildProperty'](_0x5af8e6(0x186),'\x22'+_0x52184f['id']+'\x22'),this[_0x5af8e6(0x155)]((_0x47e436=_0x52184f[_0x5af8e6(0x143)])!==null&&_0x47e436!==void 0x0?_0x47e436:[]),this[_0x5af8e6(0x191)](_0x52184f);}static['updateVersion'](_0x3f581d,_0x4db119){const _0x49cbfc=_0x411fdb;_0x3f581d[_0x49cbfc(0x147)](_0x49cbfc(0x14b),_0x4db119);}static[_0x411fdb(0x155)](_0x2f9149){const _0x3c4498=_0x411fdb;let _0x55640f=(0x0,path_1[_0x3c4498(0x189)])(resource_1['PROJECT_DIRECTORY'],_0x3c4498(0x150)),_0x7c3854='';for(let _0x318743=0x0;_0x318743<_0x2f9149[_0x3c4498(0x1a9)];_0x318743++){_0x7c3854+=_0x3c4498(0x165)+_0x2f9149[_0x318743]['protocol']+'</string>';}const _0x4df495=infoPlistXML[_0x3c4498(0x1a7)](_0x3c4498(0x158),_0x7c3854);fs[_0x3c4498(0x17e)](_0x55640f,_0x4df495);}static['modifySwift'](_0x3c92b3){const _0x58ab37=_0x411fdb,_0x3be34b=(0x0,path_1[_0x58ab37(0x189)])(resource_1['PROJECT_DIRECTORY'],'./web-spatial/libs/webView/manifest.swift');let _0x549438=manifestSwiftTemplate_1[_0x58ab37(0x181)];_0x549438=_0x549438['replace'](_0x58ab37(0x19f),_0x3c92b3[_0x58ab37(0x16e)]),_0x549438=_0x549438[_0x58ab37(0x1a7)](_0x58ab37(0x18d),_0x3c92b3['scope']),_0x549438=_0x549438['replace'](_0x58ab37(0x152),_0x3c92b3[_0x58ab37(0x1a3)]),_0x549438=_0x549438[_0x58ab37(0x1a7)](_0x58ab37(0x140),_0x3c92b3[_0x58ab37(0x1aa)]),_0x549438=_0x549438[_0x58ab37(0x1a7)](_0x58ab37(0x1a2),_0x3c92b3['id']),_0x549438=_0x549438['replace'](_0x58ab37(0x199),_0x3c92b3['display']==_0x58ab37(0x151)?_0x58ab37(0x199):_0x58ab37(0x161));if(_0x3c92b3[_0x58ab37(0x143)]){let _0x4808d5='';for(let _0x3f1d4b=0x0;_0x3f1d4b<_0x3c92b3[_0x58ab37(0x143)][_0x58ab37(0x1a9)];_0x3f1d4b++){_0x4808d5+=_0x58ab37(0x194)+_0x3c92b3[_0x58ab37(0x143)][_0x3f1d4b][_0x58ab37(0x167)]+'\x22,\x20url:\x20\x22'+_0x3c92b3[_0x58ab37(0x143)][_0x3f1d4b][_0x58ab37(0x1a0)]+_0x58ab37(0x18c);}_0x549438=_0x549438[_0x58ab37(0x1a7)](_0x58ab37(0x172),_0x4808d5);}_0x549438=_0x549438['replace'](_0x58ab37(0x159),_0x3c92b3[_0x58ab37(0x153)][_0x58ab37(0x196)][_0x58ab37(0x1a6)]),_0x549438=_0x549438[_0x58ab37(0x1a7)](_0x58ab37(0x166),_0x3c92b3['mainScene'][_0x58ab37(0x196)][_0x58ab37(0x18b)]),_0x549438=_0x549438[_0x58ab37(0x1a7)]('SceneResizability','\x22'+_0x3c92b3[_0x58ab37(0x153)][_0x58ab37(0x17c)]+'\x22'),fs['writeFileSync'](_0x3be34b,_0x549438,_0x58ab37(0x164));}}exports[_0x411fdb(0x14d)]=XcodeProject;
|
package/dist/lib/xcode/xcrun.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';const _0x1a5479=_0x55ad;(function(_0x25e4ce,_0x3ed282){const _0x2bee58=_0x55ad,_0x27101b=_0x25e4ce();while(!![]){try{const _0x4b5094=parseInt(_0x2bee58(0x1c2))/0x1+-parseInt(_0x2bee58(0x1a5))/0x2*(-parseInt(_0x2bee58(0x1ca))/0x3)+-parseInt(_0x2bee58(0x1e1))/0x4*(-parseInt(_0x2bee58(0x1d4))/0x5)+parseInt(_0x2bee58(0x1e2))/0x6*(parseInt(_0x2bee58(0x1df))/0x7)+-parseInt(_0x2bee58(0x1cc))/0x8*(-parseInt(_0x2bee58(0x1ed))/0x9)+-parseInt(_0x2bee58(0x1c4))/0xa+-parseInt(_0x2bee58(0x1f5))/0xb*(parseInt(_0x2bee58(0x1e4))/0xc);if(_0x4b5094===_0x3ed282)break;else _0x27101b['push'](_0x27101b['shift']());}catch(_0x577cf5){_0x27101b['push'](_0x27101b['shift']());}}}(_0x43aa,0xd2686));Object['defineProperty'](exports,'__esModule',{'value':!![]});const child_process_1=require(_0x1a5479(0x1fa)),resource_1=require(_0x1a5479(0x1e5)),path_1=require(_0x1a5479(0x1b3)),fs=require('fs'),xcodebuild_1=require(_0x1a5479(0x1a3));function _0x55ad(_0x47e953,_0xe5cf48){const _0x43aa07=_0x43aa();return _0x55ad=function(_0x55ad95,_0x567176){_0x55ad95=_0x55ad95-0x1a3;let _0x34b839=_0x43aa07[_0x55ad95];return _0x34b839;},_0x55ad(_0x47e953,_0xe5cf48);}function _0x43aa(){const _0x223186=['7415YMNzgo','log','validate','open\x20/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/','\x20launch\x20\x22','boot','\x20--verbose','length','\x20--bundle-version\x20','mkdirSync','line','6629dMZneL','\x20list\x20devices\x20\x22','1736gWhote','2370VaPfSS','XcodebuildCMD','60sKfzWP','../resource','\x20build\x20-scheme\x20web-spatial\x20-destination\x20\x27platform=visionOS\x20Simulator,id=','split','deviceId','\x20--upload-package\x20','launch\x20app','\x20install\x20\x22','altool','10687167iARLnN','find\x20simulator:\x20','no\x20visionOS\x20simulator\x20found','\x20--validate-app\x20-f\x20','push','PROJECT_DIRECTORY','Build/Products/Debug-xrsimulator/','toString','5758159gFXKbI','simctl','name','shutdown','\x20--apiKey\x20','child_process','\x20list','./xcodebuild','appleId','346zkafLp','authAccount','\x20altool','launch','\x20-u\x20','build\x20success','\x20-t\x20','includes','/web-spatial.xcodeproj','installing\x20app','execSync','verbose','platform','\x22\x20\x22','path','existsSync','\x27\x20-derivedDataPath\x20','install','Apple\x20Vision\x20Pro','--\x20visionOS','version','authApi','.app','install\x20success','uploadPackage','Shutdown','\x20boot\x20\x22','listDevices','list','795560lOxFgF','/test','791140sxhCzi','parseListDevices','uploadApp','PROJECT_BUILD_DIRECTORY','state','--\x20','9669YbHVHy','\x20shutdown\x20booted','8WrdCpH','start\x20building','visionos','runWithSimulator','\x20--upload-app\x20-f\x20','Booted','\x20--apple-id\x20','trim'];_0x43aa=function(){return _0x223186;};return _0x43aa();}class Xcrun{static async[_0x1a5479(0x1d6)](_0x44c5da,_0x26a91d,_0x2aecf2,_0x400eef){const _0x3f4a64=_0x1a5479,_0x322a15=new XcrunCMD()['altool']();_0x322a15[_0x3f4a64(0x1d6)](_0x44c5da);_0x400eef?_0x322a15[_0x3f4a64(0x1a6)](_0x26a91d,_0x2aecf2):_0x322a15[_0x3f4a64(0x1ba)](_0x26a91d,_0x2aecf2);_0x322a15['platform'](_0x3f4a64(0x1ce));const _0x2291a9=(0x0,child_process_1['execSync'])(_0x322a15[_0x3f4a64(0x1de)]);return _0x2291a9[_0x3f4a64(0x1f4)]();}static async[_0x1a5479(0x1bd)](_0x4e691e,_0x21eaf6,_0x2e9c05,_0xa292bf,_0x3c4afd){const _0x5db107=_0x1a5479,_0x4ba851=new XcrunCMD()[_0x5db107(0x1ec)]();_0x4ba851[_0x5db107(0x1bd)](_0x4e691e);_0x3c4afd?_0x4ba851['authAccount'](_0x21eaf6,_0x2e9c05):_0x4ba851[_0x5db107(0x1ba)](_0x21eaf6,_0x2e9c05);_0x4ba851[_0x5db107(0x1b1)](_0x5db107(0x1ce)),_0x4ba851[_0x5db107(0x1a4)](_0xa292bf);const _0x8da491=(0x0,child_process_1[_0x5db107(0x1af)])(_0x4ba851[_0x5db107(0x1de)]);return _0x8da491['toString']();}static async['uploadApp'](_0x2ea4bc,_0x3aed26,_0x23c1fc,_0x4485e7){const _0x33dfa4=_0x1a5479,_0x47bcba=new XcrunCMD()[_0x33dfa4(0x1ec)]();_0x47bcba[_0x33dfa4(0x1c6)](_0x2ea4bc);_0x4485e7?_0x47bcba[_0x33dfa4(0x1a6)](_0x3aed26,_0x23c1fc):_0x47bcba[_0x33dfa4(0x1ba)](_0x3aed26,_0x23c1fc);_0x47bcba[_0x33dfa4(0x1b1)]('visionos');const _0x33f246=(0x0,child_process_1['execSync'])(_0x47bcba[_0x33dfa4(0x1de)]);return _0x33f246[_0x33dfa4(0x1f4)]();}static async[_0x1a5479(0x1cf)](_0x27d341){const _0x2cd8f4=_0x1a5479;let _0xa24e9c=new XcrunCMD()[_0x2cd8f4(0x1f6)]();_0xa24e9c[_0x2cd8f4(0x1c0)](_0x2cd8f4(0x1b7));const _0x2ad53b=(0x0,child_process_1[_0x2cd8f4(0x1af)])(_0xa24e9c[_0x2cd8f4(0x1de)]),_0x13d4a1=this[_0x2cd8f4(0x1c5)](_0x2ad53b['toString']());if(_0x13d4a1[_0x2cd8f4(0x1db)]===0x0)throw new Error(_0x2cd8f4(0x1ef));let _0x583321=_0x13d4a1[0x0];for(let _0x4980ec=0x0;_0x4980ec<_0x13d4a1[_0x2cd8f4(0x1db)];_0x4980ec++){if(_0x13d4a1[_0x4980ec][_0x2cd8f4(0x1c8)]===_0x2cd8f4(0x1d1)){_0x583321=_0x13d4a1[_0x4980ec];break;}}console[_0x2cd8f4(0x1d5)](_0x2cd8f4(0x1ee)+_0x583321[_0x2cd8f4(0x1e8)]);const _0x242f62=resource_1[_0x2cd8f4(0x1f2)]+_0x2cd8f4(0x1ad),_0x317009=resource_1['PROJECT_BUILD_DIRECTORY']+_0x2cd8f4(0x1c3);!fs[_0x2cd8f4(0x1b4)](resource_1[_0x2cd8f4(0x1c7)])&&fs['mkdirSync'](resource_1['PROJECT_BUILD_DIRECTORY'],{'recursive':!![]});!fs['existsSync'](_0x317009)&&fs[_0x2cd8f4(0x1dd)](_0x317009,{'recursive':!![]});const _0x5a6ff6=new xcodebuild_1[(_0x2cd8f4(0x1e3))]()['project'](_0x242f62)['line']+(_0x2cd8f4(0x1e6)+_0x583321[_0x2cd8f4(0x1e8)]+_0x2cd8f4(0x1b5)+_0x317009);console['log'](_0x2cd8f4(0x1cd)),(0x0,child_process_1[_0x2cd8f4(0x1af)])(_0x5a6ff6),console['log'](_0x2cd8f4(0x1aa));_0x583321['state']===_0x2cd8f4(0x1be)&&(_0xa24e9c=new XcrunCMD()[_0x2cd8f4(0x1f6)](),_0xa24e9c[_0x2cd8f4(0x1d9)](_0x583321[_0x2cd8f4(0x1e8)]),(0x0,child_process_1['execSync'])(_0xa24e9c[_0x2cd8f4(0x1de)]));(0x0,child_process_1['execSync'])(_0x2cd8f4(0x1d7)),console['log'](_0x2cd8f4(0x1ae));const _0x4d3e7e=(0x0,path_1['join'])(_0x317009,_0x2cd8f4(0x1f3)+_0x27d341[_0x2cd8f4(0x1f7)]+_0x2cd8f4(0x1bb));_0xa24e9c=new XcrunCMD()['simctl'](),_0xa24e9c[_0x2cd8f4(0x1b6)](_0x583321['deviceId'],_0x4d3e7e),(0x0,child_process_1['execSync'])(_0xa24e9c[_0x2cd8f4(0x1de)]),console[_0x2cd8f4(0x1d5)](_0x2cd8f4(0x1bc)),console[_0x2cd8f4(0x1d5)](_0x2cd8f4(0x1ea)),_0xa24e9c=new XcrunCMD()[_0x2cd8f4(0x1f6)](),_0xa24e9c[_0x2cd8f4(0x1a8)](_0x583321[_0x2cd8f4(0x1e8)],_0x27d341['id']),(0x0,child_process_1[_0x2cd8f4(0x1af)])(_0xa24e9c[_0x2cd8f4(0x1de)]);}static[_0x1a5479(0x1c5)](_0x33250d){const _0x22eaba=_0x1a5479;let _0x150547=_0x33250d['split']('\x0a'),_0x3b94c7=[],_0x3c4a0c=-0x1;for(let _0x4474bc=0x0;_0x4474bc<_0x150547['length'];_0x4474bc++){if(_0x150547[_0x4474bc][_0x22eaba(0x1ac)](_0x22eaba(0x1b8)))_0x3c4a0c=_0x4474bc;else{if(_0x3c4a0c>0x0){if(_0x150547[_0x4474bc][_0x22eaba(0x1ac)](_0x22eaba(0x1c9)))break;if(_0x150547[_0x4474bc][_0x22eaba(0x1db)]>0x0){const _0x17250a=_0x150547[_0x4474bc][_0x22eaba(0x1e7)]('('),_0x2e9813={'name':_0x17250a[0x0][_0x22eaba(0x1d3)](),'deviceId':_0x17250a[0x1][_0x22eaba(0x1e7)](')')[0x0][_0x22eaba(0x1d3)](),'state':_0x17250a[0x2][_0x22eaba(0x1e7)](')')[0x0][_0x22eaba(0x1d3)]()};_0x3b94c7[_0x22eaba(0x1f1)](_0x2e9813);}}}}return _0x3b94c7;}}exports['default']=Xcrun;class XcrunCMD{constructor(){const _0x277579=_0x1a5479;this[_0x277579(0x1de)]='xcrun';}[_0x1a5479(0x1ec)](){const _0x45e42c=_0x1a5479;return this[_0x45e42c(0x1de)]+=_0x45e42c(0x1a7),this;}[_0x1a5479(0x1f6)](){const _0x592eb9=_0x1a5479;return this[_0x592eb9(0x1de)]+='\x20simctl',this;}[_0x1a5479(0x1c1)](){const _0x57a31d=_0x1a5479;return this[_0x57a31d(0x1de)]+=_0x57a31d(0x1fb),this;}['listDevices'](_0x52c1c0){const _0xa5803f=_0x1a5479;return this[_0xa5803f(0x1de)]+=_0xa5803f(0x1e0)+_0x52c1c0+'\x22',this;}[_0x1a5479(0x1d6)](_0x5e4733){const _0xf2a22a=_0x1a5479;return this[_0xf2a22a(0x1de)]+=_0xf2a22a(0x1f0)+_0x5e4733,this;}[_0x1a5479(0x1c6)](_0x3fa827){const _0x1c17b5=_0x1a5479;return this[_0x1c17b5(0x1de)]+=_0x1c17b5(0x1d0)+_0x3fa827,this;}[_0x1a5479(0x1bd)](_0x72c339){const _0x437688=_0x1a5479;return this[_0x437688(0x1de)]+=_0x437688(0x1e9)+_0x72c339,this;}[_0x1a5479(0x1a6)](_0x4335bc,_0xd12e10){const _0x1969ef=_0x1a5479;return this[_0x1969ef(0x1de)]+=_0x1969ef(0x1a9)+_0x4335bc+'\x20-p\x20'+_0xd12e10,this;}[_0x1a5479(0x1ba)](_0x56286a,_0x17b217){const _0x2b6633=_0x1a5479;return this['line']+=_0x2b6633(0x1f9)+_0x56286a+'\x20--apiIssuer\x20'+_0x17b217,this;}[_0x1a5479(0x1a4)](_0x5c3a69){const _0x28aa47=_0x1a5479;return this['line']+=_0x28aa47(0x1d2)+_0x5c3a69,this;}[_0x1a5479(0x1b1)](_0x118b0e){const _0x1299e2=_0x1a5479;return this['line']+=_0x1299e2(0x1ab)+_0x118b0e,this;}[_0x1a5479(0x1b9)](_0x559b02){const _0x5becc6=_0x1a5479;return this[_0x5becc6(0x1de)]+=_0x5becc6(0x1dc)+_0x559b02,this;}[_0x1a5479(0x1b0)](){const _0x44da12=_0x1a5479;return this[_0x44da12(0x1de)]+=_0x44da12(0x1da),this;}[_0x1a5479(0x1f8)](){const _0x371c66=_0x1a5479;return this[_0x371c66(0x1de)]+=_0x371c66(0x1cb),this;}[_0x1a5479(0x1d9)](_0x49a984){const _0x18c89e=_0x1a5479;return this[_0x18c89e(0x1de)]+=_0x18c89e(0x1bf)+_0x49a984+'\x22',this;}['install'](_0x1f27df,_0x4a585d){const _0x493705=_0x1a5479;return this[_0x493705(0x1de)]+=_0x493705(0x1eb)+_0x1f27df+_0x493705(0x1b2)+_0x4a585d+'\x22',this;}[_0x1a5479(0x1a8)](_0x3fe56c,_0x2fe1eb){const _0x139bdd=_0x1a5479;return this['line']+=_0x139bdd(0x1d8)+_0x3fe56c+_0x139bdd(0x1b2)+_0x2fe1eb+'\x22',this;}}
|
package/package.json
CHANGED
|
@@ -12,6 +12,13 @@ import typealias RealityKit.Entity
|
|
|
12
12
|
|
|
13
13
|
@Observable
|
|
14
14
|
class SpatialWindowContainer: SpatialObject {
|
|
15
|
+
// save active plain windowContainer ids
|
|
16
|
+
static var activePlainWindowContainerIds: Set<String> = []
|
|
17
|
+
// get first active plain WindowContainerId
|
|
18
|
+
static var firstActivePlainWindowContainerId: String? {
|
|
19
|
+
return activePlainWindowContainerIds.first
|
|
20
|
+
}
|
|
21
|
+
|
|
15
22
|
// Resources that will be destroyed when this window group is removed
|
|
16
23
|
private var childResources = [String: SpatialObject]()
|
|
17
24
|
public var childContainers = [String: SpatialWindowContainer]()
|
|
@@ -31,6 +38,10 @@ class SpatialWindowContainer: SpatialObject {
|
|
|
31
38
|
|
|
32
39
|
init(_ name: String, _ data: WindowContainerData) {
|
|
33
40
|
wgd = data
|
|
41
|
+
if data.windowStyle == "Plain" {
|
|
42
|
+
SpatialWindowContainer.activePlainWindowContainerIds.insert(data.windowContainerID)
|
|
43
|
+
}
|
|
44
|
+
|
|
34
45
|
super.init(name)
|
|
35
46
|
}
|
|
36
47
|
|
|
@@ -61,6 +72,9 @@ class SpatialWindowContainer: SpatialObject {
|
|
|
61
72
|
var setLoadingWindowData = PassthroughSubject<LoadingWindowContainerData, Never>()
|
|
62
73
|
|
|
63
74
|
override func onDestroy() {
|
|
75
|
+
// Note that destroy wont be called on immersive window container
|
|
76
|
+
// as there should only ever be one in existance
|
|
77
|
+
|
|
64
78
|
childEntities.forEach { $0.value.destroy() }
|
|
65
79
|
childEntities = [:]
|
|
66
80
|
|
|
@@ -82,6 +96,9 @@ class SpatialWindowContainer: SpatialObject {
|
|
|
82
96
|
|
|
83
97
|
// Close the window group when this object is destroyed
|
|
84
98
|
SpatialWindowContainer.getSpatialWindowContainer(id)!.closeWindowData.send(wgd)
|
|
99
|
+
if wgd.windowStyle == "Plain" {
|
|
100
|
+
SpatialWindowContainer.activePlainWindowContainerIds.remove(wgd.windowContainerID)
|
|
101
|
+
}
|
|
85
102
|
}
|
|
86
103
|
|
|
87
104
|
override func inspect() -> [String: Any] {
|
|
@@ -115,10 +132,10 @@ extension SpatialWindowContainer {
|
|
|
115
132
|
}
|
|
116
133
|
|
|
117
134
|
extension SpatialWindowContainer {
|
|
118
|
-
|
|
135
|
+
static let ImmersiveID = "Immersive"
|
|
119
136
|
|
|
120
|
-
static func getImmersiveWindowContainer() -> SpatialWindowContainer {
|
|
121
|
-
return getSpatialWindowContainer(ImmersiveID)
|
|
137
|
+
static func getImmersiveWindowContainer() -> SpatialWindowContainer? {
|
|
138
|
+
return getSpatialWindowContainer(ImmersiveID)
|
|
122
139
|
}
|
|
123
140
|
|
|
124
141
|
static func createImmersiveWindowContainer() -> SpatialWindowContainer {
|
|
@@ -5,8 +5,8 @@ var pwaManager = PWAManager()
|
|
|
5
5
|
|
|
6
6
|
struct PWAManager: Codable {
|
|
7
7
|
var isLocal: Bool = false
|
|
8
|
-
var start_url: String = "
|
|
9
|
-
var scope: String = "
|
|
8
|
+
var start_url: String = "http://localhost:5173/"
|
|
9
|
+
var scope: String = ""
|
|
10
10
|
var id: String = "com.webspatial.pico"
|
|
11
11
|
|
|
12
12
|
var name: String = "WebSpatial"
|
|
@@ -30,6 +30,7 @@ struct PWAManager: Codable {
|
|
|
30
30
|
if !(urlType == "http" || urlType == "https") {
|
|
31
31
|
start_url = Bundle.main.url(forResource: start_url, withExtension: "", subdirectory: "")!.absoluteString
|
|
32
32
|
scope = "file://" + Bundle.main.bundlePath + "/" + scope
|
|
33
|
+
scope = scope.replacingOccurrences(of: " ", with: "%20")
|
|
33
34
|
isLocal = true
|
|
34
35
|
}
|
|
35
36
|
|