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.
- package/batch/command.txt +473 -473
- package/batch/jsplugin2text.nako3 +2 -0
- package/core/package.json +1 -1
- package/core/src/nako3.mjs +0 -4
- package/core/src/nako3.mts +55 -55
- package/core/src/nako_ast.mjs +0 -1
- package/core/src/nako_ast.mts +1 -1
- package/core/src/nako_colors.mjs +0 -1
- package/core/src/nako_colors.mts +1 -1
- package/core/src/nako_core_version.mjs +2 -2
- package/core/src/nako_core_version.mts +2 -2
- package/core/src/nako_csv.mjs +0 -1
- package/core/src/nako_csv.mts +9 -9
- package/core/src/nako_errors.mts +8 -8
- package/core/src/nako_from_dncl.mts +5 -5
- package/core/src/nako_from_dncl2.mjs +0 -1
- package/core/src/nako_from_dncl2.mts +5 -5
- package/core/src/nako_gen.mjs +13 -15
- package/core/src/nako_gen.mts +224 -220
- package/core/src/nako_global.mts +11 -11
- package/core/src/nako_indent.mts +92 -92
- package/core/src/nako_indent_chars.mts +1 -1
- package/core/src/nako_indent_inline.mjs +11 -11
- package/core/src/nako_indent_inline.mts +20 -20
- package/core/src/nako_lex_rules.mjs +0 -1
- package/core/src/nako_lex_rules.mts +8 -8
- package/core/src/nako_lexer.mjs +0 -1
- package/core/src/nako_lexer.mts +23 -23
- package/core/src/nako_logger.mjs +1 -1
- package/core/src/nako_logger.mts +38 -38
- package/core/src/nako_parser3.mjs +4 -5
- package/core/src/nako_parser3.mts +79 -79
- package/core/src/nako_parser_base.mjs +1 -1
- package/core/src/nako_parser_base.mts +68 -68
- package/core/src/nako_parser_const.mjs +0 -1
- package/core/src/nako_parser_const.mts +1 -1
- package/core/src/nako_prepare.mts +12 -12
- package/core/src/nako_source_mapping.mts +9 -9
- package/core/src/nako_token.mjs +0 -1
- package/core/src/nako_token.mts +2 -2
- package/core/src/nako_tools.mjs +0 -1
- package/core/src/nako_tools.mts +4 -4
- package/core/src/nako_types.mjs +0 -1
- package/core/src/nako_types.mts +3 -3
- package/core/src/plugin_api.mjs +0 -1
- package/core/src/plugin_api.mts +1 -1
- package/core/src/plugin_csv.mjs +0 -1
- package/core/src/plugin_csv.mts +7 -7
- package/core/src/plugin_math.mjs +0 -1
- package/core/src/plugin_math.mts +39 -40
- package/core/src/plugin_promise.mjs +1 -1
- package/core/src/plugin_promise.mts +9 -9
- package/core/src/plugin_system.mjs +1 -10
- package/core/src/plugin_system.mts +319 -321
- package/core/src/plugin_test.mjs +0 -2
- package/core/src/plugin_test.mts +6 -6
- package/core/src/plugin_toml.mjs +1 -1
- package/core/src/plugin_toml.mts +4 -4
- package/core/test/flow_test.mjs +22 -0
- package/package.json +31 -34
- package/release/_hash.txt +24 -24
- package/release/_script-tags.txt +16 -16
- package/release/command_cnako3.json +1 -1
- package/release/edit_main.js +33 -21
- package/release/edit_main.js.map +4 -4
- package/release/editor.js +33 -21
- package/release/plugin_keigo.js.map +2 -2
- package/release/plugin_turtle.js.map +2 -2
- package/release/plugin_weykturtle3d.js.map +2 -2
- package/release/version.js +29 -17
- package/release/version_main.js +29 -17
- package/release/version_main.js.map +4 -4
- package/release/wnako3.js +51 -44
- package/release/wnako3.js.map +3 -3
- package/release/wnako3webworker.js +45 -38
- package/release/wnako3webworker.js.map +2 -2
- package/src/cnako3.mts +1 -1
- package/src/cnako3mod.mjs +4 -7
- package/src/cnako3mod.mts +24 -24
- package/src/commander_ja.mts +8 -8
- package/src/deno_wrapper.mjs +0 -1
- package/src/deno_wrapper.mts +5 -5
- package/src/nako_version.mjs +2 -2
- package/src/nako_version.mts +2 -2
- package/src/plugin_browser.mjs +21 -29
- package/src/plugin_browser.mts +30 -35
- package/src/plugin_browser_ajax.mts +27 -27
- package/src/plugin_browser_audio.mjs +0 -1
- package/src/plugin_browser_audio.mts +11 -11
- package/src/plugin_browser_camera.mts +8 -8
- package/src/plugin_browser_canvas.mjs +0 -2
- package/src/plugin_browser_canvas.mts +34 -34
- package/src/plugin_browser_chart.mjs +0 -1
- package/src/plugin_browser_chart.mts +13 -13
- package/src/plugin_browser_color.mts +2 -2
- package/src/plugin_browser_crypto.mts +5 -5
- package/src/plugin_browser_dialog.mts +4 -4
- package/src/plugin_browser_dom_basic.mts +42 -42
- package/src/plugin_browser_dom_event.mjs +0 -1
- package/src/plugin_browser_dom_event.mts +27 -28
- package/src/plugin_browser_dom_parts.mjs +0 -2
- package/src/plugin_browser_dom_parts.mts +31 -31
- package/src/plugin_browser_geolocation.mts +3 -3
- package/src/plugin_browser_hotkey.mts +3 -3
- package/src/plugin_browser_html.mts +4 -4
- package/src/plugin_browser_in_worker.mts +1 -1
- package/src/plugin_browser_location.mts +2 -2
- package/src/plugin_browser_speech.mts +7 -7
- package/src/plugin_browser_storage.mts +11 -11
- package/src/plugin_browser_system.mts +2 -2
- package/src/plugin_browser_websocket.mts +6 -6
- package/src/plugin_httpserver.mts +17 -17
- package/src/plugin_keigo.mts +5 -5
- package/src/plugin_node.mjs +7 -48
- package/src/plugin_node.mts +114 -145
- package/src/plugin_turtle.mts +143 -143
- package/src/plugin_weykturtle3d.mjs +0 -3
- package/src/plugin_weykturtle3d.mts +135 -135
- package/src/plugin_weykturtle3d_three.mjs +0 -1
- package/src/plugin_weykturtle3d_three.mts +1 -1
- package/src/plugin_weykturtle3d_threeutil.mts +3 -3
- package/src/wnako3.mjs +0 -1
- package/src/wnako3.mts +1 -1
- package/src/wnako3_editor.mjs +0 -2
- package/src/wnako3_editor.mts +132 -132
- package/src/wnako3mod.mjs +0 -5
- 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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
476
|
+
private raiseModelChanged(): void {
|
|
477
477
|
const evt = new CustomEvent<void>('modelChanged')
|
|
478
478
|
this.dispatchEvent(evt)
|
|
479
479
|
}
|
|
480
480
|
|
|
481
|
-
private raiseDrawLine
|
|
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
|
|
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
|
|
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
|
-
|
|
498
|
+
|
|
499
499
|
tags: { weykturtle3d?: WeykTurtle3DSystem }
|
|
500
500
|
}
|
|
501
501
|
|
|
502
502
|
class WeykTurtle3DSystem {
|
|
503
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
895
|
+
getWait(): number {
|
|
896
896
|
return this.sys.__getSysVar('T3Dカメ速度')
|
|
897
897
|
}
|
|
898
898
|
|
|
899
|
-
isNoWait
|
|
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
|
|
941
|
+
animationFrame(callback: () => void, element?: Element) {
|
|
942
942
|
window.setTimeout(callback, 1000 / 60)
|
|
943
943
|
}
|
|
944
944
|
|
|
945
|
-
ck
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
1086
|
+
const callbacks = (function(total) {
|
|
1087
1087
|
let countTotal = 0
|
|
1088
1088
|
let countSuccess = 0
|
|
1089
|
-
return function
|
|
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
|
|
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
|
|
1133
|
+
const callbacks = (function(callback, total) {
|
|
1134
1134
|
let count = 0
|
|
1135
|
-
return function
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
1745
|
+
fn: function(sys: NakoSystem):void {
|
|
1746
1746
|
const [turtle3d, three] = WeykTurtle3DSystem.getEnv(sys)
|
|
1747
1747
|
turtle3d.setAxisHelper(false)
|
|
1748
1748
|
},
|