@itwin/core-frontend 5.14.0-dev.8 → 5.15.0-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/CHANGELOG.md +33 -1
  2. package/lib/cjs/BriefcaseConnection.d.ts +32 -0
  3. package/lib/cjs/BriefcaseConnection.d.ts.map +1 -1
  4. package/lib/cjs/BriefcaseConnection.js +43 -23
  5. package/lib/cjs/BriefcaseConnection.js.map +1 -1
  6. package/lib/cjs/GeoServices.d.ts +3 -0
  7. package/lib/cjs/GeoServices.d.ts.map +1 -1
  8. package/lib/cjs/GeoServices.js +8 -1
  9. package/lib/cjs/GeoServices.js.map +1 -1
  10. package/lib/cjs/IModelApp.d.ts +1 -0
  11. package/lib/cjs/IModelApp.d.ts.map +1 -1
  12. package/lib/cjs/IModelApp.js +1 -0
  13. package/lib/cjs/IModelApp.js.map +1 -1
  14. package/lib/cjs/IModelConnection.d.ts.map +1 -1
  15. package/lib/cjs/IModelConnection.js +7 -2
  16. package/lib/cjs/IModelConnection.js.map +1 -1
  17. package/lib/cjs/extension/ExtensionAdmin.d.ts +0 -2
  18. package/lib/cjs/extension/ExtensionAdmin.d.ts.map +1 -1
  19. package/lib/cjs/extension/ExtensionAdmin.js +44 -22
  20. package/lib/cjs/extension/ExtensionAdmin.js.map +1 -1
  21. package/lib/cjs/extension/ExtensionRuntime.js +1 -0
  22. package/lib/cjs/extension/ExtensionRuntime.js.map +1 -1
  23. package/lib/cjs/extension/providers/RemoteExtensionProvider.d.ts +1 -1
  24. package/lib/cjs/extension/providers/RemoteExtensionProvider.d.ts.map +1 -1
  25. package/lib/cjs/extension/providers/RemoteExtensionProvider.js +2 -2
  26. package/lib/cjs/extension/providers/RemoteExtensionProvider.js.map +1 -1
  27. package/lib/cjs/internal/render/webgl/SceneCompositor.d.ts.map +1 -1
  28. package/lib/cjs/internal/render/webgl/SceneCompositor.js +16 -19
  29. package/lib/cjs/internal/render/webgl/SceneCompositor.js.map +1 -1
  30. package/lib/cjs/internal/render/webgl/Target.d.ts +2 -0
  31. package/lib/cjs/internal/render/webgl/Target.d.ts.map +1 -1
  32. package/lib/cjs/internal/render/webgl/Target.js +1 -0
  33. package/lib/cjs/internal/render/webgl/Target.js.map +1 -1
  34. package/lib/cjs/internal/tile/OrbitGtTileTree.d.ts +11 -5
  35. package/lib/cjs/internal/tile/OrbitGtTileTree.d.ts.map +1 -1
  36. package/lib/cjs/internal/tile/OrbitGtTileTree.js +37 -13
  37. package/lib/cjs/internal/tile/OrbitGtTileTree.js.map +1 -1
  38. package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts +5 -3
  39. package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  40. package/lib/cjs/quantity-formatting/QuantityFormatter.js +7 -2
  41. package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
  42. package/lib/cjs/tile/GltfReader.d.ts.map +1 -1
  43. package/lib/cjs/tile/GltfReader.js +3 -1
  44. package/lib/cjs/tile/GltfReader.js.map +1 -1
  45. package/lib/esm/BriefcaseConnection.d.ts +32 -0
  46. package/lib/esm/BriefcaseConnection.d.ts.map +1 -1
  47. package/lib/esm/BriefcaseConnection.js +44 -24
  48. package/lib/esm/BriefcaseConnection.js.map +1 -1
  49. package/lib/esm/GeoServices.d.ts +3 -0
  50. package/lib/esm/GeoServices.d.ts.map +1 -1
  51. package/lib/esm/GeoServices.js +8 -1
  52. package/lib/esm/GeoServices.js.map +1 -1
  53. package/lib/esm/IModelApp.d.ts +1 -0
  54. package/lib/esm/IModelApp.d.ts.map +1 -1
  55. package/lib/esm/IModelApp.js +1 -0
  56. package/lib/esm/IModelApp.js.map +1 -1
  57. package/lib/esm/IModelConnection.d.ts.map +1 -1
  58. package/lib/esm/IModelConnection.js +7 -2
  59. package/lib/esm/IModelConnection.js.map +1 -1
  60. package/lib/esm/extension/ExtensionAdmin.d.ts +0 -2
  61. package/lib/esm/extension/ExtensionAdmin.d.ts.map +1 -1
  62. package/lib/esm/extension/ExtensionAdmin.js +44 -22
  63. package/lib/esm/extension/ExtensionAdmin.js.map +1 -1
  64. package/lib/esm/extension/ExtensionRuntime.js +1 -0
  65. package/lib/esm/extension/ExtensionRuntime.js.map +1 -1
  66. package/lib/esm/extension/providers/RemoteExtensionProvider.d.ts +1 -1
  67. package/lib/esm/extension/providers/RemoteExtensionProvider.d.ts.map +1 -1
  68. package/lib/esm/extension/providers/RemoteExtensionProvider.js +2 -2
  69. package/lib/esm/extension/providers/RemoteExtensionProvider.js.map +1 -1
  70. package/lib/esm/internal/render/webgl/SceneCompositor.d.ts.map +1 -1
  71. package/lib/esm/internal/render/webgl/SceneCompositor.js +16 -19
  72. package/lib/esm/internal/render/webgl/SceneCompositor.js.map +1 -1
  73. package/lib/esm/internal/render/webgl/Target.d.ts +2 -0
  74. package/lib/esm/internal/render/webgl/Target.d.ts.map +1 -1
  75. package/lib/esm/internal/render/webgl/Target.js +1 -0
  76. package/lib/esm/internal/render/webgl/Target.js.map +1 -1
  77. package/lib/esm/internal/tile/OrbitGtTileTree.d.ts +11 -5
  78. package/lib/esm/internal/tile/OrbitGtTileTree.d.ts.map +1 -1
  79. package/lib/esm/internal/tile/OrbitGtTileTree.js +36 -12
  80. package/lib/esm/internal/tile/OrbitGtTileTree.js.map +1 -1
  81. package/lib/esm/quantity-formatting/QuantityFormatter.d.ts +5 -3
  82. package/lib/esm/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  83. package/lib/esm/quantity-formatting/QuantityFormatter.js +7 -2
  84. package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
  85. package/lib/esm/tile/GltfReader.d.ts.map +1 -1
  86. package/lib/esm/tile/GltfReader.js +3 -1
  87. package/lib/esm/tile/GltfReader.js.map +1 -1
  88. package/package.json +20 -20
