@plasius/gpu-shared 0.1.13 → 0.1.15

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 (41) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +70 -3
  3. package/dist/{chunk-NCPJWLX3.js → chunk-2GM64LB6.js} +1 -9
  4. package/dist/{chunk-NCPJWLX3.js.map → chunk-2GM64LB6.js.map} +1 -1
  5. package/dist/chunk-6SOHFUOE.js +403 -0
  6. package/dist/chunk-6SOHFUOE.js.map +1 -0
  7. package/dist/{chunk-DABW627O.js → chunk-CH3ZS5TQ.js} +7 -1
  8. package/dist/chunk-CH3ZS5TQ.js.map +1 -0
  9. package/dist/chunk-DGUM43GV.js +11 -0
  10. package/dist/{chunk-DQX4DXBR.js → chunk-QVNRTWHB.js} +82 -6
  11. package/dist/chunk-QVNRTWHB.js.map +1 -0
  12. package/dist/dist-B5R2GZQR.js +1433 -0
  13. package/dist/dist-B5R2GZQR.js.map +1 -0
  14. package/dist/gltf-loader-B6VOWGBV.js +9 -0
  15. package/dist/index.cjs +2408 -5913
  16. package/dist/index.cjs.map +1 -1
  17. package/dist/index.js +55 -5
  18. package/dist/index.js.map +1 -1
  19. package/dist/product-studio-runtime-BYVBUWIN.js +12 -0
  20. package/dist/product-studio-runtime-BYVBUWIN.js.map +1 -0
  21. package/dist/showcase-inline-assets-QRQKXGVX.js +8 -0
  22. package/dist/showcase-inline-assets-QRQKXGVX.js.map +1 -0
  23. package/dist/showcase-runtime-M6TEUYOG.js +3786 -0
  24. package/dist/showcase-runtime-M6TEUYOG.js.map +1 -0
  25. package/package.json +7 -10
  26. package/src/feature-flags.js +1 -0
  27. package/src/gltf-loader.js +14 -2
  28. package/src/index.d.ts +73 -1
  29. package/src/index.js +67 -0
  30. package/src/product-studio-runtime.js +466 -0
  31. package/src/showcase-runtime.js +875 -72
  32. package/dist/chunk-2FIFSBB4.js +0 -74
  33. package/dist/chunk-2FIFSBB4.js.map +0 -1
  34. package/dist/chunk-DABW627O.js.map +0 -1
  35. package/dist/chunk-DQX4DXBR.js.map +0 -1
  36. package/dist/gltf-loader-WAM23F37.js +0 -9
  37. package/dist/showcase-inline-assets-B7U7VX5H.js +0 -7
  38. package/dist/showcase-runtime-PN7N3FZY.js +0 -9164
  39. package/dist/showcase-runtime-PN7N3FZY.js.map +0 -1
  40. /package/dist/{gltf-loader-WAM23F37.js.map → chunk-DGUM43GV.js.map} +0 -0
  41. /package/dist/{showcase-inline-assets-B7U7VX5H.js.map → gltf-loader-B6VOWGBV.js.map} +0 -0
package/dist/index.js CHANGED
@@ -1,14 +1,21 @@
1
1
  import {
2
+ createProductStudioMeshes,
3
+ mountGpuProductStudio
4
+ } from "./chunk-6SOHFUOE.js";
5
+ import {
6
+ GPU_SHOWCASE_PRODUCT_STUDIO_FEATURE,
7
+ GPU_SHOWCASE_REALISTIC_MODELS_FEATURE,
2
8
  createGpuSharedTranslator,
3
9
  gpuSharedEnGbTranslations,
4
10
  gpuSharedTranslationKeys,
5
11
  gpuSharedTranslations,
6
12
  translateGpuSharedText
7
- } from "./chunk-DABW627O.js";
13
+ } from "./chunk-CH3ZS5TQ.js";
8
14
  import {
9
15
  resolveShowcaseAssetUrl
10
- } from "./chunk-2FIFSBB4.js";
11
- import "./chunk-NCPJWLX3.js";
16
+ } from "./chunk-QVNRTWHB.js";
17
+ import "./chunk-2GM64LB6.js";
18
+ import "./chunk-DGUM43GV.js";
12
19
 
