ttpg-darrell 1.0.90 → 1.0.92

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 (47) hide show
  1. package/build/cjs/lib/color-lib/color-mapping-rotating.d.ts +1 -0
  2. package/build/cjs/lib/color-lib/color-mapping-rotating.js +72 -0
  3. package/build/cjs/lib/color-lib/color-mapping-rotating.js.map +1 -0
  4. package/build/cjs/lib/game-object/garbage/garbage-container.d.ts +4 -4
  5. package/build/cjs/lib/game-object/garbage/garbage-container.js +18 -12
  6. package/build/cjs/lib/game-object/garbage/garbage-container.js.map +1 -1
  7. package/build/cjs/lib/parse/parse-color/parse-color.d.ts +7 -0
  8. package/build/cjs/lib/parse/parse-color/parse-color.js +51 -0
  9. package/build/cjs/lib/parse/parse-color/parse-color.js.map +1 -0
  10. package/build/cjs/lib/swap-split-combine/swap-split-combine.js +2 -1
  11. package/build/cjs/lib/swap-split-combine/swap-split-combine.js.map +1 -1
  12. package/build/cjs/lib-ext/color-mapping/color-extract.d.ts +1 -0
  13. package/build/cjs/lib-ext/color-mapping/color-extract.js +127 -0
  14. package/build/cjs/lib-ext/color-mapping/color-extract.js.map +1 -0
  15. package/build/cjs/lib-ext/color-mapping/color-mapping-linear-centered.d.ts +1 -0
  16. package/build/cjs/lib-ext/color-mapping/color-mapping-linear-centered.js +230 -0
  17. package/build/cjs/lib-ext/color-mapping/color-mapping-linear-centered.js.map +1 -0
  18. package/build/cjs/lib-ext/color-mapping/color-mapping-linear.d.ts +1 -0
  19. package/build/cjs/lib-ext/color-mapping/color-mapping-linear.js +217 -0
  20. package/build/cjs/lib-ext/color-mapping/color-mapping-linear.js.map +1 -0
  21. package/build/cjs/lib-ext/color-mapping/color-mapping-ridge.d.ts +1 -0
  22. package/build/cjs/lib-ext/color-mapping/color-mapping-ridge.js +216 -0
  23. package/build/cjs/lib-ext/color-mapping/color-mapping-ridge.js.map +1 -0
  24. package/build/cjs/lib-ext/color-mapping/color-mapping.d.ts +15 -0
  25. package/build/cjs/lib-ext/color-mapping/color-mapping.data.d.ts +7 -0
  26. package/build/cjs/lib-ext/color-mapping/color-mapping.data.js +790 -0
  27. package/build/cjs/lib-ext/color-mapping/color-mapping.data.js.map +1 -0
  28. package/build/cjs/lib-ext/color-mapping/color-mapping.js +54 -0
  29. package/build/cjs/lib-ext/color-mapping/color-mapping.js.map +1 -0
  30. package/build/cjs/lib-ext/color-mapping/raw-linear.d.ts +1 -0
  31. package/build/cjs/lib-ext/color-mapping/raw-linear.js +167 -0
  32. package/build/cjs/lib-ext/color-mapping/raw-linear.js.map +1 -0
  33. package/build/cjs/lib-ext/image/cell/cell-parser/cell-parser.test.d.ts +1 -0
  34. package/build/cjs/lib-ext/image/cell/cell-parser/cell-parser.test.js +212 -0
  35. package/build/cjs/lib-ext/image/cell/cell-parser/cell-parser.test.js.map +1 -0
  36. package/build/esm/lib/game-object/garbage/garbage-container.d.ts +4 -4
  37. package/build/esm/lib/game-object/garbage/garbage-container.js +19 -13
  38. package/build/esm/lib/game-object/garbage/garbage-container.js.map +1 -1
  39. package/build/esm/lib/parse/parse-color/parse-color.d.ts +7 -0
  40. package/build/esm/lib/parse/parse-color/parse-color.js +44 -0
  41. package/build/esm/lib/parse/parse-color/parse-color.js.map +1 -0
  42. package/build/esm/lib/swap-split-combine/swap-split-combine.js +2 -1
  43. package/build/esm/lib/swap-split-combine/swap-split-combine.js.map +1 -1
  44. package/build/esm/lib-ext/image/cell/cell-parser/cell-parser.test.d.ts +1 -0
  45. package/build/esm/lib-ext/image/cell/cell-parser/cell-parser.test.js +210 -0
  46. package/build/esm/lib-ext/image/cell/cell-parser/cell-parser.test.js.map +1 -0
  47. package/package.json +1 -1
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Create game objects using given source colors, screenshot then use the
5
+ * lib-ext extract tool to read color values.
6
+ */
7
+ const api_1 = require("@tabletop-playground/api");
8
+ const shuffle_1 = require("../shuffle/shuffle");
9
+ // Clear the world before (re)creating objects.
10
+ for (const obj of api_1.world.getAllObjects()) {
11
+ if (obj !== api_1.refObject) {
12
+ obj.destroy();
13
+ }
14
+ }
15
+ const templateId = "83FDE12C4E6D912B16B85E9A00422F43"; // cube
16
+ const cube = api_1.world.createObjectFromTemplate(
17
+ templateId,
18
+ new api_1.Vector(0, 0, api_1.world.getTableHeight() + 4)
19
+ );
20
+ if (!cube) {
21
+ throw new Error("Failed to create object");
22
+ }
23
+ cube.setRoughness(1);
24
+ cube.setMetallic(0);
25
+ cube.snapToGround();
26
+ const border = new api_1.Border();
27
+ const ui = new api_1.UIElement();
28
+ ui.position = new api_1.Vector(-4, 0, 2);
29
+ ui.widget = border.setChild(
30
+ new api_1.LayoutBox().setOverrideWidth(25).setOverrideHeight(25)
31
+ );
32
+ cube.addUI(ui);
33
+ // Look straight down at result.
34
+ const player = api_1.world.getAllPlayers()[0];
35
+ if (player) {
36
+ console.log(player.getPosition());
37
+ console.log(player.getRotation());
38
+ const z = api_1.world.getTableHeight() + 40;
39
+ player.setPositionAndRotation([-10, -25, z], [-90, 0, 0]);
40
+ }
41
+ const n = 16;
42
+ let colors = [];
43
+ for (let r = 0; r < n; r++) {
44
+ for (let g = 0; g < n; g++) {
45
+ for (let b = 0; b < n; b++) {
46
+ const color = new api_1.Color(
47
+ r / (n - 1),
48
+ g / (n - 1),
49
+ b / (n - 1)
50
+ );
51
+ colors.push(color);
52
+ }
53
+ }
54
+ }
55
+ colors = new shuffle_1.Shuffle().shuffle(colors);
56
+ console.log("|colors|:", colors.length);
57
+ function setToNextColor() {
58
+ const color = colors.shift();
59
+ if (color) {
60
+ console.log(color.toHex(), colors.length);
61
+ api_1.world.setSlotColor(0, color);
62
+ cube === null || cube === void 0 ? void 0 : cube.setPrimaryColor(color);
63
+ border.setColor(color);
64
+ }
65
+ return color !== undefined;
66
+ }
67
+ const handle = setInterval(() => {
68
+ if (!setToNextColor()) {
69
+ clearInterval(handle);
70
+ }
71
+ }, 3000);
72
+ //# sourceMappingURL=color-mapping-rotating.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-mapping-rotating.js","sourceRoot":"","sources":["../../../../src/lib/color-lib/color-mapping-rotating.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Container, GameObject } from "@tabletop-playground/api";
1
+ import { Container, GameObject, Player } from "@tabletop-playground/api";
2
2
  import { TriggerableMulticastDelegate } from "../../event/triggerable-multicast-delegate/triggerable-multicast-delegate";
