@lukekaalim/act-insight 1.1.0 → 2.0.1

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 (123) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/InsightApp.module.css +36 -0
  3. package/InsightApp2.ts +82 -0
  4. package/TreeViewer.module.css +3 -8
  5. package/TreeViewer.ts +16 -12
  6. package/Virtual.ts +29 -11
  7. package/assets/icons/ancestor_column.png +0 -0
  8. package/assets/icons/ancestor_column.svg +26 -0
  9. package/assets/icons/ancestor_skip_row_column.png +0 -0
  10. package/assets/icons/ancestor_skip_row_column.svg +52 -0
  11. package/assets/icons/breakpoint.png +0 -0
  12. package/assets/icons/breakpoint.svg +33 -0
  13. package/assets/icons/breakpoint_arrow.png +0 -0
  14. package/assets/icons/breakpoint_arrow.svg +22 -0
  15. package/assets/icons/breakpoint_arrow_paused.png +0 -0
  16. package/assets/icons/breakpoint_arrow_paused.svg +38 -0
  17. package/assets/icons/breakpoint_panel.png +0 -0
  18. package/assets/icons/breakpoint_panel.svg +121 -0
  19. package/assets/icons/breakpoint_unset.png +0 -0
  20. package/assets/icons/breakpoint_unset.svg +26 -0
  21. package/assets/icons/bug.png +0 -0
  22. package/assets/icons/bug.svg +65 -0
  23. package/assets/icons/children.png +0 -0
  24. package/assets/icons/children.svg +38 -0
  25. package/assets/icons/collapse.png +0 -0
  26. package/assets/icons/collapse.svg +38 -0
  27. package/assets/icons/commit.png +0 -0
  28. package/assets/icons/commit.svg +30 -0
  29. package/assets/icons/commit_tree.png +0 -0
  30. package/assets/icons/commit_tree.svg +44 -0
  31. package/assets/icons/effect.png +0 -0
  32. package/assets/icons/effect.svg +28 -0
  33. package/assets/icons/expand.png +0 -0
  34. package/assets/icons/expand.svg +47 -0
  35. package/assets/icons/eye.png +0 -0
  36. package/assets/icons/eye.svg +36 -0
  37. package/assets/icons/eye_closed.png +0 -0
  38. package/assets/icons/eye_closed.svg +32 -0
  39. package/assets/icons/filter.png +0 -0
  40. package/assets/icons/filter.svg +22 -0
  41. package/assets/icons/graph.png +0 -0
  42. package/assets/icons/graph.svg +129 -0
  43. package/assets/icons/history_list.png +0 -0
  44. package/assets/icons/history_list.svg +60 -0
  45. package/assets/icons/hook.png +0 -0
  46. package/assets/icons/hook.svg +22 -0
  47. package/assets/icons/index.ts +76 -0
  48. package/assets/icons/inspector_panel.png +0 -0
  49. package/assets/icons/inspector_panel.svg +135 -0
  50. package/assets/icons/magnifying_glass.png +0 -0
  51. package/assets/icons/magnifying_glass.svg +39 -0
  52. package/assets/icons/pause.png +0 -0
  53. package/assets/icons/pause.svg +34 -0
  54. package/assets/icons/play.png +0 -0
  55. package/assets/icons/play.svg +23 -0
  56. package/assets/icons/reload.png +0 -0
  57. package/assets/icons/reload.svg +39 -0
  58. package/assets/icons/selection.png +0 -0
  59. package/assets/icons/selection.svg +22 -0
  60. package/assets/icons/side_effects.png +0 -0
  61. package/assets/icons/side_effects.svg +48 -0
  62. package/assets/icons/skip.png +0 -0
  63. package/assets/icons/skip.svg +22 -0
  64. package/assets/icons/source.svg +1366 -0
  65. package/assets/icons/step.png +0 -0
  66. package/assets/icons/step.svg +51 -0
  67. package/assets/icons/step_over_children.png +0 -0
  68. package/assets/icons/step_over_children.svg +57 -0
  69. package/assets/icons/thread.png +0 -0
  70. package/assets/icons/thread.svg +32 -0
  71. package/assets/icons/tree_column.png +0 -0
  72. package/assets/icons/tree_column.svg +26 -0
  73. package/assets/icons/tree_end.png +0 -0
  74. package/assets/icons/tree_end.svg +35 -0
  75. package/assets/icons/tree_junction.png +0 -0
  76. package/assets/icons/tree_junction.svg +35 -0
  77. package/assets/icons/vertical_grab_handle.png +0 -0
  78. package/assets/icons/vertical_grab_handle.svg +36 -0
  79. package/components/BreakpointPanel.ts +110 -0
  80. package/components/BreakpointToggle.ts +14 -0
  81. package/components/Button.ts +53 -0
  82. package/components/Checkbox.ts +17 -0
  83. package/components/CommitInspector.ts +161 -0
  84. package/components/CommitTree.ts +295 -0
  85. package/components/ControlBar.ts +60 -0
  86. package/components/EffectTable.ts +125 -0
  87. package/components/FiltersPanel.ts +45 -0
  88. package/components/HistoryList.ts +0 -0
  89. package/components/InspectorPanel.ts +54 -0
  90. package/components/PlaybackBar.ts +42 -0
  91. package/components/ThreadInspector.ts +26 -0
  92. package/components/index.module.css +414 -0
  93. package/lib/controller.ts +222 -0
  94. package/lib/list.ts +82 -0
  95. package/lib/selection.ts +32 -0
  96. package/package.json +4 -4
  97. package/public/icons/icons.svg +520 -0
  98. package/public/icons/icons__breakpoint.png +0 -0
  99. package/public/icons/icons__breakpoint.svg +30 -0
  100. package/public/icons/icons__breakpoint_panel.png +0 -0
  101. package/public/icons/icons__breakpoint_panel.svg +121 -0
  102. package/public/icons/icons__children.png +0 -0
  103. package/public/icons/icons__children.svg +38 -0
  104. package/public/icons/icons__eye.png +0 -0
  105. package/public/icons/icons__eye.svg +36 -0
  106. package/public/icons/icons__inspector_panel.png +0 -0
  107. package/public/icons/icons__inspector_panel.svg +131 -0
  108. package/public/icons/icons__magnifying_glass.png +0 -0
  109. package/public/icons/icons__magnifying_glass.svg +39 -0
  110. package/public/icons/icons__pause.png +0 -0
  111. package/public/icons/icons__pause.svg +34 -0
  112. package/public/icons/icons__play.png +0 -0
  113. package/public/icons/icons__play.svg +23 -0
  114. package/public/icons/icons__skip.png +0 -0
  115. package/public/icons/icons__skip.svg +22 -0
  116. package/public/icons/icons__step.png +0 -0
  117. package/public/icons/icons__step.svg +51 -0
  118. package/utils.ts +71 -7
  119. package/InsightApp.ts +0 -404
  120. package/MenuBar.module.css +0 -18
  121. package/MenuBar.ts +0 -39
  122. package/ScheduleControls.ts +0 -61
  123. package/lookup.ts +0 -185
