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
@@ -26,7 +26,7 @@ class NakoTurtle {
26
26
  mlist: any[]
27
27
  sys: NakoSystem
28
28
 
29
- constructor (sys: NakoSystem, id: number) {
29
+ constructor(sys: NakoSystem, id: number) {
30
30
  this.sys = sys
31
31
  this.id = id
32
32
  this.img = null
@@ -47,12 +47,12 @@ class NakoTurtle {
47
47
  this.mlist = []
48
48
  }
49
49
 
50
- clear () {
50
+ clear() {
51
51
  this.mlist = [] // ジョブをクリア
52
52
  document.body.removeChild(this.canvas)
53
53
  }
54
54
 
55
- loadImage (url: string, callback: any) {
55
+ loadImage(url: string, callback: any) {
56
56
  this.canvas = document.createElement('canvas')
57
57
  this.ctx = this.canvas.getContext('2d')
58
58
  this.canvas.id = this.id
@@ -91,9 +91,9 @@ class NakoTurtleSystem {
91
91
  sys: NakoSystem
92
92
  instanceCount: number
93
93
  // Singleton
94
- /* eslint-disable no-use-before-define */
94
+
95
95
  static instance: NakoTurtleSystem
96
- static getInstance (sys: NakoSystem) {
96
+ static getInstance(sys: NakoSystem) {
97
97
  if (NakoTurtleSystem.instance === undefined) {
98
98
  NakoTurtleSystem.instance = new NakoTurtleSystem(sys)
99
99
  }
@@ -102,7 +102,7 @@ class NakoTurtleSystem {
102
102
  return NakoTurtleSystem.instance
103
103
  }
104
104
 
105
- constructor (sys: NakoSystem) {
105
+ constructor(sys: NakoSystem) {
106
106
  this.sys = sys
107
107
  this.turtles = [] // カメの一覧
108
108
  this.target = -1
@@ -114,7 +114,7 @@ class NakoTurtleSystem {
114
114
  this.timerId = null
115
115
  }
116
116
 
117
- clearAll () {
117
+ clearAll() {
118
118
  // console.log('カメ全消去 turtles=', this.turtles)
119
119
  for (let i = 0; i < this.turtles.length; i++) {
120
120
  const tt = this.turtles[i]
@@ -130,7 +130,7 @@ class NakoTurtleSystem {
130
130
  this.flagSetTimer = false
131
131
  }
132
132
 
133
- drawTurtle (id: number) {
133
+ drawTurtle(id: number) {
134
134
  const tt = this.turtles[id]
135
135
  if (!tt) { return }
136
136
  const cr = this.canvas_r
@@ -156,12 +156,12 @@ class NakoTurtleSystem {
156
156
  } else { tt.ctx.drawImage(tt.img, 0, 0) }
157
157
  }
158
158
 
159
- getCur () {
159
+ getCur() {
160
160
  if (this.turtles.length === 0) { throw Error('最初に『カメ作成』命令を呼び出してください。') }
161
161
  return this.turtles[this.target]
162
162
  }
163
163
 
164
- setTimer () {
164
+ setTimer() {
165
165
  // コマンド設定後、1度だけこの関数を呼び出す
166
166
  if (this.flagSetTimer) { return }
167
167
  this.flagSetTimer = true
@@ -173,7 +173,7 @@ class NakoTurtleSystem {
173
173
  }, 1)
174
174
  }
175
175
 
176
- line (tt: NakoTurtle, x1: number, y1: number, x2: number, y2: number) {
176
+ line(tt: NakoTurtle, x1: number, y1: number, x2: number, y2: number) {
177
177
  /* istanbul ignore else */
178
178
  if (tt) { if (!tt.flagDown) { return } }
179
179
 
@@ -190,13 +190,13 @@ class NakoTurtleSystem {
190
190
  }
191
191
  }
192
192
 
193
- addMacro (args: Array<any>) {
193
+ addMacro(args: Array<any>) {
194
194
  const tt: NakoTurtle = this.getCur()
195
195
  tt.mlist.push(args)
196
196
  this.setTimer()
197
197
  }
198
198
 
199
- doMacro (tt: NakoTurtle, wait: number) {
199
+ doMacro(tt: NakoTurtle, wait: number) {
200
200
  if (!tt.flagLoaded && wait > 0) {
201
201
  // console.log('[TURTLE] waiting ...')
202
202
  return true
@@ -205,111 +205,111 @@ class NakoTurtleSystem {
205
205
  const cmd = (m !== undefined) ? m[0] : ''
206
206
  // console.log('@@@doMacro', cmd, m, tt.x, tt.y, ': dir=', tt.dir)
207
207
  switch (cmd) {
208
- case 'xy':
209
- // 起点を移動する
210
- tt.x = m[1]
211
- tt.y = m[2]
212
- break
213
- case 'begin':
214
- // 描画を明示的に開始する
215
- this.ctx.beginPath()
216
- this.ctx.moveTo(tt.x, tt.y)
217
- tt.flagBegeinPath = true
218
- break
219
- case 'close':
220
- // パスを閉じる
208
+ case 'xy':
209
+ // 起点を移動する
210
+ tt.x = m[1]
211
+ tt.y = m[2]
212
+ break
213
+ case 'begin':
214
+ // 描画を明示的に開始する
215
+ this.ctx.beginPath()
216
+ this.ctx.moveTo(tt.x, tt.y)
217
+ tt.flagBegeinPath = true
218
+ break
219
+ case 'close':
220
+ // パスを閉じる
221
+ this.ctx.closePath()
222
+ tt.flagBegeinPath = false
223
+ break
224
+ case 'fill':
225
+ if (tt.flagBegeinPath) {
221
226
  this.ctx.closePath()
222
227
  tt.flagBegeinPath = false
223
- break
224
- case 'fill':
225
- if (tt.flagBegeinPath) {
226
- this.ctx.closePath()
227
- tt.flagBegeinPath = false
228
- }
229
- this.ctx.fill()
230
- break
231
- case 'stroke':
232
- if (tt.flagBegeinPath) {
233
- this.ctx.closePath()
234
- tt.flagBegeinPath = false
235
- }
236
- this.ctx.stroke()
237
- break
238
- case 'text':
239
- this.ctx.fillText(m[1], tt.x, tt.y)
240
- break
241
- case 'textset':
242
- this.ctx.font = m[1]
243
- break
244
- case 'fillStyle':
245
- this.ctx.fillStyle = m[1]
246
- break
247
- case 'mv': {
248
- // 線を引く
249
- this.line(tt, tt.x, tt.y, m[1], m[2])
250
- // カメの角度を変更
251
- const mvRad = Math.atan2(m[2] - tt.y, m[1] - tt.x)
252
- tt.dir = mvRad * 57.29577951308232
253
- tt.f_update = true
254
- // 実際に位置を移動
255
- tt.x = m[1]
256
- tt.y = m[2]
257
- break
258
228
  }
259
- case 'fd': {
260
- const fdv = m[1] * m[2]
261
- const rad = tt.dir * 0.017453292519943295
262
- const x2 = tt.x + Math.cos(rad) * fdv
263
- const y2 = tt.y + Math.sin(rad) * fdv
264
- this.line(tt, tt.x, tt.y, x2, y2)
265
- tt.x = x2
266
- tt.y = y2
267
- // console.log('@@@fd', m, tt.x, tt.y, ': dir=', tt.dir)
268
- break
269
- }
270
- case 'angle': {
271
- const angle = m[1]
272
- tt.dir = ((angle - 90 + 360) % 360)
273
- tt.f_update = true
274
- break
275
- }
276
- case 'rotr': {
277
- const rv = m[1]
278
- tt.dir = (tt.dir + rv) % 360
279
- tt.f_update = true
280
- break
281
- }
282
- case 'rotl': {
283
- const lv = m[1]
284
- tt.dir = (tt.dir - lv + 360) % 360
285
- tt.f_update = true
286
- break
229
+ this.ctx.fill()
230
+ break
231
+ case 'stroke':
232
+ if (tt.flagBegeinPath) {
233
+ this.ctx.closePath()
234
+ tt.flagBegeinPath = false
287
235
  }
288
- case 'color':
289
- tt.color = m[1]
290
- this.ctx.strokeStyle = tt.color
291
- break
292
- case 'size':
293
- tt.lineWidth = m[1]
294
- this.ctx.lineWidth = tt.lineWidth
295
- break
296
- case 'penOn':
297
- tt.flagDown = m[1]
298
- break
299
- case 'visible':
300
- tt.f_visible = m[1]
301
- tt.f_update = true
302
- break
303
- case 'changeImage':
304
- tt.flagLoaded = false
305
- tt.img.src = m[1]
306
- break
236
+ this.ctx.stroke()
237
+ break
238
+ case 'text':
239
+ this.ctx.fillText(m[1], tt.x, tt.y)
240
+ break
241
+ case 'textset':
242
+ this.ctx.font = m[1]
243
+ break
244
+ case 'fillStyle':
245
+ this.ctx.fillStyle = m[1]
246
+ break
247
+ case 'mv': {
248
+ // 線を引く
249
+ this.line(tt, tt.x, tt.y, m[1], m[2])
250
+ // カメの角度を変更
251
+ const mvRad = Math.atan2(m[2] - tt.y, m[1] - tt.x)
252
+ tt.dir = mvRad * 57.29577951308232
253
+ tt.f_update = true
254
+ // 実際に位置を移動
255
+ tt.x = m[1]
256
+ tt.y = m[2]
257
+ break
258
+ }
259
+ case 'fd': {
260
+ const fdv = m[1] * m[2]
261
+ const rad = tt.dir * 0.017453292519943295
262
+ const x2 = tt.x + Math.cos(rad) * fdv
263
+ const y2 = tt.y + Math.sin(rad) * fdv
264
+ this.line(tt, tt.x, tt.y, x2, y2)
265
+ tt.x = x2
266
+ tt.y = y2
267
+ // console.log('@@@fd', m, tt.x, tt.y, ': dir=', tt.dir)
268
+ break
269
+ }
270
+ case 'angle': {
271
+ const angle = m[1]
272
+ tt.dir = ((angle - 90 + 360) % 360)
273
+ tt.f_update = true
274
+ break
275
+ }
276
+ case 'rotr': {
277
+ const rv = m[1]
278
+ tt.dir = (tt.dir + rv) % 360
279
+ tt.f_update = true
280
+ break
281
+ }
282
+ case 'rotl': {
283
+ const lv = m[1]
284
+ tt.dir = (tt.dir - lv + 360) % 360
285
+ tt.f_update = true
286
+ break
287
+ }
288
+ case 'color':
289
+ tt.color = m[1]
290
+ this.ctx.strokeStyle = tt.color
291
+ break
292
+ case 'size':
293
+ tt.lineWidth = m[1]
294
+ this.ctx.lineWidth = tt.lineWidth
295
+ break
296
+ case 'penOn':
297
+ tt.flagDown = m[1]
298
+ break
299
+ case 'visible':
300
+ tt.f_visible = m[1]
301
+ tt.f_update = true
302
+ break
303
+ case 'changeImage':
304
+ tt.flagLoaded = false
305
+ tt.img.src = m[1]
306
+ break
307
307
  }
308
308
  if (tt.flagLoaded) { this.drawTurtle(tt.id) }
309
309
  return (tt.mlist.length > 0)
310
310
  }
311
311
 
312
- doMacroAll (wait: number) {
312
+ doMacroAll(wait: number) {
313
313
  let hasNext = false
314
314
  for (let i = 0; i < this.turtles.length; i++) {
315
315
  const tt = this.turtles[i]
@@ -318,7 +318,7 @@ class NakoTurtleSystem {
318
318
  return hasNext
319
319
  }
320
320
 
321
- play () {
321
+ play() {
322
322
  const wait = this.sys.__getSysVar('カメ速度')
323
323
  let hasNext = this.doMacroAll(wait)
324
324
  if (wait <= 0) {
@@ -334,7 +334,7 @@ class NakoTurtleSystem {
334
334
  this.flagSetTimer = false
335
335
  }
336
336
 
337
- setupCanvas () {
337
+ setupCanvas() {
338
338
  // 描画先をセットする
339
339
  let canvasId = this.sys.__getSysVar('カメ描画先')
340
340
  if (typeof canvasId === 'string') {
@@ -354,7 +354,7 @@ class NakoTurtleSystem {
354
354
  this.resizeCanvas()
355
355
  }
356
356
 
357
- resizeCanvas () {
357
+ resizeCanvas() {
358
358
  const cv = this.canvas
359
359
  const rect = cv.getBoundingClientRect()
360
360
  const rx = rect.left + window.scrollX
@@ -367,7 +367,7 @@ class NakoTurtleSystem {
367
367
  }
368
368
  }
369
369
 
370
- createTurtle (imageUrl: string) {
370
+ createTurtle(imageUrl: string) {
371
371
  // キャンバス情報は毎回参照する (#734)
372
372
  this.setupCanvas()
373
373
  // カメの情報をリストに追加
@@ -403,7 +403,7 @@ const PluginTurtle = {
403
403
  type: 'func',
404
404
  josi: [],
405
405
  pure: true,
406
- fn: function (sys: NakoSystem) {
406
+ fn: function(sys: NakoSystem) {
407
407
  const turtleSystem: NakoTurtleSystem = NakoTurtleSystem.getInstance(sys)
408
408
  sys.tags.turtles = turtleSystem
409
409
  }
@@ -413,7 +413,7 @@ const PluginTurtle = {
413
413
  type: 'func',
414
414
  josi: [],
415
415
  pure: true,
416
- fn: function (sys: NakoSystem) {
416
+ fn: function(sys: NakoSystem) {
417
417
  // console.log('tutle::!クリア')
418
418
  sys.tags.turtles.clearAll()
419
419
  }
@@ -424,7 +424,7 @@ const PluginTurtle = {
424
424
  type: 'func',
425
425
  josi: [],
426
426
  pure: true,
427
- fn: function (sys: NakoSystem) {
427
+ fn: function(sys: NakoSystem) {
428
428
  const imageUrl = sys.__getSysVar('カメ画像URL')
429
429
  return sys.tags.turtles.createTurtle(imageUrl)
430
430
  }
@@ -433,7 +433,7 @@ const PluginTurtle = {
433
433
  type: 'func',
434
434
  josi: [],
435
435
  pure: true,
436
- fn: function (sys: NakoSystem) {
436
+ fn: function(sys: NakoSystem) {
437
437
  const imageUrl = elephantImage
438
438
  return sys.tags.turtles.createTurtle(imageUrl)
439
439
  }
@@ -442,7 +442,7 @@ const PluginTurtle = {
442
442
  type: 'func',
443
443
  josi: [],
444
444
  pure: true,
445
- fn: function (sys: NakoSystem) {
445
+ fn: function(sys: NakoSystem) {
446
446
  const imageUrl = pandaImage
447
447
  return sys.tags.turtles.createTurtle(imageUrl)
448
448
  }
@@ -451,7 +451,7 @@ const PluginTurtle = {
451
451
  type: 'func',
452
452
  josi: [['に', 'へ', 'の']],
453
453
  pure: true,
454
- fn: function (id: number, sys: NakoSystem) {
454
+ fn: function(id: number, sys: NakoSystem) {
455
455
  sys.tags.turtles.target = id
456
456
  },
457
457
  return_none: true
@@ -462,7 +462,7 @@ const PluginTurtle = {
462
462
  type: 'func',
463
463
  josi: [['に', 'へ']],
464
464
  pure: true,
465
- fn: function (url: string, sys: NakoSystem) {
465
+ fn: function(url: string, sys: NakoSystem) {
466
466
  const turtles: NakoTurtleSystem = sys.tags.turtles
467
467
  turtles.addMacro(['changeImage', url])
468
468
  },
@@ -473,7 +473,7 @@ const PluginTurtle = {
473
473
  type: 'func',
474
474
  josi: [['に', 'へ']],
475
475
  pure: true,
476
- fn: function (v: number, sys: NakoSystem) {
476
+ fn: function(v: number, sys: NakoSystem) {
477
477
  sys.__setSysVar('カメ速度', v)
478
478
  }
479
479
  },
@@ -481,7 +481,7 @@ const PluginTurtle = {
481
481
  type: 'func',
482
482
  josi: [['に', 'へ']],
483
483
  pure: true,
484
- fn: function (xy: number[], sys: NakoSystem) {
484
+ fn: function(xy: number[], sys: NakoSystem) {
485
485
  const turtles: NakoTurtleSystem = sys.tags.turtles
486
486
  turtles.addMacro(['mv', xy[0], xy[1]])
487
487
  },
@@ -491,7 +491,7 @@ const PluginTurtle = {
491
491
  type: 'func',
492
492
  josi: [['に', 'へ']],
493
493
  pure: true,
494
- fn: function (xy: number[], sys: NakoSystem) {
494
+ fn: function(xy: number[], sys: NakoSystem) {
495
495
  const turtles: NakoTurtleSystem = sys.tags.turtles
496
496
  turtles.addMacro(['xy', xy[0], xy[1]])
497
497
  },
@@ -501,7 +501,7 @@ const PluginTurtle = {
501
501
  type: 'func',
502
502
  josi: [['だけ']],
503
503
  pure: true,
504
- fn: function (v: number, sys: NakoSystem) {
504
+ fn: function(v: number, sys: NakoSystem) {
505
505
  const turtles: NakoTurtleSystem = sys.tags.turtles
506
506
  turtles.addMacro(['fd', v, 1])
507
507
  },
@@ -511,7 +511,7 @@ const PluginTurtle = {
511
511
  type: 'func',
512
512
  josi: [['だけ']],
513
513
  pure: true,
514
- fn: function (v: number, sys: NakoSystem) {
514
+ fn: function(v: number, sys: NakoSystem) {
515
515
  const turtles: NakoTurtleSystem = sys.tags.turtles
516
516
  turtles.addMacro(['fd', v, -1])
517
517
  },
@@ -521,7 +521,7 @@ const PluginTurtle = {
521
521
  type: 'func',
522
522
  josi: [['に', 'へ', 'の']],
523
523
  pure: true,
524
- fn: function (v: number, sys: NakoSystem) {
524
+ fn: function(v: number, sys: NakoSystem) {
525
525
  const turtles: NakoTurtleSystem = sys.tags.turtles
526
526
  turtles.addMacro(['angle', v])
527
527
  },
@@ -531,7 +531,7 @@ const PluginTurtle = {
531
531
  type: 'func',
532
532
  josi: [['だけ']],
533
533
  pure: true,
534
- fn: function (v: number, sys: NakoSystem) {
534
+ fn: function(v: number, sys: NakoSystem) {
535
535
  const turtles: NakoTurtleSystem = sys.tags.turtles
536
536
  turtles.addMacro(['rotr', v])
537
537
  },
@@ -541,7 +541,7 @@ const PluginTurtle = {
541
541
  type: 'func',
542
542
  josi: [['だけ']],
543
543
  pure: true,
544
- fn: function (v: number, sys: NakoSystem) {
544
+ fn: function(v: number, sys: NakoSystem) {
545
545
  const turtles: NakoTurtleSystem = sys.tags.turtles
546
546
  turtles.addMacro(['rotl', v])
547
547
  },
@@ -551,7 +551,7 @@ const PluginTurtle = {
551
551
  type: 'func',
552
552
  josi: [['に', 'へ']],
553
553
  pure: true,
554
- fn: function (c: string, sys: NakoSystem) {
554
+ fn: function(c: string, sys: NakoSystem) {
555
555
  const turtles: NakoTurtleSystem = sys.tags.turtles
556
556
  turtles.addMacro(['color', c])
557
557
  },
@@ -561,7 +561,7 @@ const PluginTurtle = {
561
561
  type: 'func',
562
562
  josi: [['に', 'へ']],
563
563
  pure: true,
564
- fn: function (w: string, sys: NakoSystem) {
564
+ fn: function(w: string, sys: NakoSystem) {
565
565
  const turtles: NakoTurtleSystem = sys.tags.turtles
566
566
  turtles.addMacro(['size', w])
567
567
  }
@@ -570,7 +570,7 @@ const PluginTurtle = {
570
570
  type: 'func',
571
571
  josi: [['に', 'へ']],
572
572
  pure: true,
573
- fn: function (w: string, sys: NakoSystem) {
573
+ fn: function(w: string, sys: NakoSystem) {
574
574
  const turtles: NakoTurtleSystem = sys.tags.turtles
575
575
  turtles.addMacro(['penOn', w])
576
576
  }
@@ -579,7 +579,7 @@ const PluginTurtle = {
579
579
  type: 'func',
580
580
  josi: [],
581
581
  pure: true,
582
- fn: function (sys: NakoSystem) {
582
+ fn: function(sys: NakoSystem) {
583
583
  const turtles: NakoTurtleSystem = sys.tags.turtles
584
584
  turtles.addMacro(['begin'])
585
585
  }
@@ -588,7 +588,7 @@ const PluginTurtle = {
588
588
  type: 'func',
589
589
  josi: [],
590
590
  pure: true,
591
- fn: function (sys: NakoSystem) {
591
+ fn: function(sys: NakoSystem) {
592
592
  const turtles: NakoTurtleSystem = sys.tags.turtles
593
593
  turtles.addMacro(['close'])
594
594
  }
@@ -597,7 +597,7 @@ const PluginTurtle = {
597
597
  type: 'func',
598
598
  josi: [],
599
599
  pure: true,
600
- fn: function (sys: NakoSystem) {
600
+ fn: function(sys: NakoSystem) {
601
601
  const turtles: NakoTurtleSystem = sys.tags.turtles
602
602
  turtles.addMacro(['stroke'])
603
603
  }
@@ -606,7 +606,7 @@ const PluginTurtle = {
606
606
  type: 'func',
607
607
  josi: [],
608
608
  pure: true,
609
- fn: function (sys: NakoSystem) {
609
+ fn: function(sys: NakoSystem) {
610
610
  const turtles: NakoTurtleSystem = sys.tags.turtles
611
611
  turtles.addMacro(['fill'])
612
612
  }
@@ -615,7 +615,7 @@ const PluginTurtle = {
615
615
  type: 'func',
616
616
  josi: [['を', 'と', 'の']],
617
617
  pure: true,
618
- fn: function (s: string, sys: NakoSystem) {
618
+ fn: function(s: string, sys: NakoSystem) {
619
619
  const turtles: NakoTurtleSystem = sys.tags.turtles
620
620
  turtles.addMacro(['text', s])
621
621
  }
@@ -624,7 +624,7 @@ const PluginTurtle = {
624
624
  type: 'func',
625
625
  josi: [['に', 'へ', 'で']],
626
626
  pure: true,
627
- fn: function (s: string, sys: NakoSystem) {
627
+ fn: function(s: string, sys: NakoSystem) {
628
628
  s = '' + s // 文字列に
629
629
  if (s.match(/^\d+$/)) {
630
630
  s = s + 'px serif'
@@ -639,7 +639,7 @@ const PluginTurtle = {
639
639
  type: 'func',
640
640
  josi: [['に', 'へ']],
641
641
  pure: true,
642
- fn: function (c: string, sys: NakoSystem) {
642
+ fn: function(c: string, sys: NakoSystem) {
643
643
  const turtles: NakoTurtleSystem = sys.tags.turtles
644
644
  turtles.addMacro(['fillStyle', c])
645
645
  },
@@ -649,7 +649,7 @@ const PluginTurtle = {
649
649
  type: 'func',
650
650
  josi: [],
651
651
  pure: true,
652
- fn: function (sys: NakoSystem) {
652
+ fn: function(sys: NakoSystem) {
653
653
  sys.tags.turtles.clearAll()
654
654
  },
655
655
  return_none: true
@@ -658,7 +658,7 @@ const PluginTurtle = {
658
658
  type: 'func',
659
659
  josi: [['の', 'を']],
660
660
  pure: true,
661
- fn: function (cmd: string, sys: NakoSystem) {
661
+ fn: function(cmd: string, sys: NakoSystem) {
662
662
  const turtles: NakoTurtleSystem = sys.tags.turtles
663
663
  const a = cmd.split(/(\n|;)/)
664
664
  for (let i = 0; i < a.length; i++) {
@@ -675,7 +675,7 @@ const PluginTurtle = {
675
675
  type: 'func',
676
676
  josi: [],
677
677
  pure: true,
678
- fn: function (sys: NakoSystem) {
678
+ fn: function(sys: NakoSystem) {
679
679
  const turtles: NakoTurtleSystem = sys.tags.turtles
680
680
  turtles.addMacro(['visible', false])
681
681
  },
@@ -685,7 +685,7 @@ const PluginTurtle = {
685
685
  type: 'func',
686
686
  josi: [],
687
687
  pure: true,
688
- fn: function (sys: NakoSystem) {
688
+ fn: function(sys: NakoSystem) {
689
689
  const turtles: NakoTurtleSystem = sys.tags.turtles
690
690
  turtles.addMacro(['visible', true])
691
691
  },
@@ -695,7 +695,7 @@ const PluginTurtle = {
695
695
  type: 'func',
696
696
  josi: [['を']],
697
697
  pure: false,
698
- fn: function (func: NakoCallback, sys: NakoSystem) {
698
+ fn: function(func: NakoCallback, sys: NakoSystem) {
699
699
  func = sys.__findVar(func, null) // 文字列指定なら関数に変換
700
700
  if (typeof func !== 'function') { return }
701
701
  const tid = sys.tags.turtles.target
@@ -313,7 +313,6 @@ class Turtle3D extends TypedTurtle3DEventTarget {
313
313
  else if (m instanceof CommandAngle) {
314
314
  const euler = new this.three.Euler();
315
315
  euler.fromArray(m.angle);
316
- // eslint-disable-next-line no-unused-vars
317
316
  const dir = new this.three.Quaternion();
318
317
  this.obj.quaternion.setFromEuler(euler);
319
318
  }
@@ -632,7 +631,6 @@ class WeykTurtle3DSystem {
632
631
  renderer.setClearColor(0x000000, 1.0);
633
632
  renderer.autoClear = false;
634
633
  const scene = this.getScene();
635
- // eslint-disable-next-line no-unused-vars
636
634
  const camera = this.getCamera();
637
635
  if (scene && this._lines) {
638
636
  scene.add(this._lines);
@@ -715,7 +713,6 @@ class WeykTurtle3DSystem {
715
713
  }
716
714
  const renderer = this.getRenderer();
717
715
  const camera = this.getCamera();
718
- // eslint-disable-next-line new-cap
719
716
  const controls = new controlConstrucor(camera, renderer.domElement);
720
717
  controls.enabled = true;
721
718
  this._controls = controls;