@design-core/core 0.0.6 → 50.1.0

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 (173) hide show
  1. package/.eslintrc.json +4 -0
  2. package/.github/workflows/DesignCoreQA.yml +3 -0
  3. package/TODO.md +49 -6
  4. package/core/core/core.js +0 -3
  5. package/core/designCore.js +1 -1
  6. package/core/dimensions/alignedDimension.js +12 -11
  7. package/core/dimensions/angularDimension.js +38 -37
  8. package/core/dimensions/{baseCircularDimension.js → circularDimensionBase.js} +22 -21
  9. package/core/dimensions/diametricDimension.js +14 -13
  10. package/core/dimensions/dimension.js +62 -55
  11. package/core/dimensions/{baseDimension.js → dimensionBase.js} +73 -107
  12. package/core/dimensions/{baseLinearDimension.js → linearDimensionBase.js} +15 -14
  13. package/core/dimensions/radialDimension.js +12 -11
  14. package/core/dimensions/rotatedDimension.js +20 -19
  15. package/core/entities/arc.js +123 -156
  16. package/core/entities/arctext.js +222 -184
  17. package/core/entities/circle.js +77 -99
  18. package/core/entities/entity.js +114 -93
  19. package/core/entities/hatch.js +346 -273
  20. package/core/entities/insert.js +68 -83
  21. package/core/entities/line.js +21 -142
  22. package/core/entities/lwpolyline.js +16 -11
  23. package/core/entities/point.js +19 -19
  24. package/core/entities/polyline.js +7 -7
  25. package/core/entities/{basePolyline.js → polylineBase.js} +47 -299
  26. package/core/entities/rectangle.js +3 -1
  27. package/core/entities/solid.js +6 -15
  28. package/core/entities/text.js +190 -201
  29. package/core/lib/auxiliary/rubberBand.js +32 -0
  30. package/core/lib/auxiliary/selectionWindow.js +63 -0
  31. package/core/lib/auxiliary/snapPoint.js +113 -0
  32. package/core/lib/auxiliary/trackingLine.js +76 -0
  33. package/core/lib/boundingBox.js +11 -11
  34. package/core/lib/canvas.js +232 -168
  35. package/core/lib/clipboard.js +9 -3
  36. package/core/lib/colour.js +16 -0
  37. package/core/lib/commandLine.js +1 -6
  38. package/core/lib/commandManager.js +18 -8
  39. package/core/lib/constants.js +28 -0
  40. package/core/lib/dxf/dxf.js +15 -14
  41. package/core/lib/dxf/dxfIterator.js +2 -2
  42. package/core/lib/entityManager.js +33 -26
  43. package/core/lib/inputManager.js +36 -12
  44. package/core/lib/intersect.js +25 -0
  45. package/core/lib/matrix.js +1 -1
  46. package/core/lib/patterns.js +9 -2
  47. package/core/lib/plotOptions.js +67 -0
  48. package/core/lib/polylineUtils.js +75 -0
  49. package/core/lib/renderers/cairoRenderer.js +371 -0
  50. package/core/lib/renderers/canvasRenderer.js +315 -0
  51. package/core/lib/renderers/pdfRenderer.js +366 -0
  52. package/core/lib/renderers/rendererBase.js +284 -0
  53. package/core/lib/renderers/svgRenderer.js +343 -0
  54. package/core/lib/scene.js +28 -6
  55. package/core/lib/selectionManager.js +20 -20
  56. package/core/lib/settings.js +4 -2
  57. package/core/lib/snapping.js +4 -191
  58. package/core/lib/stateManager.js +30 -1
  59. package/core/lib/utils.js +26 -7
  60. package/core/properties/entityProperties.js +104 -0
  61. package/core/properties/property.js +106 -2
  62. package/core/properties/propertyManager.js +60 -44
  63. package/core/tables/block.js +50 -81
  64. package/core/tables/dimStyle.js +5 -5
  65. package/core/tables/endblk.js +1 -1
  66. package/core/tables/layer.js +8 -0
  67. package/core/tables/ltypeManager.js +1 -1
  68. package/core/tables/styleManagerBase.js +3 -2
  69. package/core/tables/tableManagerBase.js +8 -3
  70. package/core/tables/vport.js +2 -2
  71. package/core/tools/chamfer.js +117 -143
  72. package/core/tools/chamferFilletBase.js +138 -37
  73. package/core/tools/copy.js +11 -11
  74. package/core/tools/copybase.js +3 -3
  75. package/core/tools/copyclip.js +3 -3
  76. package/core/tools/cornerEntity.js +2 -2
  77. package/core/tools/cutclip.js +3 -3
  78. package/core/tools/explode.js +7 -7
  79. package/core/tools/extend.js +138 -25
  80. package/core/tools/fillet.js +92 -189
  81. package/core/tools/matchProp.js +3 -12
  82. package/core/tools/mirror.js +15 -14
  83. package/core/tools/move.js +8 -8
  84. package/core/tools/offset.js +31 -33
  85. package/core/tools/pasteclip.js +1 -1
  86. package/core/tools/purge.js +10 -10
  87. package/core/tools/rotate.js +19 -16
  88. package/core/tools/scale.js +7 -7
  89. package/core/tools/trim.js +271 -29
  90. package/core/tools/zoom.js +1 -1
  91. package/cspell.json +321 -0
  92. package/jest.config.js +6 -0
  93. package/package.json +5 -3
  94. package/test/dimensions/alignedDimension.test.js +17 -10
  95. package/test/dimensions/angularDimension.test.js +13 -13
  96. package/test/dimensions/diametricDimension.test.js +15 -15
  97. package/test/dimensions/dimension.test.js +12 -12
  98. package/test/dimensions/{baseDimension.test.js → dimensionBase.test.js} +73 -12
  99. package/test/dimensions/linearDimensionBase.test.js +62 -0
  100. package/test/dimensions/radialDimension.test.js +15 -15
  101. package/test/dimensions/rotatedDimension.test.js +18 -11
  102. package/test/entities/arc.test.js +83 -86
  103. package/test/entities/arctext.test.js +184 -57
  104. package/test/entities/circle.test.js +68 -96
  105. package/test/entities/entity.test.js +42 -8
  106. package/test/entities/hatch.test.js +569 -96
  107. package/test/entities/insert.test.js +99 -4
  108. package/test/entities/line.test.js +15 -41
  109. package/test/entities/lwpolyline.test.js +104 -0
  110. package/test/entities/point.test.js +3 -3
  111. package/test/entities/polyline.test.js +11 -0
  112. package/test/entities/{basePolyline.test.js → polylineBase.test.js} +192 -57
  113. package/test/entities/rectangle.test.js +11 -0
  114. package/test/entities/solid.test.js +1 -1
  115. package/test/entities/text.test.js +302 -77
  116. package/test/integration/exportIntegration.reference.dxf +9 -9
  117. package/test/integration/exportIntegration.test.js +5 -5
  118. package/test/integration/intersectionIntegration.test.js +4 -5
  119. package/test/integration/pdfRendererIntegration.reference.pdf +17709 -0
  120. package/test/integration/pdfRendererIntegration.test.js +61 -0
  121. package/test/integration/svgRendererIntegration.reference.svg +3343 -0
  122. package/test/integration/svgRendererIntegration.test.js +61 -0
  123. package/test/integration/userInputIntegration.reference.dxf +1165 -105
  124. package/test/integration/userInputIntegration.test.js +239 -132
  125. package/test/lib/boundingBox.test.js +3 -3
  126. package/test/lib/canvas.test.js +744 -125
  127. package/test/lib/constants.test.js +27 -0
  128. package/test/lib/entityManager.test.js +4 -4
  129. package/test/lib/inputManager.test.js +81 -20
  130. package/test/lib/intersect.test.js +83 -0
  131. package/test/lib/plotOptions.test.js +179 -0
  132. package/test/lib/rubberBand.test.js +84 -0
  133. package/test/lib/scene.test.js +9 -9
  134. package/test/lib/selectionManager.test.js +3 -3
  135. package/test/lib/settings.test.js +5 -6
  136. package/test/lib/snapping.test.js +72 -130
  137. package/test/lib/stateManager.test.js +7 -7
  138. package/test/lib/utils.test.js +36 -2
  139. package/test/properties/entityProperties.test.js +132 -0
  140. package/test/properties/property.test.js +53 -0
  141. package/test/properties/propertyManager.test.js +25 -25
  142. package/test/renderers/canvasRenderer.test.js +317 -0
  143. package/test/renderers/pdfRenderer.test.js +271 -0
  144. package/test/renderers/rendererBase.test.js +213 -0
  145. package/test/renderers/svgRenderer.test.js +326 -0
  146. package/test/tables/block.test.js +92 -13
  147. package/test/tables/endblk.test.js +2 -2
  148. package/test/tables/layer.test.js +30 -0
  149. package/test/tables/layerManager.test.js +2 -2
  150. package/test/test-helpers/hatchGridRenderer.js +180 -0
  151. package/test/test-helpers/test-helpers.js +158 -6
  152. package/test/tools/chamfer.test.js +273 -51
  153. package/test/tools/chamferFilletBase.test.js +125 -36
  154. package/test/tools/copy.test.js +8 -8
  155. package/test/tools/copybase.test.js +2 -2
  156. package/test/tools/copyclip.test.js +2 -2
  157. package/test/tools/cornerEntity.test.js +8 -8
  158. package/test/tools/cutclip.test.js +2 -2
  159. package/test/tools/erase.test.js +6 -6
  160. package/test/tools/explode.test.js +5 -5
  161. package/test/tools/extend.test.js +373 -42
  162. package/test/tools/fillet.test.js +230 -49
  163. package/test/tools/matchProp.test.js +11 -11
  164. package/test/tools/mirror.test.js +39 -39
  165. package/test/tools/move.test.js +7 -7
  166. package/test/tools/offset.test.js +222 -55
  167. package/test/tools/pasteclip.test.js +5 -5
  168. package/test/tools/purge.test.js +4 -4
  169. package/test/tools/rotate.test.js +39 -9
  170. package/test/tools/scale.test.js +33 -33
  171. package/test/tools/trim.test.js +579 -53
  172. package/test/tools/zoom.test.js +12 -12
  173. package/core/lib/selectionWindow.js +0 -83