@@ -0,0 +1,121 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ width="11.940001mm"
6
+ height="11.94mm"
7
+ viewBox="0 0 11.940001 11.94"
8
+ version="1.1"
9
+ id="svg1"
10
+ xmlns="http://www.w3.org/2000/svg"
11
+ xmlns:svg="http://www.w3.org/2000/svg">
12
+ <defs
13
+ id="defs1" />
14
+ <g
15
+ id="layer1"
16
+ transform="translate(17.248167,-2.0375592)">
17
+ <g
18
+ id="g12">
19
+ <rect
20
+ style="fill:#c7d1d9;fill-opacity:1;stroke:#5d7388;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
21
+ id="rect11"
22
+ width="4.9754343"
23
+ height="9.9508686"
24
+ x="-16.158314"
25
+ y="2.9852602"
26
+ ry="0.521236" />
27
+ <rect
28
+ style="fill:#5d7388;fill-opacity:1;stroke:none;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
29
+ id="rect12"
30
+ width="3.3841388"
31
+ height="0.63661981"
32
+ x="-15.746336"
33
+ y="3.7683892"
34
+ ry="0.23643248" />
35
+ <rect
36
+ style="fill:#5d7388;fill-opacity:1;stroke:none;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
37
+ id="rect12-1"
38
+ width="3.3841388"
39
+ height="0.63661981"
40
+ x="-15.059457"
41
+ y="4.6060472"
42
+ ry="0.23643248" />
43
+ <rect
44
+ style="fill:#5d7388;fill-opacity:1;stroke:none;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
45
+ id="rect12-6"
46
+ width="1.1057094"
47
+ height="0.63662004"
48
+ x="-15.746336"
49
+ y="5.4437051"
50
+ ry="0.23643248" />
51
+ <rect
52
+ style="fill:#5d7388;fill-opacity:1;stroke:none;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
53
+ id="rect12-1-5"
54
+ width="1.1392158"
55
+ height="0.63662004"
56
+ x="-15.746336"
57
+ y="6.281363"
58
+ ry="0.23643248" />
59
+ <rect
60
+ style="fill:#5d7388;fill-opacity:1;stroke:none;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
61
+ id="rect12-4"
62
+ width="1.3402537"
63
+ height="0.63662004"
64
+ x="-15.176728"
65
+ y="7.1860337"
66
+ ry="0.23643248" />
67
+ <rect
68
+ style="fill:#5d7388;fill-opacity:1;stroke:none;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
69
+ id="rect12-1-52"
70
+ width="3.0658281"
71
+ height="0.63661957"
72
+ x="-15.428026"
73
+ y="8.0236921"
74
+ ry="0.23643248" />
75
+ <rect
76
+ style="fill:#5d7388;fill-opacity:1;stroke:none;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
77
+ id="rect12-6-5"
78
+ width="3.4176464"
79
+ height="0.63661957"
80
+ x="-15.39452"
81
+ y="8.8613501"
82
+ ry="0.23643248" />
83
+ <rect
84
+ style="fill:#5d7388;fill-opacity:1;stroke:none;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
85
+ id="rect12-1-5-4"
86
+ width="3.3841388"
87
+ height="0.63661981"
88
+ x="-15.746336"
89
+ y="9.699008"
90
+ ry="0.23643248" />
91
+ <rect
92
+ style="fill:#5d7388;fill-opacity:1;stroke:none;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
93
+ id="rect12-1-5-0"
94
+ width="2.9150507"
95
+ height="0.63661957"
96
+ x="-15.210235"
97
+ y="10.620432"
98
+ ry="0.23643248" />
99
+ <rect
100
+ style="fill:#5d7388;fill-opacity:1;stroke:none;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
101
+ id="rect12-4-7"
102
+ width="3.3841388"
103
+ height="0.63661981"
104
+ x="-15.260494"
105
+ y="11.525103"
106
+ ry="0.23643248" />
107
+ </g>
108
+ <circle
109
+ style="fill:#d76a51;fill-opacity:1;stroke-width:0.144294"
110
+ id="path1-4"
111
+ cx="-10.329949"
112
+ cy="7.6289997"
113
+ r="3.2561009" />
114
+ <circle
115
+ style="fill:#c83d1d;fill-opacity:1;stroke-width:0.114519"
116
+ id="path1-3-9"
117
+ cx="-10.329949"
118
+ cy="7.6289997"
119
+ r="2.5842073" />
120
+ </g>
121
+ </svg>
Binary file
@@ -0,0 +1,38 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ width="5.8499999mm"
6
+ height="5.9900002mm"
7
+ viewBox="0 0 5.8499998 5.9900005"
8
+ version="1.1"
9
+ id="svg1"
10
+ xmlns="http://www.w3.org/2000/svg"
11
+ xmlns:svg="http://www.w3.org/2000/svg">
12
+ <defs
13
+ id="defs1" />
14
+ <g
15
+ id="layer1"
16
+ transform="translate(-36.389498,-16.902865)">
17
+ <rect
18
+ style="fill:#5d7388;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-linejoin:miter;stroke-dasharray:0.165, 0.329999;stroke-dashoffset:0;stroke-opacity:1"
19
+ id="rect8"
20
+ width="2.9141829"
21
+ height="2.1678677"
22
+ x="37.26936"
23
+ y="17.228544"
24
+ ry="0.30155686" />
25
+ <path
26
+ style="fill:none;fill-opacity:1;stroke:#5d7388;stroke-width:0.365;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:0.365, 0.365;stroke-dashoffset:0;stroke-opacity:1"
27
+ d="m 38.619832,18.228639 v 4.039579"
28
+ id="path10" />
29
+ <path
30
+ style="fill:none;fill-opacity:1;stroke:#5d7388;stroke-width:0.365;stroke-linejoin:miter;stroke-dasharray:0.365, 0.365;stroke-dashoffset:0;stroke-opacity:1"
31
+ d="m 39.173631,20.604732 h 2.037661"
32
+ id="path11" />
33
+ <path
34
+ style="fill:none;fill-opacity:1;stroke:#5d7388;stroke-width:0.365;stroke-linejoin:miter;stroke-dasharray:0.365, 0.365;stroke-dashoffset:0;stroke-opacity:1"
35
+ d="m 39.161785,22.061823 h 2.037661"
36
+ id="path11-6" />
37
+ </g>
38
+ </svg>
Binary file
@@ -0,0 +1,36 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ width="18.858223mm"
6
+ height="11.94mm"
7
+ viewBox="0 0 18.858223 11.94"
8
+ version="1.1"
9
+ id="svg1"
10
+ xmlns="http://www.w3.org/2000/svg"
11
+ xmlns:svg="http://www.w3.org/2000/svg">
12
+ <defs
13
+ id="defs1" />
14
+ <g
15
+ id="layer1"
16
+ transform="translate(-18.128723,-2.4396344)">
17
+ <path
18
+ style="fill:#5d7388;fill-opacity:1;stroke-width:0.264583"
19
+ d="m 22.981969,7.2052003 c 0.719459,-0.8803573 2.613334,-2.0669287 4.447971,-2.0669287 1.834461,0 3.573513,1.2636232 4.342199,2.0729833 -0.7698,0.8083004 -2.510591,2.0695267 -4.345051,2.0669995 -1.834635,-0.00253 -3.726873,-1.1917065 -4.445119,-2.0730541 z"
20
+ id="path2"
21
+ transform="matrix(1.9056361,0,0,1.9056361,-24.746264,-5.0946662)" />
22
+ <ellipse
23
+ style="fill:#ffffff;fill-opacity:1;stroke-width:0.523901"
24
+ id="path3"
25
+ cx="27.378677"
26
+ cy="8.5404434"
27
+ rx="4.3542557"
28
+ ry="2.8054268" />
29
+ <circle
30
+ style="fill:#5d7388;fill-opacity:1;stroke-width:0.778009"
31
+ id="path4"
32
+ cx="27.274181"
33
+ cy="8.5056067"
34
+ r="1.6023663" />
35
+ </g>
36
+ </svg>
@@ -0,0 +1,131 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ width="11.940001mm"
6
+ height="11.94mm"
7
+ viewBox="0 0 11.940001 11.94"
8
+ version="1.1"
9
+ id="svg1"
10
+ xmlns="http://www.w3.org/2000/svg"
11
+ xmlns:svg="http://www.w3.org/2000/svg">
12
+ <defs
13
+ id="defs1" />
14
+ <g
15
+ id="layer1"
16
+ transform="translate(17.421648,-16.969878)">
17
+ <g
18
+ id="g12-9"
19
+ transform="translate(0,14.943818)">
20
+ <rect
21
+ style="fill:#c7d1d9;fill-opacity:1;stroke:#5d7388;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
22
+ id="rect11-5"
23
+ width="4.9754343"
24
+ height="9.9508686"
25
+ x="-16.158314"
26
+ y="2.9852602"
27
+ ry="0.521236" />
28
+ <rect
29
+ style="fill:#5d7388;fill-opacity:1;stroke:none;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
30
+ id="rect12-0"
31
+ width="3.3841388"
32
+ height="0.63661981"
33
+ x="-15.746336"
34
+ y="3.7683892"
35
+ ry="0.23643248" />
36
+ <rect
37
+ style="fill:#5d7388;fill-opacity:1;stroke:none;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
38
+ id="rect12-1-4"
39
+ width="3.3841388"
40
+ height="0.63661981"
41
+ x="-15.059457"
42
+ y="4.6060472"
43
+ ry="0.23643248" />
44
+ <rect
45
+ style="fill:#5d7388;fill-opacity:1;stroke:none;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
46
+ id="rect12-6-8"
47
+ width="1.1057094"
48
+ height="0.63662004"
49
+ x="-15.746336"
50
+ y="5.4437051"
51
+ ry="0.23643248" />
52
+ <rect
53
+ style="fill:#5d7388;fill-opacity:1;stroke:none;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
54
+ id="rect12-1-5-7"
55
+ width="1.1392158"
56
+ height="0.63662004"
57
+ x="-15.746336"
58
+ y="6.281363"
59
+ ry="0.23643248" />
60
+ <rect
61
+ style="fill:#5d7388;fill-opacity:1;stroke:none;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
62
+ id="rect12-4-1"
63
+ width="1.3402537"
64
+ height="0.63662004"
65
+ x="-15.176728"
66
+ y="7.1860337"
67
+ ry="0.23643248" />
68
+ <rect
69
+ style="fill:#5d7388;fill-opacity:1;stroke:none;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
70
+ id="rect12-1-52-7"
71
+ width="3.0658281"
72
+ height="0.63661957"
73
+ x="-15.428026"
74
+ y="8.0236921"
75
+ ry="0.23643248" />
76
+ <rect
77
+ style="fill:#5d7388;fill-opacity:1;stroke:none;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
78
+ id="rect12-6-5-2"
79
+ width="3.4176464"
80
+ height="0.63661957"
81
+ x="-15.39452"
82
+ y="8.8613501"
83
+ ry="0.23643248" />
84
+ <rect
85
+ style="fill:#5d7388;fill-opacity:1;stroke:none;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
86
+ id="rect12-1-5-4-7"
87
+ width="3.3841388"
88
+ height="0.63661981"
89
+ x="-15.746336"
90
+ y="9.699008"
91
+ ry="0.23643248" />
92
+ <rect
93
+ style="fill:#5d7388;fill-opacity:1;stroke:none;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
94
+ id="rect12-1-5-0-2"
95
+ width="2.9150507"
96
+ height="0.63661957"
97
+ x="-15.210235"
98
+ y="10.620432"
99
+ ry="0.23643248" />
100
+ <rect
101
+ style="fill:#5d7388;fill-opacity:1;stroke:none;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
102
+ id="rect12-4-7-2"
103
+ width="3.3841388"
104
+ height="0.63661981"
105
+ x="-15.260494"
106
+ y="11.525103"
107
+ ry="0.23643248" />
108
+ </g>
109
+ <circle
110
+ style="fill:#5d8862;fill-opacity:1;stroke:none;stroke-width:0.112963;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
111
+ id="path13-1"
112
+ cx="-12.251043"
113
+ cy="21.341175"
114
+ r="2.1411114" />
115
+ <rect
116
+ style="fill:#5d8862;fill-opacity:1;stroke:none;stroke-width:0.112963;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
117
+ id="rect13-1"
118
+ width="7.1045971"
119
+ height="1.5719602"
120
+ x="4.8940549"
121
+ y="23.082003"
122
+ ry="0.37307248"
123
+ transform="rotate(45)" />
124
+ <circle
125
+ style="fill:#e0ede1;fill-opacity:1;stroke:none;stroke-width:0.0838667;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
126
+ id="path13-9-5"
127
+ cx="-12.251043"
128
+ cy="21.341175"
129
+ r="1.589613" />
130
+ </g>
131
+ </svg>
@@ -0,0 +1,39 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ width="11.940001mm"
6
+ height="11.94mm"
7
+ viewBox="0 0 11.940001 11.94"
8
+ version="1.1"
9
+ id="svg1"
10
+ xmlns="http://www.w3.org/2000/svg"
11
+ xmlns:svg="http://www.w3.org/2000/svg">
12
+ <defs
13
+ id="defs1" />
14
+ <g
15
+ id="layer1"
16
+ transform="translate(-39.282245,-2.2271)">
17
+ <circle
18
+ style="fill:#5d8862;fill-opacity:1;stroke:none;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
19
+ id="path13"
20
+ cx="43.689053"
21
+ cy="6.4206791"
22
+ r="3.1274157" />
23
+ <rect
24
+ style="fill:#5d8862;fill-opacity:1;stroke:none;stroke-width:0.165;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
25
+ id="rect13"
26
+ width="10.377335"
27
+ height="2.2960846"
28
+ x="33.192822"
29
+ y="-27.333229"
30
+ ry="0.54492855"
31
+ transform="rotate(45)" />
32
+ <circle
33
+ style="fill:#e0ede1;fill-opacity:1;stroke:none;stroke-width:0.1225;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
34
+ id="path13-9"
35
+ cx="43.689053"
36
+ cy="6.4206791"
37
+ r="2.3218691" />
38
+ </g>
39
+ </svg>
Binary file
@@ -0,0 +1,34 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ width="5.8520589mm"
6
+ height="5.9942141mm"
7
+ viewBox="0 0 5.8520588 5.9942143"
8
+ version="1.1"
9
+ id="svg1"
10
+ xmlns="http://www.w3.org/2000/svg"
11
+ xmlns:svg="http://www.w3.org/2000/svg">
12
+ <defs
13
+ id="defs1" />
14
+ <g
15
+ id="layer1"
16
+ transform="translate(-14.333991,-16.798014)">
17
+ <rect
18
+ style="fill:#5d7388;fill-opacity:1;stroke-width:0.22508"
19
+ id="rect5"
20
+ width="1.5069969"
21
+ height="4.8598962"
22
+ x="15.228702"
23
+ y="17.417656"
24
+ ry="0.085511364" />
25
+ <rect
26
+ style="fill:#5d7388;fill-opacity:1;stroke-width:0.22508"
27
+ id="rect5-5"
28
+ width="1.5069969"
29
+ height="4.8598962"
30
+ x="17.788412"
31
+ y="17.417656"
32
+ ry="0.085511364" />
33
+ </g>
34
+ </svg>
Binary file
@@ -0,0 +1,23 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ width="5.5203619mm"
6
+ height="5.970521mm"
7
+ viewBox="0 0 5.5203619 5.9705212"
8
+ version="1.1"
9
+ id="svg1"
10
+ xmlns="http://www.w3.org/2000/svg"
11
+ xmlns:svg="http://www.w3.org/2000/svg">
12
+ <defs
13
+ id="defs1" />
14
+ <g
15
+ id="layer1"
16
+ transform="translate(-6.8234543,-16.821704)">
17
+ <path
18
+ style="fill:#5d7388;fill-opacity:1;stroke-width:0.264583"
19
+ id="path5"
20
+ d="m 10.88808,18.477663 -2.234216,1.289925 -2.2342161,1.289926 0,-2.579851 0,-2.57985 2.2342162,1.289925 z"
21
+ transform="translate(0.9381769,1.3402527)" />
22
+ </g>
23
+ </svg>
Binary file
@@ -0,0 +1,22 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ width="5.8499999mm"
6
+ height="5.9900002mm"
7
+ viewBox="0 0 5.8499998 5.9900005"
8
+ version="1.1"
9
+ id="svg1"
10
+ xmlns="http://www.w3.org/2000/svg"
11
+ xmlns:svg="http://www.w3.org/2000/svg">
12
+ <defs
13
+ id="defs1" />
14
+ <g
15
+ id="layer1"
16
+ transform="translate(-21.038981,-16.798013)">
17
+ <path
18
+ id="path5-2"
19
+ style="fill:#5d7388;fill-opacity:1;stroke-width:0.264583"
20
+ d="m 21.597294,17.238069 v 2.579688 2.580204 l 2.233972,-1.29036 1.112077,-0.642339 v 1.727027 c 0,0.04737 0.03841,0.08527 0.08578,0.08527 h 1.335836 c 0.04737,0 0.08578,-0.03789 0.08578,-0.08527 v -4.68912 c 0,-0.04737 -0.03841,-0.08527 -0.08578,-0.08527 h -1.335836 c -0.04737,0 -0.08578,0.03789 -0.08578,0.08527 v 1.667082 l -1.112077,-0.642338 z" />
21
+ </g>
22
+ </svg>
Binary file
@@ -0,0 +1,51 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ width="5.8499999mm"
6
+ height="5.9900002mm"
7
+ viewBox="0 0 5.8499998 5.9900005"
8
+ version="1.1"
9
+ id="svg1"
10
+ xmlns="http://www.w3.org/2000/svg"
11
+ xmlns:svg="http://www.w3.org/2000/svg">
12
+ <defs
13
+ id="defs1">
14
+ <marker
15
+ style="overflow:visible"
16
+ id="Triangle"
17
+ refX="0"
18
+ refY="0"
19
+ orient="auto-start-reverse"
20
+ markerWidth="0.5"
21
+ markerHeight="0.5"
22
+ viewBox="0 0 1 1"
23
+ preserveAspectRatio="xMidYMid">
24
+ <path
25
+ transform="scale(0.5)"
26
+ style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
27
+ d="M 5.77,0 -2.88,5 V -5 Z"
28
+ id="path135" />
29
+ </marker>
30
+ </defs>
31
+ <g
32
+ id="layer1"
33
+ transform="translate(-28.952292,-16.774321)">
34
+ <circle
35
+ style="fill:#5d7388;fill-opacity:1;stroke-width:0.293366"
36
+ id="path7"
37
+ cx="30.252504"
38
+ cy="20.765179"
39
+ r="1.0245281" />
40
+ <circle
41
+ style="fill:none;fill-opacity:1;stroke:#5d7388;stroke-width:0.178757;stroke-linejoin:miter;stroke-dasharray:0.178757, 0.357514;stroke-dashoffset:0;stroke-opacity:1"
42
+ id="path7-0"
43
+ cx="33.435463"
44
+ cy="20.764971"
45
+ r="1.0010481" />
46
+ <path
47
+ style="fill:none;fill-opacity:1;stroke:#5d7388;stroke-width:0.265;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Triangle)"
48
+ d="m 30.291345,18.72896 c 0,-1.675316 3.032323,-1.625056 3.049075,-0.134029"
49
+ id="path8" />
50
+ </g>
51
+ </svg>
package/utils.ts CHANGED
@@ -1,17 +1,18 @@
1
1
 