3
3
  /**
4
4
  * Possibly return the given object to its designated "thrown in the garbage" location.
@@ -22,7 +22,7 @@ export declare abstract class GarbageHandler {
22
22
  * Attempt to recycle deposited objects, break up decks into individual cards.
23
23
  */
24
24
  export declare class GarbageContainer {
25
- static onRecycled: TriggerableMulticastDelegate<(obj: GameObject, name: string) => void>;
25
+ static onRecycled: TriggerableMulticastDelegate<(objName: string, objMetadata: string, player: Player | undefined) => void>;
26
26
  private static _garbageHandlers;
27
27
  private readonly _container;
28
28
  /**
@@ -35,9 +35,9 @@ export declare class GarbageContainer {
35
35
  * Clear all recycle handlers (for tests).
36
36
  */
37
37
  static clearHandlers(): void;
38
- static tryRecycle(obj: GameObject): boolean;
38
+ static tryRecycle(obj: GameObject, player: Player | undefined): boolean;
39
39
  private static _tryRecycleObj;
40
40
  private static _tryRecycleDeck;
41
41
  constructor(container: Container);
42
- _recycle(): void;
42
+ _recycle(player: Player | undefined): void;
43
43
  }
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GarbageContainer = exports.GarbageHandler = void 0;
4
4
  const api_1 = require("@tabletop-playground/api");
