nadesiko3 3.7.13 → 3.7.14

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 (127) hide show
  1. package/batch/command.txt +473 -473
  2. package/batch/jsplugin2text.nako3 +2 -0
  3. package/core/package.json +1 -1
  4. package/core/src/nako3.mjs +0 -4
  5. package/core/src/nako3.mts +55 -55
  6. package/core/src/nako_ast.mjs +0 -1
  7. package/core/src/nako_ast.mts +1 -1
  8. package/core/src/nako_colors.mjs +0 -1
  9. package/core/src/nako_colors.mts +1 -1
  10. package/core/src/nako_core_version.mjs +2 -2
  11. package/core/src/nako_core_version.mts +2 -2
  12. package/core/src/nako_csv.mjs +0 -1
  13. package/core/src/nako_csv.mts +9 -9
  14. package/core/src/nako_errors.mts +8 -8
  15. package/core/src/nako_from_dncl.mts +5 -5
  16. package/core/src/nako_from_dncl2.mjs +0 -1
  17. package/core/src/nako_from_dncl2.mts +5 -5
  18. package/core/src/nako_gen.mjs +13 -15
  19. package/core/src/nako_gen.mts +224 -220
  20. package/core/src/nako_global.mts +11 -11
  21. package/core/src/nako_indent.mts +92 -92
  22. package/core/src/nako_indent_chars.mts +1 -1
  23. package/core/src/nako_indent_inline.mjs +11 -11
  24. package/core/src/nako_indent_inline.mts +20 -20
  25. package/core/src/nako_lex_rules.mjs +0 -1
  26. package/core/src/nako_lex_rules.mts +8 -8
  27. package/core/src/nako_lexer.mjs +0 -1
  28. package/core/src/nako_lexer.mts +23 -23
  29. package/core/src/nako_logger.mjs +1 -1
  30. package/core/src/nako_logger.mts +38 -38
  31. package/core/src/nako_parser3.mjs +4 -5
  32. package/core/src/nako_parser3.mts +79 -79
  33. package/core/src/nako_parser_base.mjs +1 -1
  34. package/core/src/nako_parser_base.mts +68 -68
  35. package/core/src/nako_parser_const.mjs +0 -1
  36. package/core/src/nako_parser_const.mts +1 -1
  37. package/core/src/nako_prepare.mts +12 -12
  38. package/core/src/nako_source_mapping.mts +9 -9
  39. package/core/src/nako_token.mjs +0 -1
  40. package/core/src/nako_token.mts +2 -2
  41. package/core/src/nako_tools.mjs +0 -1
  42. package/core/src/nako_tools.mts +4 -4
  43. package/core/src/nako_types.mjs +0 -1
  44. package/core/src/nako_types.mts +3 -3
  45. package/core/src/plugin_api.mjs +0 -1
  46. package/core/src/plugin_api.mts +1 -1
  47. package/core/src/plugin_csv.mjs +0 -1
  48. package/core/src/plugin_csv.mts +7 -7
  49. package/core/src/plugin_math.mjs +0 -1
  50. package/core/src/plugin_math.mts +39 -40
  51. package/core/src/plugin_promise.mjs +1 -1
  52. package/core/src/plugin_promise.mts +9 -9
  53. package/core/src/plugin_system.mjs +1 -10
  54. package/core/src/plugin_system.mts +319 -321
  55. package/core/src/plugin_test.mjs +0 -2
  56. package/core/src/plugin_test.mts +6 -6
  57. package/core/src/plugin_toml.mjs +1 -1
  58. package/core/src/plugin_toml.mts +4 -4
  59. package/core/test/flow_test.mjs +22 -0
  60. package/package.json +31 -34
  61. package/release/_hash.txt +24 -24
  62. package/release/_script-tags.txt +16 -16
  63. package/release/command_cnako3.json +1 -1
  64. package/release/edit_main.js +33 -21
  65. package/release/edit_main.js.map +4 -4
  66. package/release/editor.js +33 -21
  67. package/release/plugin_keigo.js.map +2 -2
  68. package/release/plugin_turtle.js.map +2 -2
  69. package/release/plugin_weykturtle3d.js.map +2 -2
  70. package/release/version.js +29 -17
  71. package/release/version_main.js +29 -17
  72. package/release/version_main.js.map +4 -4
  73. package/release/wnako3.js +51 -44
  74. package/release/wnako3.js.map +3 -3
  75. package/release/wnako3webworker.js +45 -38
  76. package/release/wnako3webworker.js.map +2 -2
  77. package/src/cnako3.mts +1 -1
  78. package/src/cnako3mod.mjs +4 -7
  79. package/src/cnako3mod.mts +24 -24
  80. package/src/commander_ja.mts +8 -8
  81. package/src/deno_wrapper.mjs +0 -1
  82. package/src/deno_wrapper.mts +5 -5
  83. package/src/nako_version.mjs +2 -2
  84. package/src/nako_version.mts +2 -2
  85. package/src/plugin_browser.mjs +21 -29
  86. package/src/plugin_browser.mts +30 -35
  87. package/src/plugin_browser_ajax.mts +27 -27
  88. package/src/plugin_browser_audio.mjs +0 -1
  89. package/src/plugin_browser_audio.mts +11 -11
  90. package/src/plugin_browser_camera.mts +8 -8
  91. package/src/plugin_browser_canvas.mjs +0 -2
  92. package/src/plugin_browser_canvas.mts +34 -34
  93. package/src/plugin_browser_chart.mjs +0 -1
  94. package/src/plugin_browser_chart.mts +13 -13
  95. package/src/plugin_browser_color.mts +2 -2
  96. package/src/plugin_browser_crypto.mts +5 -5
  97. package/src/plugin_browser_dialog.mts +4 -4
  98. package/src/plugin_browser_dom_basic.mts +42 -42
  99. package/src/plugin_browser_dom_event.mjs +0 -1
  100. package/src/plugin_browser_dom_event.mts +27 -28
  101. package/src/plugin_browser_dom_parts.mjs +0 -2
  102. package/src/plugin_browser_dom_parts.mts +31 -31
  103. package/src/plugin_browser_geolocation.mts +3 -3
  104. package/src/plugin_browser_hotkey.mts +3 -3
  105. package/src/plugin_browser_html.mts +4 -4
  106. package/src/plugin_browser_in_worker.mts +1 -1
  107. package/src/plugin_browser_location.mts +2 -2
  108. package/src/plugin_browser_speech.mts +7 -7
  109. package/src/plugin_browser_storage.mts +11 -11
  110. package/src/plugin_browser_system.mts +2 -2
  111. package/src/plugin_browser_websocket.mts +6 -6
  112. package/src/plugin_httpserver.mts +17 -17
  113. package/src/plugin_keigo.mts +5 -5
  114. package/src/plugin_node.mjs +7 -48
  115. package/src/plugin_node.mts +114 -145
  116. package/src/plugin_turtle.mts +143 -143
  117. package/src/plugin_weykturtle3d.mjs +0 -3
  118. package/src/plugin_weykturtle3d.mts +135 -135
  119. package/src/plugin_weykturtle3d_three.mjs +0 -1
  120. package/src/plugin_weykturtle3d_three.mts +1 -1
  121. package/src/plugin_weykturtle3d_threeutil.mts +3 -3
  122. package/src/wnako3.mjs +0 -1
  123. package/src/wnako3.mts +1 -1
  124. package/src/wnako3_editor.mjs +0 -2
  125. package/src/wnako3_editor.mts +132 -132
  126. package/src/wnako3mod.mjs +0 -5
  127. package/src/wnako3mod.mts +19 -19
