@plattar/plattar-ar-adapter 1.129.1 → 1.130.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.
@@ -1,4 +1,8 @@
1
+ export interface LauncherAROptions {
2
+ anchor: "horizontal" | "vertical" | "vto" | "horizontal_vertical";
3
+ }
1
4
  export declare abstract class LauncherAR {
5
+ private readonly _opt;
2
6
  constructor();
3
7
  abstract init(): Promise<LauncherAR>;
4
8
  abstract start(): void;
@@ -10,4 +14,8 @@ export declare abstract class LauncherAR {
10
14
  * Use .init() and .start() separately for fine-grained control
11
15
  */
12
16
  launch(): Promise<void>;
17
+ /**
18
+ * AR Options used for launching AR
19
+ */
20
+ get options(): LauncherAROptions;
13
21
  }
@@ -2,7 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LauncherAR = void 0;
4
4
  class LauncherAR {
5
- constructor() { }
5
+ constructor() {
6
+ this._opt = {
7
+ anchor: "horizontal_vertical"
8
+ };
9
+ }
6
10
  /**
7
11
  * Initialise and launch with a single function call. this is mostly for convenience.
8
12
  * Use .init() and .start() separately for fine-grained control
@@ -15,5 +19,11 @@ class LauncherAR {
15
19
  }).catch(reject);
16
20
  });
17
21
  }
22
+ /**
23
+ * AR Options used for launching AR
24
+ */
25
+ get options() {
26
+ return this._opt;
27
+ }
18
28
  }
19
29
  exports.LauncherAR = LauncherAR;
@@ -80,8 +80,10 @@ class ModelAR extends launcher_ar_1.LauncherAR {
80
80
  }
81
81
  // check android
82
82
  if (util_1.Util.canSceneViewer()) {
83
- this._ar = new scene_viewer_1.default();
84
- this._ar.modelUrl = plattar_api_1.Server.location().cdn + model.attributes.path + model.attributes.original_filename;
83
+ const arviewer = new scene_viewer_1.default();
84
+ arviewer.modelUrl = plattar_api_1.Server.location().cdn + model.attributes.path + model.attributes.original_filename;
85
+ arviewer.isVertical = this.options.anchor === "vertical" ? true : false;
86
+ this._ar = arviewer;
85
87
  return accept(this);
86
88
  }
87
89
  // otherwise, we didn't have AR available - it should never really reach this stage as this should be caught
@@ -122,8 +122,17 @@ class ProductAR extends launcher_ar_1.LauncherAR {
122
122
  }
123
123
  // check android
124
124
  if (util_1.Util.canSceneViewer()) {
125
- this._ar = new scene_viewer_1.default();
126
- this._ar.modelUrl = plattar_api_1.Server.location().cdn + model.attributes.path + model.attributes.original_filename;
125
+ const arviewer = new scene_viewer_1.default();
126
+ arviewer.modelUrl = plattar_api_1.Server.location().cdn + model.attributes.path + model.attributes.original_filename;
127
+ arviewer.isVertical = this.options.anchor === "vertical" ? true : false;
128
+ const scene = product.relationships.find(plattar_api_1.Scene);
129
+ if (scene) {
130
+ const sceneOpt = scene.attributes.custom_json || {};
131
+ if (sceneOpt.anchor === "vertical") {
132
+ arviewer.isVertical = true;
133
+ }
134
+ }
135
+ this._ar = arviewer;
127
136
  return accept(this);
128
137
  }
129
138
  // otherwise, we didn't have AR available - it should never really reach this stage as this should be caught
package/dist/ar/raw-ar.js CHANGED
@@ -64,8 +64,10 @@ class RawAR extends launcher_ar_1.LauncherAR {
64
64
  // check android
65
65
  if (util_1.Util.canSceneViewer()) {
66
66
  if (lowerLoc.endsWith("glb") || lowerLoc.endsWith("gltf")) {
67
- this._ar = new scene_viewer_1.default();
68
- this._ar.modelUrl = modelLocation;
67
+ const arviewer = new scene_viewer_1.default();
68
+ arviewer.modelUrl = modelLocation;
69
+ arviewer.isVertical = this.options.anchor === "vertical" ? true : false;
70
+ this._ar = arviewer;
69
71
  return accept(this);
70
72
  }
71
73
  return reject(new Error("RawAR.init() - cannot proceed as model is not a .glb or .gltf file"));
@@ -123,8 +123,13 @@ class SceneAR extends launcher_ar_1.LauncherAR {
123
123
  // check android
124
124
  if (util_1.Util.canSceneViewer()) {
125
125
  return this._ComposeScene(scene, "glb").then((modelUrl) => {
126
- this._ar = new scene_viewer_1.default();
127
- this._ar.modelUrl = modelUrl;
126
+ const arviewer = new scene_viewer_1.default();
127
+ arviewer.modelUrl = modelUrl;
128
+ arviewer.isVertical = this.options.anchor === "vertical" ? true : false;
129
+ if (sceneOpt.anchor === "vertical") {
130
+ arviewer.isVertical = true;
131
+ }
132
+ this._ar = arviewer;
128
133
  return accept(this);
129
134
  }).catch(reject);
130
135
  }
package/dist/index.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  export * as PlattarWeb from "@plattar/plattar-web";
2
2
  export * as PlattarQRCode from "@plattar/plattar-qrcode";
3
3
  export * as version from "./version";
4
+ export { LauncherAR } from "./ar/launcher-ar";
5
+ export { LauncherAROptions } from "./ar/launcher-ar";
4
6
  export { ProductAR } from "./ar/product-ar";
5
7
  export { SceneProductAR } from "./ar/scene-product-ar";
6
8
  export { SceneAR } from "./ar/scene-ar";
package/dist/index.js CHANGED
@@ -26,10 +26,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.ConfiguratorState = exports.Util = exports.RawAR = exports.ModelAR = exports.SceneAR = exports.SceneProductAR = exports.ProductAR = exports.version = exports.PlattarQRCode = exports.PlattarWeb = void 0;
29
+ exports.ConfiguratorState = exports.Util = exports.RawAR = exports.ModelAR = exports.SceneAR = exports.SceneProductAR = exports.ProductAR = exports.LauncherAR = exports.version = exports.PlattarQRCode = exports.PlattarWeb = void 0;
30
30
  exports.PlattarWeb = __importStar(require("@plattar/plattar-web"));
31
31
  exports.PlattarQRCode = __importStar(require("@plattar/plattar-qrcode"));
32
32
  exports.version = __importStar(require("./version"));
33
+ var launcher_ar_1 = require("./ar/launcher-ar");
34
+ Object.defineProperty(exports, "LauncherAR", { enumerable: true, get: function () { return launcher_ar_1.LauncherAR; } });
33
35
  var product_ar_1 = require("./ar/product-ar");
34
36
  Object.defineProperty(exports, "ProductAR", { enumerable: true, get: function () { return product_ar_1.ProductAR; } });
35
37
  var scene_product_ar_1 = require("./ar/scene-product-ar");
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- declare const _default: "1.129.1";
1
+ declare const _default: "1.130.1";
2
2
  export default _default;
package/dist/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = "1.129.1";
3
+ exports.default = "1.130.1";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plattar/plattar-ar-adapter",
3
- "version": "1.129.1",
3
+ "version": "1.130.1",
4
4
  "description": "Plattar AR Adapter for interfacing with Google & Apple WebAR",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -41,7 +41,7 @@
41
41
  "@plattar/plattar-api": "^1.120.1",
42
42
  "@plattar/plattar-qrcode": "1.122.1",
43
43
  "@plattar/plattar-services": "^1.120.1",
44
- "@plattar/plattar-web": "^1.128.1"
44
+ "@plattar/plattar-web": "^1.129.1"
45
45
  },
46
46
  "devDependencies": {
47
47
  "@babel/cli": "^7.17.10",
@@ -49,7 +49,7 @@
49
49
  "@babel/preset-env": "^7.17.10",
50
50
  "browserify": "^17.0.0",
51
51
  "typescript": "^4.6.4",
52
- "uglify-js": "^3.15.4"
52
+ "uglify-js": "^3.15.5"
53
53
  },
54
54
  "publishConfig": {
55
55
  "access": "public"