5
5
  const triggerable_multicast_delegate_1 = require("../../event/triggerable-multicast-delegate/triggerable-multicast-delegate");
6
+ const nsid_1 = require("../../nsid/nsid");
6
7
  /**
7
8
  * Possibly return the given object to its designated "thrown in the garbage" location.
8
9
  */
@@ -27,28 +28,33 @@ class GarbageContainer {
27
28
  static clearHandlers() {
28
29
  this._garbageHandlers = [];
29
30
  }
30
- static tryRecycle(obj) {
31
+ static tryRecycle(obj, player) {
31
32
  if (obj instanceof api_1.Card && obj.getStackSize() > 1) {
32
- return GarbageContainer._tryRecycleDeck(obj);
33
+ return GarbageContainer._tryRecycleDeck(obj, player);
33
34
  }
34
35
  else {
35
- return GarbageContainer._tryRecycleObj(obj);
36
+ return GarbageContainer._tryRecycleObj(obj, player);
36
37
  }
37
38
  }
38
- static _tryRecycleObj(obj) {
39
+ static _tryRecycleObj(obj, player) {
39
40
  for (const handler of this._garbageHandlers) {
40
41
  if (handler.canRecycle(obj)) {
41
42
  // Name might be lost during recycle, read it early.
42
- const name = obj.getName();
43
+ let objName = obj.getName();
44
+ const objMetadata = nsid_1.NSID.get(obj);
45
+ if (obj instanceof api_1.Card && obj.getStackSize() === 1) {
46
+ const cardDetails = obj.getCardDetails();
47
+ objName = cardDetails.name;
48
+ }
43
49
  if (handler.recycle(obj)) {
44
- GarbageContainer.onRecycled.trigger(obj, name);
50
+ GarbageContainer.onRecycled.trigger(objName, objMetadata, player);
45
51
  return true;
46
52
  }
47
53
  }
48
54
  }
49
55
  return false;
50
56
  }
51
- static _tryRecycleDeck(deck) {
57
+ static _tryRecycleDeck(deck, player) {
52
58
  let recycleCount = 0;
53
59
  const stackSize = deck.getStackSize();
54
60
  // Process one card at a time. Assume a handler will exist, cost to
@@ -67,7 +73,7 @@ class GarbageContainer {
67
73
  }
68
74
  if (card) {
69
75
  // Try to recycle, return card to same spot if fails.
70
- const success = GarbageContainer._tryRecycleObj(card);
76
+ const success = GarbageContainer._tryRecycleObj(card, player);
71
77
  if (success) {
72
78
  recycleCount += 1;
73
79
  }
@@ -86,14 +92,14 @@ class GarbageContainer {
86
92
  throw new Error("missing container");
87
93
  }
88
94
  this._container = container;
89
- container.onInserted.add(() => {
95
+ container.onInserted.add((_container, _insertedObjects, player) => {
90
96
  process.nextTick(() => {
91
- this._recycle();
97
+ this._recycle(player);
92
98
  });
93
99
  });
94
100
  }
95
101
  // Expose for testing.
96
- _recycle() {
102
+ _recycle(player) {
97
103
  const objs = this._container.getItems();
98
104
  for (const obj of objs) {
99
105
  // Verify object.
@@ -109,7 +115,7 @@ class GarbageContainer {
109
115
  .add([0, 0, obj.getSize().z + 3]);
110
116
  this._container.take(obj, above);
111
117
  // Attempt to recyle.
112
- const success = GarbageContainer.tryRecycle(obj);
118
+ const success = GarbageContainer.tryRecycle(obj, player);
113
119
  // If recycle fails, return to container.
114
120
  if (!success) {
115
121
  this._container.addObjects([obj]);
@@ -1 +1 @@
1
- {"version":3,"file":"garbage-container.js","sourceRoot":"","sources":["../../../../../src/lib/game-object/garbage/garbage-container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"garbage-container.js","sourceRoot":"","sources":["../../../../../src/lib/game-object/garbage/garbage-container.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Color } from "@tabletop-playground/api";
2
+ export declare const HEX_COLOR_REGEX: RegExp;
3
+ export declare class ParseColor {
4
+ private readonly _hexColorRegex;
5
+ parseColor(hexColor: string): Color | undefined;
6
+ parseColorOrThrow(hexColor: string): Color;
7
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ParseColor = exports.HEX_COLOR_REGEX = void 0;
4
+ const api_1 = require("@tabletop-playground/api");
5
+ exports.HEX_COLOR_REGEX = /^#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i;
6
+ class ParseColor {
7
+ constructor() {
8
+ this._hexColorRegex = new RegExp(exports.HEX_COLOR_REGEX);
9
+ }
10
+ parseColor(hexColor) {
11
+ var _a;
12
+ const m = hexColor.match(this._hexColorRegex);
13
+ const hexStr =
14
+ (_a = m === null || m === void 0 ? void 0 : m[1]) !== null &&
15
+ _a !== void 0
16
+ ? _a
17
+ : "";
18
+ if (!m) {
19
+ return undefined;
20
+ }
21
+ if (hexStr.length !== 3 && hexStr.length !== 6 && hexStr.length !== 8) {
22
+ return undefined;
23
+ }
24
+ let r = 0;
25
+ let g = 0;
26
+ let b = 0;
27
+ let a = 1;
28
+ if (hexStr.length === 3) {
29
+ r = Number.parseInt(hexStr.substring(0, 1), 16) / 15;
30
+ g = Number.parseInt(hexStr.substring(1, 2), 16) / 15;
31
+ b = Number.parseInt(hexStr.substring(2, 3), 16) / 15;
32
+ } else {
33
+ r = Number.parseInt(hexStr.substring(0, 2), 16) / 255;
34
+ g = Number.parseInt(hexStr.substring(2, 4), 16) / 255;
35
+ b = Number.parseInt(hexStr.substring(4, 6), 16) / 255;
36
+ }
37
+ if (hexStr.length === 8) {
38
+ a = Number.parseInt(hexStr.substring(6, 8), 16) / 255;
39
+ }
40
+ return new api_1.Color(r, g, b, a);
41
+ }
42
+ parseColorOrThrow(hexColor) {
43
+ const color = this.parseColor(hexColor);
44
+ if (!color) {
45
+ throw new Error(`bad hexColor "${hexColor}"`);
46
+ }
47
+ return color;
48
+ }
49
+ }
50
+ exports.ParseColor = ParseColor;
51
+ //# sourceMappingURL=parse-color.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-color.js","sourceRoot":"","sources":["../../../../../src/lib/parse/parse-color/parse-color.ts"],"names":[],"mappings":";;;AAAA,kDAAiD;AAEpC,QAAA,eAAe,GAAG,2CAA2C,CAAC;AAE3E,MAAa,UAAU;IAAvB;QACqB,mBAAc,GAAW,IAAI,MAAM,CAAC,uBAAe,CAAC,CAAC;IAsC1E,CAAC;IApCG,UAAU,CAAC,QAAgB;;QACvB,MAAM,CAAC,GAA4B,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACvE,MAAM,MAAM,GAAW,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAG,CAAC,CAAC,mCAAI,EAAE,CAAC;QACpC,IAAI,CAAC,CAAC,EAAE,CAAC;YACL,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpE,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;YACrD,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;YACrD,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC;QACzD,CAAC;aAAM,CAAC;YACJ,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;YACtD,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;YACtD,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;QAC1D,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;QAC1D,CAAC;QACD,OAAO,IAAI,WAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,iBAAiB,CAAC,QAAgB;QAC9B,MAAM,KAAK,GAAsB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,GAAG,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAvCD,gCAuCC"}
@@ -127,7 +127,8 @@ class SwapSplitCombine {
127
127
  srcObjs = srcObjs.splice(0, applyCount * rule.src.count);
128
128
  // Recycle src objects.
129
129
  for (const obj of srcObjs) {
130
- if (!garbage_container_1.GarbageContainer.tryRecycle(obj)) {
130
+ // Do not specify player to prevent reporting recycle.
131
+ if (!garbage_container_1.GarbageContainer.tryRecycle(obj, undefined)) {
131
132
  deleted_items_container_1.DeletedItemsContainer.destroyWithoutCopying(obj);
132
133
  }
133
134
  }
@@ -1 +1 @@
1
- {"version":3,"file":"swap-split-combine.js","sourceRoot":"","sources":["../../../../src/lib/swap-split-combine/swap-split-combine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swap-split-combine.js","sourceRoot":"","sources":["../../../../src/lib/swap-split-combine/swap-split-combine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ var __awaiter =
3
+ (this && this.__awaiter) ||
4
+ function (thisArg, _arguments, P, generator) {
5
+ function adopt(value) {
6
+ return value instanceof P
7
+ ? value
8
+ : new P(function (resolve) {
9
+ resolve(value);
10
+ });
11
+ }
12
+ return new (P || (P = Promise))(function (resolve, reject) {
13
+ function fulfilled(value) {
14
+ try {
15
+ step(generator.next(value));
16
+ } catch (e) {
17
+ reject(e);
18
+ }
19
+ }
20
+ function rejected(value) {
21
+ try {
22
+ step(generator["throw"](value));
23
+ } catch (e) {
24
+ reject(e);
25
+ }
26
+ }
27
+ function step(result) {
28
+ result.done
29
+ ? resolve(result.value)
30
+ : adopt(result.value).then(fulfilled, rejected);
31
+ }
32
+ step(
33
+ (generator = generator.apply(thisArg, _arguments || [])).next()
34
+ );
35
+ });
36
+ };
37
+ var __importDefault =
38
+ (this && this.__importDefault) ||
39
+ function (mod) {
40
+ return mod && mod.__esModule ? mod : { default: mod };
41
+ };
42
+ Object.defineProperty(exports, "__esModule", { value: true });
43
+ /**
44
+ * Given a screenshot and start/end coordinates extract the color values.
45
+ */
46
+ const fs_1 = __importDefault(require("fs"));
47
+ const sharp_1 = __importDefault(require("sharp"));
48
+ function extractColors(filename, startX, startY, endX, endY, n) {
49
+ return __awaiter(this, void 0, void 0, function* () {
50
+ const result = [];
51
+ const image = (0, sharp_1.default)(filename);
52
+ const metadata = yield image.metadata();
53
+ const w = metadata.width;
54
+ const h = metadata.height;
55
+ if (!w || !h) {
56
+ throw new Error("bad metadata");
57
+ }
58
+ const raw = yield image.raw().toBuffer();
59
+ const pixelArray = new Uint8ClampedArray(raw); // [r, g, b, a] repeated
60
+ if (pixelArray.length !== w * h * 4) {
61
+ throw new Error("bad pixel array");
62
+ }
63
+ const getPx = (x, y) => {
64
+ const i = (y * w + x) * 4;
65
+ const pixel = pixelArray.slice(i, i + 4);
66
+ const s = 10000;
67
+ const r = Math.floor((pixel[0] * s) / 255) / s;
68
+ const g = Math.floor((pixel[1] * s) / 255) / s;
69
+ const b = Math.floor((pixel[2] * s) / 255) / s;
70
+ return [r, g, b];
71
+ };
72
+ const dx = (endX - startX) / (n - 1);
73
+ const dy = (endY - startY) / (n - 1);
74
+ for (let i = 0; i < n; i++) {
75
+ const x = Math.round(startX + i * dx);
76
+ const y = Math.round(startY + i * dy);
77
+ const rgb = getPx(x, y);
78
+ result.push(rgb);
79
+ }
80
+ return result;
81
+ });
82
+ }
83
+ function processScreenshot() {
84
+ return __awaiter(this, void 0, void 0, function* () {
85
+ const filename =
86
+ "/Users/darrell/Desktop/Screenshot 2024-08-16 at 10.34.21 AM.png";
87
+ if (!fs_1.default.existsSync(filename)) {
88
+ throw new Error(`file not found "${filename}"`);
89
+ }
90
+ // Plastic.
91
+ {
92
+ const startX = 50;
93
+ const startY = 44;
94
+ const endX = 4904;
95
+ const endY = 43;
96
+ const n = 40;
97
+ const colors = yield extractColors(
98
+ filename,
99
+ startX,
100
+ startY,
101
+ endX,
102
+ endY,
103
+ n
104
+ );
105
+ console.log(colors);
106
+ }
107
+ // Widget.
108
+ {
109
+ const startX = 55;
110
+ const startY = 107;
111
+ const endX = 4898;
112
+ const endY = 107;
113
+ const n = 40;
114
+ const colors = yield extractColors(
115
+ filename,
116
+ startX,
117
+ startY,
118
+ endX,
119
+ endY,
120
+ n
121
+ );
122
+ console.log(colors);
123
+ }
124
+ });
125
+ }
126
+ processScreenshot();
127
+ //# sourceMappingURL=color-extract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-extract.js","sourceRoot":"","sources":["../../../../src/lib-ext/color-mapping/color-extract.ts"],"names":[],"mappings":"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"}