@luma.gl/engine 9.0.0-alpha.16 → 9.0.0-alpha.17

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 (183) hide show
  1. package/dist/animation/key-frames.d.ts +1 -1
  2. package/dist/animation/key-frames.d.ts.map +1 -1
  3. package/dist/animation/key-frames.js +55 -54
  4. package/dist/animation/key-frames.js.map +1 -0
  5. package/dist/animation/timeline.d.ts +4 -4
  6. package/dist/animation/timeline.d.ts.map +1 -1
  7. package/dist/animation/timeline.js +101 -94
  8. package/dist/animation/timeline.js.map +1 -0
  9. package/dist/animation-loop/animation-loop.d.ts +4 -2
  10. package/dist/animation-loop/animation-loop.d.ts.map +1 -1
  11. package/dist/animation-loop/animation-loop.js +358 -414
  12. package/dist/animation-loop/animation-loop.js.map +1 -0
  13. package/dist/animation-loop/animation-props.d.ts +3 -1
  14. package/dist/animation-loop/animation-props.d.ts.map +1 -1
  15. package/dist/animation-loop/animation-props.js +1 -0
  16. package/dist/animation-loop/animation-props.js.map +1 -0
  17. package/dist/animation-loop/make-animation-loop.d.ts +1 -1
  18. package/dist/animation-loop/make-animation-loop.d.ts.map +1 -1
  19. package/dist/animation-loop/make-animation-loop.js +25 -26
  20. package/dist/animation-loop/make-animation-loop.js.map +1 -0
  21. package/dist/animation-loop/render-loop.js +5 -17
  22. package/dist/animation-loop/render-loop.js.map +1 -0
  23. package/dist/dist.dev.js +5240 -0
  24. package/dist/geometries/cone-geometry.d.ts +1 -1
  25. package/dist/geometries/cone-geometry.d.ts.map +1 -1
  26. package/dist/geometries/cone-geometry.js +18 -12
  27. package/dist/geometries/cone-geometry.js.map +1 -0
  28. package/dist/geometries/cube-geometry.d.ts +1 -1
  29. package/dist/geometries/cube-geometry.d.ts.map +1 -1
  30. package/dist/geometries/cube-geometry.js +60 -187
  31. package/dist/geometries/cube-geometry.js.map +1 -0
  32. package/dist/geometries/cylinder-geometry.d.ts +1 -1
  33. package/dist/geometries/cylinder-geometry.d.ts.map +1 -1
  34. package/dist/geometries/cylinder-geometry.js +15 -10
  35. package/dist/geometries/cylinder-geometry.js.map +1 -0
  36. package/dist/geometries/ico-sphere-geometry.d.ts +1 -1
  37. package/dist/geometries/ico-sphere-geometry.d.ts.map +1 -1
  38. package/dist/geometries/ico-sphere-geometry.js +160 -141
  39. package/dist/geometries/ico-sphere-geometry.js.map +1 -0
  40. package/dist/geometries/plane-geometry.d.ts +1 -1
  41. package/dist/geometries/plane-geometry.d.ts.map +1 -1
  42. package/dist/geometries/plane-geometry.js +111 -93
  43. package/dist/geometries/plane-geometry.js.map +1 -0
  44. package/dist/geometries/sphere-geometry.d.ts +1 -1
  45. package/dist/geometries/sphere-geometry.d.ts.map +1 -1
  46. package/dist/geometries/sphere-geometry.js +95 -76
  47. package/dist/geometries/sphere-geometry.js.map +1 -0
  48. package/dist/geometries/truncated-cone-geometry.d.ts +1 -1
  49. package/dist/geometries/truncated-cone-geometry.d.ts.map +1 -1
  50. package/dist/geometries/truncated-cone-geometry.js +126 -105
  51. package/dist/geometries/truncated-cone-geometry.js.map +1 -0
  52. package/dist/geometry/geometry-table.d.ts +1 -1
  53. package/dist/geometry/geometry-table.d.ts.map +1 -1
  54. package/dist/geometry/geometry-table.js +1 -0
  55. package/dist/geometry/geometry-table.js.map +1 -0
  56. package/dist/geometry/geometry-utils.js +32 -22
  57. package/dist/geometry/geometry-utils.js.map +1 -0
  58. package/dist/geometry/geometry.d.ts +4 -4
  59. package/dist/geometry/geometry.d.ts.map +1 -1
  60. package/dist/geometry/geometry.js +109 -96
  61. package/dist/geometry/geometry.js.map +1 -0
  62. package/dist/geometry/primitive-utils.js +1 -30
  63. package/dist/geometry/primitive-utils.js.map +1 -0
  64. package/dist/index.cjs +2222 -0
  65. package/dist/index.js +16 -20
  66. package/dist/index.js.map +1 -0
  67. package/dist/lib/clip-space.js +1 -50
  68. package/dist/lib/clip-space.js.map +1 -0
  69. package/dist/lib/model-utils.js +28 -101
  70. package/dist/lib/model-utils.js.map +1 -0
  71. package/dist/lib/model.d.ts +1 -1
  72. package/dist/lib/model.d.ts.map +1 -1
  73. package/dist/lib/model.js +129 -121
  74. package/dist/lib/model.js.map +1 -0
  75. package/dist/lib/pipeline-factory.d.ts +3 -3
  76. package/dist/lib/pipeline-factory.d.ts.map +1 -1
  77. package/dist/lib/pipeline-factory.js +165 -136
  78. package/dist/lib/pipeline-factory.js.map +1 -0
  79. package/dist.min.js +245 -0
  80. package/package.json +22 -13
  81. package/src/.DS_Store +0 -0
  82. package/src/animation/timeline.ts +1 -1
  83. package/src/animation-loop/animation-loop.ts +5 -5
  84. package/src/animation-loop/make-animation-loop.ts +2 -1
  85. package/src/geometry/geometry.ts +2 -2
  86. package/src/lib/pipeline-factory.ts +1 -1
  87. package/dist/bundle.d.ts +0 -2
  88. package/dist/bundle.d.ts.map +0 -1
  89. package/dist/bundle.js +0 -5
  90. package/dist/dist.min.js +0 -31
  91. package/dist/es5/animation/key-frames.js +0 -84
  92. package/dist/es5/animation/key-frames.js.map +0 -1
  93. package/dist/es5/animation/timeline.js +0 -183
  94. package/dist/es5/animation/timeline.js.map +0 -1
  95. package/dist/es5/animation-loop/animation-loop.js +0 -534
  96. package/dist/es5/animation-loop/animation-loop.js.map +0 -1
  97. package/dist/es5/animation-loop/animation-props.js +0 -2
  98. package/dist/es5/animation-loop/animation-props.js.map +0 -1
  99. package/dist/es5/animation-loop/make-animation-loop.js +0 -53
  100. package/dist/es5/animation-loop/make-animation-loop.js.map +0 -1
  101. package/dist/es5/animation-loop/render-loop.js +0 -39
  102. package/dist/es5/animation-loop/render-loop.js.map +0 -1
  103. package/dist/es5/bundle.js +0 -6
  104. package/dist/es5/bundle.js.map +0 -1
  105. package/dist/es5/geometries/cone-geometry.js +0 -43
  106. package/dist/es5/geometries/cone-geometry.js.map +0 -1
  107. package/dist/es5/geometries/cube-geometry.js +0 -84
  108. package/dist/es5/geometries/cube-geometry.js.map +0 -1
  109. package/dist/es5/geometries/cylinder-geometry.js +0 -39
  110. package/dist/es5/geometries/cylinder-geometry.js.map +0 -1
  111. package/dist/es5/geometries/ico-sphere-geometry.js +0 -185
  112. package/dist/es5/geometries/ico-sphere-geometry.js.map +0 -1
  113. package/dist/es5/geometries/plane-geometry.js +0 -137
  114. package/dist/es5/geometries/plane-geometry.js.map +0 -1
  115. package/dist/es5/geometries/sphere-geometry.js +0 -120
  116. package/dist/es5/geometries/sphere-geometry.js.map +0 -1
  117. package/dist/es5/geometries/truncated-cone-geometry.js +0 -160
  118. package/dist/es5/geometries/truncated-cone-geometry.js.map +0 -1
  119. package/dist/es5/geometry/geometry-table.js +0 -2
  120. package/dist/es5/geometry/geometry-table.js.map +0 -1
  121. package/dist/es5/geometry/geometry-utils.js +0 -39
  122. package/dist/es5/geometry/geometry-utils.js.map +0 -1
  123. package/dist/es5/geometry/geometry.js +0 -150
  124. package/dist/es5/geometry/geometry.js.map +0 -1
  125. package/dist/es5/geometry/primitive-utils.js +0 -2
  126. package/dist/es5/geometry/primitive-utils.js.map +0 -1
  127. package/dist/es5/index.js +0 -112
  128. package/dist/es5/index.js.map +0 -1
  129. package/dist/es5/lib/clip-space.js +0 -2
  130. package/dist/es5/lib/clip-space.js.map +0 -1
  131. package/dist/es5/lib/model-utils.js +0 -52
  132. package/dist/es5/lib/model-utils.js.map +0 -1
  133. package/dist/es5/lib/model.js +0 -173
  134. package/dist/es5/lib/model.js.map +0 -1
  135. package/dist/es5/lib/pipeline-factory.js +0 -244
  136. package/dist/es5/lib/pipeline-factory.js.map +0 -1
  137. package/dist/esm/animation/key-frames.js +0 -57
  138. package/dist/esm/animation/key-frames.js.map +0 -1
  139. package/dist/esm/animation/timeline.js +0 -113
  140. package/dist/esm/animation/timeline.js.map +0 -1
  141. package/dist/esm/animation-loop/animation-loop.js +0 -367
  142. package/dist/esm/animation-loop/animation-loop.js.map +0 -1
  143. package/dist/esm/animation-loop/animation-props.js +0 -2
  144. package/dist/esm/animation-loop/animation-props.js.map +0 -1
  145. package/dist/esm/animation-loop/make-animation-loop.js +0 -28
  146. package/dist/esm/animation-loop/make-animation-loop.js.map +0 -1
  147. package/dist/esm/animation-loop/render-loop.js +0 -7
  148. package/dist/esm/animation-loop/render-loop.js.map +0 -1
  149. package/dist/esm/bundle.js +0 -4
  150. package/dist/esm/bundle.js.map +0 -1
  151. package/dist/esm/geometries/cone-geometry.js +0 -21
  152. package/dist/esm/geometries/cone-geometry.js.map +0 -1
  153. package/dist/esm/geometries/cube-geometry.js +0 -67
  154. package/dist/esm/geometries/cube-geometry.js.map +0 -1
  155. package/dist/esm/geometries/cylinder-geometry.js +0 -18
  156. package/dist/esm/geometries/cylinder-geometry.js.map +0 -1
  157. package/dist/esm/geometries/ico-sphere-geometry.js +0 -170
  158. package/dist/esm/geometries/ico-sphere-geometry.js.map +0 -1
  159. package/dist/esm/geometries/plane-geometry.js +0 -119
  160. package/dist/esm/geometries/plane-geometry.js.map +0 -1
  161. package/dist/esm/geometries/sphere-geometry.js +0 -102
  162. package/dist/esm/geometries/sphere-geometry.js.map +0 -1
  163. package/dist/esm/geometries/truncated-cone-geometry.js +0 -136
  164. package/dist/esm/geometries/truncated-cone-geometry.js.map +0 -1
  165. package/dist/esm/geometry/geometry-table.js +0 -2
  166. package/dist/esm/geometry/geometry-table.js.map +0 -1
  167. package/dist/esm/geometry/geometry-utils.js +0 -37
  168. package/dist/esm/geometry/geometry-utils.js.map +0 -1
  169. package/dist/esm/geometry/geometry.js +0 -119
  170. package/dist/esm/geometry/geometry.js.map +0 -1
  171. package/dist/esm/geometry/primitive-utils.js +0 -2
  172. package/dist/esm/geometry/primitive-utils.js.map +0 -1
  173. package/dist/esm/index.js +0 -16
  174. package/dist/esm/index.js.map +0 -1
  175. package/dist/esm/lib/clip-space.js +0 -2
  176. package/dist/esm/lib/clip-space.js.map +0 -1
  177. package/dist/esm/lib/model-utils.js +0 -40
  178. package/dist/esm/lib/model-utils.js.map +0 -1
  179. package/dist/esm/lib/model.js +0 -146
  180. package/dist/esm/lib/model.js.map +0 -1
  181. package/dist/esm/lib/pipeline-factory.js +0 -180
  182. package/dist/esm/lib/pipeline-factory.js.map +0 -1
  183. package/src/bundle.ts +0 -4