@@ -51,7 +51,7 @@ class DrawLineEventArgs {
51
51
  v2: THREENS.Vector3
52
52
  width: number
53
53
  color: THREENS.Color
54
- constructor (v1: THREENS.Vector3, v2: THREENS.Vector3, width: number, color: THREENS.Color) {
54
+ constructor(v1: THREENS.Vector3, v2: THREENS.Vector3, width: number, color: THREENS.Color) {
55
55
  this.v1 = v1
56
56
  this.v2 = v2
57
57
  this.width = width
@@ -67,14 +67,14 @@ interface Turtle3DEventMap {
67
67
  interface Turtle3DEventTarget extends EventTarget {
68
68
  addEventListener<K extends keyof Turtle3DEventMap>(
69
69
  type: K,
70
- // eslint-disable-next-line no-use-before-define
70
+
71
71
  listener: ((this: Turtle3D, evt: Turtle3DEventMap[K]) => any) | null,
72
72
  options?: boolean | EventListenerOptions,): void
73
73
  addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void
74
74
  dispatchEvent<K extends keyof Turtle3DEventMap>(evt: Turtle3DEventMap[K]): boolean
75
75
  removeListener<K extends keyof Turtle3DEventMap>(
76
76
  type: K,
77
- // eslint-disable-next-line no-use-before-define
77
+
78
78
  listener: (this: Turtle3D, evt: Turtle3DEventMap[K]) => any,
79
79
  options?: boolean | EventListenerOptions,): void
80
80
  removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void
@@ -87,7 +87,7 @@ class CommandPromise {
87
87
  resolve: (result:any) => void
88
88
  reject: (err:Error) => void
89
89
  command: Command
90
- constructor (command: Command, resolve: (result: any) => void, reject: (err: Error) => void) {
90
+ constructor(command: Command, resolve: (result: any) => void, reject: (err: Error) => void) {
91
91
  this.command = command
92
92
  this.resolve = resolve
93
93
  this.reject = reject
@@ -96,7 +96,7 @@ class CommandPromise {
96
96
  class CommandHome extends Command {
97
97
  cmd: string = 'home'
98
98
  mode: 'set'|'jump'
99
- constructor (mode: 'set'|'jump') {
99
+ constructor(mode: 'set'|'jump') {
100
100
  super()
101
101
  this.mode = mode
102
102
  }
@@ -104,7 +104,7 @@ class CommandHome extends Command {
104
104
  class CommandJump extends Command {
105
105
  cmd: string = 'jump'
106
106
  v: THREENS.Vector3
107
- constructor (v: THREENS.Vector3) {
107
+ constructor(v: THREENS.Vector3) {
108
108
  super()
109
109
  this.v = v
110
110
  }
@@ -112,7 +112,7 @@ class CommandJump extends Command {
112
112
  class CommandMoveAbsolute extends Command {
113
113
  cmd: string = 'move'
114
114
  v: THREENS.Vector3
115
- constructor (v: THREENS.Vector3) {
115
+ constructor(v: THREENS.Vector3) {
116
116
  super()
117
117
  this.v = v
118
118
  }
@@ -120,7 +120,7 @@ class CommandMoveAbsolute extends Command {
120
120
  class CommandAngle extends Command {
121
121
  cmd: string = 'angle'
122
122
  angle: THREENS.EulerArray
123
- constructor (angle: THREENS.EulerArray) {
123
+ constructor(angle: THREENS.EulerArray) {
124
124
  super()
125
125
  this.angle = angle
126
126
  }
@@ -132,7 +132,7 @@ class CommandMoveDirection extends Command {
132
132
  cmd: string = 'slide'
133
133
  direction: MoveDirection
134
134
  length: number
135
- constructor (dir: MoveDirection, l: number) {
135
+ constructor(dir: MoveDirection, l: number) {
136
136
  super()
137
137
  this.direction = dir
138
138
  this.length = l
@@ -142,7 +142,7 @@ class CommandRotate extends Command {
142
142
  cmd: string = 'rotate'
143
143
  direction: RotateDirection
144
144
  angle: number
145
- constructor (dir: RotateDirection, a: number) {
145
+ constructor(dir: RotateDirection, a: number) {
146
146
  super()
147
147
  this.direction = dir
148
148
  this.angle = a
@@ -152,7 +152,7 @@ class CommandRoll extends Command {
152
152
  cmd: string = 'roll'
153
153
  direction: RollDirection
154
154
  angle: number
155
- constructor (dir: RollDirection, a: number) {
155
+ constructor(dir: RollDirection, a: number) {
156
156
  super()
157
157
  this.direction = dir
158
158
  this.angle = a
@@ -162,7 +162,7 @@ class CommandPenEnable extends Command {
162
162
  cmd: string = 'pen'
163
163
  subcmd: string = 'enable'
164
164
  enable: boolean
165
- constructor (enable: boolean) {
165
+ constructor(enable: boolean) {
166
166
  super()
167
167
  this.enable = enable
168
168
  }
@@ -171,7 +171,7 @@ class CommandPenColor extends Command {
171
171
  cmd: string = 'pen'
172
172
  subcmd: string = 'color'
173
173
  color: THREENS.Color
174
- constructor (color: THREENS.Color) {
174
+ constructor(color: THREENS.Color) {
175
175
  super()
176
176
  this.color = color
177
177
  }
@@ -180,7 +180,7 @@ class CommandPenWidth extends Command {
180
180
  cmd: string = 'pen'
181
181
  subcmd: string = 'width'
182
182
  width: number
183
- constructor (width: number) {
183
+ constructor(width: number) {
184
184
  super()
185
185
  this.width = width
186
186
  }
@@ -189,7 +189,7 @@ class CommandVisible extends Command {
189
189
  cmd: string = 'attr'
190
190
  subcmd: string = 'visible'
191
191
  visible: boolean
192
- constructor (visible: boolean) {
192
+ constructor(visible: boolean) {
193
193
  super()
194
194
  this.visible = visible
195
195
  }
@@ -198,7 +198,7 @@ class CommandModel extends Command {
198
198
  cmd: string = 'attr'
199
199
  subcmd: string = 'model'
200
200
  model: any
201
- constructor (model: any) {
201
+ constructor(model: any) {
202
202
  super()
203
203
  this.model = model
204
204
  }
@@ -219,7 +219,7 @@ class Turtle3D extends TypedTurtle3DEventTarget implements Turtle3DEventTarget {
219
219
  f_visible: boolean
220
220
  macros: CommandPromise[]
221
221
 
222
- constructor (three: THREENS.THREE, id: number) {
222
+ constructor(three: THREENS.THREE, id: number) {
223
223
  super()
224
224
  this.three = three
225
225
  this.id = id
@@ -241,7 +241,7 @@ class Turtle3D extends TypedTurtle3DEventTarget implements Turtle3DEventTarget {
241
241
  this.home.quaternion.copy(modelBase.quaternion)
242
242
  }
243
243
 
244
- clear (): void {
244
+ clear(): void {
245
245
  // 未実行ジョブのPromiseを全て完了にする
246
246
  for (const job of this.macros) {
247
247
  job.resolve(0)
@@ -253,7 +253,7 @@ class Turtle3D extends TypedTurtle3DEventTarget implements Turtle3DEventTarget {
253
253
  this.obj.visible = true
254
254
  }
255
255
 
256
- discardModel (): void {
256
+ discardModel(): void {
257
257
  if (this.disposal) {
258
258
  ThreeUtil.disposeChildObject(this.obj)
259
259
  this.disposal = false
@@ -263,7 +263,7 @@ class Turtle3D extends TypedTurtle3DEventTarget implements Turtle3DEventTarget {
263
263
  this.flagLoaded = false
264
264
  }
265
265
 
266
- loadTurtle (model: THREENS.Object3D|string) {
266
+ loadTurtle(model: THREENS.Object3D|string) {
267
267
  if (this.isObject3D(model)) {
268
268
  this.discardModel()
269
269
  this.obj.add(model)
@@ -298,7 +298,7 @@ class Turtle3D extends TypedTurtle3DEventTarget implements Turtle3DEventTarget {
298
298
  })
299
299
  }
300
300
 
301
- doMacro (noWait: boolean): boolean {
301
+ doMacro(noWait: boolean): boolean {
302
302
  if (!this.flagLoaded && !noWait) {
303
303
  return true
304
304
  }
@@ -356,14 +356,14 @@ class Turtle3D extends TypedTurtle3DEventTarget implements Turtle3DEventTarget {
356
356
  } else if (m instanceof CommandHome) {
357
357
  const mode = m.mode
358
358
  switch (mode) {
359
- case 'set':
360
- this.home.position.copy(this.obj.position)
361
- this.home.quaternion.copy(this.obj.quaternion)
362
- break
363
- case 'jump':
364
- this.obj.position.copy(this.home.position)
365
- this.obj.quaternion.copy(this.home.quaternion)
366
- break
359
+ case 'set':
360
+ this.home.position.copy(this.obj.position)
361
+ this.home.quaternion.copy(this.obj.quaternion)
362
+ break
363
+ case 'jump':
364
+ this.obj.position.copy(this.home.position)
365
+ this.obj.quaternion.copy(this.home.quaternion)
366
+ break
367
367
  }
368
368
  } else if (m instanceof CommandRotate) {
369
369
  const dir = m.direction
@@ -403,7 +403,7 @@ class Turtle3D extends TypedTurtle3DEventTarget implements Turtle3DEventTarget {
403
403
  } else if (m instanceof CommandAngle) {
404
404
  const euler = new this.three.Euler()
405
405
  euler.fromArray(m.angle)
406
- // eslint-disable-next-line no-unused-vars
406
+
407
407
  const dir = new this.three.Quaternion()
408
408
  this.obj.quaternion.setFromEuler(euler)
409
409
  }
@@ -413,7 +413,7 @@ class Turtle3D extends TypedTurtle3DEventTarget implements Turtle3DEventTarget {
413
413
  return (this.macros.length > 0)
414
414
  }
415
415
 
416
- private createDefaultTurtle (): THREENS.Object3D {
416
+ private createDefaultTurtle(): THREENS.Object3D {
417
417
  const vertices = new Float32Array([
418
418
  0.0, 1.0, 0.0,
419
419
  -0.6, -1.0, 0.0,
@@ -473,34 +473,34 @@ class Turtle3D extends TypedTurtle3DEventTarget implements Turtle3DEventTarget {
473
473
  return obj
474
474
  }
475
475
 
476
- private raiseModelChanged (): void {
476
+ private raiseModelChanged(): void {
477
477
  const evt = new CustomEvent<void>('modelChanged')
478
478
  this.dispatchEvent(evt)
479
479
  }
480
480
 
481
- private raiseDrawLine (v1: THREENS.Vector3, v2: THREENS.Vector3, width: number, color: THREENS.Color) : void {
481
+ private raiseDrawLine(v1: THREENS.Vector3, v2: THREENS.Vector3, width: number, color: THREENS.Color) : void {
482
482
  const args = new DrawLineEventArgs(v1, v2, width, color)
483
483
  const evt = new CustomEvent<DrawLineEventArgs>('drawLine', { detail: args })
484
484
  this.dispatchEvent(evt)
485
485
  }
486
486
 
487
- private line (v1: THREENS.Vector3, v2: THREENS.Vector3) {
487
+ private line(v1: THREENS.Vector3, v2: THREENS.Vector3) {
488
488
  if (!this.flagDown) { return }
489
489
  this.raiseDrawLine(v1, v2, this.lineWidth, this.color)
490
490
  }
491
491
 
492
- private isObject3D (obj: any): obj is THREENS.Object3D {
492
+ private isObject3D(obj: any): obj is THREENS.Object3D {
493
493
  return obj instanceof this.three.Object3D
494
494
  }
495
495
  }
496
496
 
497
497
  interface NakoSystem extends NakoSystemBase {
498
- // eslint-disable-next-line no-use-before-define
498
+
499
499
  tags: { weykturtle3d?: WeykTurtle3DSystem }
500
500
  }
501
501
 
502
502
  class WeykTurtle3DSystem {
503
- // eslint-disable-next-line no-use-before-define
503
+
504
504
  private static instance: WeykTurtle3DSystem
505
505
  private instanceCount: number
506
506
  sys: NakoSystem
@@ -519,7 +519,7 @@ class WeykTurtle3DSystem {
519
519
  flagSetTimer: boolean
520
520
  _prevUpdatedTime: number
521
521
 
522
- static getInstance (sys: NakoSystem) {
522
+ static getInstance(sys: NakoSystem) {
523
523
  if (WeykTurtle3DSystem.instance === undefined) {
524
524
  WeykTurtle3DSystem.instance = new WeykTurtle3DSystem(sys)
525
525
  } else if (WeykTurtle3DSystem.instance.sys !== sys) {
@@ -531,7 +531,7 @@ class WeykTurtle3DSystem {
531
531
  return WeykTurtle3DSystem.instance
532
532
  }
533
533
 
534
- private constructor (sys: NakoSystem) {
534
+ private constructor(sys: NakoSystem) {
535
535
  this.instanceCount = 0
536
536
  this.three = null
537
537
  this.sys = sys
@@ -550,7 +550,7 @@ class WeykTurtle3DSystem {
550
550
  this._prevUpdatedTime = 0
551
551
  }
552
552
 
553
- clearAll () {
553
+ clearAll() {
554
554
  this.disposeAllTurtle()
555
555
  this.disposeAllLine()
556
556
  const scene = this._scene
@@ -570,7 +570,7 @@ class WeykTurtle3DSystem {
570
570
  }
571
571
  }
572
572
 
573
- disposeAllTurtle () {
573
+ disposeAllTurtle() {
574
574
  // カメをクリア
575
575
  for (const tt of this.turtles) {
576
576
  tt.clear()
@@ -581,21 +581,21 @@ class WeykTurtle3DSystem {
581
581
  this.flagSetTimer = false
582
582
  }
583
583
 
584
- disposeAllLine () {
584
+ disposeAllLine() {
585
585
  // 引いた線を線用のバッファからクリア
586
586
  if (this._lines !== null) {
587
587
  ThreeUtil.disposeChildObject(this._lines)
588
588
  }
589
589
  }
590
590
 
591
- private getThree (): THREENS.THREE {
591
+ private getThree(): THREENS.THREE {
592
592
  if (!this.three) {
593
593
  throw new Error('ThreeJSの準備される前に使用しようとしました')
594
594
  }
595
595
  return this.three
596
596
  }
597
597
 
598
- createTurtle (modelUrl: string): number {
598
+ createTurtle(modelUrl: string): number {
599
599
  // カメの情報を sys._turtle リストに追加
600
600
  const three = this.getThree()
601
601
  const id = this.turtles.length
@@ -617,7 +617,7 @@ class WeykTurtle3DSystem {
617
617
  return id
618
618
  }
619
619
 
620
- initTurtle (): void {
620
+ initTurtle(): void {
621
621
  if (this.turtles.length === 0) {
622
622
  if (this._renderer === null) {
623
623
  this.initRenderer()
@@ -640,7 +640,7 @@ class WeykTurtle3DSystem {
640
640
  }
641
641
  }
642
642
 
643
- getCur (): Turtle3D {
643
+ getCur(): Turtle3D {
644
644
  if (this.turtles.length === 0) {
645
645
  throw Error('最初に『T3Dカメ作成』命令を呼び出してください。')
646
646
  }
@@ -650,7 +650,7 @@ class WeykTurtle3DSystem {
650
650
  return this.turtles[this.target]
651
651
  }
652
652
 
653
- queCurrentTurtle (cmd: Command): Promise<number> {
653
+ queCurrentTurtle(cmd: Command): Promise<number> {
654
654
  const tt = this.getCur()
655
655
  const promise = new Promise<number>((resolve, reject) => {
656
656
  const que = new CommandPromise(cmd, resolve, reject)
@@ -660,7 +660,7 @@ class WeykTurtle3DSystem {
660
660
  return promise
661
661
  }
662
662
 
663
- doDraw (beforeClear: boolean) {
663
+ doDraw(beforeClear: boolean) {
664
664
  if (this.camera === -1) { return }
665
665
  if (!this._scene) { return }
666
666
  this.getRenderer()
@@ -686,7 +686,7 @@ class WeykTurtle3DSystem {
686
686
  this._renderer.render(this._scene, this._camera)
687
687
  }
688
688
 
689
- setCameraHelper (flag: boolean) {
689
+ setCameraHelper(flag: boolean) {
690
690
  const three = this.getThree()
691
691
  if (flag) {
692
692
  if (this._camerahelper === null) {
@@ -707,7 +707,7 @@ class WeykTurtle3DSystem {
707
707
  }
708
708
  }
709
709
 
710
- setAxisHelper (flag: boolean) {
710
+ setAxisHelper(flag: boolean) {
711
711
  const three = this.getThree()
712
712
  if (flag) {
713
713
  if (this._axishelper === null) {
@@ -728,7 +728,7 @@ class WeykTurtle3DSystem {
728
728
  }
729
729
  }
730
730
 
731
- getScene (): THREENS.Scene {
731
+ getScene(): THREENS.Scene {
732
732
  const three = this.getThree()
733
733
  if (this._scene === null) {
734
734
  this._scene = new three.Scene()
@@ -736,7 +736,7 @@ class WeykTurtle3DSystem {
736
736
  return this._scene
737
737
  }
738
738
 
739
- getCamera (): THREENS.Camera {
739
+ getCamera(): THREENS.Camera {
740
740
  const three = this.getThree()
741
741
  if (this._camera === null) {
742
742
  const camera = new three.PerspectiveCamera(60, 1.0, 1, 65000)
@@ -746,7 +746,7 @@ class WeykTurtle3DSystem {
746
746
  return this._camera
747
747
  }
748
748
 
749
- resetCamera (camera: THREENS.Camera):void {
749
+ resetCamera(camera: THREENS.Camera):void {
750
750
  const three = this.getThree()
751
751
  camera.position.set(0, 0, 1000)
752
752
  if (this._renderer !== null) {
@@ -760,12 +760,12 @@ class WeykTurtle3DSystem {
760
760
  camera.lookAt(new three.Vector3(0, 0, 0))
761
761
  }
762
762
 
763
- initTrutle3dEnv (renderer: THREENS.WebGLRenderer) {
763
+ initTrutle3dEnv(renderer: THREENS.WebGLRenderer) {
764
764
  renderer.setClearColor(0x000000, 1.0)
765
765
  renderer.autoClear = false
766
766
 
767
767
  const scene = this.getScene()
768
- // eslint-disable-next-line no-unused-vars
768
+
769
769
  const camera = this.getCamera()
770
770
 
771
771
  if (scene && this._lines) {
@@ -776,7 +776,7 @@ class WeykTurtle3DSystem {
776
776
  }
777
777
  }
778
778
 
779
- initRenderer ():THREENS.WebGLRenderer {
779
+ initRenderer():THREENS.WebGLRenderer {
780
780
  // 描画先をセットする
781
781
  let to = this.sys.__getSysVar('T3Dカメ描画先')
782
782
  if (typeof to === 'string') { to = document.querySelector(to) || document.getElementById(to) }
@@ -788,7 +788,7 @@ class WeykTurtle3DSystem {
788
788
  return renderer
789
789
  }
790
790
 
791
- setRenderer (to: Element|HTMLCanvasElement|THREENS.WebGLRenderer):THREENS.WebGLRenderer {
791
+ setRenderer(to: Element|HTMLCanvasElement|THREENS.WebGLRenderer):THREENS.WebGLRenderer {
792
792
  const three = this.getThree()
793
793
  let renderer: null|THREENS.WebGLRenderer = null
794
794
  if (to instanceof three.WebGLRenderer) {
@@ -815,7 +815,7 @@ class WeykTurtle3DSystem {
815
815
  return this._renderer
816
816
  }
817
817
 
818
- clearRenderer () {
818
+ clearRenderer() {
819
819
  this._renderer = null
820
820
  if (this._controls) {
821
821
  this._controls.enabled = false
@@ -823,20 +823,20 @@ class WeykTurtle3DSystem {
823
823
  }
824
824
  }
825
825
 
826
- setupRenderer () {
826
+ setupRenderer() {
827
827
  if (this._renderer) {
828
828
  this.initTrutle3dEnv(this._renderer)
829
829
  }
830
830
  }
831
831
 
832
- getRenderer (): THREENS.Renderer {
832
+ getRenderer(): THREENS.Renderer {
833
833
  if (this._renderer === null) {
834
834
  this.initRenderer()
835
835
  }
836
836
  return this._renderer!
837
837
  }
838
838
 
839
- setupControl (controlConstrucor: THREENS.Controls): THREENS.Controls {
839
+ setupControl(controlConstrucor: THREENS.Controls): THREENS.Controls {
840
840
  if (typeof controlConstrucor === 'undefined') {
841
841
  throw new Error('指定されたコンコントロールが見当たりません。')
842
842
  }
@@ -849,14 +849,14 @@ class WeykTurtle3DSystem {
849
849
  }
850
850
  const renderer = this.getRenderer()
851
851
  const camera = this.getCamera()
852
- // eslint-disable-next-line new-cap
852
+
853
853
  const controls = new controlConstrucor(camera, renderer.domElement)
854
854
  controls.enabled = true
855
855
  this._controls = controls
856
856
  return this._controls
857
857
  }
858
858
 
859
- drawLine (v1: THREENS.Vector3, v2: THREENS.Vector3, width: number, color: THREENS.Color):void {
859
+ drawLine(v1: THREENS.Vector3, v2: THREENS.Vector3, width: number, color: THREENS.Color):void {
860
860
  const three = this.getThree()
861
861
  const geometry = new three.BufferGeometry()
862
862
  const vertices = new three.Float32BufferAttribute(6, 3)
@@ -869,7 +869,7 @@ class WeykTurtle3DSystem {
869
869
  }
870
870
  }
871
871
 
872
- doMacroAllTurtles (): boolean {
872
+ doMacroAllTurtles(): boolean {
873
873
  let hasNext = false
874
874
  for (const tt of this.turtles) {
875
875
  if (tt.doMacro(this.isNoWait())) { hasNext = true }
@@ -877,7 +877,7 @@ class WeykTurtle3DSystem {
877
877
  return hasNext
878
878
  }
879
879
 
880
- animationStart ():void {
880
+ animationStart():void {
881
881
  const wait = this.getWait()
882
882
  const macrorun = !!this.sys.__getSysVar('T3D自動実行')
883
883
  if (!macrorun) {
@@ -892,15 +892,15 @@ class WeykTurtle3DSystem {
892
892
  this.animationFrame(() => this.animation())
893
893
  }
894
894
 
895
- getWait (): number {
895
+ getWait(): number {
896
896
  return this.sys.__getSysVar('T3Dカメ速度')
897
897
  }
898
898
 
899
- isNoWait (): boolean {
899
+ isNoWait(): boolean {
900
900
  return this.sys.__getSysVar('T3Dカメ速度') === 0
901
901
  }
902
902
 
903
- animation () {
903
+ animation() {
904
904
  const redraw = !!this.sys.__getSysVar('T3D自動描画')
905
905
  const macrorun = !!this.sys.__getSysVar('T3D自動実行')
906
906
  const hasNext = this.animationTick()
@@ -914,7 +914,7 @@ class WeykTurtle3DSystem {
914
914
  }
915
915
  }
916
916
 
917
- animationTick () {
917
+ animationTick() {
918
918
  const now = Date.now()
919
919
  const noWait = this.isNoWait()
920
920
  // ノーウエイトではない場合の時間待ち処理
@@ -938,11 +938,11 @@ class WeykTurtle3DSystem {
938
938
  return hasNext
939
939
  }
940
940
 
941
- animationFrame (callback: () => void, element?: Element) {
941
+ animationFrame(callback: () => void, element?: Element) {
942
942
  window.setTimeout(callback, 1000 / 60)
943
943
  }
944
944
 
945
- ck (): THREENS.THREE {
945
+ ck(): THREENS.THREE {
946
946
  if (this.three === null) {
947
947
  if (this.sys.__getSysVar('THREE') !== null) {
948
948
  this.three = this.sys.__getSysVar('THREE')
@@ -962,14 +962,14 @@ class WeykTurtle3DSystem {
962
962
  return this.three
963
963
  }
964
964
 
965
- static getTurtle3D (sys: NakoSystem): WeykTurtle3DSystem {
965
+ static getTurtle3D(sys: NakoSystem): WeykTurtle3DSystem {
966
966
  if (!sys.tags.weykturtle3d) {
967
967
  throw new Error('プラグインの初期化が行われていません')
968
968
  }
969
969
  return sys.tags.weykturtle3d
970
970
  }
971
971
 
972
- static getEnv (sys: NakoSystem):[ WeykTurtle3DSystem, THREENS.THREE ] {
972
+ static getEnv(sys: NakoSystem):[ WeykTurtle3DSystem, THREENS.THREE ] {
973
973
  const turtle3d = WeykTurtle3DSystem.getTurtle3D(sys)
974
974
  const three = turtle3d.ck()
975
975
  return [turtle3d, three]
@@ -991,7 +991,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
991
991
  type: 'func',
992
992
  josi: [],
993
993
  pure: true,
994
- fn: function (sys: NakoSystem):void {
994
+ fn: function(sys: NakoSystem):void {
995
995
  if (sys.tags.weykturtle3d) { return }
996
996
  const turtle3dSystem = WeykTurtle3DSystem.getInstance(sys)
997
997
  sys.tags.weykturtle3d = turtle3dSystem
@@ -1004,7 +1004,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1004
1004
  type: 'func',
1005
1005
  josi: [],
1006
1006
  pure: true,
1007
- fn: function (sys: NakoSystem):void {
1007
+ fn: function(sys: NakoSystem):void {
1008
1008
  if (sys.tags.weykturtle3d) {
1009
1009
  sys.tags.weykturtle3d.clearAll()
1010
1010
  sys.tags.weykturtle3d.clearRenderer()
@@ -1019,7 +1019,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1019
1019
  josi: [],
1020
1020
  asyncFn: true,
1021
1021
  pure: true,
1022
- fn: async function (sys: NakoSystem): Promise<boolean> {
1022
+ fn: async function(sys: NakoSystem): Promise<boolean> {
1023
1023
  const turtle3d = WeykTurtle3DSystem.getTurtle3D(sys)
1024
1024
  if (turtle3d.three === null && sys.__getSysVar('THREE') === null) {
1025
1025
  const baseUrl = sys.__getSysVar('T3DベースURL')
@@ -1047,7 +1047,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1047
1047
  type: 'func',
1048
1048
  josi: [['に']],
1049
1049
  pure: true,
1050
- fn: function (callback: CallbackType<boolean>, sys: NakoSystem):void {
1050
+ fn: function(callback: CallbackType<boolean>, sys: NakoSystem):void {
1051
1051
  const turtle3d = WeykTurtle3DSystem.getTurtle3D(sys)
1052
1052
  if (turtle3d.three === null && sys.__getSysVar('THREE') === null) {
1053
1053
  const baseUrl = sys.__getSysVar('T3DベースURL')
@@ -1075,7 +1075,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1075
1075
  josi: [['を']],
1076
1076
  asyncFn: true,
1077
1077
  pure: true,
1078
- fn: async function (plugins: string[], sys: NakoSystem):Promise<void> {
1078
+ fn: async function(plugins: string[], sys: NakoSystem):Promise<void> {
1079
1079
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1080
1080
  const l = plugins.length
1081
1081
  if (l === 0) {
@@ -1083,10 +1083,10 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1083
1083
  }
1084
1084
  const baseUrl = sys.__getSysVar('T3DベースURL')
1085
1085
  const totalPromise = new Promise<void>((resolve, reject) => {
1086
- const callbacks = (function (total) {
1086
+ const callbacks = (function(total) {
1087
1087
  let countTotal = 0
1088
1088
  let countSuccess = 0
1089
- return function (success: boolean) {
1089
+ return function(success: boolean) {
1090
1090
  countTotal += 1
1091
1091
  if (success) {
1092
1092
  countSuccess += 1
@@ -1122,7 +1122,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1122
1122
  type: 'func',
1123
1123
  josi: [['に'], ['を']],
1124
1124
  pure: true,
1125
- fn: function (callback: CallbackType<void>, plugins: string[], sys: NakoSystem):void {
1125
+ fn: function(callback: CallbackType<void>, plugins: string[], sys: NakoSystem):void {
1126
1126
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1127
1127
  const l = plugins.length
1128
1128
  if (l === 0) {
@@ -1130,9 +1130,9 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1130
1130
  return
1131
1131
  }
1132
1132
  const baseUrl = sys.__getSysVar('T3DベースURL')
1133
- const callbacks = (function (callback, total) {
1133
+ const callbacks = (function(callback, total) {
1134
1134
  let count = 0
1135
- return function (success: boolean) {
1135
+ return function(success: boolean) {
1136
1136
  count += 1
1137
1137
  if (count === total) {
1138
1138
  callback()
@@ -1161,7 +1161,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1161
1161
  type: 'func',
1162
1162
  josi: [],
1163
1163
  pure: true,
1164
- fn: function (sys: NakoSystem): number {
1164
+ fn: function(sys: NakoSystem): number {
1165
1165
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1166
1166
  turtle3d.initTurtle()
1167
1167
  const modelUrl = sys.__getSysVar('T3DカメモデルURL')
@@ -1174,7 +1174,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1174
1174
  type: 'func',
1175
1175
  josi: [['に', 'へ', 'の']],
1176
1176
  pure: true,
1177
- fn: function (id: number, sys: NakoSystem):void {
1177
+ fn: function(id: number, sys: NakoSystem):void {
1178
1178
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1179
1179
  turtle3d.target = id
1180
1180
  },
@@ -1186,7 +1186,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1186
1186
  type: 'func',
1187
1187
  josi: [['に', 'へ']],
1188
1188
  pure: true,
1189
- fn: function (url: string, sys: NakoSystem):Promise<number> {
1189
+ fn: function(url: string, sys: NakoSystem):Promise<number> {
1190
1190
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1191
1191
  return turtle3d.queCurrentTurtle(new CommandModel(url))
1192
1192
  },
@@ -1197,7 +1197,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1197
1197
  type: 'func',
1198
1198
  josi: [['に', 'へ']],
1199
1199
  pure: true,
1200
- fn: function (v: number, sys: NakoSystem):void {
1200
+ fn: function(v: number, sys: NakoSystem):void {
1201
1201
  sys.__setSysVar('T3Dカメ速度', v)
1202
1202
  },
1203
1203
  return_none: true
@@ -1206,7 +1206,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1206
1206
  type: 'func',
1207
1207
  josi: [['に', 'へ']],
1208
1208
  pure: true,
1209
- fn: function (xyz: NumericArray3, sys: NakoSystem): Promise<number> {
1209
+ fn: function(xyz: NumericArray3, sys: NakoSystem): Promise<number> {
1210
1210
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1211
1211
  return turtle3d.queCurrentTurtle(new CommandMoveAbsolute(new three.Vector3(xyz[0], xyz[1], xyz[2])))
1212
1212
  },
@@ -1216,7 +1216,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1216
1216
  type: 'func',
1217
1217
  josi: [],
1218
1218
  pure: true,
1219
- fn: function (sys: NakoSystem): Promise<number> {
1219
+ fn: function(sys: NakoSystem): Promise<number> {
1220
1220
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1221
1221
  return turtle3d.queCurrentTurtle(new CommandHome('set'))
1222
1222
  },
@@ -1226,7 +1226,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1226
1226
  type: 'func',
1227
1227
  josi: [],
1228
1228
  pure: true,
1229
- fn: function (sys: NakoSystem): Promise<number> {
1229
+ fn: function(sys: NakoSystem): Promise<number> {
1230
1230
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1231
1231
  return turtle3d.queCurrentTurtle(new CommandHome('jump'))
1232
1232
  },
@@ -1236,7 +1236,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1236
1236
  type: 'func',
1237
1237
  josi: [['に', 'へ']],
1238
1238
  pure: true,
1239
- fn: function (xyz: NumericArray3, sys: NakoSystem): Promise<number> {
1239
+ fn: function(xyz: NumericArray3, sys: NakoSystem): Promise<number> {
1240
1240
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1241
1241
  return turtle3d.queCurrentTurtle(new CommandJump(new three.Vector3(xyz[0], xyz[1], xyz[2])))
1242
1242
  },
@@ -1246,7 +1246,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1246
1246
  type: 'func',
1247
1247
  josi: [['だけ']],
1248
1248
  pure: true,
1249
- fn: function (l: number, sys: NakoSystem): Promise<number> {
1249
+ fn: function(l: number, sys: NakoSystem): Promise<number> {
1250
1250
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1251
1251
  return turtle3d.queCurrentTurtle(new CommandMoveDirection('f', l))
1252
1252
  },
@@ -1256,7 +1256,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1256
1256
  type: 'func',
1257
1257
  josi: [['だけ']],
1258
1258
  pure: true,
1259
- fn: function (l: number, sys: NakoSystem): Promise<number> {
1259
+ fn: function(l: number, sys: NakoSystem): Promise<number> {
1260
1260
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1261
1261
  return turtle3d.queCurrentTurtle(new CommandMoveDirection('b', l))
1262
1262
  },
@@ -1266,7 +1266,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1266
1266
  type: 'func',
1267
1267
  josi: [['だけ']],
1268
1268
  pure: true,
1269
- fn: function (l: number, sys: NakoSystem): Promise<number> {
1269
+ fn: function(l: number, sys: NakoSystem): Promise<number> {
1270
1270
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1271
1271
  return turtle3d.queCurrentTurtle(new CommandMoveDirection('u', l))
1272
1272
  },
@@ -1276,7 +1276,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1276
1276
  type: 'func',
1277
1277
  josi: [['だけ']],
1278
1278
  pure: true,
1279
- fn: function (l: number, sys: NakoSystem): Promise<number> {
1279
+ fn: function(l: number, sys: NakoSystem): Promise<number> {
1280
1280
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1281
1281
  return turtle3d.queCurrentTurtle(new CommandMoveDirection('d', l))
1282
1282
  },
@@ -1286,7 +1286,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1286
1286
  type: 'func',
1287
1287
  josi: [['だけ']],
1288
1288
  pure: true,
1289
- fn: function (l: number, sys: NakoSystem): Promise<number> {
1289
+ fn: function(l: number, sys: NakoSystem): Promise<number> {
1290
1290
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1291
1291
  return turtle3d.queCurrentTurtle(new CommandMoveDirection('l', l))
1292
1292
  },
@@ -1296,7 +1296,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1296
1296
  type: 'func',
1297
1297
  josi: [['だけ']],
1298
1298
  pure: true,
1299
- fn: function (l: number, sys: NakoSystem): Promise<number> {
1299
+ fn: function(l: number, sys: NakoSystem): Promise<number> {
1300
1300
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1301
1301
  return turtle3d.queCurrentTurtle(new CommandMoveDirection('r', l))
1302
1302
  },
@@ -1306,7 +1306,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1306
1306
  type: 'func',
1307
1307
  josi: [['へ', 'に'], ['だけ']],
1308
1308
  pure: true,
1309
- fn: function (dir:string, l: number, sys: NakoSystem): Promise<number> {
1309
+ fn: function(dir:string, l: number, sys: NakoSystem): Promise<number> {
1310
1310
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1311
1311
  let cmd:MoveDirection
1312
1312
  if (dir === '前' || dir === 'FORWARD' || dir === 'まえ') {
@@ -1332,7 +1332,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1332
1332
  type: 'func',
1333
1333
  josi: [['に', 'へ', 'の']],
1334
1334
  pure: true,
1335
- fn: function (angle: THREENS.EulerArray, sys: NakoSystem): Promise<number> {
1335
+ fn: function(angle: THREENS.EulerArray, sys: NakoSystem): Promise<number> {
1336
1336
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1337
1337
  return turtle3d.queCurrentTurtle(new CommandAngle(angle))
1338
1338
  },
@@ -1342,7 +1342,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1342
1342
  type: 'func',
1343
1343
  josi: [['だけ']],
1344
1344
  pure: true,
1345
- fn: function (a: number, sys: NakoSystem): Promise<number> {
1345
+ fn: function(a: number, sys: NakoSystem): Promise<number> {
1346
1346
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1347
1347
  return turtle3d.queCurrentTurtle(new CommandRotate('r', a))
1348
1348
  },
@@ -1352,7 +1352,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1352
1352
  type: 'func',
1353
1353
  josi: [['だけ']],
1354
1354
  pure: true,
1355
- fn: function (a: number, sys: NakoSystem): Promise<number> {
1355
+ fn: function(a: number, sys: NakoSystem): Promise<number> {
1356
1356
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1357
1357
  return turtle3d.queCurrentTurtle(new CommandRotate('l', a))
1358
1358
  },
@@ -1362,7 +1362,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1362
1362
  type: 'func',
1363
1363
  josi: [['だけ']],
1364
1364
  pure: true,
1365
- fn: function (a: number, sys: NakoSystem): Promise<number> {
1365
+ fn: function(a: number, sys: NakoSystem): Promise<number> {
1366
1366
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1367
1367
  return turtle3d.queCurrentTurtle(new CommandRotate('u', a))
1368
1368
  },
@@ -1372,7 +1372,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1372
1372
  type: 'func',
1373
1373
  josi: [['だけ']],
1374
1374
  pure: true,
1375
- fn: function (a: number, sys: NakoSystem): Promise<number> {
1375
+ fn: function(a: number, sys: NakoSystem): Promise<number> {
1376
1376
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1377
1377
  return turtle3d.queCurrentTurtle(new CommandRotate('d', a))
1378
1378
  },
@@ -1382,7 +1382,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1382
1382
  type: 'func',
1383
1383
  josi: [['へ', 'に'], ['だけ']],
1384
1384
  pure: true,
1385
- fn: function (dir: string, a: number, sys: NakoSystem): Promise<number> {
1385
+ fn: function(dir: string, a: number, sys: NakoSystem): Promise<number> {
1386
1386
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1387
1387
  let cmd:RotateDirection
1388
1388
  if (dir === '上' || dir === 'UP' || dir === 'うえ') {
@@ -1404,7 +1404,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1404
1404
  type: 'func',
1405
1405
  josi: [['だけ']],
1406
1406
  pure: true,
1407
- fn: function (a: number, sys: NakoSystem): Promise<number> {
1407
+ fn: function(a: number, sys: NakoSystem): Promise<number> {
1408
1408
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1409
1409
  return turtle3d.queCurrentTurtle(new CommandRoll('r', a))
1410
1410
  },
@@ -1414,7 +1414,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1414
1414
  type: 'func',
1415
1415
  josi: [['だけ']],
1416
1416
  pure: true,
1417
- fn: function (a: number, sys: NakoSystem): Promise<number> {
1417
+ fn: function(a: number, sys: NakoSystem): Promise<number> {
1418
1418
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1419
1419
  return turtle3d.queCurrentTurtle(new CommandRoll('l', a))
1420
1420
  },
@@ -1424,7 +1424,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1424
1424
  type: 'func',
1425
1425
  josi: [['に', 'へ'], ['だけ']],
1426
1426
  pure: true,
1427
- fn: function (dir: string, a: number, sys: NakoSystem): Promise<number> {
1427
+ fn: function(dir: string, a: number, sys: NakoSystem): Promise<number> {
1428
1428
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1429
1429
  let cmd:RollDirection
1430
1430
  if (dir === '右' || dir === 'RIGHT' || dir === 'みぎ') {
@@ -1442,7 +1442,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1442
1442
  type: 'func',
1443
1443
  josi: [['に', 'へ']],
1444
1444
  pure: true,
1445
- fn: function (c: number|THREENS.Color, sys: NakoSystem): Promise<number> {
1445
+ fn: function(c: number|THREENS.Color, sys: NakoSystem): Promise<number> {
1446
1446
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1447
1447
  if (typeof c === 'number') { c = new three.Color(c) }
1448
1448
  return turtle3d.queCurrentTurtle(new CommandPenColor(c))
@@ -1453,7 +1453,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1453
1453
  type: 'func',
1454
1454
  josi: [['に', 'へ']],
1455
1455
  pure: true,
1456
- fn: function (w: number, sys: NakoSystem): Promise<number> {
1456
+ fn: function(w: number, sys: NakoSystem): Promise<number> {
1457
1457
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1458
1458
  return turtle3d.queCurrentTurtle(new CommandPenWidth(w))
1459
1459
  },
@@ -1463,7 +1463,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1463
1463
  type: 'func',
1464
1464
  josi: [['に', 'へ']],
1465
1465
  pure: true,
1466
- fn: function (w: boolean|number, sys: NakoSystem): Promise<number> {
1466
+ fn: function(w: boolean|number, sys: NakoSystem): Promise<number> {
1467
1467
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1468
1468
  return turtle3d.queCurrentTurtle(new CommandPenEnable(!!w))
1469
1469
  },
@@ -1473,7 +1473,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1473
1473
  type: 'func',
1474
1474
  josi: [],
1475
1475
  pure: true,
1476
- fn: function (sys: NakoSystem):void {
1476
+ fn: function(sys: NakoSystem):void {
1477
1477
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1478
1478
  turtle3d.clearAll()
1479
1479
  },
@@ -1483,7 +1483,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1483
1483
  type: 'func',
1484
1484
  josi: [],
1485
1485
  pure: true,
1486
- fn: function (sys: NakoSystem): Promise<number> {
1486
+ fn: function(sys: NakoSystem): Promise<number> {
1487
1487
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1488
1488
  return turtle3d.queCurrentTurtle(new CommandVisible(false))
1489
1489
  },
@@ -1493,7 +1493,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1493
1493
  type: 'func',
1494
1494
  josi: [],
1495
1495
  pure: true,
1496
- fn: function (sys: NakoSystem): Promise<number> {
1496
+ fn: function(sys: NakoSystem): Promise<number> {
1497
1497
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1498
1498
  return turtle3d.queCurrentTurtle(new CommandVisible(true))
1499
1499
  },
@@ -1503,7 +1503,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1503
1503
  type: 'func',
1504
1504
  josi: [['に', 'へ']],
1505
1505
  pure: true,
1506
- fn: function (n: number, sys: NakoSystem):void {
1506
+ fn: function(n: number, sys: NakoSystem):void {
1507
1507
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1508
1508
  if (n < 0 || n >= turtle3d.turtles.length) {
1509
1509
  throw Error('指定された番号のカメはいません。')
@@ -1520,7 +1520,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1520
1520
  type: 'func',
1521
1521
  josi: [['に', 'へ']],
1522
1522
  pure: true,
1523
- fn: function (to: string|Element|null, sys: NakoSystem):THREENS.WebGLRenderer {
1523
+ fn: function(to: string|Element|null, sys: NakoSystem):THREENS.WebGLRenderer {
1524
1524
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1525
1525
 
1526
1526
  if (typeof to === 'string') { to = document.querySelector(to) || document.getElementById(to) }
@@ -1536,7 +1536,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1536
1536
  type: 'func',
1537
1537
  josi: [],
1538
1538
  pure: true,
1539
- fn: function (sys: NakoSystem):void {
1539
+ fn: function(sys: NakoSystem):void {
1540
1540
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1541
1541
  turtle3d.doDraw(true)
1542
1542
  },
@@ -1546,7 +1546,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1546
1546
  type: 'func',
1547
1547
  josi: [],
1548
1548
  pure: true,
1549
- fn: function (sys: NakoSystem):void {
1549
+ fn: function(sys: NakoSystem):void {
1550
1550
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1551
1551
  turtle3d.doDraw(false)
1552
1552
  },
@@ -1556,7 +1556,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1556
1556
  type: 'func',
1557
1557
  josi: [],
1558
1558
  pure: true,
1559
- fn: function (sys: NakoSystem):void {
1559
+ fn: function(sys: NakoSystem):void {
1560
1560
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1561
1561
  turtle3d.animationTick()
1562
1562
  },
@@ -1566,7 +1566,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1566
1566
  type: 'func',
1567
1567
  josi: [['に', 'へ']],
1568
1568
  pure: true,
1569
- fn: function (c: number, sys: NakoSystem):void {
1569
+ fn: function(c: number, sys: NakoSystem):void {
1570
1570
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1571
1571
  const renderer = turtle3d.getRenderer()
1572
1572
  renderer.setClearColor(c)
@@ -1578,7 +1578,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1578
1578
  type: 'func',
1579
1579
  josi: [['に', 'へ']],
1580
1580
  pure: true,
1581
- fn: function (a: number, sys: NakoSystem):void {
1581
+ fn: function(a: number, sys: NakoSystem):void {
1582
1582
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1583
1583
  const renderer = turtle3d.getRenderer()
1584
1584
  renderer.setClearAlpha(a)
@@ -1590,7 +1590,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1590
1590
  type: 'func',
1591
1591
  josi: [],
1592
1592
  pure: true,
1593
- fn: function (sys: NakoSystem): null|string {
1593
+ fn: function(sys: NakoSystem): null|string {
1594
1594
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1595
1595
  if (!turtle3d._lines) { return null }
1596
1596
  return JSON.stringify(turtle3d._lines.toJSON())
@@ -1601,7 +1601,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1601
1601
  type: 'func',
1602
1602
  josi: [],
1603
1603
  pure: true,
1604
- fn: function (sys: NakoSystem):void {
1604
+ fn: function(sys: NakoSystem):void {
1605
1605
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1606
1606
  turtle3d.clearRenderer()
1607
1607
  },
@@ -1611,7 +1611,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1611
1611
  type: 'func',
1612
1612
  josi: [],
1613
1613
  pure: true,
1614
- fn: function (sys: NakoSystem): THREENS.WebGLRenderer {
1614
+ fn: function(sys: NakoSystem): THREENS.WebGLRenderer {
1615
1615
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1616
1616
  return turtle3d.getRenderer()
1617
1617
  },
@@ -1621,7 +1621,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1621
1621
  type: 'func',
1622
1622
  josi: [],
1623
1623
  pure: true,
1624
- fn: function (sys: NakoSystem): THREENS.Scene {
1624
+ fn: function(sys: NakoSystem): THREENS.Scene {
1625
1625
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1626
1626
  return turtle3d.getScene()
1627
1627
  },
@@ -1631,7 +1631,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1631
1631
  type: 'func',
1632
1632
  josi: [],
1633
1633
  pure: true,
1634
- fn: function (sys: NakoSystem): THREENS.Camera {
1634
+ fn: function(sys: NakoSystem): THREENS.Camera {
1635
1635
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1636
1636
  return turtle3d.getCamera()
1637
1637
  },
@@ -1641,7 +1641,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1641
1641
  type: 'func',
1642
1642
  josi: [],
1643
1643
  pure: true,
1644
- fn: function (sys: NakoSystem): null|THREENS.Group {
1644
+ fn: function(sys: NakoSystem): null|THREENS.Group {
1645
1645
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1646
1646
  return turtle3d._lines
1647
1647
  },
@@ -1651,7 +1651,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1651
1651
  type: 'func',
1652
1652
  josi: [],
1653
1653
  pure: true,
1654
- fn: function (sys: NakoSystem): null|THREENS.Group {
1654
+ fn: function(sys: NakoSystem): null|THREENS.Group {
1655
1655
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1656
1656
  const lines = turtle3d._lines
1657
1657
  turtle3d._lines = new three.Group()
@@ -1665,7 +1665,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1665
1665
  josi: [['を']],
1666
1666
  asyncFn: true,
1667
1667
  pure: true,
1668
- fn: function (p: Promise<any>, sys: NakoSystem): Promise<any> {
1668
+ fn: function(p: Promise<any>, sys: NakoSystem): Promise<any> {
1669
1669
  return p
1670
1670
  },
1671
1671
  return_none: false
@@ -1675,7 +1675,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1675
1675
  type: 'func',
1676
1676
  josi: [],
1677
1677
  pure: true,
1678
- fn: function (sys: NakoSystem): null|THREENS.OrbitControls {
1678
+ fn: function(sys: NakoSystem): null|THREENS.OrbitControls {
1679
1679
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1680
1680
  if (typeof three.OrbitControls !== 'undefined') {
1681
1681
  return turtle3d.setupControl(three.OrbitControls) as THREENS.OrbitControls
@@ -1688,7 +1688,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1688
1688
  type: 'func',
1689
1689
  josi: [],
1690
1690
  pure: true,
1691
- fn: function (sys: NakoSystem):void {
1691
+ fn: function(sys: NakoSystem):void {
1692
1692
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1693
1693
  if (turtle3d._controls) {
1694
1694
  turtle3d._controls.enabled = true
@@ -1700,7 +1700,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1700
1700
  type: 'func',
1701
1701
  josi: [],
1702
1702
  pure: true,
1703
- fn: function (sys: NakoSystem):void {
1703
+ fn: function(sys: NakoSystem):void {
1704
1704
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1705
1705
  if (turtle3d._controls) {
1706
1706
  turtle3d._controls.enabled = false
@@ -1712,7 +1712,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1712
1712
  type: 'func',
1713
1713
  josi: [],
1714
1714
  pure: true,
1715
- fn: function (sys: NakoSystem):void {
1715
+ fn: function(sys: NakoSystem):void {
1716
1716
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1717
1717
  turtle3d.setCameraHelper(true)
1718
1718
  },
@@ -1722,7 +1722,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1722
1722
  type: 'func',
1723
1723
  josi: [],
1724
1724
  pure: true,
1725
- fn: function (sys: NakoSystem):void {
1725
+ fn: function(sys: NakoSystem):void {
1726
1726
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1727
1727
  turtle3d.setCameraHelper(false)
1728
1728
  },
@@ -1732,7 +1732,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1732
1732
  type: 'func',
1733
1733
  josi: [],
1734
1734
  pure: true,
1735
- fn: function (sys: NakoSystem):void {
1735
+ fn: function(sys: NakoSystem):void {
1736
1736
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1737
1737
  turtle3d.setAxisHelper(true)
1738
1738
  },
@@ -1742,7 +1742,7 @@ const PluginWeykTurtle3D: NakoPluginObject = {
1742
1742
  type: 'func',
1743
1743
  josi: [],
1744
1744
  pure: true,
1745
- fn: function (sys: NakoSystem):void {
1745
+ fn: function(sys: NakoSystem):void {
1746
1746
  const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
1747
1747
  turtle3d.setAxisHelper(false)
1748
1748
  },