@@ -34,8 +34,6 @@ export declare class ExtensionAdmin {
34
34
  * @param hostUrl (string) Accepts both URLs and hostnames (e.g., http://localhost:3000, yourdomain.com, https://www.yourdomain.com, etc.).
35
35
  */
36
36
  registerHost(hostUrl: string): void;
37
- /** Returns the hostname of an input string. Throws an error if input is not a valid hostname (or URL). */
38
- private getHostName;
39
37
  /** Loops over all enabled Extensions and triggers each one if the provided event is defined. */
40
38
  private activateExtensionEvents;
41
39
  /** Executes the extension. Catches and logs any errors (so that an extension will not crash the main application). */
@@ -1 +1 @@
1
- {"version":3,"file":"ExtensionAdmin.d.ts","sourceRoot":"","sources":["../../../src/extension/ExtensionAdmin.ts"],"names":[],"mappings":"AAIA;;GAEG;AAKH,OAAO,KAAK,EAAqB,iBAAiB,EAAE,MAAM,aAAa,CAAC;AA4BxE;;;GAGG;AACH,qBAAa,cAAc;IACzB,2GAA2G;IAC3G,OAAO,CAAC,WAAW,CAA0E;IAC7F,OAAO,CAAC,MAAM,CAAW;IAEzB;;OAEG;IACI,SAAS,sBAEd;;IAMF;;;;;OAKG;IACU,YAAY,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBrE;;;;OAIG;IACU,aAAa,CAAC,SAAS,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAM3E;;;;OAIG;IACI,YAAY,CAAC,OAAO,EAAE,MAAM;IAOnC,0GAA0G;IAC1G,OAAO,CAAC,WAAW;IAgBnB,gGAAgG;YAClF,uBAAuB;IAarC,sHAAsH;YACxG,QAAQ;CAOvB"}
1
+ {"version":3,"file":"ExtensionAdmin.d.ts","sourceRoot":"","sources":["../../../src/extension/ExtensionAdmin.ts"],"names":[],"mappings":"AAIA;;GAEG;AAKH,OAAO,KAAK,EAAqB,iBAAiB,EAAE,MAAM,aAAa,CAAC;AA0DxE;;;GAGG;AACH,qBAAa,cAAc;IACzB,2GAA2G;IAC3G,OAAO,CAAC,WAAW,CAA0E;IAC7F,OAAO,CAAC,MAAM,CAAW;IAEzB;;OAEG;IACI,SAAS,sBAEd;;IAMF;;;;;OAKG;IACU,YAAY,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBrE;;;;OAIG;IACU,aAAa,CAAC,SAAS,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAM3E;;;;OAIG;IACI,YAAY,CAAC,OAAO,EAAE,MAAM;IAOnC,gGAAgG;YAClF,uBAAuB;IAarC,sHAAsH;YACxG,QAAQ;CAOvB"}
@@ -10,6 +10,45 @@ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.ExtensionAdmin = void 0;
11
11
  const core_bentley_1 = require("@itwin/core-bentley");
12
12
  const FrontendLoggerCategory_1 = require("../common/FrontendLoggerCategory");
13
+ /** The Extensions loading system has the following goals:
14
+ * 1. Only fetch what is needed when it is required
15
+ * 1. Load a manifest file
16
+ * 2. Load the the main module when necessary (usually at an activation event)
17
+ * 2. Download the extension's files
18
+ *
19
+ * 3 ways to load an Extension into the system:
20
+ *
21
+ * 1. Load both the Extension Manifest and import the main module of the extension from a local file/package.
22
+ * 2. A minimum set of properties to get the manifest and javascript from a remote server.
23
+ * 3. A minimum set of properties to get the manifest and javascript from Bentley's Extension Service.
24
+ *
25
+ * An Extension must be added to ExtensionAdmin before it can be executed during activation events.
26
+ */
27
+ /**
28
+ * Normalizes hostnames for comparison.
29
+ * @returns The normalized hostname of a URL or bare hostname.
30
+ * @throws Error if the input cannot be parsed, or does not contain a hostname.
31
+ */
32
+ function normalizeHostname(input) {
33
+ const invalid = () => new Error(`"${input}" is not a valid URL or hostname (i.e. http://localhost:3000, yourdomain.com, etc.).`);
34
+ // inputs without a scheme (e.g., https://) will throw an error in the URL constructor
35
+ const inputWithScheme = /^[a-z][a-z0-9+\-.]*:\/\//i.test(input) ? input : `https://${input}`;
36
+ let hostname;
37
+ try {
38
+ hostname = new URL(inputWithScheme).hostname.toLowerCase();
39
+ }
40
+ catch {
41
+ throw invalid();
42
+ }
43
+ // strip only a leading "www." label - removing "www" anywhere would make unrelated
44
+ // hosts like "wwwexample.com" compare equal to "example.com"
45
+ const normalized = hostname.startsWith("www.") ? hostname.substring("www.".length) : hostname;
46
+ // schemes with an optional or opaque host (e.g. file:///, data:) parse successfully but carry no
47
+ // hostname, and an input of just "www." normalizes to nothing. Neither can identify a host.
48
+ if (normalized.length === 0)
49
+ throw invalid();
50
+ return normalized;
51
+ }
13
52
  /** The Extension Admin controls the list of currently loaded Extensions.
14
53
  *
15
54
  * @alpha
@@ -34,10 +73,10 @@ class ExtensionAdmin {
34
73
  * @alpha
35
74
  */
36
75
  async addExtension(provider) {
37
- if (provider.hostname) {
38
- const hostName = provider.hostname;
39
- if (this._hosts.length > 0 && this._hosts.indexOf(hostName) < 0) {
40
- throw new Error(`Error loading extension: ${hostName} was not registered.`);
76
+ if (provider.hostname !== undefined && this._hosts.length > 0) {
77
+ const hostname = normalizeHostname(provider.hostname);
78
+ if (this._hosts.indexOf(hostname) < 0) {
79
+ throw new Error(`Error loading extension: ${provider.hostname} was not registered.`);
41
80
  }
42
81
  }
43
82
  try {
@@ -68,28 +107,11 @@ class ExtensionAdmin {
68
107
  * @param hostUrl (string) Accepts both URLs and hostnames (e.g., http://localhost:3000, yourdomain.com, https://www.yourdomain.com, etc.).
69
108
  */
70
109
  registerHost(hostUrl) {
71
- const hostname = this.getHostName(hostUrl);
110
+ const hostname = normalizeHostname(hostUrl);
72
111
  if (this._hosts.indexOf(hostname) < 0) {
73
112
  this._hosts.push(hostname);
74
113
  }
75
114
  }
76
- /** Returns the hostname of an input string. Throws an error if input is not a valid hostname (or URL). */
77
- getHostName(inputUrl) {
78
- // inputs without a protocol (e.g., http://) will throw an error in URL constructor
79
- const inputWithProtocol = /(http|https):\/\//.test(inputUrl) ?
80
- inputUrl :
81
- `https://${inputUrl}`;
82
- try {
83
- const hostname = new URL(inputWithProtocol).hostname.replace("www.", "");
84
- return hostname;
85
- }
86
- catch (e) {
87
- if (e instanceof TypeError) {
88
- throw new Error("Argument hostUrl should be a valid URL or hostname (i.e. http://localhost:3000, yourdomain.com, etc.).");
89
- }
90
- throw e;
91
- }
92
- }
93
115
  /** Loops over all enabled Extensions and triggers each one if the provided event is defined. */
94
116
  async activateExtensionEvents(event) {
95
117
  for (const extension of this._extensions.values()) {
@@ -1 +1 @@
1
- {"version":3,"file":"ExtensionAdmin.js","sourceRoot":"","sources":["../../../src/extension/ExtensionAdmin.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Extensions\r\n */\r\n\r\nimport { Logger } from \"@itwin/core-bentley\";\r\n\r\nimport { FrontendLoggerCategory } from \"../common/FrontendLoggerCategory\";\r\nimport type { ExtensionManifest, ExtensionProvider } from \"./Extension\";\r\n\r\n/** The Extensions loading system has the following goals:\r\n * 1. Only fetch what is needed when it is required\r\n * 1. Load a manifest file\r\n * 2. Load the the main module when necessary (usually at an activation event)\r\n * 2. Download the extension's files\r\n *\r\n * 3 ways to load an Extension into the system:\r\n *\r\n * 1. Load both the Extension Manifest and import the main module of the extension from a local file/package.\r\n * 2. A minimum set of properties to get the manifest and javascript from a remote server.\r\n * 3. A minimum set of properties to get the manifest and javascript from Bentley's Extension Service.\r\n *\r\n * An Extension must be added to ExtensionAdmin before it can be executed during activation events.\r\n */\r\n\r\n/**\r\n * A \"ready to use\" Extension (contains a manifest object and an extension provider to help execute).\r\n * Will be used as the type for in-memory extensions in the ExtensionAdmin\r\n */\r\ninterface InstalledExtension {\r\n /** An extension provider that has been added to ExtensionAdmin */\r\n provider: ExtensionProvider;\r\n /** The manifest (package.json) of the extension */\r\n manifest: ExtensionManifest;\r\n}\r\n\r\n/** The Extension Admin controls the list of currently loaded Extensions.\r\n *\r\n * @alpha\r\n */\r\nexport class ExtensionAdmin {\r\n /** Defines the set of extensions that are currently known and can be invoked during activation events. */\r\n private _extensions: Map<string, InstalledExtension> = new Map<string, InstalledExtension>();\r\n private _hosts: string[];\r\n\r\n /** Fired when an Extension has been added or removed.\r\n * @internal\r\n */\r\n public onStartup = async () => {\r\n await this.activateExtensionEvents(\"onStartup\");\r\n };\r\n\r\n public constructor() {\r\n this._hosts = [];\r\n }\r\n\r\n /**\r\n * Adds an extension.\r\n * The manifest will be fetched and the extension will be activated on an activation event.\r\n * @param provider\r\n * @alpha\r\n */\r\n public async addExtension(provider: ExtensionProvider): Promise<void> {\r\n if (provider.hostname) {\r\n const hostName = provider.hostname;\r\n if (this._hosts.length > 0 && this._hosts.indexOf(hostName) < 0) {\r\n throw new Error(`Error loading extension: ${hostName} was not registered.`);\r\n }\r\n }\r\n try {\r\n const manifest = await provider.getManifest();\r\n this._extensions.set(manifest.name, {\r\n manifest,\r\n provider,\r\n });\r\n // TODO - temporary fix to execute the missed startup event\r\n if (manifest.activationEvents.includes(\"onStartup\"))\r\n provider.execute(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n } catch (e) {\r\n throw new Error(`Failed to get extension manifest ${provider.hostname ? `at ${provider.hostname}` : \"\"}: ${String(e)}`);\r\n }\r\n }\r\n\r\n /**\r\n * Adds a list of extensions\r\n * @param providers\r\n * @alpha\r\n */\r\n public async addExtensions(providers: ExtensionProvider[]): Promise<void[]> {\r\n return Promise.all(\r\n providers.map(async (provider) => this.addExtension(provider)),\r\n );\r\n }\r\n\r\n /**\r\n * Registers a hostname for an extension.\r\n * Once a hostname has been registered, only remote extensions from registered hosts are permitted to be added.\r\n * @param hostUrl (string) Accepts both URLs and hostnames (e.g., http://localhost:3000, yourdomain.com, https://www.yourdomain.com, etc.).\r\n */\r\n public registerHost(hostUrl: string) {\r\n const hostname = this.getHostName(hostUrl);\r\n if (this._hosts.indexOf(hostname) < 0) {\r\n this._hosts.push(hostname);\r\n }\r\n }\r\n\r\n /** Returns the hostname of an input string. Throws an error if input is not a valid hostname (or URL). */\r\n private getHostName(inputUrl: string): string {\r\n // inputs without a protocol (e.g., http://) will throw an error in URL constructor\r\n const inputWithProtocol = /(http|https):\\/\\//.test(inputUrl) ?\r\n inputUrl :\r\n `https://${inputUrl}`;\r\n try {\r\n const hostname = new URL(inputWithProtocol).hostname.replace(\"www.\", \"\");\r\n return hostname;\r\n } catch (e) {\r\n if (e instanceof TypeError) {\r\n throw new Error(\"Argument hostUrl should be a valid URL or hostname (i.e. http://localhost:3000, yourdomain.com, etc.).\");\r\n }\r\n throw e;\r\n }\r\n }\r\n\r\n /** Loops over all enabled Extensions and triggers each one if the provided event is defined. */\r\n private async activateExtensionEvents(event: string) {\r\n for (const extension of this._extensions.values()) {\r\n if (!extension.manifest.activationEvents)\r\n continue;\r\n\r\n for (const activationEvent of extension.manifest.activationEvents) {\r\n if (activationEvent === event) {\r\n this._execute(extension); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n }\r\n }\r\n }\r\n\r\n /** Executes the extension. Catches and logs any errors (so that an extension will not crash the main application). */\r\n private async _execute(extension: InstalledExtension) {\r\n try {\r\n await extension.provider.execute();\r\n } catch (e) {\r\n Logger.logError(FrontendLoggerCategory.Extensions, `Error executing extension ${extension.manifest.name}: ${String(e)}`);\r\n }\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ExtensionAdmin.js","sourceRoot":"","sources":["../../../src/extension/ExtensionAdmin.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Extensions\r\n */\r\n\r\nimport { Logger } from \"@itwin/core-bentley\";\r\n\r\nimport { FrontendLoggerCategory } from \"../common/FrontendLoggerCategory\";\r\nimport type { ExtensionManifest, ExtensionProvider } from \"./Extension\";\r\n\r\n/** The Extensions loading system has the following goals:\r\n * 1. Only fetch what is needed when it is required\r\n * 1. Load a manifest file\r\n * 2. Load the the main module when necessary (usually at an activation event)\r\n * 2. Download the extension's files\r\n *\r\n * 3 ways to load an Extension into the system:\r\n *\r\n * 1. Load both the Extension Manifest and import the main module of the extension from a local file/package.\r\n * 2. A minimum set of properties to get the manifest and javascript from a remote server.\r\n * 3. A minimum set of properties to get the manifest and javascript from Bentley's Extension Service.\r\n *\r\n * An Extension must be added to ExtensionAdmin before it can be executed during activation events.\r\n */\r\n\r\n/**\r\n * Normalizes hostnames for comparison.\r\n * @returns The normalized hostname of a URL or bare hostname.\r\n * @throws Error if the input cannot be parsed, or does not contain a hostname.\r\n */\r\nfunction normalizeHostname(input: string): string {\r\n const invalid = () => new Error(`\"${input}\" is not a valid URL or hostname (i.e. http://localhost:3000, yourdomain.com, etc.).`);\r\n\r\n // inputs without a scheme (e.g., https://) will throw an error in the URL constructor\r\n const inputWithScheme = /^[a-z][a-z0-9+\\-.]*:\\/\\//i.test(input) ? input : `https://${input}`;\r\n\r\n let hostname;\r\n try {\r\n hostname = new URL(inputWithScheme).hostname.toLowerCase();\r\n } catch {\r\n throw invalid();\r\n }\r\n\r\n // strip only a leading \"www.\" label - removing \"www\" anywhere would make unrelated\r\n // hosts like \"wwwexample.com\" compare equal to \"example.com\"\r\n const normalized = hostname.startsWith(\"www.\") ? hostname.substring(\"www.\".length) : hostname;\r\n\r\n // schemes with an optional or opaque host (e.g. file:///, data:) parse successfully but carry no\r\n // hostname, and an input of just \"www.\" normalizes to nothing. Neither can identify a host.\r\n if (normalized.length === 0)\r\n throw invalid();\r\n\r\n return normalized;\r\n}\r\n\r\n/**\r\n * A \"ready to use\" Extension (contains a manifest object and an extension provider to help execute).\r\n * Will be used as the type for in-memory extensions in the ExtensionAdmin\r\n */\r\ninterface InstalledExtension {\r\n /** An extension provider that has been added to ExtensionAdmin */\r\n provider: ExtensionProvider;\r\n /** The manifest (package.json) of the extension */\r\n manifest: ExtensionManifest;\r\n}\r\n\r\n/** The Extension Admin controls the list of currently loaded Extensions.\r\n *\r\n * @alpha\r\n */\r\nexport class ExtensionAdmin {\r\n /** Defines the set of extensions that are currently known and can be invoked during activation events. */\r\n private _extensions: Map<string, InstalledExtension> = new Map<string, InstalledExtension>();\r\n private _hosts: string[];\r\n\r\n /** Fired when an Extension has been added or removed.\r\n * @internal\r\n */\r\n public onStartup = async () => {\r\n await this.activateExtensionEvents(\"onStartup\");\r\n };\r\n\r\n public constructor() {\r\n this._hosts = [];\r\n }\r\n\r\n /**\r\n * Adds an extension.\r\n * The manifest will be fetched and the extension will be activated on an activation event.\r\n * @param provider\r\n * @alpha\r\n */\r\n public async addExtension(provider: ExtensionProvider): Promise<void> {\r\n if (provider.hostname !== undefined && this._hosts.length > 0) {\r\n const hostname = normalizeHostname(provider.hostname);\r\n if (this._hosts.indexOf(hostname) < 0) {\r\n throw new Error(`Error loading extension: ${provider.hostname} was not registered.`);\r\n }\r\n }\r\n try {\r\n const manifest = await provider.getManifest();\r\n this._extensions.set(manifest.name, {\r\n manifest,\r\n provider,\r\n });\r\n // TODO - temporary fix to execute the missed startup event\r\n if (manifest.activationEvents.includes(\"onStartup\"))\r\n provider.execute(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n } catch (e) {\r\n throw new Error(`Failed to get extension manifest ${provider.hostname ? `at ${provider.hostname}` : \"\"}: ${String(e)}`);\r\n }\r\n }\r\n\r\n /**\r\n * Adds a list of extensions\r\n * @param providers\r\n * @alpha\r\n */\r\n public async addExtensions(providers: ExtensionProvider[]): Promise<void[]> {\r\n return Promise.all(\r\n providers.map(async (provider) => this.addExtension(provider)),\r\n );\r\n }\r\n\r\n /**\r\n * Registers a hostname for an extension.\r\n * Once a hostname has been registered, only remote extensions from registered hosts are permitted to be added.\r\n * @param hostUrl (string) Accepts both URLs and hostnames (e.g., http://localhost:3000, yourdomain.com, https://www.yourdomain.com, etc.).\r\n */\r\n public registerHost(hostUrl: string) {\r\n const hostname = normalizeHostname(hostUrl);\r\n if (this._hosts.indexOf(hostname) < 0) {\r\n this._hosts.push(hostname);\r\n }\r\n }\r\n\r\n /** Loops over all enabled Extensions and triggers each one if the provided event is defined. */\r\n private async activateExtensionEvents(event: string) {\r\n for (const extension of this._extensions.values()) {\r\n if (!extension.manifest.activationEvents)\r\n continue;\r\n\r\n for (const activationEvent of extension.manifest.activationEvents) {\r\n if (activationEvent === event) {\r\n this._execute(extension); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n }\r\n }\r\n }\r\n\r\n /** Executes the extension. Catches and logs any errors (so that an extension will not crash the main application). */\r\n private async _execute(extension: InstalledExtension) {\r\n try {\r\n await extension.provider.execute();\r\n } catch (e) {\r\n Logger.logError(FrontendLoggerCategory.Extensions, `Error executing extension ${extension.manifest.name}: ${String(e)}`);\r\n }\r\n }\r\n}\r\n"]}
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  /* eslint-disable @typescript-eslint/naming-convention */
11
11
  /* eslint-disable @itwin/no-internal-barrel-imports */
12
12
  /* eslint-disable sort-imports */
13
+ /* eslint-disable @typescript-eslint/no-deprecated -- the extension runtime must keep exposing deprecated public APIs until they are removed */
13
14
  const ExtensionHost_1 = require("./ExtensionHost");
14
15
  const globalSymbol = Symbol.for("itwin.core.frontend.globals");
15
16
  if (globalThis[globalSymbol]) {
@@ -1 +1 @@
1
- {"version":3,"file":"ExtensionRuntime.js","sourceRoot":"","sources":["../../../src/extension/ExtensionRuntime.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Extensions\r\n */\r\n\r\n/* eslint-disable @typescript-eslint/naming-convention */\r\n/* eslint-disable @itwin/no-internal-barrel-imports */\r\n/* eslint-disable sort-imports */\r\n\r\nimport { ExtensionHost } from \"./ExtensionHost\";\r\n\r\nconst globalSymbol = Symbol.for(\"itwin.core.frontend.globals\");\r\nif ((globalThis as any)[globalSymbol]) {\r\n // Get the stack trace from when the module was first loaded\r\n const firstLoadStack = (globalThis as any)[globalSymbol].stack;\r\n\r\n const error = new Error(\r\n \"Multiple @itwin/core-frontend imports detected! This may happen if:\\n\" +\r\n \"- You have multiple versions of the package installed\\n\" +\r\n \"- Your bundling configuration is incorrect\\n\" +\r\n \"- You're importing from both ESM and CommonJS versions\"\r\n );\r\n\r\n /* eslint-disable no-console */\r\n console.error(\"Duplicate @itwin/core-frontend import:\", error);\r\n console.error(\"First import occurred at:\", firstLoadStack);\r\n console.error(\"Current import occurred at:\", error.stack);\r\n /* eslint-enable no-console */\r\n\r\n throw error;\r\n}\r\n\r\n// BEGIN GENERATED CODE\r\nimport {\r\n // @public enum(s) from @itwin/core-frontend\r\n ACSDisplayOptions,\r\n ACSType,\r\n ActivityMessageEndReason,\r\n BeButton,\r\n BeModifierKeys,\r\n ClipEventType,\r\n ContextRotationId,\r\n CoordSource,\r\n CoordSystem,\r\n CoordinateLockOverrides,\r\n EventHandled,\r\n FlashMode,\r\n FrontendLoggerCategory,\r\n GraphicType,\r\n HitDetailType,\r\n HitGeomType,\r\n HitParentGeomType,\r\n HitPriority,\r\n HitSource,\r\n InputSource,\r\n KeyinParseError,\r\n LocateAction,\r\n LocateFilterStatus,\r\n ManipulatorToolEvent,\r\n MessageBoxIconType,\r\n MessageBoxType,\r\n MessageBoxValue,\r\n OutputMessageAlert,\r\n OutputMessagePriority,\r\n OutputMessageType,\r\n ParseAndRunResult,\r\n SelectionMethod,\r\n SelectionMode,\r\n SelectionProcessing,\r\n SelectionSetEventType,\r\n SnapHeat,\r\n SnapMode,\r\n SnapStatus,\r\n StandardViewId,\r\n StartOrResume,\r\n TileBoundingBoxes,\r\n TileGraphicType,\r\n TileLoadPriority,\r\n TileLoadStatus,\r\n TileTreeLoadStatus,\r\n TileVisibility,\r\n ToolAssistanceImage,\r\n ToolAssistanceInputMethod,\r\n UniformType,\r\n VaryingType,\r\n ViewStatus,\r\n // @public real(s) from @itwin/core-frontend\r\n AccuDrawHintBuilder,\r\n AccuSnap,\r\n ActivityMessageDetails,\r\n AuxCoordSystem2dState,\r\n AuxCoordSystem3dState,\r\n AuxCoordSystemSpatialState,\r\n AuxCoordSystemState,\r\n BeButtonEvent,\r\n BeButtonState,\r\n BeTouchEvent,\r\n BeWheelEvent,\r\n BingElevationProvider,\r\n BingLocationProvider,\r\n CategorySelectorState,\r\n ChangeFlags,\r\n Cluster,\r\n ContextRealityModelState,\r\n DecorateContext,\r\n Decorations,\r\n DisclosedTileTreeSet,\r\n DisplayStyle2dState,\r\n DisplayStyle3dState,\r\n DisplayStyleState,\r\n DrawingModelState,\r\n DrawingViewState,\r\n EditManipulator,\r\n ElementLocateManager,\r\n ElementPicker,\r\n ElementState,\r\n EmphasizeElements,\r\n EntityState,\r\n EventController,\r\n FeatureSymbology,\r\n FlashSettings,\r\n FrustumAnimator,\r\n GeometricModel2dState,\r\n GeometricModel3dState,\r\n GeometricModelState,\r\n GlobeAnimator,\r\n GraphicAssembler,\r\n GraphicBranch,\r\n GraphicBuilder,\r\n HiliteSet,\r\n HitDetail,\r\n HitList,\r\n IModelConnection,\r\n IconSprites,\r\n InputCollector,\r\n InteractiveTool,\r\n IntersectDetail,\r\n LocateOptions,\r\n LocateResponse,\r\n MarginPercent,\r\n Marker,\r\n MarkerSet,\r\n ModelSelectorState,\r\n ModelState,\r\n NotificationHandler,\r\n NotificationManager,\r\n NotifyMessageDetails,\r\n OffScreenViewport,\r\n OrthographicViewState,\r\n ParticleCollectionBuilder,\r\n PerModelCategoryVisibility,\r\n PhysicalModelState,\r\n Pixel,\r\n PrimitiveTool,\r\n RenderClipVolume,\r\n RenderContext,\r\n RenderGraphic,\r\n RenderGraphicOwner,\r\n RenderSystem,\r\n Scene,\r\n ScreenViewport,\r\n SectionDrawingModelState,\r\n SelectionSet,\r\n SheetModelState,\r\n SheetViewState,\r\n SnapDetail,\r\n SpatialLocationModelState,\r\n SpatialModelState,\r\n SpatialViewState,\r\n Sprite,\r\n SpriteLocation,\r\n TentativePoint,\r\n Tile,\r\n TileAdmin,\r\n TileDrawArgs,\r\n TileRequest,\r\n TileRequestChannel,\r\n TileRequestChannelStatistics,\r\n TileRequestChannels,\r\n TileTree,\r\n TileTreeReference,\r\n TileUsageMarker,\r\n Tiles,\r\n Tool,\r\n ToolAdmin,\r\n ToolAssistance,\r\n ToolSettings,\r\n TwoWayViewportFrustumSync,\r\n TwoWayViewportSync,\r\n ViewClipClearTool,\r\n ViewClipDecoration,\r\n ViewClipDecorationProvider,\r\n ViewClipTool,\r\n ViewCreator2d,\r\n ViewCreator3d,\r\n ViewManager,\r\n ViewManip,\r\n ViewPose,\r\n ViewPose2d,\r\n ViewPose3d,\r\n ViewRect,\r\n ViewState,\r\n ViewState2d,\r\n ViewState3d,\r\n ViewTool,\r\n ViewingSpace,\r\n Viewport,\r\n canvasToImageBuffer,\r\n canvasToResizedCanvasWithBars,\r\n connectViewportFrusta,\r\n connectViewportViews,\r\n connectViewports,\r\n extractImageSourceDimensions,\r\n getCompressedJpegFromCanvas,\r\n getImageSourceFormatForMimeType,\r\n getImageSourceMimeType,\r\n imageBufferToBase64EncodedPng,\r\n imageBufferToCanvas,\r\n imageBufferToPngDataUrl,\r\n imageElementFromImageSource,\r\n imageElementFromUrl,\r\n queryTerrainElevationOffset,\r\n readElementGraphics,\r\n readGltfGraphics,\r\n synchronizeViewportFrusta,\r\n synchronizeViewportViews,\r\n} from \"../core-frontend\";\r\n\r\nimport {\r\n // @public enum(s) from @itwin/core-common\r\n BackgroundFill,\r\n BackgroundMapType,\r\n BatchType,\r\n BisCodeSpec,\r\n BriefcaseIdValue,\r\n ChangeOpCode,\r\n ChangedValueState,\r\n ChangesetType,\r\n CommonLoggerCategory,\r\n ECSqlSystemProperty,\r\n ECSqlValueType,\r\n ElementGeometryOpcode,\r\n FeatureOverrideType,\r\n FillDisplay,\r\n FillFlags,\r\n FontType,\r\n GeoCoordStatus,\r\n GeometryClass,\r\n GeometryStreamFlags,\r\n GeometrySummaryVerbosity,\r\n GlobeMode,\r\n GridOrientationType,\r\n HSVConstants,\r\n ImageBufferFormat,\r\n ImageSourceFormat,\r\n LinePixels,\r\n MassPropertiesOperation,\r\n MonochromeMode,\r\n Npc,\r\n PlanarClipMaskMode,\r\n PlanarClipMaskPriority,\r\n QueryRowFormat,\r\n Rank,\r\n RenderMode,\r\n SectionType,\r\n SkyBoxImageType,\r\n SpatialClassifierInsideDisplay,\r\n SpatialClassifierOutsideDisplay,\r\n SyncMode,\r\n TerrainHeightOriginMode,\r\n TextureMapUnits,\r\n ThematicDisplayMode,\r\n ThematicGradientColorScheme,\r\n ThematicGradientMode,\r\n ThematicGradientTransparencyMode,\r\n TxnAction,\r\n TypeOfChange,\r\n // @public real(s) from @itwin/core-common\r\n ClipIntersectionStyle,\r\n ColorByName,\r\n ColorDef,\r\n FrustumPlanes,\r\n QParams2d,\r\n QParams3d,\r\n QPoint2d,\r\n QPoint2dBuffer,\r\n QPoint2dBufferBuilder,\r\n QPoint2dList,\r\n QPoint3d,\r\n QPoint3dBuffer,\r\n QPoint3dBufferBuilder,\r\n QPoint3dList,\r\n Quantization,\r\n} from \"@itwin/core-common\";\r\n\r\nconst extensionExports = {\r\n ACSDisplayOptions,\r\n ACSType,\r\n AccuDrawHintBuilder,\r\n AccuSnap,\r\n ActivityMessageDetails,\r\n ActivityMessageEndReason,\r\n AuxCoordSystem2dState,\r\n AuxCoordSystem3dState,\r\n AuxCoordSystemSpatialState,\r\n AuxCoordSystemState,\r\n BackgroundFill,\r\n BackgroundMapType,\r\n BatchType,\r\n BeButton,\r\n BeButtonEvent,\r\n BeButtonState,\r\n BeModifierKeys,\r\n BeTouchEvent,\r\n BeWheelEvent,\r\n BingElevationProvider,\r\n BingLocationProvider,\r\n BisCodeSpec,\r\n BriefcaseIdValue,\r\n CategorySelectorState,\r\n ChangeFlags,\r\n ChangeOpCode,\r\n ChangedValueState,\r\n ChangesetType,\r\n ClipEventType,\r\n ClipIntersectionStyle,\r\n Cluster,\r\n ColorByName,\r\n ColorDef,\r\n CommonLoggerCategory,\r\n ContextRealityModelState,\r\n ContextRotationId,\r\n CoordSource,\r\n CoordSystem,\r\n CoordinateLockOverrides,\r\n DecorateContext,\r\n Decorations,\r\n DisclosedTileTreeSet,\r\n DisplayStyle2dState,\r\n DisplayStyle3dState,\r\n DisplayStyleState,\r\n DrawingModelState,\r\n DrawingViewState,\r\n ECSqlSystemProperty,\r\n ECSqlValueType,\r\n EditManipulator,\r\n ElementGeometryOpcode,\r\n ElementLocateManager,\r\n ElementPicker,\r\n ElementState,\r\n EmphasizeElements,\r\n EntityState,\r\n EventController,\r\n EventHandled,\r\n FeatureOverrideType,\r\n FeatureSymbology,\r\n FillDisplay,\r\n FillFlags,\r\n FlashMode,\r\n FlashSettings,\r\n FontType,\r\n FrontendLoggerCategory,\r\n FrustumAnimator,\r\n FrustumPlanes,\r\n GeoCoordStatus,\r\n GeometricModel2dState,\r\n GeometricModel3dState,\r\n GeometricModelState,\r\n GeometryClass,\r\n GeometryStreamFlags,\r\n GeometrySummaryVerbosity,\r\n GlobeAnimator,\r\n GlobeMode,\r\n GraphicAssembler,\r\n GraphicBranch,\r\n GraphicBuilder,\r\n GraphicType,\r\n GridOrientationType,\r\n HSVConstants,\r\n HiliteSet,\r\n HitDetail,\r\n HitDetailType,\r\n HitGeomType,\r\n HitList,\r\n HitParentGeomType,\r\n HitPriority,\r\n HitSource,\r\n IModelConnection,\r\n IconSprites,\r\n ImageBufferFormat,\r\n ImageSourceFormat,\r\n InputCollector,\r\n InputSource,\r\n InteractiveTool,\r\n IntersectDetail,\r\n KeyinParseError,\r\n LinePixels,\r\n LocateAction,\r\n LocateFilterStatus,\r\n LocateOptions,\r\n LocateResponse,\r\n ManipulatorToolEvent,\r\n MarginPercent,\r\n Marker,\r\n MarkerSet,\r\n MassPropertiesOperation,\r\n MessageBoxIconType,\r\n MessageBoxType,\r\n MessageBoxValue,\r\n ModelSelectorState,\r\n ModelState,\r\n MonochromeMode,\r\n NotificationHandler,\r\n NotificationManager,\r\n NotifyMessageDetails,\r\n Npc,\r\n OffScreenViewport,\r\n OrthographicViewState,\r\n OutputMessageAlert,\r\n OutputMessagePriority,\r\n OutputMessageType,\r\n ParseAndRunResult,\r\n ParticleCollectionBuilder,\r\n PerModelCategoryVisibility,\r\n PhysicalModelState,\r\n Pixel,\r\n PlanarClipMaskMode,\r\n PlanarClipMaskPriority,\r\n PrimitiveTool,\r\n QParams2d,\r\n QParams3d,\r\n QPoint2d,\r\n QPoint2dBuffer,\r\n QPoint2dBufferBuilder,\r\n QPoint2dList,\r\n QPoint3d,\r\n QPoint3dBuffer,\r\n QPoint3dBufferBuilder,\r\n QPoint3dList,\r\n Quantization,\r\n QueryRowFormat,\r\n Rank,\r\n RenderClipVolume,\r\n RenderContext,\r\n RenderGraphic,\r\n RenderGraphicOwner,\r\n RenderMode,\r\n RenderSystem,\r\n Scene,\r\n ScreenViewport,\r\n SectionDrawingModelState,\r\n SectionType,\r\n SelectionMethod,\r\n SelectionMode,\r\n SelectionProcessing,\r\n SelectionSet,\r\n SelectionSetEventType,\r\n SheetModelState,\r\n SheetViewState,\r\n SkyBoxImageType,\r\n SnapDetail,\r\n SnapHeat,\r\n SnapMode,\r\n SnapStatus,\r\n SpatialClassifierInsideDisplay,\r\n SpatialClassifierOutsideDisplay,\r\n SpatialLocationModelState,\r\n SpatialModelState,\r\n SpatialViewState,\r\n Sprite,\r\n SpriteLocation,\r\n StandardViewId,\r\n StartOrResume,\r\n SyncMode,\r\n TentativePoint,\r\n TerrainHeightOriginMode,\r\n TextureMapUnits,\r\n ThematicDisplayMode,\r\n ThematicGradientColorScheme,\r\n ThematicGradientMode,\r\n ThematicGradientTransparencyMode,\r\n Tile,\r\n TileAdmin,\r\n TileBoundingBoxes,\r\n TileDrawArgs,\r\n TileGraphicType,\r\n TileLoadPriority,\r\n TileLoadStatus,\r\n TileRequest,\r\n TileRequestChannel,\r\n TileRequestChannelStatistics,\r\n TileRequestChannels,\r\n TileTree,\r\n TileTreeLoadStatus,\r\n TileTreeReference,\r\n TileUsageMarker,\r\n TileVisibility,\r\n Tiles,\r\n Tool,\r\n ToolAdmin,\r\n ToolAssistance,\r\n ToolAssistanceImage,\r\n ToolAssistanceInputMethod,\r\n ToolSettings,\r\n TwoWayViewportFrustumSync,\r\n TwoWayViewportSync,\r\n TxnAction,\r\n TypeOfChange,\r\n UniformType,\r\n VaryingType,\r\n ViewClipClearTool,\r\n ViewClipDecoration,\r\n ViewClipDecorationProvider,\r\n ViewClipTool,\r\n ViewCreator2d,\r\n ViewCreator3d,\r\n ViewManager,\r\n ViewManip,\r\n ViewPose,\r\n ViewPose2d,\r\n ViewPose3d,\r\n ViewRect,\r\n ViewState,\r\n ViewState2d,\r\n ViewState3d,\r\n ViewStatus,\r\n ViewTool,\r\n ViewingSpace,\r\n Viewport,\r\n canvasToImageBuffer,\r\n canvasToResizedCanvasWithBars,\r\n connectViewportFrusta,\r\n connectViewportViews,\r\n connectViewports,\r\n extractImageSourceDimensions,\r\n getCompressedJpegFromCanvas,\r\n getImageSourceFormatForMimeType,\r\n getImageSourceMimeType,\r\n imageBufferToBase64EncodedPng,\r\n imageBufferToCanvas,\r\n imageBufferToPngDataUrl,\r\n imageElementFromImageSource,\r\n imageElementFromUrl,\r\n queryTerrainElevationOffset,\r\n readElementGraphics,\r\n readGltfGraphics,\r\n synchronizeViewportFrusta,\r\n synchronizeViewportViews,\r\n};\r\n\r\n// END GENERATED CODE\r\n\r\nconst getExtensionApi = (_id: string) => {\r\n return {\r\n exports: {\r\n // exceptions\r\n ExtensionHost,\r\n // automated\r\n ...extensionExports,\r\n },\r\n };\r\n};\r\n\r\n(globalThis as any)[globalSymbol] = {\r\n stack: new Error().stack,\r\n getExtensionApi,\r\n};"]}
1
+ {"version":3,"file":"ExtensionRuntime.js","sourceRoot":"","sources":["../../../src/extension/ExtensionRuntime.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Extensions\r\n */\r\n\r\n/* eslint-disable @typescript-eslint/naming-convention */\r\n/* eslint-disable @itwin/no-internal-barrel-imports */\r\n/* eslint-disable sort-imports */\r\n/* eslint-disable @typescript-eslint/no-deprecated -- the extension runtime must keep exposing deprecated public APIs until they are removed */\r\n\r\nimport { ExtensionHost } from \"./ExtensionHost\";\r\n\r\nconst globalSymbol = Symbol.for(\"itwin.core.frontend.globals\");\r\nif ((globalThis as any)[globalSymbol]) {\r\n // Get the stack trace from when the module was first loaded\r\n const firstLoadStack = (globalThis as any)[globalSymbol].stack;\r\n\r\n const error = new Error(\r\n \"Multiple @itwin/core-frontend imports detected! This may happen if:\\n\" +\r\n \"- You have multiple versions of the package installed\\n\" +\r\n \"- Your bundling configuration is incorrect\\n\" +\r\n \"- You're importing from both ESM and CommonJS versions\"\r\n );\r\n\r\n /* eslint-disable no-console */\r\n console.error(\"Duplicate @itwin/core-frontend import:\", error);\r\n console.error(\"First import occurred at:\", firstLoadStack);\r\n console.error(\"Current import occurred at:\", error.stack);\r\n /* eslint-enable no-console */\r\n\r\n throw error;\r\n}\r\n\r\n// BEGIN GENERATED CODE\r\nimport {\r\n // @public enum(s) from @itwin/core-frontend\r\n ACSDisplayOptions,\r\n ACSType,\r\n ActivityMessageEndReason,\r\n BeButton,\r\n BeModifierKeys,\r\n ClipEventType,\r\n ContextRotationId,\r\n CoordSource,\r\n CoordSystem,\r\n CoordinateLockOverrides,\r\n EventHandled,\r\n FlashMode,\r\n FrontendLoggerCategory,\r\n GraphicType,\r\n HitDetailType,\r\n HitGeomType,\r\n HitParentGeomType,\r\n HitPriority,\r\n HitSource,\r\n InputSource,\r\n KeyinParseError,\r\n LocateAction,\r\n LocateFilterStatus,\r\n ManipulatorToolEvent,\r\n MessageBoxIconType,\r\n MessageBoxType,\r\n MessageBoxValue,\r\n OutputMessageAlert,\r\n OutputMessagePriority,\r\n OutputMessageType,\r\n ParseAndRunResult,\r\n SelectionMethod,\r\n SelectionMode,\r\n SelectionProcessing,\r\n SelectionSetEventType,\r\n SnapHeat,\r\n SnapMode,\r\n SnapStatus,\r\n StandardViewId,\r\n StartOrResume,\r\n TileBoundingBoxes,\r\n TileGraphicType,\r\n TileLoadPriority,\r\n TileLoadStatus,\r\n TileTreeLoadStatus,\r\n TileVisibility,\r\n ToolAssistanceImage,\r\n ToolAssistanceInputMethod,\r\n UniformType,\r\n VaryingType,\r\n ViewStatus,\r\n // @public real(s) from @itwin/core-frontend\r\n AccuDrawHintBuilder,\r\n AccuSnap,\r\n ActivityMessageDetails,\r\n AuxCoordSystem2dState,\r\n AuxCoordSystem3dState,\r\n AuxCoordSystemSpatialState,\r\n AuxCoordSystemState,\r\n BeButtonEvent,\r\n BeButtonState,\r\n BeTouchEvent,\r\n BeWheelEvent,\r\n BingElevationProvider,\r\n BingLocationProvider,\r\n CategorySelectorState,\r\n ChangeFlags,\r\n Cluster,\r\n ContextRealityModelState,\r\n DecorateContext,\r\n Decorations,\r\n DisclosedTileTreeSet,\r\n DisplayStyle2dState,\r\n DisplayStyle3dState,\r\n DisplayStyleState,\r\n DrawingModelState,\r\n DrawingViewState,\r\n EditManipulator,\r\n ElementLocateManager,\r\n ElementPicker,\r\n ElementState,\r\n EmphasizeElements,\r\n EntityState,\r\n EventController,\r\n FeatureSymbology,\r\n FlashSettings,\r\n FrustumAnimator,\r\n GeometricModel2dState,\r\n GeometricModel3dState,\r\n GeometricModelState,\r\n GlobeAnimator,\r\n GraphicAssembler,\r\n GraphicBranch,\r\n GraphicBuilder,\r\n HiliteSet,\r\n HitDetail,\r\n HitList,\r\n IModelConnection,\r\n IconSprites,\r\n InputCollector,\r\n InteractiveTool,\r\n IntersectDetail,\r\n LocateOptions,\r\n LocateResponse,\r\n MarginPercent,\r\n Marker,\r\n MarkerSet,\r\n ModelSelectorState,\r\n ModelState,\r\n NotificationHandler,\r\n NotificationManager,\r\n NotifyMessageDetails,\r\n OffScreenViewport,\r\n OrthographicViewState,\r\n ParticleCollectionBuilder,\r\n PerModelCategoryVisibility,\r\n PhysicalModelState,\r\n Pixel,\r\n PrimitiveTool,\r\n RenderClipVolume,\r\n RenderContext,\r\n RenderGraphic,\r\n RenderGraphicOwner,\r\n RenderSystem,\r\n Scene,\r\n ScreenViewport,\r\n SectionDrawingModelState,\r\n SelectionSet,\r\n SheetModelState,\r\n SheetViewState,\r\n SnapDetail,\r\n SpatialLocationModelState,\r\n SpatialModelState,\r\n SpatialViewState,\r\n Sprite,\r\n SpriteLocation,\r\n TentativePoint,\r\n Tile,\r\n TileAdmin,\r\n TileDrawArgs,\r\n TileRequest,\r\n TileRequestChannel,\r\n TileRequestChannelStatistics,\r\n TileRequestChannels,\r\n TileTree,\r\n TileTreeReference,\r\n TileUsageMarker,\r\n Tiles,\r\n Tool,\r\n ToolAdmin,\r\n ToolAssistance,\r\n ToolSettings,\r\n TwoWayViewportFrustumSync,\r\n TwoWayViewportSync,\r\n ViewClipClearTool,\r\n ViewClipDecoration,\r\n ViewClipDecorationProvider,\r\n ViewClipTool,\r\n ViewCreator2d,\r\n ViewCreator3d,\r\n ViewManager,\r\n ViewManip,\r\n ViewPose,\r\n ViewPose2d,\r\n ViewPose3d,\r\n ViewRect,\r\n ViewState,\r\n ViewState2d,\r\n ViewState3d,\r\n ViewTool,\r\n ViewingSpace,\r\n Viewport,\r\n canvasToImageBuffer,\r\n canvasToResizedCanvasWithBars,\r\n connectViewportFrusta,\r\n connectViewportViews,\r\n connectViewports,\r\n extractImageSourceDimensions,\r\n getCompressedJpegFromCanvas,\r\n getImageSourceFormatForMimeType,\r\n getImageSourceMimeType,\r\n imageBufferToBase64EncodedPng,\r\n imageBufferToCanvas,\r\n imageBufferToPngDataUrl,\r\n imageElementFromImageSource,\r\n imageElementFromUrl,\r\n queryTerrainElevationOffset,\r\n readElementGraphics,\r\n readGltfGraphics,\r\n synchronizeViewportFrusta,\r\n synchronizeViewportViews,\r\n} from \"../core-frontend\";\r\n\r\nimport {\r\n // @public enum(s) from @itwin/core-common\r\n BackgroundFill,\r\n BackgroundMapType,\r\n BatchType,\r\n BisCodeSpec,\r\n BriefcaseIdValue,\r\n ChangeOpCode,\r\n ChangedValueState,\r\n ChangesetType,\r\n CommonLoggerCategory,\r\n ECSqlSystemProperty,\r\n ECSqlValueType,\r\n ElementGeometryOpcode,\r\n FeatureOverrideType,\r\n FillDisplay,\r\n FillFlags,\r\n FontType,\r\n GeoCoordStatus,\r\n GeometryClass,\r\n GeometryStreamFlags,\r\n GeometrySummaryVerbosity,\r\n GlobeMode,\r\n GridOrientationType,\r\n HSVConstants,\r\n ImageBufferFormat,\r\n ImageSourceFormat,\r\n LinePixels,\r\n MassPropertiesOperation,\r\n MonochromeMode,\r\n Npc,\r\n PlanarClipMaskMode,\r\n PlanarClipMaskPriority,\r\n QueryRowFormat,\r\n Rank,\r\n RenderMode,\r\n SectionType,\r\n SkyBoxImageType,\r\n SpatialClassifierInsideDisplay,\r\n SpatialClassifierOutsideDisplay,\r\n SyncMode,\r\n TerrainHeightOriginMode,\r\n TextureMapUnits,\r\n ThematicDisplayMode,\r\n ThematicGradientColorScheme,\r\n ThematicGradientMode,\r\n ThematicGradientTransparencyMode,\r\n TxnAction,\r\n TypeOfChange,\r\n // @public real(s) from @itwin/core-common\r\n ClipIntersectionStyle,\r\n ColorByName,\r\n ColorDef,\r\n FrustumPlanes,\r\n QParams2d,\r\n QParams3d,\r\n QPoint2d,\r\n QPoint2dBuffer,\r\n QPoint2dBufferBuilder,\r\n QPoint2dList,\r\n QPoint3d,\r\n QPoint3dBuffer,\r\n QPoint3dBufferBuilder,\r\n QPoint3dList,\r\n Quantization,\r\n} from \"@itwin/core-common\";\r\n\r\nconst extensionExports = {\r\n ACSDisplayOptions,\r\n ACSType,\r\n AccuDrawHintBuilder,\r\n AccuSnap,\r\n ActivityMessageDetails,\r\n ActivityMessageEndReason,\r\n AuxCoordSystem2dState,\r\n AuxCoordSystem3dState,\r\n AuxCoordSystemSpatialState,\r\n AuxCoordSystemState,\r\n BackgroundFill,\r\n BackgroundMapType,\r\n BatchType,\r\n BeButton,\r\n BeButtonEvent,\r\n BeButtonState,\r\n BeModifierKeys,\r\n BeTouchEvent,\r\n BeWheelEvent,\r\n BingElevationProvider,\r\n BingLocationProvider,\r\n BisCodeSpec,\r\n BriefcaseIdValue,\r\n CategorySelectorState,\r\n ChangeFlags,\r\n ChangeOpCode,\r\n ChangedValueState,\r\n ChangesetType,\r\n ClipEventType,\r\n ClipIntersectionStyle,\r\n Cluster,\r\n ColorByName,\r\n ColorDef,\r\n CommonLoggerCategory,\r\n ContextRealityModelState,\r\n ContextRotationId,\r\n CoordSource,\r\n CoordSystem,\r\n CoordinateLockOverrides,\r\n DecorateContext,\r\n Decorations,\r\n DisclosedTileTreeSet,\r\n DisplayStyle2dState,\r\n DisplayStyle3dState,\r\n DisplayStyleState,\r\n DrawingModelState,\r\n DrawingViewState,\r\n ECSqlSystemProperty,\r\n ECSqlValueType,\r\n EditManipulator,\r\n ElementGeometryOpcode,\r\n ElementLocateManager,\r\n ElementPicker,\r\n ElementState,\r\n EmphasizeElements,\r\n EntityState,\r\n EventController,\r\n EventHandled,\r\n FeatureOverrideType,\r\n FeatureSymbology,\r\n FillDisplay,\r\n FillFlags,\r\n FlashMode,\r\n FlashSettings,\r\n FontType,\r\n FrontendLoggerCategory,\r\n FrustumAnimator,\r\n FrustumPlanes,\r\n GeoCoordStatus,\r\n GeometricModel2dState,\r\n GeometricModel3dState,\r\n GeometricModelState,\r\n GeometryClass,\r\n GeometryStreamFlags,\r\n GeometrySummaryVerbosity,\r\n GlobeAnimator,\r\n GlobeMode,\r\n GraphicAssembler,\r\n GraphicBranch,\r\n GraphicBuilder,\r\n GraphicType,\r\n GridOrientationType,\r\n HSVConstants,\r\n HiliteSet,\r\n HitDetail,\r\n HitDetailType,\r\n HitGeomType,\r\n HitList,\r\n HitParentGeomType,\r\n HitPriority,\r\n HitSource,\r\n IModelConnection,\r\n IconSprites,\r\n ImageBufferFormat,\r\n ImageSourceFormat,\r\n InputCollector,\r\n InputSource,\r\n InteractiveTool,\r\n IntersectDetail,\r\n KeyinParseError,\r\n LinePixels,\r\n LocateAction,\r\n LocateFilterStatus,\r\n LocateOptions,\r\n LocateResponse,\r\n ManipulatorToolEvent,\r\n MarginPercent,\r\n Marker,\r\n MarkerSet,\r\n MassPropertiesOperation,\r\n MessageBoxIconType,\r\n MessageBoxType,\r\n MessageBoxValue,\r\n ModelSelectorState,\r\n ModelState,\r\n MonochromeMode,\r\n NotificationHandler,\r\n NotificationManager,\r\n NotifyMessageDetails,\r\n Npc,\r\n OffScreenViewport,\r\n OrthographicViewState,\r\n OutputMessageAlert,\r\n OutputMessagePriority,\r\n OutputMessageType,\r\n ParseAndRunResult,\r\n ParticleCollectionBuilder,\r\n PerModelCategoryVisibility,\r\n PhysicalModelState,\r\n Pixel,\r\n PlanarClipMaskMode,\r\n PlanarClipMaskPriority,\r\n PrimitiveTool,\r\n QParams2d,\r\n QParams3d,\r\n QPoint2d,\r\n QPoint2dBuffer,\r\n QPoint2dBufferBuilder,\r\n QPoint2dList,\r\n QPoint3d,\r\n QPoint3dBuffer,\r\n QPoint3dBufferBuilder,\r\n QPoint3dList,\r\n Quantization,\r\n QueryRowFormat,\r\n Rank,\r\n RenderClipVolume,\r\n RenderContext,\r\n RenderGraphic,\r\n RenderGraphicOwner,\r\n RenderMode,\r\n RenderSystem,\r\n Scene,\r\n ScreenViewport,\r\n SectionDrawingModelState,\r\n SectionType,\r\n SelectionMethod,\r\n SelectionMode,\r\n SelectionProcessing,\r\n SelectionSet,\r\n SelectionSetEventType,\r\n SheetModelState,\r\n SheetViewState,\r\n SkyBoxImageType,\r\n SnapDetail,\r\n SnapHeat,\r\n SnapMode,\r\n SnapStatus,\r\n SpatialClassifierInsideDisplay,\r\n SpatialClassifierOutsideDisplay,\r\n SpatialLocationModelState,\r\n SpatialModelState,\r\n SpatialViewState,\r\n Sprite,\r\n SpriteLocation,\r\n StandardViewId,\r\n StartOrResume,\r\n SyncMode,\r\n TentativePoint,\r\n TerrainHeightOriginMode,\r\n TextureMapUnits,\r\n ThematicDisplayMode,\r\n ThematicGradientColorScheme,\r\n ThematicGradientMode,\r\n ThematicGradientTransparencyMode,\r\n Tile,\r\n TileAdmin,\r\n TileBoundingBoxes,\r\n TileDrawArgs,\r\n TileGraphicType,\r\n TileLoadPriority,\r\n TileLoadStatus,\r\n TileRequest,\r\n TileRequestChannel,\r\n TileRequestChannelStatistics,\r\n TileRequestChannels,\r\n TileTree,\r\n TileTreeLoadStatus,\r\n TileTreeReference,\r\n TileUsageMarker,\r\n TileVisibility,\r\n Tiles,\r\n Tool,\r\n ToolAdmin,\r\n ToolAssistance,\r\n ToolAssistanceImage,\r\n ToolAssistanceInputMethod,\r\n ToolSettings,\r\n TwoWayViewportFrustumSync,\r\n TwoWayViewportSync,\r\n TxnAction,\r\n TypeOfChange,\r\n UniformType,\r\n VaryingType,\r\n ViewClipClearTool,\r\n ViewClipDecoration,\r\n ViewClipDecorationProvider,\r\n ViewClipTool,\r\n ViewCreator2d,\r\n ViewCreator3d,\r\n ViewManager,\r\n ViewManip,\r\n ViewPose,\r\n ViewPose2d,\r\n ViewPose3d,\r\n ViewRect,\r\n ViewState,\r\n ViewState2d,\r\n ViewState3d,\r\n ViewStatus,\r\n ViewTool,\r\n ViewingSpace,\r\n Viewport,\r\n canvasToImageBuffer,\r\n canvasToResizedCanvasWithBars,\r\n connectViewportFrusta,\r\n connectViewportViews,\r\n connectViewports,\r\n extractImageSourceDimensions,\r\n getCompressedJpegFromCanvas,\r\n getImageSourceFormatForMimeType,\r\n getImageSourceMimeType,\r\n imageBufferToBase64EncodedPng,\r\n imageBufferToCanvas,\r\n imageBufferToPngDataUrl,\r\n imageElementFromImageSource,\r\n imageElementFromUrl,\r\n queryTerrainElevationOffset,\r\n readElementGraphics,\r\n readGltfGraphics,\r\n synchronizeViewportFrusta,\r\n synchronizeViewportViews,\r\n};\r\n\r\n// END GENERATED CODE\r\n\r\nconst getExtensionApi = (_id: string) => {\r\n return {\r\n exports: {\r\n // exceptions\r\n ExtensionHost,\r\n // automated\r\n ...extensionExports,\r\n },\r\n };\r\n};\r\n\r\n(globalThis as any)[globalSymbol] = {\r\n stack: new Error().stack,\r\n getExtensionApi,\r\n};"]}
@@ -17,7 +17,7 @@ export interface RemoteExtensionProviderProps {
17
17
  */
18
18
  export declare class RemoteExtensionProvider implements ExtensionProvider {
19
19
  private readonly _props;
20
- /** The name of the server where the extension is hosted. */
20
+ /** The hostname of the server where the extension is hosted. */
21
21
  readonly hostname: string;
22
22
  constructor(_props: RemoteExtensionProviderProps);
23
23
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteExtensionProvider.d.ts","sourceRoot":"","sources":["../../../../src/extension/providers/RemoteExtensionProvider.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AAItB;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IAC3C,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,qBAAa,uBAAwB,YAAW,iBAAiB;IAInD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,4DAA4D;IAC5D,SAAgB,QAAQ,EAAE,MAAM,CAAC;gBAEJ,MAAM,EAAE,4BAA4B;IAIjE;;;OAGG;IACU,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAIvC;;;OAGG;IACU,WAAW,IAAI,OAAO,CAAC,iBAAiB,CAAC;CAIvD"}
1
+ {"version":3,"file":"RemoteExtensionProvider.d.ts","sourceRoot":"","sources":["../../../../src/extension/providers/RemoteExtensionProvider.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AAItB;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IAC3C,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,qBAAa,uBAAwB,YAAW,iBAAiB;IAInD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,gEAAgE;IAChE,SAAgB,QAAQ,EAAE,MAAM,CAAC;gBAEJ,MAAM,EAAE,4BAA4B;IAIjE;;;OAGG;IACU,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAIvC;;;OAGG;IACU,WAAW,IAAI,OAAO,CAAC,iBAAiB,CAAC;CAIvD"}
@@ -11,11 +11,11 @@ const ExtensionLoadScript_1 = require("./ExtensionLoadScript");
11
11
  */
12
12
  class RemoteExtensionProvider {
13
13
  _props;
14
- /** The name of the server where the extension is hosted. */
14
+ /** The hostname of the server where the extension is hosted. */
15
15
  hostname;
16
16
  constructor(_props) {
17
17
  this._props = _props;
18
- this.hostname = new URL(this._props.jsUrl).hostname.replace("www", "");
18
+ this.hostname = new URL(this._props.jsUrl).hostname;
19
19
  }
20
20
  /**
21
21
  * Attempts to execute an extension.
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteExtensionProvider.js","sourceRoot":"","sources":["../../../../src/extension/providers/RemoteExtensionProvider.ts"],"names":[],"mappings":";;;AAQA,mDAAgD;AAChD,+DAAmD;AAanD;;;;;GAKG;AACH,MAAa,uBAAuB;IAIL;IAH7B,4DAA4D;IAC5C,QAAQ,CAAS;IAEjC,YAA6B,MAAoC;QAApC,WAAM,GAAN,MAAM,CAA8B;QAC/D,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACzE,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,OAAO;QAClB,OAAO,IAAA,gCAAU,EAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,WAAW;QACtB,OAAO,IAAA,iBAAO,EAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;CAEF;AAxBD,0DAwBC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\nimport type {\r\n ExtensionManifest,\r\n ExtensionProvider,\r\n} from \"../Extension\";\r\nimport { request } from \"../../request/Request\";\r\nimport { loadScript } from \"./ExtensionLoadScript\";\r\n\r\n/**\r\n * Required props for a remote extension provider\r\n * @alpha\r\n */\r\nexport interface RemoteExtensionProviderProps {\r\n /** URL where the extension entry point can be loaded from */\r\n jsUrl: string;\r\n /** URL where the manifest (package.json) can be loaded from */\r\n manifestUrl: string;\r\n}\r\n\r\n/**\r\n * Implements a \"remote\" extension.\r\n * Remote extensions are hosted on an external server.\r\n * The execute() and getManifest() methods are used by the ExtensionAdmin to load and execute the extension.\r\n * @alpha\r\n */\r\nexport class RemoteExtensionProvider implements ExtensionProvider {\r\n /** The name of the server where the extension is hosted. */\r\n public readonly hostname: string;\r\n\r\n constructor(private readonly _props: RemoteExtensionProviderProps) {\r\n this.hostname = new URL(this._props.jsUrl).hostname.replace(\"www\", \"\");\r\n }\r\n\r\n /**\r\n * Attempts to execute an extension.\r\n * Throws an error if the provided jsUrl is not accessible.\r\n */\r\n public async execute(): Promise<string> {\r\n return loadScript(this._props.jsUrl);\r\n }\r\n\r\n /**\r\n * Attempts to fetch an extension's manifest (package.json) file.\r\n * Throws an error if the provided manifestUrl is not accessible.\r\n */\r\n public async getManifest(): Promise<ExtensionManifest> {\r\n return request(this._props.manifestUrl, \"json\");\r\n }\r\n\r\n}\r\n"]}
1
+ {"version":3,"file":"RemoteExtensionProvider.js","sourceRoot":"","sources":["../../../../src/extension/providers/RemoteExtensionProvider.ts"],"names":[],"mappings":";;;AAQA,mDAAgD;AAChD,+DAAmD;AAanD;;;;;GAKG;AACH,MAAa,uBAAuB;IAIL;IAH7B,gEAAgE;IAChD,QAAQ,CAAS;IAEjC,YAA6B,MAAoC;QAApC,WAAM,GAAN,MAAM,CAA8B;QAC/D,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;IACtD,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,OAAO;QAClB,OAAO,IAAA,gCAAU,EAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,WAAW;QACtB,OAAO,IAAA,iBAAO,EAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;CAEF;AAxBD,0DAwBC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\nimport type {\r\n ExtensionManifest,\r\n ExtensionProvider,\r\n} from \"../Extension\";\r\nimport { request } from \"../../request/Request\";\r\nimport { loadScript } from \"./ExtensionLoadScript\";\r\n\r\n/**\r\n * Required props for a remote extension provider\r\n * @alpha\r\n */\r\nexport interface RemoteExtensionProviderProps {\r\n /** URL where the extension entry point can be loaded from */\r\n jsUrl: string;\r\n /** URL where the manifest (package.json) can be loaded from */\r\n manifestUrl: string;\r\n}\r\n\r\n/**\r\n * Implements a \"remote\" extension.\r\n * Remote extensions are hosted on an external server.\r\n * The execute() and getManifest() methods are used by the ExtensionAdmin to load and execute the extension.\r\n * @alpha\r\n */\r\nexport class RemoteExtensionProvider implements ExtensionProvider {\r\n /** The hostname of the server where the extension is hosted. */\r\n public readonly hostname: string;\r\n\r\n constructor(private readonly _props: RemoteExtensionProviderProps) {\r\n this.hostname = new URL(this._props.jsUrl).hostname;\r\n }\r\n\r\n /**\r\n * Attempts to execute an extension.\r\n * Throws an error if the provided jsUrl is not accessible.\r\n */\r\n public async execute(): Promise<string> {\r\n return loadScript(this._props.jsUrl);\r\n }\r\n\r\n /**\r\n * Attempts to fetch an extension's manifest (package.json) file.\r\n * Throws an error if the provided manifestUrl is not accessible.\r\n */\r\n public async getManifest(): Promise<ExtensionManifest> {\r\n return request(this._props.manifestUrl, \"json\");\r\n }\r\n\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SceneCompositor.d.ts","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/SceneCompositor.ts"],"names":[],"mappings":"AAIA;;GAEG;AASH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D,OAAO,EAC2D,cAAc,EAE/E,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAe,WAAW,EAAE,MAAM,eAAe,CAAC;AAIzD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIlD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAW,eAAe,EAAE,MAAM,OAAO,CAAC;AAGjD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC,UAAU,GAAG,IAAI,CAGjH;AA6cD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC,UAAU,GAAG,IAAI,CAGhH;AAgTD;;;GAGG;AACH,8BAAsB,eAAgB,YAAW,eAAe,EAAE,YAAY,CAAC,QAAQ;IACrF,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,cAAc,EAAE,cAAc,CAAC;IAC/C,SAAgB,eAAe,EAAE,eAAe,CAAC;IAEjD,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC;IAEpC,aAAoB,UAAU,IAAI,OAAO,CAAC;aAC1B,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;aACxB,OAAO,IAAI,IAAI;aACf,IAAI,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI;aACrC,iBAAiB,CAAC,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,uBAAuB,EAAE,WAAW,GAAG,SAAS,EAAE,sBAAsB,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI;aACjL,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,SAAS;aAC9E,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS;aACzD,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS;aACtD,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI;aAC3D,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,qBAAqB,EAAE,aAAa,EAAE,OAAO,GAAG,IAAI;aAC9F,iBAAiB,IAAI,IAAI;IAEzC,8GAA8G;IAC9G,aAAoB,oBAAoB,IAAI,WAAW,CAAC;IAExD,aAAoB,UAAU,IAAI,aAAa,CAAC;IAChD,aAAoB,aAAa,IAAI,aAAa,CAAC;IACnD,aAAoB,gBAAgB,IAAI,MAAM,CAAC;IAE/C,IAAW,eAAe,IAAI,OAAO,CAAkC;IAEvE,SAAS,aAAa,MAAM,EAAE,MAAM;WAOtB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe;aAIrC,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,UAAU,GAAG,IAAI;CACxE"}
1
+ {"version":3,"file":"SceneCompositor.d.ts","sourceRoot":"","sources":["../../../../../src/internal/render/webgl/SceneCompositor.ts"],"names":[],"mappings":"AAIA;;GAEG;AASH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D,OAAO,EAC2D,cAAc,EAE/E,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAe,WAAW,EAAE,MAAM,eAAe,CAAC;AAIzD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIlD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAW,eAAe,EAAE,MAAM,OAAO,CAAC;AAGjD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC,UAAU,GAAG,IAAI,CAGjH;AA0cD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC,UAAU,GAAG,IAAI,CAGhH;AAgTD;;;GAGG;AACH,8BAAsB,eAAgB,YAAW,eAAe,EAAE,YAAY,CAAC,QAAQ;IACrF,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,cAAc,EAAE,cAAc,CAAC;IAC/C,SAAgB,eAAe,EAAE,eAAe,CAAC;IAEjD,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC;IAEpC,aAAoB,UAAU,IAAI,OAAO,CAAC;aAC1B,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;aACxB,OAAO,IAAI,IAAI;aACf,IAAI,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI;aACrC,iBAAiB,CAAC,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,uBAAuB,EAAE,WAAW,GAAG,SAAS,EAAE,sBAAsB,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI;aACjL,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,SAAS;aAC9E,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS;aACzD,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS;aACtD,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI;aAC3D,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,qBAAqB,EAAE,aAAa,EAAE,OAAO,GAAG,IAAI;aAC9F,iBAAiB,IAAI,IAAI;IAEzC,8GAA8G;IAC9G,aAAoB,oBAAoB,IAAI,WAAW,CAAC;IAExD,aAAoB,UAAU,IAAI,aAAa,CAAC;IAChD,aAAoB,aAAa,IAAI,aAAa,CAAC;IACnD,aAAoB,gBAAgB,IAAI,MAAM,CAAC;IAE/C,IAAW,eAAe,IAAI,OAAO,CAAkC;IAEvE,SAAS,aAAa,MAAM,EAAE,MAAM;WAOtB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe;aAIrC,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,UAAU,GAAG,IAAI;CACxE"}
@@ -232,8 +232,8 @@ class FrameBuffers {
232
232
  idsAndZComposite;
233
233
  idsAndAltZComposite;
234
234
  edlDrawCol;
235
- init(textures, depth, depthMS) {
236
- if (!this.initPotentialMSFbos(textures, depth, depthMS))
235
+ init(textures, depth, depthMS, boundColor) {
236
+ if (!this.initPotentialMSFbos(textures, depth, depthMS, boundColor))
237
237
  return false;
238
238
  this.depthAndOrder = FrameBuffer_1.FrameBuffer.create([(0, core_bentley_1.expectDefined)(textures.depthAndOrder)], depth);
239
239
  this.hilite = FrameBuffer_1.FrameBuffer.create([(0, core_bentley_1.expectDefined)(textures.hilite)], depth);
@@ -241,7 +241,7 @@ class FrameBuffers {
241
241
  if (!this.depthAndOrder || !this.hilite || !this.hiliteUsingStencil)
242
242
  return false;
243
243
  (0, core_bentley_1.assert)(undefined === this.opaqueAll);
244
- if (!this.initPotentialMSMRTFbos(textures, depth, depthMS))
244
+ if (!this.initPotentialMSMRTFbos(textures, depth, depthMS, boundColor))
245
245
  return false;
246
246
  (0, core_bentley_1.assert)(undefined !== textures.accumulation && undefined !== textures.revealage);
247
247
  const colors = [textures.accumulation, textures.revealage];
@@ -258,9 +258,8 @@ class FrameBuffers {
258
258
  && undefined !== this.clearTranslucent
259
259
  && undefined !== this.pingPong;
260
260
  }
261
- initPotentialMSFbos(textures, depth, depthMS) {
262
- const boundColor = System_1.System.instance.frameBufferStack.currentColorBuffer;
263
- (0, core_bentley_1.assert)(undefined !== boundColor && undefined !== textures.color);
261
+ initPotentialMSFbos(textures, depth, depthMS, boundColor) {
262
+ (0, core_bentley_1.assert)(undefined !== textures.color);
264
263
  if (undefined === depthMS) {
265
264
  this.opaqueColor = FrameBuffer_1.FrameBuffer.create([boundColor], depth);
266
265
  this.opaqueAndCompositeColor = FrameBuffer_1.FrameBuffer.create([textures.color], depth);
@@ -273,10 +272,8 @@ class FrameBuffers {
273
272
  return undefined !== this.opaqueColor
274
273
  && undefined !== this.opaqueAndCompositeColor;
275
274
  }
276
- initPotentialMSMRTFbos(textures, depth, depthMs) {
277
- const boundColor = System_1.System.instance.frameBufferStack.currentColorBuffer;
278
- (0, core_bentley_1.assert)(undefined !== boundColor &&
279
- undefined !== textures.color &&
275
+ initPotentialMSMRTFbos(textures, depth, depthMs, boundColor) {
276
+ (0, core_bentley_1.assert)(undefined !== textures.color &&
280
277
  undefined !== textures.featureId &&
281
278
  undefined !== textures.depthAndOrder &&
282
279
  undefined !== textures.accumulation &&
@@ -390,23 +387,23 @@ class FrameBuffers {
390
387
  this.idsAndAltZComposite = (0, core_bentley_1.dispose)(this.idsAndAltZComposite);
391
388
  }
392
389
  }
393
- enableMultiSampling(textures, depth, depthMS) {
390
+ enableMultiSampling(textures, depth, depthMS, boundColor) {
394
391
  this.opaqueColor = (0, core_bentley_1.dispose)(this.opaqueColor);
395
392
  this.opaqueAndCompositeColor = (0, core_bentley_1.dispose)(this.opaqueAndCompositeColor);
396
- let rVal = this.initPotentialMSFbos(textures, depth, depthMS);
393
+ let rVal = this.initPotentialMSFbos(textures, depth, depthMS, boundColor);
397
394
  this.opaqueAll = (0, core_bentley_1.dispose)(this.opaqueAll);
398
395
  this.opaqueAndCompositeAll = (0, core_bentley_1.dispose)(this.opaqueAndCompositeAll);
399
- rVal = this.initPotentialMSMRTFbos(textures, depth, depthMS);
396
+ rVal = this.initPotentialMSMRTFbos(textures, depth, depthMS, boundColor);
400
397
  return rVal;
401
398
  }
402
- disableMultiSampling(textures, depth) {
399
+ disableMultiSampling(textures, depth, boundColor) {
403
400
  this.opaqueAll = (0, core_bentley_1.dispose)(this.opaqueAll);
404
401
  this.opaqueAndCompositeAll = (0, core_bentley_1.dispose)(this.opaqueAndCompositeAll);
405
- if (!this.initPotentialMSMRTFbos(textures, depth, undefined))
402
+ if (!this.initPotentialMSMRTFbos(textures, depth, undefined, boundColor))
406
403
  return false;
407
404
  this.opaqueColor = (0, core_bentley_1.dispose)(this.opaqueColor);
408
405
  this.opaqueAndCompositeColor = (0, core_bentley_1.dispose)(this.opaqueAndCompositeColor);
409
- return this.initPotentialMSFbos(textures, depth, undefined);
406
+ return this.initPotentialMSFbos(textures, depth, undefined, boundColor);
410
407
  }
411
408
  get isDisposed() {
412
409
  return undefined === this.opaqueColor && undefined === this.opaqueAndCompositeColor && undefined === this.depthAndOrder
@@ -1450,7 +1447,7 @@ class Compositor extends SceneCompositor {
1450
1447
  this._depthMS = undefined;
1451
1448
  if (this._depth !== undefined) {
1452
1449
  return this._textures.init(this._width, this._height, this._antialiasSamples)
1453
- && this._fbos.init(this._textures, this._depth, this._depthMS)
1450
+ && this._fbos.init(this._textures, this._depth, this._depthMS, (0, core_bentley_1.expectDefined)(this.target.outputColorTexture))
1454
1451
  && this._geom.init(this._textures)
1455
1452
  && this.eyeDomeLighting.init(this._width, this._height, this._depth);
1456
1453
  }
@@ -1465,11 +1462,11 @@ class Compositor extends SceneCompositor {
1465
1462
  if (!this._textures.enableMultiSampling(this._width, this._height, this._antialiasSamples))
1466
1463
  return false;
1467
1464
  (0, core_bentley_1.assert)(undefined !== this._depth && undefined !== this._depthMS);
1468
- return this._fbos.enableMultiSampling(this._textures, this._depth, this._depthMS);
1465
+ return this._fbos.enableMultiSampling(this._textures, this._depth, this._depthMS, (0, core_bentley_1.expectDefined)(this.target.outputColorTexture));
1469
1466
  }
1470
1467
  disableMultiSampling() {
1471
1468
  (0, core_bentley_1.assert)(undefined !== this._depth);
1472
- if (!this._fbos.disableMultiSampling(this._textures, this._depth))
1469
+ if (!this._fbos.disableMultiSampling(this._textures, this._depth, (0, core_bentley_1.expectDefined)(this.target.outputColorTexture)))
1473
1470
  return false;
1474
1471
  // Want to disable multisampling without deleting & reallocating other stuff.
1475
1472
  this._depthMS = (0, core_bentley_1.dispose)(this._depthMS);