@operato/scene-wheel-sorter 1.2.90 → 2.0.0-alpha.0
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.
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,15 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [2.0.0-alpha.0](https://github.com/things-scene/operato-scene/compare/v1.3.9...v2.0.0-alpha.0) (2024-01-14)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### :bug: Bug Fix
|
|
10
|
+
|
|
11
|
+
* 2.0.0-alpha.0 ([93274e3](https://github.com/things-scene/operato-scene/commit/93274e36c5d184f339f83899654dd48b4786ac2b))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
6
15
|
## [1.2.90](https://github.com/things-scene/operato-scene/compare/v1.2.89...v1.2.90) (2023-11-22)
|
|
7
16
|
|
|
8
17
|
**Note:** Version bump only for package @operato/scene-wheel-sorter
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conveyor-join.js","sourceRoot":"","sources":["../src/conveyor-join.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, ComponentNature, Donut, POSITION } from '@hatiolab/things-scene'\n\nimport MixinRoller from './mixin-conveyor'\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'select',\n label: 'conveyor-type',\n name: 'conveyorType',\n property: {\n options: [\n {\n display: 'Roller',\n value: 0\n },\n {\n display: 'Belt',\n value: 1\n }\n ]\n }\n },\n {\n type: 'angle',\n label: 'start-angle',\n name: 'startAngle'\n },\n {\n type: 'angle',\n label: 'end-angle',\n name: 'endAngle'\n },\n {\n type: 'number',\n label: 'ratio',\n name: 'ratio'\n },\n {\n type: 'number',\n label: 'roll-width',\n name: 'rollWidth'\n },\n {\n type: 'number',\n label: 'value',\n name: 'value'\n },\n {\n type: 'checkbox',\n label: 'animation',\n name: 'animated'\n }\n ],\n help: 'scene/component/conveyor-join'\n}\n\nvar controlHandler = {\n ondragmove: function (point: POSITION, index: number, component: Component) {\n var { cx, cy, rx, ry, startAngle, endAngle } = component.model\n\n var { x, y } = component.transcoordP2S(point.x, point.y)\n\n const angle = (startAngle + endAngle) / 2\n\n /* 원점으로부터 최대 거리 */\n const dx = Math.abs(rx * Math.sin(angle))\n const dy = Math.abs(ry * Math.cos(angle))\n const distance = Math.sqrt(dx * dx + dy * dy)\n\n /* 원점으로부터 현재 컨트롤 위치까지의 거리 */\n const px = Math.abs(cx - x)\n const py = Math.abs(cy - y)\n const pdistance = Math.sqrt(px * px + py * py)\n\n var ratio = (pdistance / distance) * 100\n\n ratio = ratio >= 100 || ratio <= -100 ? 100 : Math.abs(ratio)\n\n component.set({ ratio })\n }\n}\n\nvar antiClockWiseControlHandler = {\n ondragmove: function (point: POSITION, index: number, component: Component) {\n var { cx, cy } = component.model\n\n var transcoorded = component.transcoordP2S(point.x, point.y)\n\n var theta = Math.atan2(-(transcoorded.y - cy), transcoorded.x - cx)\n\n if (theta > 0 && theta <= Math.PI / 2) theta = Math.PI / 2\n if (theta < 0 && theta >= -Math.PI / 2) theta = -Math.PI / 2\n\n const startAngle = (-theta + Math.PI / 2 - Math.PI * 2) % (Math.PI * 2)\n\n component.set({ startAngle })\n }\n}\n\nvar clockwiseControlHandler = {\n ondragmove: function (point: POSITION, index: number, component: Component) {\n var { cx, cy } = component.model\n\n var transcoorded = component.transcoordP2S(point.x, point.y)\n\n var theta = Math.atan2(-(transcoorded.y - cy), transcoorded.x - cx)\n\n if (theta > 0) if (theta >= Math.PI / 2) theta = Math.PI / 2\n if (theta < 0) if (theta <= -Math.PI / 2) theta = -Math.PI / 2\n\n var endAngle = -theta + Math.PI / 2\n\n component.set({ endAngle })\n }\n}\n\nfunction normalizeAngle(angle: number): number {\n angle = angle % (2 * Math.PI)\n if (angle <= -Math.PI) {\n angle += 2 * Math.PI\n } else if (angle > Math.PI) {\n angle -= 2 * Math.PI\n }\n return angle\n}\n\nexport default class ConveyorJoin extends MixinRoller(Donut) {\n get nature() {\n return NATURE\n }\n\n is3dish() {\n return false\n }\n\n contains(x: number, y: number) {\n var { cx, cy, rx, ry, ratio, startAngle, endAngle } = this.state\n rx = Math.abs(rx)\n ry = Math.abs(ry)\n\n const normx = (x - cx) / (rx * 2 - 0.5)\n const normy = (y - cy) / (ry * 2 - 0.5)\n const ratiox = (x - cx) / ((rx / 100) * ratio * 2 - 0.5)\n const ratioy = (y - cy) / ((ry / 100) * ratio * 2 - 0.5)\n\n if (normx * normx + normy * normy < 0.25 && ratiox * ratiox + ratioy * ratioy > 0.25) {\n const angle = normalizeAngle(Math.atan2(-normy, normx) - Math.PI / 2)\n\n if (angle >= startAngle && angle <= endAngle) {\n return true\n }\n }\n\n return false\n }\n\n render(ctx: CanvasRenderingContext2D) {\n var { ratio = 50, cx, cy, rx, ry, startAngle = 0, endAngle = Math.PI / 2, animated = false } = this.state\n\n animated && this.animOnState()\n\n ctx.beginPath()\n\n startAngle = (startAngle - Math.PI / 2 - Math.PI * 2) % (Math.PI * 2)\n endAngle -= Math.PI / 2\n\n ctx.ellipse(cx, cy, Math.abs(rx), Math.abs(ry), 0, startAngle, endAngle)\n ctx.ellipse(cx, cy, Math.abs((rx / 100) * ratio), Math.abs((ry / 100) * ratio), 0, endAngle, startAngle, true)\n\n ctx.lineTo(rx * Math.cos(startAngle) + cx, ry * Math.sin(startAngle) + cy)\n }\n\n get controls() {\n var { cx, cy, rx, ry, ratio, startAngle, endAngle } = this.state\n\n var controls = []\n\n controls.push({\n x: cx + ((rx + (rx * ratio) / 100) / 2) * Math.sin(startAngle),\n y: cy - ((ry + (ry * ratio) / 100) / 2) * Math.cos(startAngle),\n handler: antiClockWiseControlHandler\n })\n\n controls.push({\n x: cx + ((rx + (rx * ratio) / 100) / 2) * Math.sin(endAngle),\n y: cy - ((ry + (ry * ratio) / 100) / 2) * Math.cos(endAngle),\n handler: clockwiseControlHandler\n })\n\n const angle = (startAngle + endAngle) / 2\n controls.push({\n x: cx + ((rx * ratio) / 100) * Math.sin(angle),\n y: cy - ((ry * ratio) / 100) * Math.cos(angle),\n handler: controlHandler\n })\n\n return controls\n }\n}\n\nComponent.register('conveyor-join', ConveyorJoin as any)\n"]}
|
|
1
|
+
{"version":3,"file":"conveyor-join.js","sourceRoot":"","sources":["../src/conveyor-join.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, ComponentNature, Donut, POSITION } from '@hatiolab/things-scene'\n\nimport MixinRoller from './mixin-conveyor'\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'select',\n label: 'conveyor-type',\n name: 'conveyorType',\n property: {\n options: [\n {\n display: 'Roller',\n value: 0\n },\n {\n display: 'Belt',\n value: 1\n }\n ]\n }\n },\n {\n type: 'angle',\n label: 'start-angle',\n name: 'startAngle'\n },\n {\n type: 'angle',\n label: 'end-angle',\n name: 'endAngle'\n },\n {\n type: 'number',\n label: 'ratio',\n name: 'ratio'\n },\n {\n type: 'number',\n label: 'roll-width',\n name: 'rollWidth'\n },\n {\n type: 'number',\n label: 'value',\n name: 'value'\n },\n {\n type: 'checkbox',\n label: 'animation',\n name: 'animated'\n }\n ],\n help: 'scene/component/conveyor-join'\n}\n\nvar controlHandler = {\n ondragmove: function (point: POSITION, index: number, component: Component) {\n var { cx, cy, rx, ry, startAngle, endAngle } = component.model\n\n var { x, y } = component.transcoordP2S(point.x, point.y)\n\n const angle = (startAngle + endAngle) / 2\n\n /* 원점으로부터 최대 거리 */\n const dx = Math.abs(rx * Math.sin(angle))\n const dy = Math.abs(ry * Math.cos(angle))\n const distance = Math.sqrt(dx * dx + dy * dy)\n\n /* 원점으로부터 현재 컨트롤 위치까지의 거리 */\n const px = Math.abs(cx - x)\n const py = Math.abs(cy - y)\n const pdistance = Math.sqrt(px * px + py * py)\n\n var ratio = (pdistance / distance) * 100\n\n ratio = ratio >= 100 || ratio <= -100 ? 100 : Math.abs(ratio)\n\n component.set({ ratio })\n }\n}\n\nvar antiClockWiseControlHandler = {\n ondragmove: function (point: POSITION, index: number, component: Component) {\n var { cx, cy } = component.model\n\n var transcoorded = component.transcoordP2S(point.x, point.y)\n\n var theta = Math.atan2(-(transcoorded.y - cy), transcoorded.x - cx)\n\n if (theta > 0 && theta <= Math.PI / 2) theta = Math.PI / 2\n if (theta < 0 && theta >= -Math.PI / 2) theta = -Math.PI / 2\n\n const startAngle = (-theta + Math.PI / 2 - Math.PI * 2) % (Math.PI * 2)\n\n component.set({ startAngle })\n }\n}\n\nvar clockwiseControlHandler = {\n ondragmove: function (point: POSITION, index: number, component: Component) {\n var { cx, cy } = component.model\n\n var transcoorded = component.transcoordP2S(point.x, point.y)\n\n var theta = Math.atan2(-(transcoorded.y - cy), transcoorded.x - cx)\n\n if (theta > 0) if (theta >= Math.PI / 2) theta = Math.PI / 2\n if (theta < 0) if (theta <= -Math.PI / 2) theta = -Math.PI / 2\n\n var endAngle = -theta + Math.PI / 2\n\n component.set({ endAngle })\n }\n}\n\nfunction normalizeAngle(angle: number): number {\n angle = angle % (2 * Math.PI)\n if (angle <= -Math.PI) {\n angle += 2 * Math.PI\n } else if (angle > Math.PI) {\n angle -= 2 * Math.PI\n }\n return angle\n}\n\nexport default class ConveyorJoin extends MixinRoller(Donut) {\n get nature() {\n return NATURE\n }\n\n is3dish() {\n return false\n }\n\n contains(x: number, y: number) {\n var { cx, cy, rx, ry, ratio, startAngle, endAngle } = this.state\n rx = Math.abs(rx)\n ry = Math.abs(ry)\n\n const normx = (x - cx) / (rx * 2 - 0.5)\n const normy = (y - cy) / (ry * 2 - 0.5)\n const ratiox = (x - cx) / ((rx / 100) * ratio * 2 - 0.5)\n const ratioy = (y - cy) / ((ry / 100) * ratio * 2 - 0.5)\n\n if (normx * normx + normy * normy < 0.25 && ratiox * ratiox + ratioy * ratioy > 0.25) {\n const angle = normalizeAngle(Math.atan2(-normy, normx) - Math.PI / 2)\n\n if (angle >= startAngle && angle <= endAngle) {\n return true\n }\n }\n\n return false\n }\n\n render(ctx: CanvasRenderingContext2D) {\n var { ratio = 50, cx, cy, rx, ry, startAngle = 0, endAngle = Math.PI / 2, animated = false } = this.state\n\n animated && this.animOnState()\n\n ctx.beginPath()\n\n startAngle = (startAngle - Math.PI / 2 - Math.PI * 2) % (Math.PI * 2)\n endAngle -= Math.PI / 2\n\n ctx.ellipse(cx, cy, Math.abs(rx), Math.abs(ry), 0, startAngle, endAngle)\n ctx.ellipse(cx, cy, Math.abs((rx / 100) * ratio), Math.abs((ry / 100) * ratio), 0, endAngle, startAngle, true)\n\n ctx.lineTo(rx * Math.cos(startAngle) + cx, ry * Math.sin(startAngle) + cy)\n }\n\n get controls() {\n var { cx, cy, rx, ry, ratio, startAngle, endAngle } = this.state\n\n var controls = []\n\n controls.push({\n x: cx + ((rx + (rx * ratio) / 100) / 2) * Math.sin(startAngle),\n y: cy - ((ry + (ry * ratio) / 100) / 2) * Math.cos(startAngle),\n handler: antiClockWiseControlHandler\n })\n\n controls.push({\n x: cx + ((rx + (rx * ratio) / 100) / 2) * Math.sin(endAngle),\n y: cy - ((ry + (ry * ratio) / 100) / 2) * Math.cos(endAngle),\n handler: clockwiseControlHandler\n })\n\n const angle = (startAngle + endAngle) / 2\n controls.push({\n x: cx + ((rx * ratio) / 100) * Math.sin(angle),\n y: cy - ((ry * ratio) / 100) * Math.cos(angle),\n handler: controlHandler\n })\n\n return controls\n }\n}\n\nComponent.register('conveyor-join', ConveyorJoin as any)\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mixin-conveyor.js","sourceRoot":"","sources":["../src/mixin-conveyor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mixin-conveyor.js","sourceRoot":"","sources":["../src/mixin-conveyor.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\nimport { Class, Component, ValueHolder } from '@hatiolab/things-scene'\n\nconst TYPE_ROLLER = 0\nconst TYPE_BELT = 1\n\nconst FILL_STYLES = ['#ccc', '#afd0f1', '#afd0f1', '#ffba00', '#e9746b'] // IDLE, RUN, RUN(REVERSE), WARN, ERROR\nconst STROKE_STYLES = ['#999', '#87b1db', '#87b1db', '#d96f21', '#a73928'] // IDLE, RUN, RUN(REVERSE), WARN, ERROR\n\ntype RollerPattern = {\n width: number\n height: number\n}\n\nfunction pattern_for_belt_type(component: any) {\n var { height } = component.bounds\n\n var { rollWidth = 10 } = component.model\n\n var width = Math.max(rollWidth, 1)\n\n var color = FILL_STYLES[component.value] || FILL_STYLES[0]\n var stroke = STROKE_STYLES[component.value] || STROKE_STYLES[0]\n var lineWidth = 1\n\n if (!component._roller_pattern) component._roller_pattern = document.createElement('canvas')\n\n component._roller_pattern.width = width\n component._roller_pattern.height = height\n\n var context = component._roller_pattern.getContext('2d')\n\n context.beginPath()\n context.fillStyle = color\n context.strokeStyle = stroke\n context.lineWidth = lineWidth\n\n context.moveTo(0, 0)\n context.lineTo(width, 0)\n context.lineTo(width, height)\n context.lineTo(0, height)\n context.lineTo(0, 0)\n context.fill()\n\n context.beginPath()\n\n context.globalAlpha = 0.2\n\n var x_for_belt = (component._step || 0) % width\n if (component.value == 2) x_for_belt = width - x_for_belt\n\n context.moveTo(x_for_belt, height)\n context.lineTo(x_for_belt, 0)\n\n context.stroke()\n\n return component._roller_pattern\n}\n\nfunction pattern_for_roller_type(component: any) {\n var { height } = component.bounds\n\n var { rollWidth = 10, animated } = component.model\n\n // var modelWidth = component.model.width;\n\n var width = Math.max(rollWidth, 1)\n\n var color = FILL_STYLES[component.value] || FILL_STYLES[0]\n var stroke = STROKE_STYLES[component.value] || STROKE_STYLES[0]\n var lineWidth = Math.min(1, width / 10)\n\n width += lineWidth * 2\n\n if (!component._roller_pattern) component._roller_pattern = document.createElement('canvas')\n\n var gap = Math.floor((width * 2) / 3)\n\n // while (Math.round(modelWidth - width) % (width + gap) > gap) {\n // gap++\n // console.log(gap, Math.round(modelWidth - width) % (width + gap))\n // }\n\n component._roller_pattern.width = width + gap\n component._roller_pattern.height = height\n\n var context = component._roller_pattern.getContext('2d')\n\n context.beginPath()\n context.fillStyle = color\n context.strokeStyle = stroke\n context.lineWidth = lineWidth\n\n context.ellipse(lineWidth + width / 2, height - width / 4 - lineWidth, width / 2, width / 4, 0, 0, Math.PI)\n\n context.moveTo(lineWidth, height - width / 4)\n context.lineTo(lineWidth, width / 4)\n\n context.ellipse(lineWidth + width / 2, width / 4 + lineWidth, width / 2, width / 4, 0, Math.PI, 0)\n\n context.lineTo(lineWidth + width, height - width / 4)\n\n context.fill()\n context.stroke()\n\n context.globalAlpha = 0.2\n\n context.lineWidth = width / 3\n\n if (animated) {\n var x_for_roll = component._step % width\n if (component.value == 2) x_for_roll = width - x_for_roll\n\n context.moveTo(x_for_roll, height - width / 4)\n context.lineTo(x_for_roll, width / 4)\n\n context.stroke()\n }\n\n return component._roller_pattern\n}\n\nconst patterns = [pattern_for_roller_type, pattern_for_belt_type]\n\nexport default (superclass: Class) => {\n var A = class extends ValueHolder(superclass) {\n dispose() {\n super.dispose()\n delete this._roller_pattern\n }\n\n animOnState() {\n if ((this.value !== 1 && this.value !== 2) || this.disposed) return\n\n if (!this._step || this._step > 40000) this._step = this.value == 0\n\n this._step++\n\n var self = this\n\n requestAnimationFrame(function () {\n self.clearCache('fillStyle')\n self.invalidate()\n })\n }\n\n get conveyorType() {\n var conveyorType = this.getState('conveyorType')\n if (conveyorType != TYPE_BELT && conveyorType != TYPE_ROLLER) conveyorType = TYPE_ROLLER\n return conveyorType\n }\n\n get fillStyle() {\n return {\n image: patterns[this.conveyorType](this),\n offsetX: 0,\n offsetY: 0,\n type: 'pattern'\n }\n }\n }\n\n Component.memoize(A.prototype, 'fillStyle', false)\n Component.memoize(A.prototype, 'conveyorType', false)\n\n return A\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mixin-wheel-sorter.js","sourceRoot":"","sources":["../src/mixin-wheel-sorter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAS,SAAS,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEtE,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA,CAAC,yBAAyB;AACvF,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA,CAAC,yBAAyB;AAEzF,eAAe,CAAC,UAAiB,EAAE,EAAE;IACnC,IAAI,CAAC,GAAG,KAAM,SAAQ,WAAW,CAAC,UAAU,CAAC;QAC3C,WAAW;YACT,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAM;YAE7C,IAAI,IAAI,GAAG,IAAI,CAAA;YAEf,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAA;YAC3C,IAAI,KAAK,GAAG,EAAE;gBAAE,KAAK,GAAG,CAAC,CAAA;iBACpB,IAAI,KAAK,GAAG,EAAE;gBAAE,KAAK,GAAG,CAAC,CAAA;;gBACzB,KAAK,GAAG,CAAC,CAAA;YAEd,qBAAqB,CAAC;gBACpB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;gBACzB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;gBAC5B,IAAI,CAAC,UAAU,EAAE,CAAA;YACnB,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,aAAa,CAAC,GAA6B;YACzC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;YAE9C,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;YAE5C,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC/B,IAAI,IAAI,CAAC,CAAA;YACT,IAAI,IAAI,CAAC,CAAA;YAET,IAAI,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAA;YACrD,IAAI,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAA;YAC1D,IAAI,SAAS,GAAG,CAAC,CAAA;YAEjB,IAAI,YAAY,GAAG,SAAS,GAAG,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAA;YAEpE,GAAG,CAAC,SAAS,EAAE,CAAA;YACf,GAAG,CAAC,SAAS,GAAG,KAAK,CAAA;YACrB,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;YAClC,GAAG,CAAC,IAAI,EAAE,CAAA;YAEV,GAAG,CAAC,WAAW,GAAG,MAAM,CAAA;YACxB,GAAG,CAAC,SAAS,GAAG,SAAS,CAAA;YAEzB,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,CAAA;QAC3C,CAAC;QAED,YAAY,CAAC,GAA6B,EAAE,IAAY;YACtD,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;YAEnC,IAAI,OAAO,GAAG,CAAC,EACb,OAAO,GAAG,CAAC,CAAA;YAEb,OAAO,OAAO,GAAG,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"mixin-wheel-sorter.js","sourceRoot":"","sources":["../src/mixin-wheel-sorter.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\nimport { Class, Component, ValueHolder } from '@hatiolab/things-scene'\n\nconst FILL_STYLES = ['#ccc', '#afd0f1', '#ffba00', '#e9746b'] // IDLE, RUN, WARN, ERROR\nconst STROKE_STYLES = ['#999', '#87b1db', '#d96f21', '#a73928'] // IDLE, RUN, WARN, ERROR\n\nexport default (superclass: Class) => {\n var A = class extends ValueHolder(superclass) {\n animOnState() {\n if (this.value !== 1 || this.disposed) return\n\n var self = this\n\n var alpha = Math.floor(Math.random() * 100)\n if (alpha < 10) alpha = 2\n else if (alpha > 90) alpha = 1\n else alpha = 0\n\n requestAnimationFrame(function () {\n self.delta('tilt', alpha)\n self.clearCache('fillStyle')\n self.invalidate()\n })\n }\n\n _draw_pattern(ctx: CanvasRenderingContext2D) {\n var { width, height, left, top } = this.bounds\n\n var { tilt = 0, wheelSize = 3 } = this.state\n\n tilt += this.delta('tilt') || 0\n tilt %= 3\n tilt -= 1\n\n var color = FILL_STYLES[this.value] || FILL_STYLES[0]\n var stroke = STROKE_STYLES[this.value] || STROKE_STYLES[0]\n var lineWidth = 1\n\n var pattern_size = wheelSize * 10 || Math.min(width / 5, height / 5)\n\n ctx.beginPath()\n ctx.fillStyle = color\n ctx.rect(left, top, width, height)\n ctx.fill()\n\n ctx.strokeStyle = stroke\n ctx.lineWidth = lineWidth\n\n this._draw_wheel(ctx, pattern_size, tilt)\n }\n\n _draw_circle(ctx: CanvasRenderingContext2D, size: number) {\n var { width, height } = this.bounds\n\n var offsetX = 0,\n offsetY = 0\n\n while (offsetY < height) {\n offsetX = 0\n while (offsetX < width) {\n ctx.moveTo(offsetX + size / 2 + size / 3, offsetY + size / 2)\n ctx.ellipse(offsetX + size / 2, offsetY + size / 2, size / 3, size / 3, 0, 0, 2 * Math.PI, false)\n\n offsetX += size\n }\n offsetY += size\n }\n\n ctx.stroke()\n }\n\n _draw_inner(ctx: CanvasRenderingContext2D, size: number, tilt: number) {\n var { width, height } = this.bounds\n\n var offsetX = 0,\n offsetY = 0\n\n while (offsetY < height) {\n offsetX = 0\n while (offsetX < width) {\n ctx.translate(offsetX, offsetY)\n ctx.beginPath()\n ctx.translate(size / 2, size / 2)\n ctx.rotate(tilt)\n\n ctx.moveTo(-size / 6, -size / 6)\n ctx.lineTo(-size / 6, size / 6)\n ctx.moveTo(size / 6, -size / 6)\n ctx.lineTo(size / 6, size / 6)\n\n ctx.stroke()\n ctx.rotate(-tilt)\n ctx.translate(-size / 2, -size / 2)\n ctx.translate(-offsetX, -offsetY)\n\n offsetX += size\n }\n offsetY += size\n }\n }\n\n _draw_wheel(ctx: CanvasRenderingContext2D, size: number, tilt: number) {\n var { left, top } = this.bounds\n\n ctx.beginPath()\n ctx.translate(left, top)\n this._draw_circle(ctx, size)\n this._draw_inner(ctx, size, tilt)\n }\n }\n\n Component.memoize(A.prototype, 'fillStyle', false)\n\n return A\n}\n"]}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@operato/scene-wheel-sorter",
|
|
3
3
|
"description": "The wheel sorter component for things-scene",
|
|
4
4
|
"author": "heartyoh",
|
|
5
|
-
"version": "
|
|
5
|
+
"version": "2.0.0-alpha.0",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"module": "dist/index.js",
|
|
8
8
|
"license": "MIT",
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@hatiolab/prettier-config": "^1.0.0",
|
|
34
|
-
"@things-factory/builder": "^
|
|
35
|
-
"@things-factory/operato-board": "^
|
|
34
|
+
"@things-factory/builder": "^7.0.0-alpha.0",
|
|
35
|
+
"@things-factory/operato-board": "^7.0.0-alpha.0",
|
|
36
36
|
"@typescript-eslint/eslint-plugin": "^4.33.0",
|
|
37
37
|
"@typescript-eslint/parser": "^4.33.0",
|
|
38
38
|
"@web/dev-server": "^0.1.28",
|
|
@@ -57,5 +57,5 @@
|
|
|
57
57
|
"prettier --write"
|
|
58
58
|
]
|
|
59
59
|
},
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "2268fc7a750dda9a342677a6acf4ef99afe1b90c"
|
|
61
61
|
}
|