@teachinglab/omd 0.6.0 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +257 -251
- package/README.old.md +137 -137
- package/canvas/core/canvasConfig.js +202 -202
- package/canvas/drawing/segment.js +167 -167
- package/canvas/drawing/stroke.js +385 -385
- package/canvas/events/eventManager.js +444 -444
- package/canvas/events/pointerEventHandler.js +262 -262
- package/canvas/index.js +48 -48
- package/canvas/tools/PointerTool.js +71 -71
- package/canvas/tools/tool.js +222 -222
- package/canvas/utils/boundingBox.js +377 -377
- package/canvas/utils/mathUtils.js +258 -258
- package/docs/api/configuration-options.md +198 -198
- package/docs/api/eventManager.md +82 -82
- package/docs/api/focusFrameManager.md +144 -144
- package/docs/api/index.md +105 -105
- package/docs/api/main.md +62 -62
- package/docs/api/omdBinaryExpressionNode.md +86 -86
- package/docs/api/omdCanvas.md +83 -83
- package/docs/api/omdConfigManager.md +112 -112
- package/docs/api/omdConstantNode.md +52 -52
- package/docs/api/omdDisplay.md +87 -87
- package/docs/api/omdEquationNode.md +174 -174
- package/docs/api/omdEquationSequenceNode.md +258 -258
- package/docs/api/omdEquationStack.md +192 -192
- package/docs/api/omdFunctionNode.md +82 -82
- package/docs/api/omdGroupNode.md +78 -78
- package/docs/api/omdHelpers.md +87 -87
- package/docs/api/omdLeafNode.md +85 -85
- package/docs/api/omdNode.md +201 -201
- package/docs/api/omdOperationDisplayNode.md +117 -117
- package/docs/api/omdOperatorNode.md +91 -91
- package/docs/api/omdParenthesisNode.md +133 -133
- package/docs/api/omdPopup.md +191 -191
- package/docs/api/omdPowerNode.md +131 -131
- package/docs/api/omdRationalNode.md +144 -144
- package/docs/api/omdSequenceNode.md +128 -128
- package/docs/api/omdSimplification.md +78 -78
- package/docs/api/omdSqrtNode.md +144 -144
- package/docs/api/omdStepVisualizer.md +146 -146
- package/docs/api/omdStepVisualizerHighlighting.md +65 -65
- package/docs/api/omdStepVisualizerInteractiveSteps.md +108 -108
- package/docs/api/omdStepVisualizerLayout.md +70 -70
- package/docs/api/omdStepVisualizerNodeUtils.md +140 -140
- package/docs/api/omdStepVisualizerTextBoxes.md +76 -76
- package/docs/api/omdToolbar.md +130 -130
- package/docs/api/omdTranscriptionService.md +95 -95
- package/docs/api/omdTreeDiff.md +169 -169
- package/docs/api/omdUnaryExpressionNode.md +137 -137
- package/docs/api/omdUtilities.md +82 -82
- package/docs/api/omdVariableNode.md +123 -123
- package/docs/api/selectTool.md +74 -74
- package/docs/api/simplificationEngine.md +97 -97
- package/docs/api/simplificationRules.md +76 -76
- package/docs/api/simplificationUtils.md +64 -64
- package/docs/api/transcribe.md +43 -43
- package/docs/api-reference.md +85 -85
- package/docs/index.html +453 -453
- package/docs/index.md +38 -38
- package/docs/omd-objects.md +258 -258
- package/index.js +79 -79
- package/jsvg/index.js +3 -0
- package/jsvg/jsvg.js +898 -898
- package/jsvg/jsvgComponents.js +357 -358
- package/npm-docs/DOCUMENTATION_SUMMARY.md +220 -220
- package/npm-docs/README.md +251 -251
- package/npm-docs/api/api-reference.md +85 -85
- package/npm-docs/api/configuration-options.md +198 -198
- package/npm-docs/api/eventManager.md +82 -82
- package/npm-docs/api/expression-nodes.md +561 -561
- package/npm-docs/api/focusFrameManager.md +144 -144
- package/npm-docs/api/index.md +105 -105
- package/npm-docs/api/main.md +62 -62
- package/npm-docs/api/omdBinaryExpressionNode.md +86 -86
- package/npm-docs/api/omdCanvas.md +83 -83
- package/npm-docs/api/omdConfigManager.md +112 -112
- package/npm-docs/api/omdConstantNode.md +52 -52
- package/npm-docs/api/omdDisplay.md +87 -87
- package/npm-docs/api/omdEquationNode.md +174 -174
- package/npm-docs/api/omdEquationSequenceNode.md +258 -258
- package/npm-docs/api/omdEquationStack.md +192 -192
- package/npm-docs/api/omdFunctionNode.md +82 -82
- package/npm-docs/api/omdGroupNode.md +78 -78
- package/npm-docs/api/omdHelpers.md +87 -87
- package/npm-docs/api/omdLeafNode.md +85 -85
- package/npm-docs/api/omdNode.md +201 -201
- package/npm-docs/api/omdOperationDisplayNode.md +117 -117
- package/npm-docs/api/omdOperatorNode.md +91 -91
- package/npm-docs/api/omdParenthesisNode.md +133 -133
- package/npm-docs/api/omdPopup.md +191 -191
- package/npm-docs/api/omdPowerNode.md +131 -131
- package/npm-docs/api/omdRationalNode.md +144 -144
- package/npm-docs/api/omdSequenceNode.md +128 -128
- package/npm-docs/api/omdSimplification.md +78 -78
- package/npm-docs/api/omdSqrtNode.md +144 -144
- package/npm-docs/api/omdStepVisualizer.md +146 -146
- package/npm-docs/api/omdStepVisualizerHighlighting.md +65 -65
- package/npm-docs/api/omdStepVisualizerInteractiveSteps.md +108 -108
- package/npm-docs/api/omdStepVisualizerLayout.md +70 -70
- package/npm-docs/api/omdStepVisualizerNodeUtils.md +140 -140
- package/npm-docs/api/omdStepVisualizerTextBoxes.md +76 -76
- package/npm-docs/api/omdToolbar.md +130 -130
- package/npm-docs/api/omdTranscriptionService.md +95 -95
- package/npm-docs/api/omdTreeDiff.md +169 -169
- package/npm-docs/api/omdUnaryExpressionNode.md +137 -137
- package/npm-docs/api/omdUtilities.md +82 -82
- package/npm-docs/api/omdVariableNode.md +123 -123
- package/npm-docs/api/selectTool.md +74 -74
- package/npm-docs/api/simplificationEngine.md +97 -97
- package/npm-docs/api/simplificationRules.md +76 -76
- package/npm-docs/api/simplificationUtils.md +64 -64
- package/npm-docs/api/transcribe.md +43 -43
- package/npm-docs/guides/equations.md +854 -854
- package/npm-docs/guides/factory-functions.md +354 -354
- package/npm-docs/guides/getting-started.md +318 -318
- package/npm-docs/guides/quick-examples.md +525 -525
- package/npm-docs/guides/visualizations.md +682 -682
- package/npm-docs/index.html +12 -0
- package/npm-docs/json-schemas.md +826 -826
- package/omd/config/omdConfigManager.js +279 -267
- package/omd/core/index.js +158 -158
- package/omd/core/omdEquationStack.js +546 -546
- package/omd/core/omdUtilities.js +113 -113
- package/omd/display/omdDisplay.js +969 -962
- package/omd/display/omdToolbar.js +501 -501
- package/omd/nodes/omdBinaryExpressionNode.js +459 -459
- package/omd/nodes/omdConstantNode.js +141 -141
- package/omd/nodes/omdEquationNode.js +1327 -1327
- package/omd/nodes/omdFunctionNode.js +351 -351
- package/omd/nodes/omdGroupNode.js +67 -67
- package/omd/nodes/omdLeafNode.js +76 -76
- package/omd/nodes/omdNode.js +556 -556
- package/omd/nodes/omdOperationDisplayNode.js +321 -321
- package/omd/nodes/omdOperatorNode.js +108 -108
- package/omd/nodes/omdParenthesisNode.js +292 -292
- package/omd/nodes/omdPowerNode.js +235 -235
- package/omd/nodes/omdRationalNode.js +295 -295
- package/omd/nodes/omdSqrtNode.js +307 -307
- package/omd/nodes/omdUnaryExpressionNode.js +227 -227
- package/omd/nodes/omdVariableNode.js +122 -122
- package/omd/simplification/omdSimplification.js +140 -140
- package/omd/simplification/omdSimplificationEngine.js +887 -887
- package/omd/simplification/package.json +5 -5
- package/omd/simplification/rules/binaryRules.js +1037 -1037
- package/omd/simplification/rules/functionRules.js +111 -111
- package/omd/simplification/rules/index.js +48 -48
- package/omd/simplification/rules/parenthesisRules.js +19 -19
- package/omd/simplification/rules/powerRules.js +143 -143
- package/omd/simplification/rules/rationalRules.js +725 -725
- package/omd/simplification/rules/sqrtRules.js +48 -48
- package/omd/simplification/rules/unaryRules.js +37 -37
- package/omd/simplification/simplificationRules.js +31 -31
- package/omd/simplification/simplificationUtils.js +1055 -1055
- package/omd/step-visualizer/omdStepVisualizer.js +947 -947
- package/omd/step-visualizer/omdStepVisualizerHighlighting.js +246 -246
- package/omd/step-visualizer/omdStepVisualizerLayout.js +892 -892
- package/omd/step-visualizer/omdStepVisualizerTextBoxes.js +200 -200
- package/omd/utils/aiNextEquationStep.js +106 -106
- package/omd/utils/omdNodeOverlay.js +638 -638
- package/omd/utils/omdPopup.js +1203 -1203
- package/omd/utils/omdStepVisualizerInteractiveSteps.js +684 -684
- package/omd/utils/omdStepVisualizerNodeUtils.js +267 -267
- package/omd/utils/omdTranscriptionService.js +123 -123
- package/omd/utils/omdTreeDiff.js +733 -733
- package/package.json +59 -56
- package/readme.html +184 -120
- package/src/index.js +74 -74
- package/src/json-schemas.md +576 -576
- package/src/omd-json-samples.js +147 -147
- package/src/omdApp.js +391 -391
- package/src/omdAppCanvas.js +335 -335
- package/src/omdBalanceHanger.js +199 -199
- package/src/omdColor.js +13 -13
- package/src/omdCoordinatePlane.js +541 -541
- package/src/omdExpression.js +115 -115
- package/src/omdFactory.js +150 -150
- package/src/omdFunction.js +114 -114
- package/src/omdMetaExpression.js +290 -290
- package/src/omdNaturalExpression.js +563 -563
- package/src/omdNode.js +383 -383
- package/src/omdNumber.js +52 -52
- package/src/omdNumberLine.js +114 -112
- package/src/omdNumberTile.js +118 -118
- package/src/omdOperator.js +72 -72
- package/src/omdPowerExpression.js +91 -91
- package/src/omdProblem.js +259 -259
- package/src/omdRatioChart.js +251 -251
- package/src/omdRationalExpression.js +114 -114
- package/src/omdSampleData.js +215 -215
- package/src/omdShapes.js +512 -512
- package/src/omdSpinner.js +151 -151
- package/src/omdString.js +49 -49
- package/src/omdTable.js +498 -498
- package/src/omdTapeDiagram.js +244 -244
- package/src/omdTerm.js +91 -91
- package/src/omdTileEquation.js +349 -349
- package/src/omdUtils.js +84 -84
- package/src/omdVariable.js +51 -51
|
@@ -1,68 +1,68 @@
|
|
|
1
|
-
import { omdLeafNode } from "./omdLeafNode.js";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Leaf node that represents a variable.
|
|
5
|
-
* @extends omdLeafNode
|
|
6
|
-
*/
|
|
7
|
-
export class omdGroupNode extends omdLeafNode {
|
|
8
|
-
/**
|
|
9
|
-
* Creates a leaf node from the AST data.
|
|
10
|
-
* @param {Object} astNodeData - The AST node containing leaf information.
|
|
11
|
-
* @param {String} groupingSymbol - A character representing the grouping symbol, e.g. ( or )
|
|
12
|
-
*/
|
|
13
|
-
constructor(nodeData) {
|
|
14
|
-
super(nodeData);
|
|
15
|
-
this.type = "omdGroupNode";
|
|
16
|
-
|
|
17
|
-
this.symbol = this.parseSymbol(nodeData);
|
|
18
|
-
|
|
19
|
-
this.textElement = super.createTextElement(this.symbol);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
parseSymbol(nodeData) {
|
|
23
|
-
return nodeData;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
parseType() {
|
|
27
|
-
return "parenthesis";
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
clone() {
|
|
31
|
-
const clone = new omdGroupNode(this.text);
|
|
32
|
-
|
|
33
|
-
// The crucial step: link the clone to its origin
|
|
34
|
-
clone.provenance.push(this.id);
|
|
35
|
-
|
|
36
|
-
return clone;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Calculates the dimensions of the node.
|
|
41
|
-
* Does NOT add padding, unlike other leaf nodes.
|
|
42
|
-
* @override
|
|
43
|
-
*/
|
|
44
|
-
computeDimensions() {
|
|
45
|
-
super.computeDimensions();
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Updates the layout of the node.
|
|
50
|
-
* @override
|
|
51
|
-
*/
|
|
52
|
-
updateLayout() {
|
|
53
|
-
super.updateLayout();
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Converts the omdGroupNode to a math.js AST node.
|
|
58
|
-
* @returns {Object} A math.js-compatible AST node.
|
|
59
|
-
*/
|
|
60
|
-
toMathJSNode() {
|
|
61
|
-
// This node is purely visual (like parentheses); it's represented by its symbol.
|
|
62
|
-
const astNode = { type: 'SymbolNode', name: this.symbol };
|
|
63
|
-
astNode.clone = function() {
|
|
64
|
-
return { ...this };
|
|
65
|
-
};
|
|
66
|
-
return astNode;
|
|
67
|
-
}
|
|
1
|
+
import { omdLeafNode } from "./omdLeafNode.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Leaf node that represents a variable.
|
|
5
|
+
* @extends omdLeafNode
|
|
6
|
+
*/
|
|
7
|
+
export class omdGroupNode extends omdLeafNode {
|
|
8
|
+
/**
|
|
9
|
+
* Creates a leaf node from the AST data.
|
|
10
|
+
* @param {Object} astNodeData - The AST node containing leaf information.
|
|
11
|
+
* @param {String} groupingSymbol - A character representing the grouping symbol, e.g. ( or )
|
|
12
|
+
*/
|
|
13
|
+
constructor(nodeData) {
|
|
14
|
+
super(nodeData);
|
|
15
|
+
this.type = "omdGroupNode";
|
|
16
|
+
|
|
17
|
+
this.symbol = this.parseSymbol(nodeData);
|
|
18
|
+
|
|
19
|
+
this.textElement = super.createTextElement(this.symbol);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
parseSymbol(nodeData) {
|
|
23
|
+
return nodeData;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
parseType() {
|
|
27
|
+
return "parenthesis";
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
clone() {
|
|
31
|
+
const clone = new omdGroupNode(this.text);
|
|
32
|
+
|
|
33
|
+
// The crucial step: link the clone to its origin
|
|
34
|
+
clone.provenance.push(this.id);
|
|
35
|
+
|
|
36
|
+
return clone;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Calculates the dimensions of the node.
|
|
41
|
+
* Does NOT add padding, unlike other leaf nodes.
|
|
42
|
+
* @override
|
|
43
|
+
*/
|
|
44
|
+
computeDimensions() {
|
|
45
|
+
super.computeDimensions();
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Updates the layout of the node.
|
|
50
|
+
* @override
|
|
51
|
+
*/
|
|
52
|
+
updateLayout() {
|
|
53
|
+
super.updateLayout();
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Converts the omdGroupNode to a math.js AST node.
|
|
58
|
+
* @returns {Object} A math.js-compatible AST node.
|
|
59
|
+
*/
|
|
60
|
+
toMathJSNode() {
|
|
61
|
+
// This node is purely visual (like parentheses); it's represented by its symbol.
|
|
62
|
+
const astNode = { type: 'SymbolNode', name: this.symbol };
|
|
63
|
+
astNode.clone = function() {
|
|
64
|
+
return { ...this };
|
|
65
|
+
};
|
|
66
|
+
return astNode;
|
|
67
|
+
}
|
|
68
68
|
}
|
package/omd/nodes/omdLeafNode.js
CHANGED
|
@@ -1,77 +1,77 @@
|
|
|
1
|
-
import { omdNode } from "./omdNode.js";
|
|
2
|
-
import { getTextBounds } from "../core/omdUtilities.js";
|
|
3
|
-
import { jsvgTextLine } from '@teachinglab/jsvg';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Represents a leaf in the AST tree, such as an operator, constant, variable, or grouping symbol.
|
|
7
|
-
* @extends omdNode
|
|
8
|
-
*/
|
|
9
|
-
export class omdLeafNode extends omdNode {
|
|
10
|
-
/**
|
|
11
|
-
* Creates a leaf node from the AST data.
|
|
12
|
-
* @param {Object} astNodeData - The AST node containing leaf information.
|
|
13
|
-
*/
|
|
14
|
-
constructor(nodeData) {
|
|
15
|
-
super(nodeData);
|
|
16
|
-
this.type = "omdLeafNode";
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Creates and positions the text element for the constant
|
|
21
|
-
* @param {string|number} text - The text content to display.
|
|
22
|
-
*/
|
|
23
|
-
createTextElement(text) {
|
|
24
|
-
let textElement = new jsvgTextLine();
|
|
25
|
-
textElement.setText(text);
|
|
26
|
-
|
|
27
|
-
textElement.setTextAnchor('middle');
|
|
28
|
-
textElement.svgObject.setAttribute('dominant-baseline', 'middle');
|
|
29
|
-
|
|
30
|
-
this.addChild(textElement);
|
|
31
|
-
|
|
32
|
-
return textElement;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
clone() {
|
|
36
|
-
const clone = new this.constructor(this.astNodeData);
|
|
37
|
-
|
|
38
|
-
// The crucial step: link the clone to its origin
|
|
39
|
-
clone.provenance.push(this.id);
|
|
40
|
-
|
|
41
|
-
return clone;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
updateTextElement(text) {
|
|
45
|
-
this.textElement.setText(text);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Calculates the dimensions of the node
|
|
50
|
-
* @override
|
|
51
|
-
*/
|
|
52
|
-
computeDimensions() {
|
|
53
|
-
// Gerard: Checks for parent fontSize property and updates size accordingly
|
|
54
|
-
let fontSize = this.getFontSize();
|
|
55
|
-
this.textElement.setFontSize(fontSize);
|
|
56
|
-
|
|
57
|
-
// Gerard: Gets text bounds based on fontSize using temporary span element
|
|
58
|
-
let bounds = getTextBounds(this.textElement.getText(), fontSize);
|
|
59
|
-
this.setWidthAndHeight(bounds.width, bounds.height);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* Updates the position of the node
|
|
64
|
-
* @override
|
|
65
|
-
*/
|
|
66
|
-
updateLayout() {
|
|
67
|
-
this.updateTextPosition();
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Updates the position of the text
|
|
72
|
-
* @private
|
|
73
|
-
*/
|
|
74
|
-
updateTextPosition() {
|
|
75
|
-
this.textElement.setPosition(this.width / 2, this.height / 2);
|
|
76
|
-
}
|
|
1
|
+
import { omdNode } from "./omdNode.js";
|
|
2
|
+
import { getTextBounds } from "../core/omdUtilities.js";
|
|
3
|
+
import { jsvgTextLine } from '@teachinglab/jsvg';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Represents a leaf in the AST tree, such as an operator, constant, variable, or grouping symbol.
|
|
7
|
+
* @extends omdNode
|
|
8
|
+
*/
|
|
9
|
+
export class omdLeafNode extends omdNode {
|
|
10
|
+
/**
|
|
11
|
+
* Creates a leaf node from the AST data.
|
|
12
|
+
* @param {Object} astNodeData - The AST node containing leaf information.
|
|
13
|
+
*/
|
|
14
|
+
constructor(nodeData) {
|
|
15
|
+
super(nodeData);
|
|
16
|
+
this.type = "omdLeafNode";
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Creates and positions the text element for the constant
|
|
21
|
+
* @param {string|number} text - The text content to display.
|
|
22
|
+
*/
|
|
23
|
+
createTextElement(text) {
|
|
24
|
+
let textElement = new jsvgTextLine();
|
|
25
|
+
textElement.setText(text);
|
|
26
|
+
|
|
27
|
+
textElement.setTextAnchor('middle');
|
|
28
|
+
textElement.svgObject.setAttribute('dominant-baseline', 'middle');
|
|
29
|
+
|
|
30
|
+
this.addChild(textElement);
|
|
31
|
+
|
|
32
|
+
return textElement;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
clone() {
|
|
36
|
+
const clone = new this.constructor(this.astNodeData);
|
|
37
|
+
|
|
38
|
+
// The crucial step: link the clone to its origin
|
|
39
|
+
clone.provenance.push(this.id);
|
|
40
|
+
|
|
41
|
+
return clone;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
updateTextElement(text) {
|
|
45
|
+
this.textElement.setText(text);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Calculates the dimensions of the node
|
|
50
|
+
* @override
|
|
51
|
+
*/
|
|
52
|
+
computeDimensions() {
|
|
53
|
+
// Gerard: Checks for parent fontSize property and updates size accordingly
|
|
54
|
+
let fontSize = this.getFontSize();
|
|
55
|
+
this.textElement.setFontSize(fontSize);
|
|
56
|
+
|
|
57
|
+
// Gerard: Gets text bounds based on fontSize using temporary span element
|
|
58
|
+
let bounds = getTextBounds(this.textElement.getText(), fontSize);
|
|
59
|
+
this.setWidthAndHeight(bounds.width, bounds.height);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Updates the position of the node
|
|
64
|
+
* @override
|
|
65
|
+
*/
|
|
66
|
+
updateLayout() {
|
|
67
|
+
this.updateTextPosition();
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Updates the position of the text
|
|
72
|
+
* @private
|
|
73
|
+
*/
|
|
74
|
+
updateTextPosition() {
|
|
75
|
+
this.textElement.setPosition(this.width / 2, this.height / 2);
|
|
76
|
+
}
|
|
77
77
|
}
|