@@ -40,7 +40,7 @@ test.each(inputScenarios)('Mirror.execute handles $desc', async (scenario) => {
40
40
  core.scene.clear();
41
41
  core.scene.selectionManager.reset();
42
42
 
43
- core.scene.addItem('Line', { points });
43
+ core.scene.addEntity('Line', { points });
44
44
  core.scene.selectionManager.addToSelectionSet(0);
45
45
 
46
46
  const origInputManager = core.scene.inputManager;
@@ -72,7 +72,7 @@ test('Mirror.execute - cancel at first point does not mirror', async () => {
72
72
  core.scene.clear();
73
73
  core.scene.selectionManager.reset();
74
74
 
75
- core.scene.addItem('Line', { points: [new Point(0, 5), new Point(10, 5)] });
75
+ core.scene.addEntity('Line', { points: [new Point(0, 5), new Point(10, 5)] });
76
76
  core.scene.selectionManager.addToSelectionSet(0);
77
77
 
78
78
  const origInputManager = core.scene.inputManager;
@@ -95,7 +95,7 @@ test('Mirror.execute - cancel at second point does not mirror', async () => {
95
95
  core.scene.clear();
96
96
  core.scene.selectionManager.reset();
97
97
 
98
- core.scene.addItem('Line', { points: [new Point(0, 5), new Point(10, 5)] });
98
+ core.scene.addEntity('Line', { points: [new Point(0, 5), new Point(10, 5)] });
99
99
  core.scene.selectionManager.addToSelectionSet(0);
100
100
 
101
101
  const origInputManager = core.scene.inputManager;
@@ -124,7 +124,7 @@ test('Mirror.execute - undefined erase prompt defaults to keeping source', async
124
124
  core.scene.clear();
125
125
  core.scene.selectionManager.reset();
126
126
 
127
- core.scene.addItem('Line', { points: [new Point(0, 5), new Point(10, 5)] });
127
+ core.scene.addEntity('Line', { points: [new Point(0, 5), new Point(10, 5)] });
128
128
  core.scene.selectionManager.addToSelectionSet(0);
129
129
 
130
130
  const origInputManager = core.scene.inputManager;
@@ -156,8 +156,8 @@ test('Mirror.execute - entity count unchanged when keeping source', async () =>
156
156
  core.scene.clear();
157
157
  core.scene.selectionManager.reset();
158
158
 
159
- core.scene.addItem('Line', { points: [new Point(0, 5), new Point(10, 5)] });
160
- core.scene.addItem('Circle', { points: [new Point(0, 5), new Point(10, 5)] });
159
+ core.scene.addEntity('Line', { points: [new Point(0, 5), new Point(10, 5)] });
160
+ core.scene.addEntity('Circle', { points: [new Point(0, 5), new Point(10, 5)] });
161
161
 
162
162
  const entityCount = core.scene.entities.count();
163
163
 
@@ -192,11 +192,11 @@ test('Test Mirror.action - keep source (default)', () => {
192
192
  core.scene.selectionManager.reset();
193
193
 
194
194
  // Add entities
195
- core.scene.addItem('Line', { points: [new Point(0, 5), new Point(10, 5)] });
196
- core.scene.addItem('Circle', { points: [new Point(0, 5), new Point(10, 5)] });
197
- core.scene.addItem('Polyline', { points: [new Point(0, 5), new Point(10, 5)] });
198
- core.scene.addItem('Arc', { points: [new Point(0, 5), new Point(10, 5), new Point(5, 10)] });
199
- core.scene.addItem('Rectangle', { points: [new Point(0, 5), new Point(10, 5)] });
195
+ core.scene.addEntity('Line', { points: [new Point(0, 5), new Point(10, 5)] });
196
+ core.scene.addEntity('Circle', { points: [new Point(0, 5), new Point(10, 5)] });
197
+ core.scene.addEntity('Polyline', { points: [new Point(0, 5), new Point(10, 5)] });
198
+ core.scene.addEntity('Arc', { points: [new Point(0, 5), new Point(10, 5), new Point(5, 10)] });
199
+ core.scene.addEntity('Rectangle', { points: [new Point(0, 5), new Point(10, 5)] });
200
200
 
201
201
  const entityCount = core.scene.entities.count();
202
202
 
@@ -231,8 +231,8 @@ test('Test Mirror.action - keep source (default)', () => {
231
231
  for (let i = 0; i < entityCount; i++) {
232
232
  const original = core.scene.entities.get(i);
233
233
  const copy = core.scene.entities.get(i + entityCount);
234
- expect(copy.handle).toBeDefined();
235
- expect(copy.handle).not.toBe(original.handle);
234
+ expect(copy.getProperty('handle')).toBeDefined();
235
+ expect(copy.getProperty('handle')).not.toBe(original.getProperty('handle'));
236
236
  }
237
237
  });
238
238
 
@@ -240,8 +240,8 @@ test('Test Mirror.action - erase source', () => {
240
240
  core.scene.clear();
241
241
  core.scene.selectionManager.reset();
242
242
 
243
- core.scene.addItem('Line', { points: [new Point(0, 5), new Point(10, 5)] });
244
- core.scene.addItem('Circle', { points: [new Point(0, 5), new Point(10, 5)] });
243
+ core.scene.addEntity('Line', { points: [new Point(0, 5), new Point(10, 5)] });
244
+ core.scene.addEntity('Circle', { points: [new Point(0, 5), new Point(10, 5)] });
245
245
 
246
246
  const entityCount = core.scene.entities.count();
247
247
 
@@ -271,7 +271,7 @@ test('Test Mirror.action - mirror across Y axis', () => {
271
271
  core.scene.clear();
272
272
  core.scene.selectionManager.reset();
273
273
 
274
- core.scene.addItem('Line', { points: [new Point(5, 0), new Point(5, 10)] });
274
+ core.scene.addEntity('Line', { points: [new Point(5, 0), new Point(5, 10)] });
275
275
 
276
276
  core.scene.selectionManager.addToSelectionSet(0);
277
277
 
@@ -294,7 +294,7 @@ test('Test Mirror.action - arc direction is reversed', () => {
294
294
  core.scene.selectionManager.reset();
295
295
 
296
296
  // CCW arc (direction = 1)
297
- core.scene.addItem('Arc', { points: [new Point(0, 5), new Point(10, 5), new Point(5, 10)], direction: 1 });
297
+ core.scene.addEntity('Arc', { points: [new Point(0, 5), new Point(10, 5), new Point(5, 10)], direction: 1 });
298
298
 
299
299
  core.scene.selectionManager.addToSelectionSet(0);
300
300
 
@@ -310,8 +310,8 @@ test('Test Mirror.action - arc direction is reversed', () => {
310
310
  const original = core.scene.entities.get(0);
311
311
  const mirrored = core.scene.entities.get(1);
312
312
 
313
- expect(original.direction).toBe(1);
314
- expect(mirrored.direction).toBe(-1);
313
+ expect(original.getProperty('direction')).toBe(1);
314
+ expect(mirrored.getProperty('direction')).toBe(-1);
315
315
  });
316
316
 
317
317
  test('Test Mirror.getMirroredPoints', () => {
@@ -333,7 +333,7 @@ test('Mirror.action - zero-length mirror line does not modify entities', () => {
333
333
  core.scene.clear();
334
334
  core.scene.selectionManager.reset();
335
335
 
336
- core.scene.addItem('Line', { points: [new Point(0, 5), new Point(10, 5)] });
336
+ core.scene.addEntity('Line', { points: [new Point(0, 5), new Point(10, 5)] });
337
337
  core.scene.selectionManager.addToSelectionSet(0);
338
338
 
339
339
  const mirror = new Mirror();
@@ -353,7 +353,7 @@ test('Mirror.execute - requests selection set when none pre-selected', async ()
353
353
  core.scene.clear();
354
354
  core.scene.selectionManager.reset();
355
355
 
356
- core.scene.addItem('Line', { points: [new Point(0, 5), new Point(10, 5)] });
356
+ core.scene.addEntity('Line', { points: [new Point(0, 5), new Point(10, 5)] });
357
357
  // Intentionally do NOT add to selection set — triggers the SELECTIONSET prompt
358
358
 
359
359
  const origInputManager = core.scene.inputManager;
@@ -388,36 +388,36 @@ test('Mirror.preview - no points set, adds no temp entities', () => {
388
388
  core.scene.clear();
389
389
  core.scene.selectionManager.reset();
390
390
 
391
- core.scene.addItem('Line', { points: [new Point(0, 5), new Point(10, 5)] });
391
+ core.scene.addEntity('Line', { points: [new Point(0, 5), new Point(10, 5)] });
392
392
  core.scene.selectionManager.addToSelectionSet(0);
393
393
 
394
394
  const mirror = new Mirror();
395
395
  // No points pushed — guard condition should prevent any work
396
396
  mirror.preview();
397
397
 
398
- expect(core.scene.tempEntities.count()).toBe(0);
398
+ expect(core.scene.auxiliaryEntities.count()).toBe(0);
399
399
  });
400
400
 
401
401
  test('Mirror.preview - one point set, draws temp mirror line using mouse position', () => {
402
402
  core.scene.clear();
403
403
  core.scene.selectionManager.reset();
404
404
 
405
- core.scene.addItem('Line', { points: [new Point(0, 5), new Point(10, 5)] });
405
+ core.scene.addEntity('Line', { points: [new Point(0, 5), new Point(10, 5)] });
406
406
  core.scene.selectionManager.addToSelectionSet(0);
407
407
 
408
408
  const mirror = new Mirror();
409
409
  mirror.points.push(new Point(3, 3)); // pt1 distinct from default mouse (0,0) scene position
410
410
  mirror.preview();
411
411
 
412
- // Temp mirror line should have been created
413
- expect(core.scene.tempEntities.count()).toBeGreaterThanOrEqual(1);
412
+ // Rubber-band mirror line should have been created
413
+ expect(core.scene.auxiliaryEntities.count()).toBeGreaterThanOrEqual(1);
414
414
  });
415
415
 
416
416
  test('Mirror.preview - two distinct points, draws mirror line and mirrors selected items', () => {
417
417
  core.scene.clear();
418
418
  core.scene.selectionManager.reset();
419
419
 
420
- core.scene.addItem('Line', { points: [new Point(0, 5), new Point(10, 5)] });
420
+ core.scene.addEntity('Line', { points: [new Point(0, 5), new Point(10, 5)] });
421
421
  core.scene.selectionManager.addToSelectionSet(0);
422
422
 
423
423
  const mirror = new Mirror();
@@ -425,11 +425,11 @@ test('Mirror.preview - two distinct points, draws mirror line and mirrors select
425
425
  mirror.points.push(new Point(1, 0)); // pt2 — mirror across X axis
426
426
  mirror.preview();
427
427
 
428
- // Temp mirror line should exist
429
- expect(core.scene.tempEntities.count()).toBeGreaterThanOrEqual(1);
428
+ // Rubber-band mirror line should exist
429
+ expect(core.scene.auxiliaryEntities.count()).toBeGreaterThanOrEqual(1);
430
430
 
431
- // The selectedItems copy should have its points mirrored (y negated)
432
- const previewItem = core.scene.selectionManager.selectedItems[0];
431
+ // The selectedEntities copy should have its points mirrored (y negated)
432
+ const previewItem = core.scene.selectionManager.selectedEntities[0];
433
433
  expect(previewItem.points[0].y).toBeCloseTo(-5);
434
434
  });
435
435
 
@@ -437,7 +437,7 @@ test('Mirror.preview - identical points, draws line but skips mirroring selected
437
437
  core.scene.clear();
438
438
  core.scene.selectionManager.reset();
439
439
 
440
- core.scene.addItem('Line', { points: [new Point(0, 5), new Point(10, 5)] });
440
+ core.scene.addEntity('Line', { points: [new Point(0, 5), new Point(10, 5)] });
441
441
  core.scene.selectionManager.addToSelectionSet(0);
442
442
 
443
443
  const mirror = new Mirror();
@@ -445,11 +445,11 @@ test('Mirror.preview - identical points, draws line but skips mirroring selected
445
445
  mirror.points.push(new Point(5, 5)); // pt2 — same as pt1, zero-length mirror line
446
446
  mirror.preview();
447
447
 
448
- // Temp line is still drawn
449
- expect(core.scene.tempEntities.count()).toBeGreaterThanOrEqual(1);
448
+ // Rubber-band line is still drawn
449
+ expect(core.scene.auxiliaryEntities.count()).toBeGreaterThanOrEqual(1);
450
450
 
451
451
  // Selected item points should be unchanged (mirroring skipped)
452
- const previewItem = core.scene.selectionManager.selectedItems[0];
452
+ const previewItem = core.scene.selectionManager.selectedEntities[0];
453
453
  expect(previewItem.points[0].y).toBeCloseTo(5);
454
454
  });
455
455
 
@@ -458,7 +458,7 @@ test('Mirror.preview - reverses direction for entities with a direction property
458
458
  core.scene.selectionManager.reset();
459
459
 
460
460
  // Arc with CCW direction
461
- core.scene.addItem('Arc', { points: [new Point(0, 5), new Point(10, 5), new Point(5, 10)], direction: 1 });
461
+ core.scene.addEntity('Arc', { points: [new Point(0, 5), new Point(10, 5), new Point(5, 10)], direction: 1 });
462
462
  core.scene.selectionManager.addToSelectionSet(0);
463
463
 
464
464
  const mirror = new Mirror();
@@ -467,9 +467,9 @@ test('Mirror.preview - reverses direction for entities with a direction property
467
467
  mirror.preview();
468
468
 
469
469
  // Original entity direction is unchanged
470
- expect(core.scene.entities.get(0).direction).toBe(1);
470
+ expect(core.scene.entities.get(0).getProperty('direction')).toBe(1);
471
471
 
472
472
  // Preview copy has direction reversed
473
- const previewItem = core.scene.selectionManager.selectedItems[0];
474
- expect(previewItem.direction).toBe(-1);
473
+ const previewItem = core.scene.selectionManager.selectedEntities[0];
474
+ expect(previewItem.getProperty('direction')).toBe(-1);
475
475
  });
@@ -40,7 +40,7 @@ test.each(inputScenarios)('Move.execute handles $desc', async (scenario) => {
40
40
  // create line
41
41
  const pointOne = new Point(10, 0);
42
42
  const pointTwo = new Point(20, 0);
43
- core.scene.addItem('Line', { points: [pointOne, pointTwo] });
43
+ core.scene.addEntity('Line', { points: [pointOne, pointTwo] });
44
44
 
45
45
  // select line
46
46
  core.scene.selectionManager.addToSelectionSet(0);
@@ -62,12 +62,12 @@ test.each(inputScenarios)('Move.execute handles $desc', async (scenario) => {
62
62
  test('Test Move.action', () => {
63
63
  // Add items to scene
64
64
  core.scene.clear();
65
- core.scene.addItem('Line', { points: [new Point(), new Point(0, 10)] });
66
- core.scene.addItem('Circle', { points: [new Point(), new Point(0, 10)] });
67
- core.scene.addItem('Polyline', { points: [new Point(), new Point(0, 10)] });
68
- core.scene.addItem('Arc', { points: [new Point(), new Point(0, 10), new Point(10, 0)] });
69
- core.scene.addItem('Rectangle', { points: [new Point(), new Point(0, 10)] });
70
- core.scene.addItem('Text', { points: [new Point(), new Point(0, 10)], height: 10, rotation: 0, string: 'text test' });
65
+ core.scene.addEntity('Line', { points: [new Point(), new Point(0, 10)] });
66
+ core.scene.addEntity('Circle', { points: [new Point(), new Point(0, 10)] });
67
+ core.scene.addEntity('Polyline', { points: [new Point(), new Point(0, 10)] });
68
+ core.scene.addEntity('Arc', { points: [new Point(), new Point(0, 10), new Point(10, 0)] });
69
+ core.scene.addEntity('Rectangle', { points: [new Point(), new Point(0, 10)] });
70
+ core.scene.addEntity('Text', { points: [new Point(), new Point(0, 10)], height: 10, rotation: 0, string: 'text test' });
71
71
 
72
72
  // Add items to selection set
73
73
  for (let i = 0; i < core.scene.entities.count(); i++) {