2
2
  import { h, Node } from "@lukekaalim/act";
3
3
  import { NodeBuilder, RenderSpace2 } from "@lukekaalim/act-backstage";
4
- import { createDebugScheduler, DebugReconciler } from "@lukekaalim/act-debug";
5
- import { createWebNodeBuilder, HTML, render } from "@lukekaalim/act-web";
6
- import { InsightApp } from "./InsightApp";
7
- import { Reconciler2 } from "@lukekaalim/act-recon";
4
+ import { DebugReconciler, ElementReport, ElementTypeReport, ValueReport } from "@lukekaalim/act-debug";
5
+ import { createDOMScheduler, createWebNodeBuilder, HTML, render } from "@lukekaalim/act-web";
6
+ import { CommitID, Reconciler2 } from "@lukekaalim/act-recon";
7
+ import { InsightApp2 } from "./InsightApp2";
8
+ import { DirectDebugClient } from "@lukekaalim/act-debug/client";
8
9
 
9
10
  export type DevOptions = {
10
11
  mode?: 'extension' | 'popup' | 'none'
11
12
  };
12
13
 
13
14
  export const renderDEV = (node: Node, builders: NodeBuilder<any, any>[], { mode = 'none' }: DevOptions = {}) => {
14
- const reconciler = new DebugReconciler();
15
+ const reconciler = new DebugReconciler(createDOMScheduler());
15
16
  const spaces = builders.map(builder => new RenderSpace2(reconciler.tree, builder));
16
17
 
17
18
  reconciler.bus = {
@@ -43,6 +44,9 @@ export const createDebugPopup = async (reconciler: DebugReconciler) => {
43
44
  for (const child of [...body.childNodes, ...newWindow.document.head.childNodes])
44
45
  child.remove();
45
46
 
47
+ body.style.margin = '0';
48
+ body.style.overflow = 'hidden';
49
+
46
50
  for (const headElement of [...window.document.head.childNodes])
47
51
  if (headElement instanceof HTMLStyleElement)
48
52
  newWindow.document.head.appendChild(headElement.cloneNode(true))
@@ -52,13 +56,73 @@ export const createDebugPopup = async (reconciler: DebugReconciler) => {
52
56
  element.href = src.href;
53
57
  newWindow.document.head.appendChild(element)
54
58
  }
55
-
59
+
60
+ const client = new DirectDebugClient(reconciler);
61
+
56
62
  return new Promise<void>(onReady => {
57
63
  render(
58
- h(InsightApp, { controller: reconciler.controller, bus: reconciler.debugBus, document: newWindow.document, onReady }),
64
+ //h(InsightApp, { controller: reconciler.controller, bus: reconciler.debugBus, document: newWindow.document, onReady }),
65
+ h(InsightApp2, { client, onReady }),
59
66
  body,
60
67
  { window: newWindow }
61
68
  );
62
69
  })
63
70
 
71
+ }
72
+
73
+
74
+ export const getTextForValue = (value: ValueReport): string => {
75
+ switch (value.type) {
76
+ case 'primitive':
77
+ switch (typeof value.value) {
78
+ case 'object':
79
+ return `null`;
80
+ case 'string':
81
+ return `"${value.value}"`
82
+ case 'boolean':
83
+ case 'number':
84
+ return value.value.toString();
85
+ }
86
+ case 'complex':
87
+ return value.name;
88
+ case 'undefined':
89
+ return `undefined`;
90
+ case 'function':
91
+ return `function`;
92
+ case 'array':
93
+ return `array[${value.length}]`
94
+ case 'object':
95
+ return `{ ${value.keys.join(', ')} }`
96
+ case 'ref':
97
+ return `Ref<${getTextForValue(value.current)}>`;
98
+ default:
99
+ return value;
100
+ }
101
+ }
102
+
103
+ export const getTextForElementType = (element: ElementReport): string => {
104
+ switch (element.type.type) {
105
+ case 'component':
106
+ return `<${element.type.name || 'Anonymous'}>`
107
+ case 'string':
108
+ return `<${element.type.name}>`
109
+ case 'symbol':
110
+ return `<symbol(${element.type.name || 'Anonymous'})>`
111
+ case 'array':
112
+ return `<array>`;
113
+ case 'render':
114
+ return `<render(${element.type.render})>`;
115
+
116
+ case 'primitive':
117
+ switch (typeof element.type.value) {
118
+ case 'object':
119
+ return 'null';
120
+ case 'string':
121
+ return `"${element.type.value}"`;
122
+ default:
123
+ return `${element.type.value.toString()}`;
124
+ }
125
+ case 'special':
126
+ return `<special(${element.type.special})>`
127
+ }
64
128
  }