@@ -1,84 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.KeyFrames = void 0;
8
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
- var KeyFrames = function () {
12
- function KeyFrames(keyFrames) {
13
- (0, _classCallCheck2.default)(this, KeyFrames);
14
- (0, _defineProperty2.default)(this, "startIndex", -1);
15
- (0, _defineProperty2.default)(this, "endIndex", -1);
16
- (0, _defineProperty2.default)(this, "factor", 0);
17
- (0, _defineProperty2.default)(this, "times", []);
18
- (0, _defineProperty2.default)(this, "values", []);
19
- (0, _defineProperty2.default)(this, "_lastTime", -1);
20
- this.setKeyFrames(keyFrames);
21
- this.setTime(0);
22
- }
23
- (0, _createClass2.default)(KeyFrames, [{
24
- key: "setKeyFrames",
25
- value: function setKeyFrames(keyFrames) {
26
- var numKeys = keyFrames.length;
27
- this.times.length = numKeys;
28
- this.values.length = numKeys;
29
- for (var i = 0; i < numKeys; ++i) {
30
- this.times[i] = keyFrames[i][0];
31
- this.values[i] = keyFrames[i][1];
32
- }
33
- this._calculateKeys(this._lastTime);
34
- }
35
- }, {
36
- key: "setTime",
37
- value: function setTime(time) {
38
- time = Math.max(0, time);
39
- if (time !== this._lastTime) {
40
- this._calculateKeys(time);
41
- this._lastTime = time;
42
- }
43
- }
44
- }, {
45
- key: "getStartTime",
46
- value: function getStartTime() {
47
- return this.times[this.startIndex];
48
- }
49
- }, {
50
- key: "getEndTime",
51
- value: function getEndTime() {
52
- return this.times[this.endIndex];
53
- }
54
- }, {
55
- key: "getStartData",
56
- value: function getStartData() {
57
- return this.values[this.startIndex];
58
- }
59
- }, {
60
- key: "getEndData",
61
- value: function getEndData() {
62
- return this.values[this.endIndex];
63
- }
64
- }, {
65
- key: "_calculateKeys",
66
- value: function _calculateKeys(time) {
67
- var index = 0;
68
- var numKeys = this.times.length;
69
- for (index = 0; index < numKeys - 2; ++index) {
70
- if (this.times[index + 1] > time) {
71
- break;
72
- }
73
- }
74
- this.startIndex = index;
75
- this.endIndex = index + 1;
76
- var startTime = this.times[this.startIndex];
77
- var endTime = this.times[this.endIndex];
78
- this.factor = Math.min(Math.max(0, (time - startTime) / (endTime - startTime)), 1);
79
- }
80
- }]);
81
- return KeyFrames;
82
- }();
83
- exports.KeyFrames = KeyFrames;
84
- //# sourceMappingURL=key-frames.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"key-frames.js","names":["KeyFrames","keyFrames","_classCallCheck2","default","_defineProperty2","setKeyFrames","setTime","_createClass2","key","value","numKeys","length","times","values","i","_calculateKeys","_lastTime","time","Math","max","getStartTime","startIndex","getEndTime","endIndex","getStartData","getEndData","index","startTime","endTime","factor","min","exports"],"sources":["../../../src/animation/key-frames.ts"],"sourcesContent":["// keyframes\nexport type KeyFrame<T> = [number, T];\n\n/** Holds a list of key frames (timestamped values) */\nexport class KeyFrames<T = number> {\n startIndex: number = -1;\n endIndex: number = -1;\n factor: number = 0;\n times: number[] = [];\n values: T[] = [];\n private _lastTime = -1;\n\n constructor(keyFrames: KeyFrame<T>[]) {\n this.setKeyFrames(keyFrames);\n this.setTime(0);\n }\n\n setKeyFrames(keyFrames: KeyFrame<T>[]): void {\n const numKeys = keyFrames.length;\n this.times.length = numKeys;\n this.values.length = numKeys;\n\n for (let i = 0; i < numKeys; ++i) {\n this.times[i] = keyFrames[i][0];\n this.values[i] = keyFrames[i][1];\n }\n\n this._calculateKeys(this._lastTime);\n }\n\n setTime(time: number): void {\n time = Math.max(0, time);\n\n if (time !== this._lastTime) {\n this._calculateKeys(time);\n this._lastTime = time;\n }\n }\n\n getStartTime(): number {\n return this.times[this.startIndex];\n }\n\n getEndTime(): number {\n return this.times[this.endIndex];\n }\n\n getStartData(): T {\n return this.values[this.startIndex];\n }\n\n getEndData(): T {\n return this.values[this.endIndex];\n }\n\n _calculateKeys(time: number): void {\n let index = 0;\n const numKeys = this.times.length;\n\n for (index = 0; index < numKeys - 2; ++index) {\n if (this.times[index + 1] > time) {\n break;\n }\n }\n\n this.startIndex = index;\n this.endIndex = index + 1;\n\n const startTime = this.times[this.startIndex];\n const endTime = this.times[this.endIndex];\n this.factor = Math.min(Math.max(0, (time - startTime) / (endTime - startTime)), 1);\n }\n}\n"],"mappings":"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"}
@@ -1,183 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.Timeline = void 0;
8
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
13
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
14
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
15
- var channelHandles = 1;
16
- var animationHandles = 1;
17
- var Timeline = function () {
18
- function Timeline() {
19
- (0, _classCallCheck2.default)(this, Timeline);
20
- (0, _defineProperty2.default)(this, "time", 0);
21
- (0, _defineProperty2.default)(this, "channels", new Map());
22
- (0, _defineProperty2.default)(this, "animations", new Map());
23
- (0, _defineProperty2.default)(this, "playing", false);
24
- (0, _defineProperty2.default)(this, "lastEngineTime", -1);
25
- }
26
- (0, _createClass2.default)(Timeline, [{
27
- key: "addChannel",
28
- value: function addChannel(props) {
29
- var _props$delay = props.delay,
30
- delay = _props$delay === void 0 ? 0 : _props$delay,
31
- _props$duration = props.duration,
32
- duration = _props$duration === void 0 ? Number.POSITIVE_INFINITY : _props$duration,
33
- _props$rate = props.rate,
34
- rate = _props$rate === void 0 ? 1 : _props$rate,
35
- _props$repeat = props.repeat,
36
- repeat = _props$repeat === void 0 ? 1 : _props$repeat;
37
- var handle = channelHandles++;
38
- var channel = {
39
- time: 0,
40
- delay: delay,
41
- duration: duration,
42
- rate: rate,
43
- repeat: repeat
44
- };
45
- this._setChannelTime(channel, this.time);
46
- this.channels.set(handle, channel);
47
- return handle;
48
- }
49
- }, {
50
- key: "removeChannel",
51
- value: function removeChannel(handle) {
52
- this.channels.delete(handle);
53
- var _iterator = _createForOfIteratorHelper(this.animations),
54
- _step;
55
- try {
56
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
57
- var _step$value = (0, _slicedToArray2.default)(_step.value, 2),
58
- animationHandle = _step$value[0],
59
- animation = _step$value[1];
60
- if (animation.channel === handle) {
61
- this.detachAnimation(animationHandle);
62
- }
63
- }
64
- } catch (err) {
65
- _iterator.e(err);
66
- } finally {
67
- _iterator.f();
68
- }
69
- }
70
- }, {
71
- key: "isFinished",
72
- value: function isFinished(handle) {
73
- var channel = this.channels.get(handle);
74
- if (channel === undefined) {
75
- return false;
76
- }
77
- return this.time >= channel.delay + channel.duration * channel.repeat;
78
- }
79
- }, {
80
- key: "getTime",
81
- value: function getTime(handle) {
82
- if (handle === undefined) {
83
- return this.time;
84
- }
85
- var channel = this.channels.get(handle);
86
- if (channel === undefined) {
87
- return -1;
88
- }
89
- return channel.time;
90
- }
91
- }, {
92
- key: "setTime",
93
- value: function setTime(time) {
94
- this.time = Math.max(0, time);
95
- var channels = this.channels.values();
96
- var _iterator2 = _createForOfIteratorHelper(channels),
97
- _step2;
98
- try {
99
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
100
- var channel = _step2.value;
101
- this._setChannelTime(channel, this.time);
102
- }
103
- } catch (err) {
104
- _iterator2.e(err);
105
- } finally {
106
- _iterator2.f();
107
- }
108
- var animations = this.animations.values();
109
- var _iterator3 = _createForOfIteratorHelper(animations),
110
- _step3;
111
- try {
112
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
113
- var animationData = _step3.value;
114
- var animation = animationData.animation,
115
- _channel = animationData.channel;
116
- animation.setTime(this.getTime(_channel));
117
- }
118
- } catch (err) {
119
- _iterator3.e(err);
120
- } finally {
121
- _iterator3.f();
122
- }
123
- }
124
- }, {
125
- key: "play",
126
- value: function play() {
127
- this.playing = true;
128
- }
129
- }, {
130
- key: "pause",
131
- value: function pause() {
132
- this.playing = false;
133
- this.lastEngineTime = -1;
134
- }
135
- }, {
136
- key: "reset",
137
- value: function reset() {
138
- this.setTime(0);
139
- }
140
- }, {
141
- key: "attachAnimation",
142
- value: function attachAnimation(animation, channelHandle) {
143
- var animationHandle = animationHandles++;
144
- this.animations.set(animationHandle, {
145
- animation: animation,
146
- channel: channelHandle
147
- });
148
- animation.setTime(this.getTime(channelHandle));
149
- return animationHandle;
150
- }
151
- }, {
152
- key: "detachAnimation",
153
- value: function detachAnimation(handle) {
154
- this.animations.delete(handle);
155
- }
156
- }, {
157
- key: "update",
158
- value: function update(engineTime) {
159
- if (this.playing) {
160
- if (this.lastEngineTime === -1) {
161
- this.lastEngineTime = engineTime;
162
- }
163
- this.setTime(this.time + (engineTime - this.lastEngineTime));
164
- this.lastEngineTime = engineTime;
165
- }
166
- }
167
- }, {
168
- key: "_setChannelTime",
169
- value: function _setChannelTime(channel, time) {
170
- var offsetTime = time - channel.delay;
171
- var totalDuration = channel.duration * channel.repeat;
172
- if (offsetTime >= totalDuration) {
173
- channel.time = channel.duration * channel.rate;
174
- } else {
175
- channel.time = Math.max(0, offsetTime) % channel.duration;
176
- channel.time *= channel.rate;
177
- }
178
- }
179
- }]);
180
- return Timeline;
181
- }();
182
- exports.Timeline = Timeline;
183
- //# sourceMappingURL=timeline.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"timeline.js","names":["channelHandles","animationHandles","Timeline","_classCallCheck2","default","_defineProperty2","Map","_createClass2","key","value","addChannel","props","_props$delay","delay","_props$duration","duration","Number","POSITIVE_INFINITY","_props$rate","rate","_props$repeat","repeat","handle","channel","time","_setChannelTime","channels","set","removeChannel","delete","_iterator","_createForOfIteratorHelper","animations","_step","s","n","done","_step$value","_slicedToArray2","animationHandle","animation","detachAnimation","err","e","f","isFinished","get","undefined","getTime","setTime","Math","max","values","_iterator2","_step2","_iterator3","_step3","animationData","play","playing","pause","lastEngineTime","reset","attachAnimation","channelHandle","update","engineTime","offsetTime","totalDuration","exports"],"sources":["../../../src/animation/timeline.ts"],"sourcesContent":["// luma.gl, MIT license\n\n/**\n * Timeline channel properties\n * @param delay = 0;\n * @param duration = Number.POSITIVE_INFINITY;\n * @param rate = 1\n * @param repeat = 1\n */\n export type ChannelOptions = {\n delay?: number\n duration?: number\n rate?: number\n repeat?: number\n}\n\nexport type AnimationOptions = {\n setTime: (time: number) => void\n}\n\n type Channel = {\n time: number\n delay: number\n duration: number\n rate: number\n repeat: number\n}\n\ntype Animation = {\n channel?: number;\n animation: {\n setTime: (time: number) => void\n }\n}\n\nlet channelHandles = 1;\nlet animationHandles = 1;\n\nexport class Timeline {\n time: number = 0;\n channels = new Map<number, Channel>();\n animations = new Map<number, Animation>();\n playing: boolean = false;\n lastEngineTime: number = -1;\n\n constructor() {\n }\n\n addChannel(props: ChannelOptions): number {\n const {delay = 0, duration = Number.POSITIVE_INFINITY, rate = 1, repeat = 1} = props;\n\n const handle = channelHandles++;\n const channel: Channel = {\n time: 0,\n delay,\n duration,\n rate,\n repeat\n };\n this._setChannelTime(channel, this.time);\n this.channels.set(handle, channel);\n\n return handle;\n }\n\n removeChannel(handle: number): void {\n this.channels.delete(handle);\n\n for (const [animationHandle, animation] of this.animations) {\n if (animation.channel === handle) {\n this.detachAnimation(animationHandle);\n }\n }\n }\n\n isFinished(handle: number): boolean {\n const channel = this.channels.get(handle);\n if (channel === undefined) {\n return false;\n }\n\n return this.time >= channel.delay + channel.duration * channel.repeat;\n }\n\n getTime(handle?: number): number {\n if (handle === undefined) {\n return this.time;\n }\n\n const channel = this.channels.get(handle);\n\n if (channel === undefined) {\n return -1;\n }\n\n return channel.time;\n }\n\n setTime(time: number): void {\n this.time = Math.max(0, time);\n\n const channels = this.channels.values();\n for (const channel of channels) {\n this._setChannelTime(channel, this.time);\n }\n\n const animations = this.animations.values();\n for (const animationData of animations) {\n const {animation, channel} = animationData;\n animation.setTime(this.getTime(channel));\n }\n }\n\n play(): void {\n this.playing = true;\n }\n\n pause(): void {\n this.playing = false;\n this.lastEngineTime = -1;\n }\n\n reset(): void {\n this.setTime(0);\n }\n\n attachAnimation(animation: AnimationOptions, channelHandle?: number): number {\n const animationHandle = animationHandles++;\n\n this.animations.set(animationHandle, {\n animation,\n channel: channelHandle\n });\n\n animation.setTime(this.getTime(channelHandle));\n\n return animationHandle;\n }\n\n detachAnimation(handle: number): void {\n this.animations.delete(handle);\n }\n\n update(engineTime: number): void {\n if (this.playing) {\n if (this.lastEngineTime === -1) {\n this.lastEngineTime = engineTime;\n }\n this.setTime(this.time + (engineTime - this.lastEngineTime));\n this.lastEngineTime = engineTime;\n }\n }\n\n _setChannelTime(channel: Channel, time: number): void {\n const offsetTime = time - channel.delay;\n const totalDuration = channel.duration * channel.repeat;\n // Note(Tarek): Don't loop on final repeat.\n if (offsetTime >= totalDuration) {\n channel.time = channel.duration * channel.rate;\n } else {\n channel.time = Math.max(0, offsetTime) % channel.duration;\n channel.time *= channel.rate;\n }\n }\n}\n"],"mappings":"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"}