@needle-tools/engine 4.10.0-beta.3 → 4.10.0-beta.5

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 (51) hide show
  1. package/components.needle.json +1 -1
  2. package/dist/{needle-engine.bundle-CLzMgxkO.min.js → needle-engine.bundle-BGVvfSfQ.min.js} +132 -130
  3. package/dist/{needle-engine.bundle-Ddybtee9.js → needle-engine.bundle-DcvMQ1Nq.js} +6115 -6083
  4. package/dist/{needle-engine.bundle-Ckr5KE6m.umd.cjs → needle-engine.bundle-DzVytSSo.umd.cjs} +133 -131
  5. package/dist/needle-engine.js +332 -331
  6. package/dist/needle-engine.min.js +1 -1
  7. package/dist/needle-engine.umd.cjs +1 -1
  8. package/lib/engine/codegen/register_types.js +1 -1
  9. package/lib/engine/codegen/register_types.js.map +1 -1
  10. package/lib/engine/engine_camera.js +5 -5
  11. package/lib/engine/engine_camera.js.map +1 -1
  12. package/lib/engine/engine_gizmos.d.ts +11 -10
  13. package/lib/engine/engine_gizmos.js +24 -10
  14. package/lib/engine/engine_gizmos.js.map +1 -1
  15. package/lib/engine/extensions/extension_utils.js +1 -1
  16. package/lib/engine/extensions/extension_utils.js.map +1 -1
  17. package/lib/engine/xr/NeedleXRController.d.ts +3 -3
  18. package/lib/engine/xr/NeedleXRController.js +28 -0
  19. package/lib/engine/xr/NeedleXRController.js.map +1 -1
  20. package/lib/engine-components/codegen/components.d.ts +1 -1
  21. package/lib/engine-components/codegen/components.js +1 -1
  22. package/lib/engine-components/codegen/components.js.map +1 -1
  23. package/lib/engine-components/debug/LogStats.d.ts +1 -0
  24. package/lib/engine-components/debug/LogStats.js +1 -0
  25. package/lib/engine-components/debug/LogStats.js.map +1 -1
  26. package/lib/engine-components/timeline/PlayableDirector.js +1 -1
  27. package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
  28. package/lib/engine-components/timeline/TimelineTracks.d.ts +2 -1
  29. package/lib/engine-components/timeline/TimelineTracks.js +24 -19
  30. package/lib/engine-components/timeline/TimelineTracks.js.map +1 -1
  31. package/lib/engine-components/web/ScrollFollow.js +36 -34
  32. package/lib/engine-components/web/ScrollFollow.js.map +1 -1
  33. package/lib/engine-components/web/ViewBox.d.ts +14 -2
  34. package/lib/engine-components/web/ViewBox.js +39 -23
  35. package/lib/engine-components/web/ViewBox.js.map +1 -1
  36. package/lib/engine-components-experimental/Presentation.d.ts +1 -0
  37. package/lib/engine-components-experimental/Presentation.js +1 -0
  38. package/lib/engine-components-experimental/Presentation.js.map +1 -1
  39. package/package.json +1 -1
  40. package/src/engine/codegen/register_types.ts +1 -1
  41. package/src/engine/engine_camera.ts +5 -7
  42. package/src/engine/engine_gizmos.ts +37 -23
  43. package/src/engine/extensions/extension_utils.ts +1 -1
  44. package/src/engine/xr/NeedleXRController.ts +36 -4
  45. package/src/engine-components/codegen/components.ts +1 -1
  46. package/src/engine-components/debug/LogStats.ts +1 -0
  47. package/src/engine-components/timeline/PlayableDirector.ts +1 -1
  48. package/src/engine-components/timeline/TimelineTracks.ts +24 -19
  49. package/src/engine-components/web/ScrollFollow.ts +40 -36
  50. package/src/engine-components/web/ViewBox.ts +45 -27
  51. package/src/engine-components-experimental/Presentation.ts +1 -0
@@ -96,10 +96,11 @@ export declare class AudioTrackHandler extends TrackHandler {
96
96
  }
