@operato/scene-compass 10.0.0-beta.2 → 10.0.0-beta.65

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/README.md CHANGED
@@ -1,11 +1,33 @@
1
- # things-scene-compass
1
+ # @operato/scene-compass
2
2
 
3
- ## build
3
+ > Compass Component for things-scene.
4
4
 
5
- `$ yarn build`
5
+ <!-- AUTOGEN_BEGIN: do not edit between markers (run scripts/regenerate-readmes.mjs to update) -->
6
6
 
7
- | type | filename | for | tested |
8
- | ---- | -------------------------- | -------------- | ------ |
9
- | UMD | things-scene-compass.js | modern browser | O |
10
- | UMD | things-scene-compass-ie.js | ie 11 | O |
11
- | ESM | things-scene-compass.mjs | modern browser | O |
7
+ ## Components
8
+
9
+ - `Compass`
10
+
11
+ ## Install
12
+
13
+ ```bash
14
+ yarn add @operato/scene-compass
15
+ ```
16
+
17
+ ## Usage
18
+
19
+ ```ts
20
+ import { Compass } from '@operato/scene-compass'
21
+ ```
22
+
23
+ ## Build
24
+
25
+ ```bash
26
+ yarn build
27
+ ```
28
+
29
+ Output: ESM module at `dist/index.js` (single bundle, no UMD/IE legacy).
30
+
31
+ _Version: 10.0.0-beta.14_
32
+
33
+ <!-- AUTOGEN_END -->
package/dist/compass.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import { ComponentNature, Ellipse, Properties } from '@hatiolab/things-scene';
2
2
  export default class Compass extends Ellipse {
3
3
  private _anim_alpha;
4
- is3dish(): boolean;
5
4
  render(context: CanvasRenderingContext2D): void;
6
5
  postrender(context: CanvasRenderingContext2D): void;
7
6
  onchange(after: Properties, before: Properties): void;
package/dist/compass.js CHANGED
@@ -19,9 +19,6 @@ const NATURE = {
19
19
  };
20
20
  let Compass = class Compass extends Ellipse {
21
21
  _anim_alpha = 0;
22
- is3dish() {
23
- return false;
24
- }
25
22
  render(context) {
26
23
  var { value = 0, fillStyle, cx, cy, rx, ry } = this.state;
27
24
  context.translate(cx, cy);
@@ -1 +1 @@
1
- {"version":3,"file":"compass.js","sourceRoot":"","sources":["../src/compass.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,OAAO,EAA8B,OAAO,EAAc,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAExG,MAAM,MAAM,GAAoB;IAC9B,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,UAAU,EAAE;QACV;YACE,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,OAAO;SAClB;KACF;IACD,IAAI,EAAE,yBAAyB;CAChC,CAAA;AAGc,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,OAAO;IAClC,WAAW,GAAW,CAAC,CAAA;IAE/B,OAAO;QACL,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,CAAC,OAAiC;QACtC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAEzD,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAEzB,oBAAoB;QACpB,OAAO,CAAC,SAAS,EAAE,CAAA;QACnB,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;QACpE,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA,CAAC,iBAAiB;QAE1G,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACxB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QACtB,OAAO,CAAC,SAAS,EAAE,CAAA;QAEnB,kBAAkB;QAClB,OAAO,CAAC,SAAS,EAAE,CAAA;QACnB,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAA;QAC5B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAA;QAC5B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAA;QAC7B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;QAE7B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAA;QAC5B,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAA;QAC5B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;QAC7B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAA;QAE7B,OAAO,CAAC,SAAS,GAAG,SAAS,CAAA;QAC7B,OAAO,CAAC,IAAI,EAAE,CAAA;QACd,OAAO,CAAC,SAAS,EAAE,CAAA;QAEnB,mBAAmB;QACnB,OAAO,CAAC,SAAS,EAAE,CAAA;QACnB,OAAO,CAAC,SAAS,GAAG,OAAO,CAAA;QAC3B,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,UAAU,CAAA;QAC1C,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAA;QAC/B,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAA;QAC5B,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,CAAA;QAC1C,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,CAAA;QACzC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAA;QAC1C,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAA;QAEzC,kBAAkB;QAClB,OAAO,CAAC,SAAS,EAAE,CAAA;QACnB,IAAI,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAA;QAC5D,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAEnB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;QAC7B,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAA;QAC5B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAA;QAC7B,OAAO,CAAC,SAAS,GAAG,SAAS,CAAA;QAC7B,OAAO,CAAC,IAAI,EAAE,CAAA;QAEd,OAAO,CAAC,SAAS,EAAE,CAAA;QACnB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAA;QAC5B,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAA;QAC5B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAA;QAC7B,OAAO,CAAC,SAAS,GAAG,SAAS,CAAA;QAC7B,OAAO,CAAC,IAAI,EAAE,CAAA;QAEd,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAA;QAEpB,oBAAoB;QACpB,OAAO,CAAC,SAAS,EAAE,CAAA;QACnB,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;QAClF,OAAO,CAAC,SAAS,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,KAAK,CAAA;QACrC,OAAO,CAAC,WAAW,GAAG,SAAS,CAAA;QAC/B,OAAO,CAAC,SAAS,GAAG,SAAS,CAAA;QAC7B,OAAO,CAAC,IAAI,EAAE,CAAA;QACd,OAAO,CAAC,MAAM,EAAE,CAAA;QAChB,OAAO,CAAC,SAAS,EAAE,CAAA;QAEnB,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;QAClF,OAAO,CAAC,SAAS,GAAG,SAAS,CAAA;QAC7B,OAAO,CAAC,IAAI,EAAE,CAAA;QACd,OAAO,CAAC,SAAS,EAAE,CAAA;QAEnB,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;IAC7B,CAAC;IAED,UAAU,CAAC,OAAiC;QAC1C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IACxB,CAAC;IAED,QAAQ,CAAC,KAAiB,EAAE,MAAkB;QAC5C,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC;YAAE,OAAM;QAE1C,IAAI,IAAI,GAAG,IAAI,CAAA;QACf,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;QAErC,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAA;QAExB,IAAI,CAAC,OAAO,CAAC;YACX,IAAI,EAAE,UAAU,KAAa;gBAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;gBACrC,IAAI,CAAC,UAAU,EAAE,CAAA;YACnB,CAAC;YACD,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE;gBACP,CAAC,EAAE,CAAC;aACL;YACD,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC,KAAK,EAAE,CAAA;IACZ,CAAC;IAED,IAAI,MAAM;QACR,OAAO,MAAM,CAAA;IACf,CAAC;CACF,CAAA;AAnHoB,OAAO;IAD3B,cAAc,CAAC,SAAS,CAAC;GACL,OAAO,CAmH3B;eAnHoB,OAAO","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport { Component, ComponentNature, Ellipse, Properties, sceneComponent } from '@hatiolab/things-scene'\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'number',\n label: 'value',\n name: 'value',\n property: 'value'\n }\n ],\n help: 'scene/component/compass'\n}\n\n@sceneComponent('compass')\nexport default class Compass extends Ellipse {\n private _anim_alpha: number = 0\n\n is3dish() {\n return false\n }\n\n render(context: CanvasRenderingContext2D) {\n var { value = 0, fillStyle, cx, cy, rx, ry } = this.state\n\n context.translate(cx, cy)\n\n //// 메인 원 그리기 ////\n context.beginPath()\n context.ellipse(0, 0, Math.abs(rx), Math.abs(ry), 0, 0, 2 * Math.PI)\n context.ellipse(0, 0, Math.abs(rx * 0.75), Math.abs(ry * 0.75), 0, 2 * Math.PI, 0, true) // 반대로 그리며 원을 지움.\n\n this.drawStroke(context)\n this.drawFill(context)\n context.closePath()\n\n //// 무늬 그리기 ////\n context.beginPath()\n context.moveTo(rx * 0.65, 0)\n context.lineTo(0, ry * 0.09)\n context.lineTo(-rx * 0.65, 0)\n context.lineTo(0, -ry * 0.09)\n\n context.moveTo(0, ry * 0.65)\n context.lineTo(rx * 0.09, 0)\n context.lineTo(0, -ry * 0.65)\n context.lineTo(-rx * 0.09, 0)\n\n context.fillStyle = fillStyle\n context.fill()\n context.closePath()\n\n //// 텍스트 그리기 ////\n context.beginPath()\n context.fillStyle = 'black'\n context.font = (rx + ry) / 13 + 'px arial'\n context.textBaseline = 'middle'\n context.textAlign = 'center'\n context.fillText('N', 0, -ry + ry * 0.125)\n context.fillText('S', 0, ry - ry * 0.125)\n context.fillText('W', -rx + rx * 0.125, 0)\n context.fillText('E', rx - rx * 0.125, 0)\n\n //// 바늘 그리기 ////\n context.beginPath()\n var ang = ((value + (this._anim_alpha || 0)) / 50) * Math.PI\n context.rotate(ang)\n\n context.moveTo(0, -ry * 0.65)\n context.lineTo(rx * 0.13, 0)\n context.lineTo(-rx * 0.13, 0)\n context.fillStyle = '#F53B3B'\n context.fill()\n\n context.beginPath()\n context.moveTo(0, ry * 0.65)\n context.lineTo(rx * 0.13, 0)\n context.lineTo(-rx * 0.13, 0)\n context.fillStyle = '#3DC0E8'\n context.fill()\n\n context.rotate(-ang)\n\n //// 중앙 원 그리기 ////\n context.beginPath()\n context.ellipse(0, 0, Math.abs(rx * 0.15), Math.abs(ry * 0.15), 0, 0, 2 * Math.PI)\n context.lineWidth = (rx + ry) * 0.013\n context.strokeStyle = '#FFFFFF'\n context.fillStyle = '#3DC0E8'\n context.fill()\n context.stroke()\n context.beginPath()\n\n context.ellipse(0, 0, Math.abs(rx * 0.06), Math.abs(ry * 0.06), 0, 0, 2 * Math.PI)\n context.fillStyle = '#FFFFFF'\n context.fill()\n context.closePath()\n\n context.translate(-cx, -cy)\n }\n\n postrender(context: CanvasRenderingContext2D) {\n this.drawText(context)\n }\n\n onchange(after: Properties, before: Properties) {\n if (!after.hasOwnProperty('value')) return\n\n var self = this\n var diff = after.value - before.value\n\n this._anim_alpha = -diff\n\n this.animate({\n step: function (delta: number) {\n self._anim_alpha = diff * (delta - 1)\n self.invalidate()\n },\n duration: 1000,\n delta: 'elastic',\n options: {\n x: 2\n },\n ease: 'out'\n }).start()\n }\n\n get nature(): ComponentNature {\n return NATURE\n }\n}\n"]}
1
+ {"version":3,"file":"compass.js","sourceRoot":"","sources":["../src/compass.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,OAAO,EAA8B,OAAO,EAAc,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAExG,MAAM,MAAM,GAAoB;IAC9B,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,UAAU,EAAE;QACV;YACE,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,OAAO;SAClB;KACF;IACD,IAAI,EAAE,yBAAyB;CAChC,CAAA;AAGc,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,OAAO;IAClC,WAAW,GAAW,CAAC,CAAA;IAC/B,MAAM,CAAC,OAAiC;QACtC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAEzD,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAEzB,oBAAoB;QACpB,OAAO,CAAC,SAAS,EAAE,CAAA;QACnB,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;QACpE,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA,CAAC,iBAAiB;QAE1G,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACxB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QACtB,OAAO,CAAC,SAAS,EAAE,CAAA;QAEnB,kBAAkB;QAClB,OAAO,CAAC,SAAS,EAAE,CAAA;QACnB,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAA;QAC5B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAA;QAC5B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAA;QAC7B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;QAE7B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAA;QAC5B,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAA;QAC5B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;QAC7B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAA;QAE7B,OAAO,CAAC,SAAS,GAAG,SAAS,CAAA;QAC7B,OAAO,CAAC,IAAI,EAAE,CAAA;QACd,OAAO,CAAC,SAAS,EAAE,CAAA;QAEnB,mBAAmB;QACnB,OAAO,CAAC,SAAS,EAAE,CAAA;QACnB,OAAO,CAAC,SAAS,GAAG,OAAO,CAAA;QAC3B,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,UAAU,CAAA;QAC1C,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAA;QAC/B,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAA;QAC5B,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,CAAA;QAC1C,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,CAAA;QACzC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAA;QAC1C,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAA;QAEzC,kBAAkB;QAClB,OAAO,CAAC,SAAS,EAAE,CAAA;QACnB,IAAI,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAA;QAC5D,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAEnB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;QAC7B,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAA;QAC5B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAA;QAC7B,OAAO,CAAC,SAAS,GAAG,SAAS,CAAA;QAC7B,OAAO,CAAC,IAAI,EAAE,CAAA;QAEd,OAAO,CAAC,SAAS,EAAE,CAAA;QACnB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAA;QAC5B,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAA;QAC5B,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAA;QAC7B,OAAO,CAAC,SAAS,GAAG,SAAS,CAAA;QAC7B,OAAO,CAAC,IAAI,EAAE,CAAA;QAEd,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAA;QAEpB,oBAAoB;QACpB,OAAO,CAAC,SAAS,EAAE,CAAA;QACnB,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;QAClF,OAAO,CAAC,SAAS,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,KAAK,CAAA;QACrC,OAAO,CAAC,WAAW,GAAG,SAAS,CAAA;QAC/B,OAAO,CAAC,SAAS,GAAG,SAAS,CAAA;QAC7B,OAAO,CAAC,IAAI,EAAE,CAAA;QACd,OAAO,CAAC,MAAM,EAAE,CAAA;QAChB,OAAO,CAAC,SAAS,EAAE,CAAA;QAEnB,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;QAClF,OAAO,CAAC,SAAS,GAAG,SAAS,CAAA;QAC7B,OAAO,CAAC,IAAI,EAAE,CAAA;QACd,OAAO,CAAC,SAAS,EAAE,CAAA;QAEnB,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;IAC7B,CAAC;IAED,UAAU,CAAC,OAAiC;QAC1C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IACxB,CAAC;IAED,QAAQ,CAAC,KAAiB,EAAE,MAAkB;QAC5C,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC;YAAE,OAAM;QAE1C,IAAI,IAAI,GAAG,IAAI,CAAA;QACf,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;QAErC,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAA;QAExB,IAAI,CAAC,OAAO,CAAC;YACX,IAAI,EAAE,UAAU,KAAa;gBAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;gBACrC,IAAI,CAAC,UAAU,EAAE,CAAA;YACnB,CAAC;YACD,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE;gBACP,CAAC,EAAE,CAAC;aACL;YACD,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC,KAAK,EAAE,CAAA;IACZ,CAAC;IAED,IAAI,MAAM;QACR,OAAO,MAAM,CAAA;IACf,CAAC;CACF,CAAA;AA9GoB,OAAO;IAD3B,cAAc,CAAC,SAAS,CAAC;GACL,OAAO,CA8G3B;eA9GoB,OAAO","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport { Component, ComponentNature, Ellipse, Properties, sceneComponent } from '@hatiolab/things-scene'\n\nconst NATURE: ComponentNature = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'number',\n label: 'value',\n name: 'value',\n property: 'value'\n }\n ],\n help: 'scene/component/compass'\n}\n\n@sceneComponent('compass')\nexport default class Compass extends Ellipse {\n private _anim_alpha: number = 0\n render(context: CanvasRenderingContext2D) {\n var { value = 0, fillStyle, cx, cy, rx, ry } = this.state\n\n context.translate(cx, cy)\n\n //// 메인 원 그리기 ////\n context.beginPath()\n context.ellipse(0, 0, Math.abs(rx), Math.abs(ry), 0, 0, 2 * Math.PI)\n context.ellipse(0, 0, Math.abs(rx * 0.75), Math.abs(ry * 0.75), 0, 2 * Math.PI, 0, true) // 반대로 그리며 원을 지움.\n\n this.drawStroke(context)\n this.drawFill(context)\n context.closePath()\n\n //// 무늬 그리기 ////\n context.beginPath()\n context.moveTo(rx * 0.65, 0)\n context.lineTo(0, ry * 0.09)\n context.lineTo(-rx * 0.65, 0)\n context.lineTo(0, -ry * 0.09)\n\n context.moveTo(0, ry * 0.65)\n context.lineTo(rx * 0.09, 0)\n context.lineTo(0, -ry * 0.65)\n context.lineTo(-rx * 0.09, 0)\n\n context.fillStyle = fillStyle\n context.fill()\n context.closePath()\n\n //// 텍스트 그리기 ////\n context.beginPath()\n context.fillStyle = 'black'\n context.font = (rx + ry) / 13 + 'px arial'\n context.textBaseline = 'middle'\n context.textAlign = 'center'\n context.fillText('N', 0, -ry + ry * 0.125)\n context.fillText('S', 0, ry - ry * 0.125)\n context.fillText('W', -rx + rx * 0.125, 0)\n context.fillText('E', rx - rx * 0.125, 0)\n\n //// 바늘 그리기 ////\n context.beginPath()\n var ang = ((value + (this._anim_alpha || 0)) / 50) * Math.PI\n context.rotate(ang)\n\n context.moveTo(0, -ry * 0.65)\n context.lineTo(rx * 0.13, 0)\n context.lineTo(-rx * 0.13, 0)\n context.fillStyle = '#F53B3B'\n context.fill()\n\n context.beginPath()\n context.moveTo(0, ry * 0.65)\n context.lineTo(rx * 0.13, 0)\n context.lineTo(-rx * 0.13, 0)\n context.fillStyle = '#3DC0E8'\n context.fill()\n\n context.rotate(-ang)\n\n //// 중앙 원 그리기 ////\n context.beginPath()\n context.ellipse(0, 0, Math.abs(rx * 0.15), Math.abs(ry * 0.15), 0, 0, 2 * Math.PI)\n context.lineWidth = (rx + ry) * 0.013\n context.strokeStyle = '#FFFFFF'\n context.fillStyle = '#3DC0E8'\n context.fill()\n context.stroke()\n context.beginPath()\n\n context.ellipse(0, 0, Math.abs(rx * 0.06), Math.abs(ry * 0.06), 0, 0, 2 * Math.PI)\n context.fillStyle = '#FFFFFF'\n context.fill()\n context.closePath()\n\n context.translate(-cx, -cy)\n }\n\n postrender(context: CanvasRenderingContext2D) {\n this.drawText(context)\n }\n\n onchange(after: Properties, before: Properties) {\n if (!after.hasOwnProperty('value')) return\n\n var self = this\n var diff = after.value - before.value\n\n this._anim_alpha = -diff\n\n this.animate({\n step: function (delta: number) {\n self._anim_alpha = diff * (delta - 1)\n self.invalidate()\n },\n duration: 1000,\n delta: 'elastic',\n options: {\n x: 2\n },\n ease: 'out'\n }).start()\n }\n\n get nature(): ComponentNature {\n return NATURE\n }\n}\n"]}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@operato/scene-compass",
3
3
  "description": "Compass Component for things-scene.",
4
4
  "author": "heartyoh",
5
- "version": "10.0.0-beta.2",
5
+ "version": "10.0.0-beta.65",
6
6
  "type": "module",
7
7
  "main": "dist/index.js",
8
8
  "module": "dist/index.js",
@@ -32,8 +32,8 @@
32
32
  },
33
33
  "devDependencies": {
34
34
  "@hatiolab/prettier-config": "^1.0.0",
35
- "@things-factory/builder": "^10.0.0-beta.1",
36
- "@things-factory/operato-board": "^10.0.0-beta.1",
35
+ "@things-factory/builder": "^10.0.0-zeta.1",
36
+ "@things-factory/operato-board": "^10.0.0-zeta.1",
37
37
  "@typescript-eslint/eslint-plugin": "^8.0.0",
38
38
  "@typescript-eslint/parser": "^8.0.0",
39
39
  "@web/dev-server": "^0.1.28",
@@ -58,5 +58,5 @@
58
58
  "prettier --write"
59
59
  ]
60
60
  },
61
- "gitHead": "350ece104754d007967cf8e3f54d0d157465e94a"
61
+ "gitHead": "99733bf39e2d279630d68844f19d9687272a4992"
62
62
  }