13
20
  // src/index.js
14
21
  var showcaseFocusModes = Object.freeze([
@@ -20,29 +27,72 @@ var showcaseFocusModes = Object.freeze([
20
27
  "performance",
21
28
  "debug"
22
29
  ]);
30
+ var showcaseDemoModes = Object.freeze(["harbor", "product-studio"]);
23
31
  async function loadGltfModel(url) {
24
- const module = await import("./gltf-loader-WAM23F37.js");
32
+ const module = await import("./gltf-loader-B6VOWGBV.js");
25
33
  return module.loadGltfModel(url);
26
34
  }
35
+ function isProductStudioFeatureEnabled(featureFlags) {
36
+ if (typeof featureFlags?.get === "function") {
37
+ return featureFlags.get(GPU_SHOWCASE_PRODUCT_STUDIO_FEATURE) === true;
38
+ }
39
+ const direct = featureFlags?.[GPU_SHOWCASE_PRODUCT_STUDIO_FEATURE];
40
+ if (typeof direct === "boolean") {
41
+ return direct;
42
+ }
43
+ const flagsValue = featureFlags?.flags?.[GPU_SHOWCASE_PRODUCT_STUDIO_FEATURE];
44
+ if (typeof flagsValue === "boolean") {
45
+ return flagsValue;
46
+ }
47
+ const enabledValue = featureFlags?.enabled?.[GPU_SHOWCASE_PRODUCT_STUDIO_FEATURE];
48
+ if (typeof enabledValue === "boolean") {
49
+ return enabledValue;
50
+ }
51
+ return false;
52
+ }
27
53
  async function mountGpuShowcase(options = {}) {
28
- const runtimeLoader = typeof options.__runtimeLoader === "function" ? options.__runtimeLoader : () => import("./showcase-runtime-PN7N3FZY.js");
54
+ const demoMode = options.demoMode ?? options.mode;
55
+ if (demoMode === "product-studio" || demoMode === "product" || demoMode === "studio" || demoMode === "eames") {
56
+ if (!isProductStudioFeatureEnabled(options.__featureFlags)) {
57
+ throw new Error(
58
+ `${GPU_SHOWCASE_PRODUCT_STUDIO_FEATURE} must be enabled before Product Studio can mount.`
59
+ );
60
+ }
61
+ const productRuntimeLoader = typeof options.__productRuntimeLoader === "function" ? options.__productRuntimeLoader : () => import("./product-studio-runtime-BYVBUWIN.js");
62
+ const productModule = await productRuntimeLoader();
63
+ if (typeof productModule.mountGpuProductStudio !== "function") {
64
+ throw new Error("product runtime loader must provide mountGpuProductStudio.");
65
+ }
66
+ const productOptions = { ...options, demoMode };
67
+ delete productOptions.__runtimeLoader;
68
+ delete productOptions.__productRuntimeLoader;
69
+ delete productOptions.__featureFlags;
70
+ return productModule.mountGpuProductStudio(productOptions, options.__featureFlags);
71
+ }
72
+ const runtimeLoader = typeof options.__runtimeLoader === "function" ? options.__runtimeLoader : () => import("./showcase-runtime-M6TEUYOG.js");
29
73
  const module = await runtimeLoader();
30
74
  if (typeof module.mountGpuShowcase !== "function") {
31
75
  throw new Error("showcase runtime loader must provide mountGpuShowcase.");
32
76
  }
33
77
  const publicOptions = { ...options };
34
78
  delete publicOptions.__runtimeLoader;
79
+ delete publicOptions.__productRuntimeLoader;
35
80
  delete publicOptions.__featureFlags;
36
81
  return module.mountGpuShowcase(publicOptions, options.__featureFlags);
37
82
  }
38
83
  export {
84
+ GPU_SHOWCASE_PRODUCT_STUDIO_FEATURE,
85
+ GPU_SHOWCASE_REALISTIC_MODELS_FEATURE,
39
86
  createGpuSharedTranslator,
87
+ createProductStudioMeshes,
40
88
  gpuSharedEnGbTranslations,
41
89
  gpuSharedTranslationKeys,
42
90
  gpuSharedTranslations,
43
91
  loadGltfModel,
92
+ mountGpuProductStudio,
44
93
  mountGpuShowcase,
45
94
  resolveShowcaseAssetUrl,
95
+ showcaseDemoModes,
46
96
  showcaseFocusModes,
47
97
  translateGpuSharedText
48
98
  };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"sourcesContent":["export { resolveShowcaseAssetUrl } from \"./asset-url.js\";\nexport {\n createGpuSharedTranslator,\n gpuSharedTranslationKeys,\n gpuSharedTranslations,\n translateGpuSharedText,\n} from \"./i18n.js\";\nexport { gpuSharedEnGbTranslations } from \"./translations/en-GB.js\";\n\nexport const showcaseFocusModes = Object.freeze([\n \"integrated\",\n \"lighting\",\n \"cloth\",\n \"fluid\",\n \"physics\",\n \"performance\",\n \"debug\",\n]);\n\nexport async function loadGltfModel(url) {\n const module = await import(\"./gltf-loader.js\");\n return module.loadGltfModel(url);\n}\n\nexport async function mountGpuShowcase(options = {}) {\n const runtimeLoader =\n typeof options.__runtimeLoader === \"function\"\n ? options.__runtimeLoader\n : () => import(\"./showcase-runtime.js\");\n const module = await runtimeLoader();\n if (typeof module.mountGpuShowcase !== \"function\") {\n throw new Error(\"showcase runtime loader must provide mountGpuShowcase.\");\n }\n\n const publicOptions = { ...options };\n delete publicOptions.__runtimeLoader;\n delete publicOptions.__featureFlags;\n return module.mountGpuShowcase(publicOptions, options.__featureFlags);\n}\n"],"mappings":";;;;;;;;;;;;;AASO,IAAM,qBAAqB,OAAO,OAAO;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAED,eAAsB,cAAc,KAAK;AACvC,QAAM,SAAS,MAAM,OAAO,2BAAkB;AAC9C,SAAO,OAAO,cAAc,GAAG;AACjC;AAEA,eAAsB,iBAAiB,UAAU,CAAC,GAAG;AACnD,QAAM,gBACJ,OAAO,QAAQ,oBAAoB,aAC/B,QAAQ,kBACR,MAAM,OAAO,gCAAuB;AAC1C,QAAM,SAAS,MAAM,cAAc;AACnC,MAAI,OAAO,OAAO,qBAAqB,YAAY;AACjD,UAAM,IAAI,MAAM,wDAAwD;AAAA,EAC1E;AAEA,QAAM,gBAAgB,EAAE,GAAG,QAAQ;AACnC,SAAO,cAAc;AACrB,SAAO,cAAc;AACrB,SAAO,OAAO,iBAAiB,eAAe,QAAQ,cAAc;AACtE;","names":[]}
1
+ {"version":3,"sources":["../src/index.js"],"sourcesContent":["import {\n GPU_SHOWCASE_PRODUCT_STUDIO_FEATURE,\n GPU_SHOWCASE_REALISTIC_MODELS_FEATURE,\n} from \"./feature-flags.js\";\n\nexport { resolveShowcaseAssetUrl } from \"./asset-url.js\";\nexport {\n createGpuSharedTranslator,\n gpuSharedTranslationKeys,\n gpuSharedTranslations,\n translateGpuSharedText,\n} from \"./i18n.js\";\nexport { gpuSharedEnGbTranslations } from \"./translations/en-GB.js\";\nexport {\n GPU_SHOWCASE_PRODUCT_STUDIO_FEATURE,\n GPU_SHOWCASE_REALISTIC_MODELS_FEATURE,\n};\nexport {\n createProductStudioMeshes,\n mountGpuProductStudio,\n} from \"./product-studio-runtime.js\";\n\nexport const showcaseFocusModes = Object.freeze([\n \"integrated\",\n \"lighting\",\n \"cloth\",\n \"fluid\",\n \"physics\",\n \"performance\",\n \"debug\",\n]);\nexport const showcaseDemoModes = Object.freeze([\"harbor\", \"product-studio\"]);\n\nexport async function loadGltfModel(url) {\n const module = await import(\"./gltf-loader.js\");\n return module.loadGltfModel(url);\n}\n\nfunction isProductStudioFeatureEnabled(featureFlags) {\n if (typeof featureFlags?.get === \"function\") {\n return featureFlags.get(GPU_SHOWCASE_PRODUCT_STUDIO_FEATURE) === true;\n }\n\n const direct = featureFlags?.[GPU_SHOWCASE_PRODUCT_STUDIO_FEATURE];\n if (typeof direct === \"boolean\") {\n return direct;\n }\n\n const flagsValue = featureFlags?.flags?.[GPU_SHOWCASE_PRODUCT_STUDIO_FEATURE];\n if (typeof flagsValue === \"boolean\") {\n return flagsValue;\n }\n\n const enabledValue = featureFlags?.enabled?.[GPU_SHOWCASE_PRODUCT_STUDIO_FEATURE];\n if (typeof enabledValue === \"boolean\") {\n return enabledValue;\n }\n\n return false;\n}\n\nexport async function mountGpuShowcase(options = {}) {\n const demoMode = options.demoMode ?? options.mode;\n if (\n demoMode === \"product-studio\" ||\n demoMode === \"product\" ||\n demoMode === \"studio\" ||\n demoMode === \"eames\"\n ) {\n if (!isProductStudioFeatureEnabled(options.__featureFlags)) {\n throw new Error(\n `${GPU_SHOWCASE_PRODUCT_STUDIO_FEATURE} must be enabled before Product Studio can mount.`\n );\n }\n\n const productRuntimeLoader =\n typeof options.__productRuntimeLoader === \"function\"\n ? options.__productRuntimeLoader\n : () => import(\"./product-studio-runtime.js\");\n const productModule = await productRuntimeLoader();\n if (typeof productModule.mountGpuProductStudio !== \"function\") {\n throw new Error(\"product runtime loader must provide mountGpuProductStudio.\");\n }\n\n const productOptions = { ...options, demoMode };\n delete productOptions.__runtimeLoader;\n delete productOptions.__productRuntimeLoader;\n delete productOptions.__featureFlags;\n return productModule.mountGpuProductStudio(productOptions, options.__featureFlags);\n }\n\n const runtimeLoader =\n typeof options.__runtimeLoader === \"function\"\n ? options.__runtimeLoader\n : () => import(\"./showcase-runtime.js\");\n const module = await runtimeLoader();\n if (typeof module.mountGpuShowcase !== \"function\") {\n throw new Error(\"showcase runtime loader must provide mountGpuShowcase.\");\n }\n\n const publicOptions = { ...options };\n delete publicOptions.__runtimeLoader;\n delete publicOptions.__productRuntimeLoader;\n delete publicOptions.__featureFlags;\n return module.mountGpuShowcase(publicOptions, options.__featureFlags);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAsBO,IAAM,qBAAqB,OAAO,OAAO;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AACM,IAAM,oBAAoB,OAAO,OAAO,CAAC,UAAU,gBAAgB,CAAC;AAE3E,eAAsB,cAAc,KAAK;AACvC,QAAM,SAAS,MAAM,OAAO,2BAAkB;AAC9C,SAAO,OAAO,cAAc,GAAG;AACjC;AAEA,SAAS,8BAA8B,cAAc;AACnD,MAAI,OAAO,cAAc,QAAQ,YAAY;AAC3C,WAAO,aAAa,IAAI,mCAAmC,MAAM;AAAA,EACnE;AAEA,QAAM,SAAS,eAAe,mCAAmC;AACjE,MAAI,OAAO,WAAW,WAAW;AAC/B,WAAO;AAAA,EACT;AAEA,QAAM,aAAa,cAAc,QAAQ,mCAAmC;AAC5E,MAAI,OAAO,eAAe,WAAW;AACnC,WAAO;AAAA,EACT;AAEA,QAAM,eAAe,cAAc,UAAU,mCAAmC;AAChF,MAAI,OAAO,iBAAiB,WAAW;AACrC,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEA,eAAsB,iBAAiB,UAAU,CAAC,GAAG;AACnD,QAAM,WAAW,QAAQ,YAAY,QAAQ;AAC7C,MACE,aAAa,oBACb,aAAa,aACb,aAAa,YACb,aAAa,SACb;AACA,QAAI,CAAC,8BAA8B,QAAQ,cAAc,GAAG;AAC1D,YAAM,IAAI;AAAA,QACR,GAAG,mCAAmC;AAAA,MACxC;AAAA,IACF;AAEA,UAAM,uBACJ,OAAO,QAAQ,2BAA2B,aACtC,QAAQ,yBACR,MAAM,OAAO,sCAA6B;AAChD,UAAM,gBAAgB,MAAM,qBAAqB;AACjD,QAAI,OAAO,cAAc,0BAA0B,YAAY;AAC7D,YAAM,IAAI,MAAM,4DAA4D;AAAA,IAC9E;AAEA,UAAM,iBAAiB,EAAE,GAAG,SAAS,SAAS;AAC9C,WAAO,eAAe;AACtB,WAAO,eAAe;AACtB,WAAO,eAAe;AACtB,WAAO,cAAc,sBAAsB,gBAAgB,QAAQ,cAAc;AAAA,EACnF;AAEA,QAAM,gBACJ,OAAO,QAAQ,oBAAoB,aAC/B,QAAQ,kBACR,MAAM,OAAO,gCAAuB;AAC1C,QAAM,SAAS,MAAM,cAAc;AACnC,MAAI,OAAO,OAAO,qBAAqB,YAAY;AACjD,UAAM,IAAI,MAAM,wDAAwD;AAAA,EAC1E;AAEA,QAAM,gBAAgB,EAAE,GAAG,QAAQ;AACnC,SAAO,cAAc;AACrB,SAAO,cAAc;AACrB,SAAO,cAAc;AACrB,SAAO,OAAO,iBAAiB,eAAe,QAAQ,cAAc;AACtE;","names":[]}
@@ -0,0 +1,12 @@
1
+ import {
2
+ createProductStudioMeshes,
3
+ mountGpuProductStudio
4
+ } from "./chunk-6SOHFUOE.js";
5
+ import "./chunk-QVNRTWHB.js";
6
+ import "./chunk-2GM64LB6.js";
7
+ import "./chunk-DGUM43GV.js";
8
+ export {
9
+ createProductStudioMeshes,
10
+ mountGpuProductStudio
11
+ };
12
+ //# sourceMappingURL=product-studio-runtime-BYVBUWIN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,8 @@
1
+ import {
2
+ INLINE_SHOWCASE_ASSET_URLS
3
+ } from "./chunk-2GM64LB6.js";
4
+ import "./chunk-DGUM43GV.js";
5
+ export {
6
+ INLINE_SHOWCASE_ASSET_URLS
7
+ };
8
+ //# sourceMappingURL=showcase-inline-assets-QRQKXGVX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}