97
97
  export declare class MarkerTrackHandler extends TrackHandler {
98
98
  models: Array<Models.MarkerModel & Record<string, any>>;
99
- isDirty: boolean;
99
+ needsSorting: boolean;
100
100
  foreachMarker<T>(type?: string | null): Generator<T, void, unknown>;
101
101
  onEnable(): void;
102
102
  evaluate(_time: number): void;
103
+ private sort;
103
104
  }
104
105
  export declare class SignalTrackHandler extends TrackHandler {
105
106
  models: Models.SignalMarkerModel[];
@@ -156,21 +156,22 @@ export class AnimationTrackHandler extends TrackHandler {
156
156
  return;
157
157
  }
158
158
  // we only want to hook into the binding of the root object
159
- // TODO: test with a clip with multiple roots
160
- const parts = clip.tracks[0].name.split(".");
161
- const rootName = parts[parts.length - 2];
162
- const positionTrackName = rootName + ".position";
163
- const rotationTrackName = rootName + ".quaternion";
164
159
  let foundPositionTrack = false;
165
160
  let foundRotationTrack = false;
166
- for (const t of clip.tracks) {
167
- if (t.name.endsWith(positionTrackName)) {
168
- foundPositionTrack = true;
169
- this.createPositionInterpolant(clip, clipModel, t);
170
- }
171
- else if (t.name.endsWith(rotationTrackName)) {
172
- foundRotationTrack = true;
173
- this.createRotationInterpolant(clip, clipModel, t);
161
+ const parts = clip.tracks.find(t => t.name.includes(".position") || t.name.includes(".quaternion"))?.name.split(".");
162
+ if (parts) {
163
+ const rootName = parts[parts.length - 2];
164
+ const positionTrackName = rootName + ".position";
165
+ const rotationTrackName = rootName + ".quaternion";
166
+ for (const t of clip.tracks) {
167
+ if (!foundPositionTrack && t.name.endsWith(positionTrackName)) {
168
+ foundPositionTrack = true;
169
+ this.createPositionInterpolant(clip, clipModel, t);
170
+ }
171
+ else if (!foundRotationTrack && t.name.endsWith(rotationTrackName)) {
172
+ foundRotationTrack = true;
173
+ this.createRotationInterpolant(clip, clipModel, t);
174
+ }
174
175
  }
175
176
  }
176
177
  // ensure we always have a position and rotation track so we can apply offsets in interpolator
@@ -758,21 +759,25 @@ export class AudioTrackHandler extends TrackHandler {
758
759
  }
759
760
  export class MarkerTrackHandler extends TrackHandler {
760
761
  models = [];
761
- isDirty = true;
762
+ needsSorting = true;
762
763
  *foreachMarker(type = null) {
764
+ if (this.needsSorting)
765
+ this.sort();
763
766
  for (const model of this.models) {
764
767
  if (model && model.type === type)
765
768
  yield model;
766
769
  }
767
770
  }
768
771
  onEnable() {
769
- this.isDirty = true;
772
+ this.needsSorting = true;
770
773
  }
771
774
  evaluate(_time) {
772
- if (this.isDirty) {
773
- this.isDirty = false;
774
- this.models.sort((a, b) => a.time - b.time);
775
- }
775
+ if (this.needsSorting)
776
+ this.sort();
777
+ }
778
+ sort() {
779
+ this.needsSorting = false;
780
+ this.models.sort((a, b) => a.time - b.time);
776
781
  }
777
782
  }
778
783
  export class SignalTrackHandler extends TrackHandler {
@@ -1 +1 @@
1
- {"version":3,"file":"TimelineTracks.js","sourceRoot":"","sources":["../../../src/engine-components/timeline/TimelineTracks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TimelineTracks.js","sourceRoot":"","sources":["../../../src/engine-components/timeline/TimelineTracks.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { Object3D } from "three";
8
+ import { isDevEnvironment } from "../../engine/debug/debug.js";
8
9
  import { Mathf } from "../../engine/engine_math.js";
9
10
  import { serializable } from "../../engine/engine_serialization.js";
10
11
  import { getBoundingBox } from "../../engine/engine_three_utils.js";
@@ -135,8 +136,8 @@ export class ScrollFollow extends Behaviour {
135
136
  // if not prevented apply scroll
136
137
  if (!defaultPrevented) {
137
138
  const value = this.invert ? 1 - this._current_value : this._current_value;
138
- const height = this._rangeEndValue - this._rangeStartValue;
139
- const pixelValue = this._rangeStartValue + value * height;
139
+ // const height = this._rangeEndValue - this._rangeStartValue;
140
+ // const pixelValue = this._rangeStartValue + value * height;
140
141
  // apply scroll to target(s)
141
142
  if (Array.isArray(this.target)) {
142
143
  this.target.forEach(t => t && this.applyScroll(t, value));
@@ -145,7 +146,7 @@ export class ScrollFollow extends Behaviour {
145
146
  this.applyScroll(this.target, value);
146
147
  }
147
148
  if (debug && this.context.time.frame % 30 === 0) {
148
- console.debug(`[ScrollFollow] ${this._current_value.toFixed(5)} — ${(this._target_value * 100).toFixed(0)}%`);
149
+ console.debug(`[ScrollFollow] ${this._current_value.toFixed(5)} — ${(this._target_value * 100).toFixed(0)}%, targets [${Array.isArray(this.target) ? this.target.length : 1}]`);
149
150
  }
150
151
  }
151
152
  }
@@ -247,14 +248,17 @@ export class ScrollFollow extends Behaviour {
247
248
  for (const marker of director.foreachMarker("ScrollMarker")) {
248
249
  const index = markerIndex++;
249
250
  // Get marker elements from DOM
250
- if ((marker.element === undefined || marker.needsUpdate === true || /** element is not in DOM anymore? */ (!marker.element?.parentNode))) {
251
+ if ((marker.element === undefined || marker.needsUpdate === true || /** element is not in DOM anymore? */ (marker.element && !marker.element?.parentNode))) {
251
252
  marker.needsUpdate = false;
252
253
  try {
254
+ // TODO: with this it's currently not possible to remap markers from HTML. For example if I have two sections and I want to now use the marker["center"] multiple times to stay at that marker for a longer time
253
255
  marker.element = tryGetElementsForSelector(index, marker.name);
254
256
  if (debug)
255
- console.debug("ScrollMarker found on page", marker.element, marker.name);
257
+ console.debug(`ScrollMarker #${index} "${marker.name}" (${marker.time.toFixed(2)}) found`, marker.element);
256
258
  if (!marker.element) {
257
259
  marker.timeline = undefined;
260
+ if (debug || isDevEnvironment())
261
+ console.warn(`No HTML element found for ScrollMarker: ${marker.name} (index ${index})`);
258
262
  continue;
259
263
  }
260
264
  else {
@@ -305,19 +309,20 @@ export class ScrollFollow extends Behaviour {
305
309
  const time01 = calculateTimelinePositionNormalized(timeline);
306
310
  // remap 0-1 to 0 - 1 - 0 (full weight at center)
307
311
  const weight = 1 - Math.abs(time01 - 0.5) * 2;
312
+ const name = marker.name || `marker${i}`;
308
313
  if (time01 > 0 && time01 <= 1) {
309
314
  const lerpTime = marker.time + (nextTime - marker.time) * time01;
310
- weightsArray.push({ time: lerpTime, weight: weight });
315
+ weightsArray.push({ name, time: lerpTime, weight: weight });
311
316
  sum += weight;
312
317
  }
313
318
  // Before the first marker is reached
314
319
  else if (i === 0 && time01 <= 0) {
315
- weightsArray.push({ time: 0, weight: 1 });
320
+ weightsArray.push({ name, time: 0, weight: 1 });
316
321
  sum += 1;
317
322
  }
318
323
  // After the last marker is reached
319
324
  else if (i === markersArray.length - 1 && time01 >= 1) {
320
- weightsArray.push({ time: duration, weight: 1 });
325
+ weightsArray.push({ name, time: duration, weight: 1 });
321
326
  sum += 1;
322
327
  }
323
328
  }
@@ -364,14 +369,15 @@ export class ScrollFollow extends Behaviour {
364
369
  time += diff * weight;
365
370
  }
366
371
  }
367
- if (debug && this.context.time.frame % 20 === 0)
368
- console.log(time.toFixed(3), [...weightsArray]);
369
372
  if (this.damping <= 0) {
370
373
  director.time = time;
371
374
  }
372
375
  else {
373
376
  director.time = Mathf.lerp(director.time, time, this.context.time.deltaTime / this.damping);
374
377
  }
378
+ if (debug && this.context.time.frame % 30 === 0) {
379
+ console.log(`[ScrollFollow ] Timeline ${director.name}: ${time.toFixed(3)}`, weightsArray.map(w => `[${w.name} ${(w.weight * 100).toFixed(0)}%]`).join(", "));
380
+ }
375
381
  }
376
382
  }
377
383
  }
@@ -402,16 +408,28 @@ const markersArray = [];
402
408
  // usedElementCount: number,
403
409
  // }
404
410
  // const querySelectorResults: Array<SelectorCache> = [];
405
- const needleScrollMarkerCacheKey = "data-timeline-marker";
406
411
  const needleScrollMarkerIndexCache = new Map();
407
412
  const needleScrollMarkerNameCache = new Map();
408
413
  let needsScrollMarkerRefresh = true;
409
- function tryGetElementsForSelector(index, name) {
414
+ function tryGetElementsForSelector(index, name, _cycle = 0) {
410
415
  if (!needsScrollMarkerRefresh) {
411
- let element = name?.length ? needleScrollMarkerNameCache.get(name) : null;
412
- if (element)
413
- return element;
414
- element = needleScrollMarkerIndexCache.get(index) || null;
416
+ if (name?.length) {
417
+ const element = needleScrollMarkerNameCache.get(name) || null;
418
+ if (element)
419
+ return element;
420
+ // const isNumber = !isNaN(Number(name));
421
+ // if (!isNumber) {
422
+ // }
423
+ }
424
+ const element = needleScrollMarkerIndexCache.get(index) || null;
425
+ const value = element?.getAttribute("data-timeline-marker");
426
+ // if (value?.length) {
427
+ // if (cycle === 0) {
428
+ // // if the HTML marker we found by index does define a different marker name we try to find the correct HTML element by name
429
+ // return tryGetElementsForSelector(index, value, 1);
430
+ // }
431
+ // if (isDevEnvironment()) console.warn(`ScrollMarker name mismatch: expected "${name}", got "${value}"`);
432
+ // }
415
433
  return element;
416
434
  }
417
435
  needsScrollMarkerRefresh = false;
@@ -423,24 +441,8 @@ function tryGetElementsForSelector(index, name) {
423
441
  if (name?.length)
424
442
  needleScrollMarkerNameCache.set(name, m);
425
443
  });
426
- const element = needleScrollMarkerIndexCache.get(index) || null;
427
- return element;
428
- /* e.g.
429
- <div class="section behind start" data-needle-scroll-marker>
430
- */
431
- // console.log(index, element)
432
- if (element)
433
- return element;
434
- // for (const entry of querySelectorResults) {
435
- // if (entry.selector === selector) {
436
- // const index = entry.usedElementCount++;
437
- // return entry.elements && index < entry.elements.length ? entry.elements[index] : null;
438
- // }
439
- // }
440
- // const elements = document.querySelectorAll(selector);
441
- // querySelectorResults.push({ selector, elements: Array.from(elements), usedElementCount: 1 });
442
- // if (elements.length > 0) return elements[0];
443
- return null;
444
+ needsScrollMarkerRefresh = false;
445
+ return tryGetElementsForSelector(index, name);
444
446
  }
445
447
  // #region ScrollTimeline
446
448
  function calculateTimelinePositionNormalized(timeline) {
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollFollow.js","sourceRoot":"","sources":["../../../src/engine-components/web/ScrollFollow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScrollFollow.js","sourceRoot":"","sources":["../../../src/engine-components/web/ScrollFollow.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,19 @@
1
1
  import { Behaviour } from "../Component.js";
2
+ /**
3
+ * This component can be used to automatically fit a certain box area into the camera view - no matter your screen size or aspect ratio.
4
+ *
5
+ * Add the ViewBox to an object into your scene
6
+ */
2
7
  export declare class ViewBox extends Behaviour {
3
- static instances: ViewBox[];
4
- referenceFieldOfView: number;
8
+ static readonly instances: ViewBox[];
9
+ /**
10
+ * The reference field of view is used to calculate the box size. This should usually be the same as your camera's fov.
11
+ * @default undefined (meaning it will use the camera fov on the first frame)
12
+ */
13
+ referenceFieldOfView: number | undefined;
14
+ /**
15
+ * Enable debug logs and rendering for this component instance
16
+ */
5
17
  debug: boolean;
6
18
  onEnable(): void;
7
19
  onDisable(): void;
@@ -12,27 +12,36 @@ import { serializable } from "../../engine/engine_serialization_decorator.js";
12
12
  import { getTempVector } from "../../engine/engine_three_utils.js";
13
13
  import { registerType } from "../../engine/engine_typestore.js";
14
14
  import { getParam } from "../../engine/engine_utils.js";
15
+ import { RGBAColor } from "../../engine/js-extensions/RGBAColor.js";
15
16
  import { Behaviour } from "../Component.js";
16
17
  const debugParam = getParam("debugviewbox");
18
+ const disabledGizmoColor = new RGBAColor(.5, .5, .5, .5);
19
+ /**
20
+ * This component can be used to automatically fit a certain box area into the camera view - no matter your screen size or aspect ratio.
21
+ *
22
+ * Add the ViewBox to an object into your scene
23
+ */
17
24
  let ViewBox = ViewBox_1 = class ViewBox extends Behaviour {
18
25
  static instances = [];
19
- referenceFieldOfView = 60;
26
+ /**
27
+ * The reference field of view is used to calculate the box size. This should usually be the same as your camera's fov.
28
+ * @default undefined (meaning it will use the camera fov on the first frame)
29
+ */
30
+ referenceFieldOfView = undefined;
31
+ /**
32
+ * Enable debug logs and rendering for this component instance
33
+ */
20
34
  debug = false;
21
- // awake() {
22
- // // this.referenceFieldOfView = (this.context.mainCamera as PerspectiveCamera)?.fov || 60;
23
- // setInterval(()=>{
24
- // if(Math.random() > .5)
25
- // this.enabled = !this.enabled
26
- // }, 1000)
27
- // }
28
35
  onEnable() {
29
36
  if (debugParam || this.debug || isDevEnvironment())
30
37
  console.debug("[ViewBox] Using camera fov:", this.referenceFieldOfView);
38
+ // register instance
31
39
  ViewBox_1.instances.push(this);
32
40
  }
33
41
  onDisable() {
34
42
  if (debugParam || this.debug)
35
43
  console.debug("[ViewBox] Disabled");
44
+ // unregister instance
36
45
  const idx = ViewBox_1.instances.indexOf(this);
37
46
  if (idx !== -1)
38
47
  ViewBox_1.instances.splice(idx, 1);
@@ -41,14 +50,17 @@ let ViewBox = ViewBox_1 = class ViewBox extends Behaviour {
41
50
  onBeforeRender() {
42
51
  if (this.context.isInXR)
43
52
  return;
53
+ if (this.destroyed)
54
+ return;
44
55
  const isActive = ViewBox_1.instances[ViewBox_1.instances.length - 1] === this;
45
56
  if (!isActive) {
46
- if (debugParam || this.debug)
47
- Gizmos.DrawWireBox(this.gameObject.worldPosition, this.gameObject.worldScale, 0x333333);
57
+ if (debugParam || this.debug) {
58
+ Gizmos.DrawWireBox(this.gameObject.worldPosition, this.gameObject.worldScale, disabledGizmoColor);
59
+ }
48
60
  return;
49
61
  }
50
62
  if (debugParam || this.debug)
51
- Gizmos.DrawWireBox(this.gameObject.worldPosition, this.gameObject.worldScale, 0xdddd00);
63
+ Gizmos.DrawWireBox(this.gameObject.worldPosition, this.gameObject.worldScale, 0xdddd00, 0, true, this.gameObject.worldQuaternion);
52
64
  // calculate box size to fit the camera frustrum size at the current position (just scale)
53
65
  const camera = this.context.mainCamera;
54
66
  if (!camera)
@@ -57,6 +69,9 @@ let ViewBox = ViewBox_1 = class ViewBox extends Behaviour {
57
69
  // TODO: support orthographic camera
58
70
  return;
59
71
  }
72
+ if (this.referenceFieldOfView === undefined) {
73
+ this.referenceFieldOfView = camera.fov;
74
+ }
60
75
  if (this.referenceFieldOfView === undefined || this.referenceFieldOfView <= 0) {
61
76
  if (debugParam || this.debug)
62
77
  console.warn("[ViewBox] No valid referenceFieldOfView set, cannot adjust box size:", this.referenceFieldOfView);
@@ -127,7 +142,7 @@ let ViewBox = ViewBox_1 = class ViewBox extends Behaviour {
127
142
  const vFOV = this.referenceFieldOfView * Math.PI / 180; // convert vertical fov to radians
128
143
  const height = 2 * Math.tan(vFOV / 2) * distance; // visible height
129
144
  const width = height * camera.aspect; // visible width
130
- const projectedBox = this.projectBoxIntoCamera(boxPosition, boxScale, camera, 1);
145
+ const projectedBox = this.projectBoxIntoCamera(camera, 1);
131
146
  // return
132
147
  const boxWidth = (projectedBox.maxX - projectedBox.minX);
133
148
  const boxHeight = (projectedBox.maxY - projectedBox.minY);
@@ -165,17 +180,17 @@ let ViewBox = ViewBox_1 = class ViewBox extends Behaviour {
165
180
  const scaleY = height2 / height1;
166
181
  return Math.min(scaleX, scaleY);
167
182
  }
168
- projectBoxIntoCamera(position, scale, camera, _factor) {
183
+ projectBoxIntoCamera(camera, _factor) {
169
184
  const factor = .5 * _factor;
170
185
  const corners = [
171
- getTempVector(-scale.x * factor, -scale.y * factor, -scale.z * factor),
172
- getTempVector(scale.x * factor, -scale.y * factor, -scale.z * factor),
173
- getTempVector(-scale.x * factor, scale.y * factor, -scale.z * factor),
174
- getTempVector(scale.x * factor, scale.y * factor, -scale.z * factor),
175
- getTempVector(-scale.x * factor, -scale.y * factor, scale.z * factor),
176
- getTempVector(scale.x * factor, -scale.y * factor, scale.z * factor),
177
- getTempVector(-scale.x * factor, scale.y * factor, scale.z * factor),
178
- getTempVector(scale.x * factor, scale.y * factor, scale.z * factor),
186
+ getTempVector(-factor, -factor, -factor),
187
+ getTempVector(factor, -factor, -factor),
188
+ getTempVector(-factor, factor, -factor),
189
+ getTempVector(factor, factor, -factor),
190
+ getTempVector(-factor, -factor, factor),
191
+ getTempVector(factor, -factor, factor),
192
+ getTempVector(-factor, factor, factor),
193
+ getTempVector(factor, factor, factor),
179
194
  ];
180
195
  let minX = Number.POSITIVE_INFINITY;
181
196
  let maxX = Number.NEGATIVE_INFINITY;
@@ -183,7 +198,7 @@ let ViewBox = ViewBox_1 = class ViewBox extends Behaviour {
183
198
  let maxY = Number.NEGATIVE_INFINITY;
184
199
  for (let i = 0; i < corners.length; i++) {
185
200
  const c = corners[i];
186
- c.add(position);
201
+ c.applyMatrix4(this.gameObject.matrixWorld);
187
202
  c.project(camera);
188
203
  if (c.x < minX)
189
204
  minX = c.x;
@@ -201,7 +216,8 @@ let ViewBox = ViewBox_1 = class ViewBox extends Behaviour {
201
216
  if (this._projectedBoxElement.parentElement !== this.context.domElement)
202
217
  this.context.domElement.appendChild(this._projectedBoxElement);
203
218
  this._projectedBoxElement.style.position = "fixed";
204
- this._projectedBoxElement.style.outline = "5px dotted red";
219
+ // dotted but with larger gaps
220
+ this._projectedBoxElement.style.outline = "2px dashed rgba(255,0,0,.5)";
205
221
  this._projectedBoxElement.style.left = ((minX * .5 + .5) * this.context.domWidth) + "px";
206
222
  this._projectedBoxElement.style.top = ((-maxY * .5 + .5) * this.context.domHeight) + "px";
207
223
  this._projectedBoxElement.style.width = ((maxX - minX) * .5 * this.context.domWidth) + "px";