floor-editor-ts 1.0.1 → 1.0.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.
Files changed (55) hide show
  1. package/README.md +700 -0
  2. package/package.json +18 -6
  3. package/App.svelte.d.ts +0 -1
  4. package/favicon.svg +0 -1
  5. package/floor-editor-ts.css +0 -3
  6. package/floor-editor.es.js +0 -47340
  7. package/floor-editor.umd.js +0 -103
  8. package/icons.svg +0 -24
  9. package/lib/components/OnboardingTooltip.svelte.d.ts +0 -1
  10. package/lib/components/editor/AlignmentToolbar.svelte.d.ts +0 -1
  11. package/lib/components/editor/CommandPalette.svelte.d.ts +0 -1
  12. package/lib/components/editor/ContextMenu.svelte.d.ts +0 -1
  13. package/lib/components/editor/FloorPlanCanvas.svelte.d.ts +0 -1
  14. package/lib/components/editor/PrintLayout.svelte.d.ts +0 -1
  15. package/lib/components/editor/UndoHistoryPanel.svelte.d.ts +0 -1
  16. package/lib/components/sidebar/AreaSummaryPanel.svelte.d.ts +0 -1
  17. package/lib/components/sidebar/BuildPanel.svelte.d.ts +0 -1
  18. package/lib/components/sidebar/LayersPanel.svelte.d.ts +0 -1
  19. package/lib/components/sidebar/PropertiesPanel.svelte.d.ts +0 -1
  20. package/lib/components/toolbar/SettingsDialog.svelte.d.ts +0 -1
  21. package/lib/components/toolbar/TopBar.svelte.d.ts +0 -1
  22. package/lib/components/toolbar/VersionHistoryPanel.svelte.d.ts +0 -1
  23. package/src/define-web-component.d.ts +0 -1
  24. package/src/lib/firebase.d.ts +0 -1
  25. package/src/lib/index.d.ts +0 -1
  26. package/src/lib/models/types.d.ts +0 -160
  27. package/src/lib/services/datastore.d.ts +0 -15
  28. package/src/lib/stores/aiKeys.d.ts +0 -9
  29. package/src/lib/stores/onboarding.svelte.d.ts +0 -15
  30. package/src/lib/stores/project.d.ts +0 -162
  31. package/src/lib/stores/saveStatus.d.ts +0 -12
  32. package/src/lib/stores/settings.d.ts +0 -25
  33. package/src/lib/stores/theme.d.ts +0 -5
  34. package/src/lib/stores/versionHistory.d.ts +0 -16
  35. package/src/lib/utils/alignment.d.ts +0 -2
  36. package/src/lib/utils/cadExport.d.ts +0 -3
  37. package/src/lib/utils/canvasInteraction.d.ts +0 -30
  38. package/src/lib/utils/canvasRenderer.d.ts +0 -34
  39. package/src/lib/utils/export.d.ts +0 -13
  40. package/src/lib/utils/furnitureCatalog.d.ts +0 -16
  41. package/src/lib/utils/furnitureIcons.d.ts +0 -12
  42. package/src/lib/utils/furnitureModelLoader.d.ts +0 -1
  43. package/src/lib/utils/furnitureModels3d.d.ts +0 -1
  44. package/src/lib/utils/furnitureThumbnails.d.ts +0 -1
  45. package/src/lib/utils/hitTesting.d.ts +0 -16
  46. package/src/lib/utils/houseTemplates.d.ts +0 -10
  47. package/src/lib/utils/images.d.ts +0 -23
  48. package/src/lib/utils/materials.d.ts +0 -17
  49. package/src/lib/utils/roomDetection.d.ts +0 -11
  50. package/src/lib/utils/roomPresets.d.ts +0 -13
  51. package/src/lib/utils/roomTemplates.d.ts +0 -25
  52. package/src/lib/utils/roomplanImport.d.ts +0 -19
  53. package/src/lib/utils/shortcuts.d.ts +0 -5
  54. package/src/lib/utils/textureGenerator.d.ts +0 -9
  55. package/src/main.d.ts +0 -5
package/README.md ADDED
@@ -0,0 +1,700 @@
1
+ # Build TS
2
+
3
+ ```
4
+ npm run build
5
+ npm run publish:ts
6
+ ```
7
+ # Build JS
8
+
9
+ ```
10
+ npm run build:js
11
+ npm run publish:js
12
+ ```
13
+ # Usage
14
+ ```
15
+ import 'floor-editor-awsome'
16
+
17
+ const floorRef = useRef(null);
18
+ const [floor, setFloor] = useState({
19
+ "id": "0retn2ek",
20
+ "name": "L-Shaped House",
21
+ "floors": [
22
+ {
23
+ "id": "1fg6pga0",
24
+ "name": "Ground Floor",
25
+ "level": 0,
26
+ "walls": [
27
+ {
28
+ "id": "lg5h806h",
29
+ "start": {
30
+ "x": 0,
31
+ "y": 0
32
+ },
33
+ "end": {
34
+ "x": 1400,
35
+ "y": 0
36
+ },
37
+ "thickness": 15,
38
+ "height": 280,
39
+ "color": "#444444"
40
+ },
41
+ {
42
+ "id": "whcf9cv2",
43
+ "start": {
44
+ "x": 1400,
45
+ "y": 0
46
+ },
47
+ "end": {
48
+ "x": 1400,
49
+ "y": 600
50
+ },
51
+ "thickness": 15,
52
+ "height": 280,
53
+ "color": "#444444"
54
+ },
55
+ {
56
+ "id": "phvbebmu",
57
+ "start": {
58
+ "x": 1400,
59
+ "y": 600
60
+ },
61
+ "end": {
62
+ "x": 600,
63
+ "y": 600
64
+ },
65
+ "thickness": 15,
66
+ "height": 280,
67
+ "color": "#444444"
68
+ },
69
+ {
70
+ "id": "xaxhdtmi",
71
+ "start": {
72
+ "x": 600,
73
+ "y": 600
74
+ },
75
+ "end": {
76
+ "x": 600,
77
+ "y": 1100
78
+ },
79
+ "thickness": 15,
80
+ "height": 280,
81
+ "color": "#444444"
82
+ },
83
+ {
84
+ "id": "cs1poy28",
85
+ "start": {
86
+ "x": 600,
87
+ "y": 1100
88
+ },
89
+ "end": {
90
+ "x": 0,
91
+ "y": 1100
92
+ },
93
+ "thickness": 15,
94
+ "height": 280,
95
+ "color": "#444444"
96
+ },
97
+ {
98
+ "id": "irjmbyqg",
99
+ "start": {
100
+ "x": 0,
101
+ "y": 1100
102
+ },
103
+ "end": {
104
+ "x": 0,
105
+ "y": 0
106
+ },
107
+ "thickness": 15,
108
+ "height": 280,
109
+ "color": "#444444"
110
+ },
111
+ {
112
+ "id": "n45rb09q",
113
+ "start": {
114
+ "x": 350,
115
+ "y": 600
116
+ },
117
+ "end": {
118
+ "x": 350,
119
+ "y": 1100
120
+ },
121
+ "thickness": 15,
122
+ "height": 280,
123
+ "color": "#444444"
124
+ },
125
+ {
126
+ "id": "mrcejzip",
127
+ "start": {
128
+ "x": 0,
129
+ "y": 600
130
+ },
131
+ "end": {
132
+ "x": 350,
133
+ "y": 600
134
+ },
135
+ "thickness": 15,
136
+ "height": 280,
137
+ "color": "#444444"
138
+ },
139
+ {
140
+ "id": "s0j86ogg",
141
+ "start": {
142
+ "x": 400,
143
+ "y": 0
144
+ },
145
+ "end": {
146
+ "x": 400,
147
+ "y": 350
148
+ },
149
+ "thickness": 15,
150
+ "height": 280,
151
+ "color": "#444444"
152
+ },
153
+ {
154
+ "id": "9779xycw",
155
+ "start": {
156
+ "x": 0,
157
+ "y": 350
158
+ },
159
+ "end": {
160
+ "x": 400,
161
+ "y": 350
162
+ },
163
+ "thickness": 15,
164
+ "height": 280,
165
+ "color": "#444444"
166
+ },
167
+ {
168
+ "id": "epl8xjo0",
169
+ "start": {
170
+ "x": 800,
171
+ "y": 0
172
+ },
173
+ "end": {
174
+ "x": 800,
175
+ "y": 350
176
+ },
177
+ "thickness": 15,
178
+ "height": 280,
179
+ "color": "#444444"
180
+ },
181
+ {
182
+ "id": "pw24r5jz",
183
+ "start": {
184
+ "x": 400,
185
+ "y": 350
186
+ },
187
+ "end": {
188
+ "x": 800,
189
+ "y": 350
190
+ },
191
+ "thickness": 15,
192
+ "height": 280,
193
+ "color": "#444444"
194
+ },
195
+ {
196
+ "id": "xvghl92m",
197
+ "start": {
198
+ "x": 800,
199
+ "y": 350
200
+ },
201
+ "end": {
202
+ "x": 1400,
203
+ "y": 350
204
+ },
205
+ "thickness": 15,
206
+ "height": 280,
207
+ "color": "#444444"
208
+ },
209
+ {
210
+ "id": "j5kb9mas",
211
+ "start": {
212
+ "x": 200,
213
+ "y": 350
214
+ },
215
+ "end": {
216
+ "x": 200,
217
+ "y": 600
218
+ },
219
+ "thickness": 15,
220
+ "height": 280,
221
+ "color": "#444444"
222
+ },
223
+ {
224
+ "id": "lryeizdx",
225
+ "start": {
226
+ "x": 0,
227
+ "y": 600
228
+ },
229
+ "end": {
230
+ "x": 200,
231
+ "y": 600
232
+ },
233
+ "thickness": 15,
234
+ "height": 280,
235
+ "color": "#444444"
236
+ },
237
+ {
238
+ "id": "zp1xe5hf",
239
+ "start": {
240
+ "x": 1000,
241
+ "y": 350
242
+ },
243
+ "end": {
244
+ "x": 1000,
245
+ "y": 600
246
+ },
247
+ "thickness": 15,
248
+ "height": 280,
249
+ "color": "#444444"
250
+ },
251
+ {
252
+ "id": "2cvf9bma",
253
+ "start": {
254
+ "x": 200,
255
+ "y": 350
256
+ },
257
+ "end": {
258
+ "x": 200,
259
+ "y": 600
260
+ },
261
+ "thickness": 15,
262
+ "height": 280,
263
+ "color": "#444444"
264
+ }
265
+ ],
266
+ "rooms": [
267
+ {
268
+ "id": "room-1-1776067835920",
269
+ "name": "Room 1",
270
+ "walls": [
271
+ "lg5h806h",
272
+ "whcf9cv2",
273
+ "phvbebmu",
274
+ "xaxhdtmi",
275
+ "cs1poy28",
276
+ "irjmbyqg"
277
+ ],
278
+ "floorTexture": "hardwood",
279
+ "area": 114
280
+ },
281
+ {
282
+ "id": "room-6-1776067835920",
283
+ "name": "Room 6",
284
+ "walls": [
285
+ "phvbebmu",
286
+ "zp1xe5hf",
287
+ "xvghl92m",
288
+ "pw24r5jz",
289
+ "9779xycw",
290
+ "j5kb9mas",
291
+ "mrcejzip",
292
+ "n45rb09q",
293
+ "cs1poy28",
294
+ "xaxhdtmi"
295
+ ],
296
+ "floorTexture": "light-oak",
297
+ "area": 32.5
298
+ }
299
+ ],
300
+ "doors": [
301
+ {
302
+ "id": "ri02cnm3",
303
+ "wallId": "phvbebmu",
304
+ "position": 0.8,
305
+ "width": 90,
306
+ "height": 210,
307
+ "type": "single",
308
+ "swingDirection": "left",
309
+ "flipSide": false
310
+ },
311
+ {
312
+ "id": "5vzer8y2",
313
+ "wallId": "mrcejzip",
314
+ "position": 0.5,
315
+ "width": 300,
316
+ "height": 210,
317
+ "type": "double",
318
+ "swingDirection": "left",
319
+ "flipSide": false
320
+ },
321
+ {
322
+ "id": "djdsr69e",
323
+ "wallId": "9779xycw",
324
+ "position": 0.6,
325
+ "width": 90,
326
+ "height": 210,
327
+ "type": "single",
328
+ "swingDirection": "left",
329
+ "flipSide": false
330
+ },
331
+ {
332
+ "id": "q7q6yxj5",
333
+ "wallId": "pw24r5jz",
334
+ "position": 0.5,
335
+ "width": 90,
336
+ "height": 210,
337
+ "type": "single",
338
+ "swingDirection": "left",
339
+ "flipSide": false
340
+ },
341
+ {
342
+ "id": "trlthzki",
343
+ "wallId": "xvghl92m",
344
+ "position": 0.3,
345
+ "width": 90,
346
+ "height": 210,
347
+ "type": "single",
348
+ "swingDirection": "left",
349
+ "flipSide": false
350
+ },
351
+ {
352
+ "id": "cftusuau",
353
+ "wallId": "j5kb9mas",
354
+ "position": 0.5,
355
+ "width": 90,
356
+ "height": 210,
357
+ "type": "single",
358
+ "swingDirection": "left",
359
+ "flipSide": false
360
+ },
361
+ {
362
+ "id": "ffwybstc",
363
+ "wallId": "zp1xe5hf",
364
+ "position": 0.5,
365
+ "width": 90,
366
+ "height": 210,
367
+ "type": "single",
368
+ "swingDirection": "left",
369
+ "flipSide": false
370
+ },
371
+ {
372
+ "id": "zbqvbt3e",
373
+ "wallId": "n45rb09q",
374
+ "position": 0.3,
375
+ "width": 90,
376
+ "height": 210,
377
+ "type": "single",
378
+ "swingDirection": "left",
379
+ "flipSide": false
380
+ }
381
+ ],
382
+ "windows": [
383
+ {
384
+ "id": "str62d0g",
385
+ "wallId": "lg5h806h",
386
+ "position": 0.15,
387
+ "width": 140,
388
+ "height": 120,
389
+ "sillHeight": 90,
390
+ "type": "standard"
391
+ },
392
+ {
393
+ "id": "rhl9pa6k",
394
+ "wallId": "lg5h806h",
395
+ "position": 0.45,
396
+ "width": 140,
397
+ "height": 120,
398
+ "sillHeight": 90,
399
+ "type": "standard"
400
+ },
401
+ {
402
+ "id": "lg4nh0s5",
403
+ "wallId": "lg5h806h",
404
+ "position": 0.8,
405
+ "width": 140,
406
+ "height": 120,
407
+ "sillHeight": 90,
408
+ "type": "standard"
409
+ },
410
+ {
411
+ "id": "8bpiebl6",
412
+ "wallId": "whcf9cv2",
413
+ "position": 0.3,
414
+ "width": 120,
415
+ "height": 120,
416
+ "sillHeight": 90,
417
+ "type": "standard"
418
+ },
419
+ {
420
+ "id": "nqvio771",
421
+ "wallId": "whcf9cv2",
422
+ "position": 0.7,
423
+ "width": 180,
424
+ "height": 120,
425
+ "sillHeight": 90,
426
+ "type": "standard"
427
+ },
428
+ {
429
+ "id": "4wfq1m5b",
430
+ "wallId": "cs1poy28",
431
+ "position": 0.7,
432
+ "width": 150,
433
+ "height": 120,
434
+ "sillHeight": 90,
435
+ "type": "standard"
436
+ },
437
+ {
438
+ "id": "uy5t0vr6",
439
+ "wallId": "irjmbyqg",
440
+ "position": 0.1,
441
+ "width": 120,
442
+ "height": 120,
443
+ "sillHeight": 90,
444
+ "type": "standard"
445
+ }
446
+ ],
447
+ "furniture": [
448
+ {
449
+ "id": "3s34714b",
450
+ "catalogId": "bed_queen",
451
+ "position": {
452
+ "x": 150,
453
+ "y": 120
454
+ },
455
+ "rotation": 0,
456
+ "scale": {
457
+ "x": 1,
458
+ "y": 1,
459
+ "z": 1
460
+ }
461
+ },
462
+ {
463
+ "id": "vy1dh1df",
464
+ "catalogId": "bed_queen",
465
+ "position": {
466
+ "x": 550,
467
+ "y": 120
468
+ },
469
+ "rotation": 0,
470
+ "scale": {
471
+ "x": 1,
472
+ "y": 1,
473
+ "z": 1
474
+ }
475
+ },
476
+ {
477
+ "id": "lbkdt1gr",
478
+ "catalogId": "bed_twin",
479
+ "position": {
480
+ "x": 1050,
481
+ "y": 120
482
+ },
483
+ "rotation": 0,
484
+ "scale": {
485
+ "x": 1,
486
+ "y": 1,
487
+ "z": 1
488
+ }
489
+ },
490
+ {
491
+ "id": "929s823r",
492
+ "catalogId": "sofa",
493
+ "position": {
494
+ "x": 500,
495
+ "y": 450
496
+ },
497
+ "rotation": 0,
498
+ "scale": {
499
+ "x": 1,
500
+ "y": 1,
501
+ "z": 1
502
+ }
503
+ },
504
+ {
505
+ "id": "vemdx0ly",
506
+ "catalogId": "dining_table",
507
+ "position": {
508
+ "x": 1100,
509
+ "y": 470
510
+ },
511
+ "rotation": 0,
512
+ "scale": {
513
+ "x": 1,
514
+ "y": 1,
515
+ "z": 1
516
+ }
517
+ },
518
+ {
519
+ "id": "4ut780gy",
520
+ "catalogId": "toilet",
521
+ "position": {
522
+ "x": 80,
523
+ "y": 450
524
+ },
525
+ "rotation": 0,
526
+ "scale": {
527
+ "x": 1,
528
+ "y": 1,
529
+ "z": 1
530
+ }
531
+ },
532
+ {
533
+ "id": "b86ttpr9",
534
+ "catalogId": "sink_b",
535
+ "position": {
536
+ "x": 80,
537
+ "y": 530
538
+ },
539
+ "rotation": 0,
540
+ "scale": {
541
+ "x": 1,
542
+ "y": 1,
543
+ "z": 1
544
+ }
545
+ },
546
+ {
547
+ "id": "o5vi7zwx",
548
+ "catalogId": "toilet",
549
+ "position": {
550
+ "x": 880,
551
+ "y": 450
552
+ },
553
+ "rotation": 0,
554
+ "scale": {
555
+ "x": 1,
556
+ "y": 1,
557
+ "z": 1
558
+ }
559
+ },
560
+ {
561
+ "id": "5n8aegie",
562
+ "catalogId": "sink_b",
563
+ "position": {
564
+ "x": 880,
565
+ "y": 530
566
+ },
567
+ "rotation": 0,
568
+ "scale": {
569
+ "x": 1,
570
+ "y": 1,
571
+ "z": 1
572
+ }
573
+ },
574
+ {
575
+ "id": "3srr4a1o",
576
+ "catalogId": "camera",
577
+ "position": {
578
+ "x": 350,
579
+ "y": 125
580
+ },
581
+ "rotation": 240,
582
+ "scale": {
583
+ "x": 1,
584
+ "y": 1,
585
+ "z": 1
586
+ }
587
+ },
588
+ {
589
+ "id": "c5t2gb8x",
590
+ "catalogId": "camera",
591
+ "position": {
592
+ "x": 1250,
593
+ "y": 175
594
+ },
595
+ "rotation": 0,
596
+ "scale": {
597
+ "x": 1,
598
+ "y": 1,
599
+ "z": 1
600
+ }
601
+ },
602
+ {
603
+ "id": "2i2ebqoi",
604
+ "catalogId": "camera",
605
+ "position": {
606
+ "x": 200,
607
+ "y": 775
608
+ },
609
+ "rotation": 0,
610
+ "scale": {
611
+ "x": 1,
612
+ "y": 1,
613
+ "z": 1
614
+ }
615
+ },
616
+ {
617
+ "id": "uem6oqib",
618
+ "catalogId": "camera",
619
+ "position": {
620
+ "x": 350,
621
+ "y": 525
622
+ },
623
+ "rotation": 225,
624
+ "scale": {
625
+ "x": 1,
626
+ "y": 1,
627
+ "z": 1
628
+ }
629
+ },
630
+ {
631
+ "id": "h5sbi17v",
632
+ "catalogId": "camera",
633
+ "position": {
634
+ "x": 775,
635
+ "y": 450
636
+ },
637
+ "rotation": 90,
638
+ "scale": {
639
+ "x": 1,
640
+ "y": 1,
641
+ "z": 1
642
+ }
643
+ },
644
+ {
645
+ "id": "6uqjgzjq",
646
+ "catalogId": "camera",
647
+ "position": {
648
+ "x": 1275,
649
+ "y": 500
650
+ },
651
+ "rotation": 345,
652
+ "scale": {
653
+ "x": 1,
654
+ "y": 1,
655
+ "z": 1
656
+ }
657
+ }
658
+ ],
659
+ "stairs": [],
660
+ "columns": [],
661
+ "guides": [],
662
+ "measurements": [],
663
+ "annotations": [],
664
+ "textAnnotations": [],
665
+ "groups": []
666
+ }
667
+ ],
668
+ "activeFloorId": "1fg6pga0",
669
+ "createdAt": "2026-04-13T08:10:35.869Z",
670
+ "updatedAt": "2026-04-13T08:58:30.617Z"
671
+ });
672
+
673
+
674
+ useEffect(() => {
675
+ if (floorRef.current) {
676
+ floorRef.current.floorData = floor;
677
+ floorRef.current.config = { viewOnly: false };
678
+ }
679
+ }, [floor]);
680
+
681
+ useEffect(() => {
682
+ const handleSave = (e) => {
683
+ console.log('saved:', e.detail);
684
+ };
685
+
686
+ const handleAutoSave = (e) => {
687
+ console.log('autoSaved:', e.detail);
688
+ };
689
+
690
+ floorRef.current.addEventListener('floor:save', handleSave);
691
+ floorRef.current.addEventListener('floor:autoSave', handleAutoSave);
692
+
693
+ // Cleanup khi unmount
694
+ return () => {
695
+ floorRef.current.removeEventListener('floor:save', handleSave);
696
+ floorRef.current.removeEventListener('floor:autoSave', handleAutoSave);
697
+ };
698
+ }, []);
699
+
700
+ <floor-editor ref={floorRef}></floor-editor>