pict-section-form 1.0.143 → 1.0.145

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 (28) hide show
  1. package/.config/code-server/config.yaml +4 -0
  2. package/.vscode/settings.json +1 -1
  3. package/Dockerfile_LUXURYCode +31 -0
  4. package/debug/BuildHarnessTestApp.sh +1 -0
  5. package/debug/Harness.js +3 -2
  6. package/debug/PICTSection-TabularManifests.json +65 -22
  7. package/debug/Step-4-ConvertToCSV.js +3 -0
  8. package/debug/TabularManifestCSV.csv +9 -9
  9. package/debug/data/DefaultFormManifest.json +65 -22
  10. package/debug/data/MathExampleForm-Reconstituted.csv +69 -0
  11. package/debug/data/MathExampleForm.json +65 -22
  12. package/package.json +7 -4
  13. package/source/Pict-Section-Form.js +1 -0
  14. package/source/global.d.ts +8 -0
  15. package/source/services/ManifestConversionToCSV.js +653 -0
  16. package/source/services/ManifestFactory.js +24 -1
  17. package/source/views/Pict-View-Form-Metacontroller.js +3 -0
  18. package/source/views/support/Pict-View-PSF-Solver-Visualization.js +2 -1
  19. package/types/source/Pict-Section-Form.d.ts +1 -0
  20. package/types/source/providers/inputs/Pict-Provider-Input-Chart.d.ts +1 -0
  21. package/types/source/providers/inputs/Pict-Provider-Input-Chart.d.ts.map +1 -1
  22. package/types/source/services/ManifestConversionToCSV.d.ts +17 -0
  23. package/types/source/services/ManifestConversionToCSV.d.ts.map +1 -0
  24. package/types/source/services/ManifestFactory.d.ts.map +1 -1
  25. package/types/source/views/Pict-View-Form-Metacontroller.d.ts.map +1 -1
  26. package/types/source/views/support/Pict-View-PSF-Solver-Visualization.d.ts.map +1 -1
  27. package/utility/csvparser/ParseCSV-Program.js +2 -1
  28. package/utility/csvparser/ParseJSON-Command-GenerateCSV.js +116 -0
@@ -0,0 +1,4 @@
1
+ bind-addr: 127.0.0.1:8080
2
+ auth: password
3
+ password: luxury
4
+ cert: false
@@ -1,5 +1,5 @@
1
1
  {
2
- "workbench.colorTheme": "SynthWave '84",
2
+ "workbench.colorTheme": "Default High Contrast",
3
3
  "sqltools.connections": [
4
4
  {
5
5
  "mysqlOptions": {
@@ -0,0 +1,31 @@
1
+ # Use the codercom/code-server image
2
+ FROM codercom/code-server:latest
3
+ LABEL org.opencontainers.image.authors="steven@velozo.com"
4
+
5
+ VOLUME /home/coder/.config
6
+ VOLUME /home/coder/.vscode
7
+
8
+ RUN echo "...installing debian dependencies..."
9
+ RUN sudo apt update
10
+ RUN sudo apt install vim curl tmux -y
11
+
12
+ RUN echo "Building development image..."
13
+
14
+ RUN echo "...mapping library specific volumes..."
15
+
16
+ # Volume mapping for code
17
+ VOLUME /home/coder/pict-section-form
18
+
19
+ SHELL ["/bin/bash", "-c"]
20
+ USER coder
21
+
22
+ RUN echo "...installing node version manager..."
23
+ # Because there is a .bashrc chicken/egg problem, we will create one here to simulate logging in. This is not great.
24
+ RUN touch ~/.bashrc && chmod +x ~/.bashrc
25
+ RUN curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
26
+
27
+ RUN echo "...installing node version 14 as the default..."
28
+ RUN . ~/.nvm/nvm.sh && source ~/.bashrc && nvm install 20
29
+ RUN . ~/.nvm/nvm.sh && source ~/.bashrc && nvm alias default 20
30
+
31
+ WORKDIR /home/coder/pict-section-form
@@ -4,6 +4,7 @@
4
4
  node ./Step-1-GenerateJSON.js
5
5
  node ./Step-2-InjectContent.js
6
6
  node ./Step-3-BuildDistilling.js
7
+ node ./Step-4-ConvertToCSV.js
7
8
 
8
9
  # Navigate to the data folder
9
10
  cd data
package/debug/Harness.js CHANGED
@@ -3,5 +3,6 @@ const libParseCSV = require('../utility/csvparser/ParseCSV-Program.js');
3
3
  // This command takes the `TabularManifestCSV.csv` file and imports it into a JSON file
4
4
  //libParseCSV.run(['node', 'Harness.js', 'import']);
5
5
  // This command takes the `data/MathExampleForm.json` file and injects any sidecare files in the `input_data` folder into the JSON file
6
- libParseCSV.run(['node', 'Harness.js', 'inject']);
7
- //libParseCSV.run(['node', 'Harness.js', 'intersect']);
6
+ //libParseCSV.run(['node', 'Harness.js', 'inject']);
7
+ //libParseCSV.run(['node', 'Harness.js', 'intersect']);
8
+ libParseCSV.run(['node', 'Harness.js', 'converttocsv', 'data/MathExampleForm.json', '-o', 'data/MathExampleForm-Reconstituted.csv', '-d', 'data/']);
@@ -59,6 +59,7 @@
59
59
  "InputType": "Option",
60
60
  "Row": "3",
61
61
  "Width": "6",
62
+ "Units": "planetary",
62
63
  "Section": "Header",
63
64
  "Group": "General_Info"
64
65
  }
@@ -72,6 +73,7 @@
72
73
  "InputType": "Option",
73
74
  "Row": "3",
74
75
  "Width": "6",
76
+ "Units": "planetary",
75
77
  "Section": "Header",
76
78
  "Group": "General_Info"
77
79
  }
@@ -89,17 +91,28 @@
89
91
  },
90
92
  "Default": "50000"
91
93
  },
92
- "BridgeData.IDBridge": {
93
- "Hash": "CurrentIDBridge",
94
- "Name": "IDBridge",
95
- "DataAddress": "BridgeData.IDBridge",
94
+ "BookData.CurrentIDBook": {
95
+ "Hash": "CurrentIDBook",
96
+ "Name": "IDBook",
97
+ "DataAddress": "BookData.CurrentIDBook",
96
98
  "DataType": "Number",
97
99
  "PictForm": {
98
100
  "Row": "1",
99
101
  "Width": "6",
100
- "SpreadsheetNotes": "Bridge",
101
- "Section": "Bridge",
102
- "Group": "Bridge_Data"
102
+ "SpreadsheetNotes": "Book from REST request",
103
+ "Providers": [
104
+ "Pict-Input-AutofillTriggerGroup"
105
+ ],
106
+ "EntitiesBundle": [
107
+ {
108
+ "Entity": "Book",
109
+ "Filter": "FBV~IDBook~EQ~{~D:Record.Value~}",
110
+ "Destination": "LoadedBook",
111
+ "SingleRecord": false
112
+ }
113
+ ],
114
+ "Section": "REST_Request",
115
+ "Group": "Book_Data"
103
116
  }
104
117
  },
105
118
  "HelpContent.Math": {
@@ -149,9 +162,11 @@
149
162
  "PictForm": {
150
163
  "Row": "2",
151
164
  "Width": "3",
165
+ "Units": "unrounded",
152
166
  "Section": "Basic_Geometry",
153
167
  "Group": "BasicGeoGrp"
154
- }
168
+ },
169
+ "Description": "Area of the Rectangle."
155
170
  },
156
171
  "Geometry.Rectangle.AreaRoundedDefault": {
157
172
  "Hash": "RectangleAreaRoundedDefault",
@@ -161,6 +176,7 @@
161
176
  "PictForm": {
162
177
  "Row": "2",
163
178
  "Width": "3",
179
+ "Units": "default",
164
180
  "Section": "Basic_Geometry",
165
181
  "Group": "BasicGeoGrp"
166
182
  }
@@ -173,6 +189,7 @@
173
189
  "PictForm": {
174
190
  "Row": "2",
175
191
  "Width": "3",
192
+ "Units": "3",
176
193
  "Section": "Basic_Geometry",
177
194
  "Group": "BasicGeoGrp"
178
195
  }
@@ -185,6 +202,7 @@
185
202
  "PictForm": {
186
203
  "Row": "2",
187
204
  "Width": "3",
205
+ "Units": "5",
188
206
  "Section": "Basic_Geometry",
189
207
  "Group": "BasicGeoGrp"
190
208
  }
@@ -197,6 +215,7 @@
197
215
  "PictForm": {
198
216
  "Row": "1",
199
217
  "Width": "12",
218
+ "DecimalPrecision": 4,
200
219
  "Section": "Basic_Geometry",
201
220
  "Group": "Circle"
202
221
  },
@@ -210,6 +229,7 @@
210
229
  "PictForm": {
211
230
  "Row": "2",
212
231
  "Width": "3",
232
+ "Units": "unrounded",
213
233
  "Section": "Basic_Geometry",
214
234
  "Group": "Circle"
215
235
  }
@@ -222,6 +242,7 @@
222
242
  "PictForm": {
223
243
  "Row": "2",
224
244
  "Width": "3",
245
+ "Units": "default",
225
246
  "Section": "Basic_Geometry",
226
247
  "Group": "Circle"
227
248
  }
@@ -234,6 +255,7 @@
234
255
  "PictForm": {
235
256
  "Row": "2",
236
257
  "Width": "3",
258
+ "Units": "4",
237
259
  "Section": "Basic_Geometry",
238
260
  "Group": "Circle"
239
261
  }
@@ -246,6 +268,7 @@
246
268
  "PictForm": {
247
269
  "Row": "2",
248
270
  "Width": "3",
271
+ "Units": "6",
249
272
  "Section": "Basic_Geometry",
250
273
  "Group": "Circle"
251
274
  }
@@ -254,25 +277,33 @@
254
277
  "Hash": "Boxes",
255
278
  "Name": "Boxes",
256
279
  "DataAddress": "Boxes",
257
- "DataType": "Array"
280
+ "DataType": "Array",
281
+ "FormGroup": "BoxCollGrp",
282
+ "FormSection": "BoxCollSec"
258
283
  },
259
284
  "Boxes[].Floorspace": {
260
285
  "Hash": "BoxesFloorspaceSet",
261
286
  "Name": "BoxesFloorspaceSet",
262
287
  "DataAddress": "Boxes[].Floorspace",
263
- "DataType": "Number"
288
+ "DataType": "Number",
289
+ "FormGroup": "Box_Summary_Data",
290
+ "FormSection": "Box_Summary_Data"
264
291
  },
265
292
  "Boxes[].Volume": {
266
293
  "Hash": "BoxesVolumeSet",
267
294
  "Name": "BoxesVolumeSet",
268
295
  "DataAddress": "Boxes[].Volume",
269
- "DataType": "Number"
296
+ "DataType": "Number",
297
+ "FormGroup": "Box_Summary_Data",
298
+ "FormSection": "Box_Summary_Data"
270
299
  },
271
300
  "Boxes[].Depth": {
272
301
  "Hash": "BoxesDepthSet",
273
302
  "Name": "BoxesDepthSet",
274
303
  "DataAddress": "Boxes[].Depth",
275
- "DataType": "Number"
304
+ "DataType": "Number",
305
+ "FormGroup": "Box_Summary_Data",
306
+ "FormSection": "Box_Summary_Data"
276
307
  },
277
308
  "BoxAggregate.Count": {
278
309
  "Hash": "BoxesCount",
@@ -431,7 +462,7 @@
431
462
  "ChartDatasetsSolvers": [
432
463
  {
433
464
  "DataSolver": "objectvaluestoarray(aggregationhistogrambyobject(Boxes, \"Identifier\", \"Volume\"))",
434
- "Label": "Box Categories"
465
+ "Label": "Box Volumes"
435
466
  }
436
467
  ]
437
468
  }
@@ -452,7 +483,7 @@
452
483
  "ChartDatasetsSolvers": [
453
484
  {
454
485
  "DataSolver": "objectvaluestoarray(aggregationhistogrambyobject(Boxes, \"Identifier\", \"Floorspace\"))",
455
- "Label": "Box Categories"
486
+ "Label": "Box Floorspace Usage"
456
487
  }
457
488
  ]
458
489
  }
@@ -478,6 +509,7 @@
478
509
  "PictForm": {
479
510
  "Row": "1",
480
511
  "Width": "4",
512
+ "Tooltip": "The PR is *very* important.",
481
513
  "Section": "Complex_Equation",
482
514
  "Group": "Complex_Equation"
483
515
  },
@@ -491,6 +523,7 @@
491
523
  "PictForm": {
492
524
  "Row": "1",
493
525
  "Width": "4",
526
+ "Tooltip": "Z _is not_ the z-index.",
494
527
  "Section": "Complex_Equation",
495
528
  "Group": "Complex_Equation"
496
529
  },
@@ -504,6 +537,7 @@
504
537
  "PictForm": {
505
538
  "Row": "1",
506
539
  "Width": "4",
540
+ "Tooltip": "C is the universal constant.",
507
541
  "Section": "Complex_Equation",
508
542
  "Group": "Complex_Equation"
509
543
  },
@@ -537,13 +571,17 @@
537
571
  "Hash": "Rectangles",
538
572
  "Name": "Rectangles",
539
573
  "DataAddress": "Rectangle",
540
- "DataType": "Array"
574
+ "DataType": "Array",
575
+ "FormGroup": "Rectangle_Set",
576
+ "FormSection": "Rectangle_Aggregation"
541
577
  },
542
578
  "Cylinders": {
543
579
  "Hash": "Cylinders",
544
580
  "Name": "Cylinders",
545
581
  "DataAddress": "Cylinders",
546
- "DataType": "Array"
582
+ "DataType": "Array",
583
+ "FormGroup": "Cylinders",
584
+ "FormSection": "Cylinders"
547
585
  },
548
586
  "Listopia.Filters.Colour": {
549
587
  "Hash": "ColourFilter",
@@ -633,13 +671,13 @@
633
671
  ]
634
672
  },
635
673
  {
636
- "Name": "Bridge",
637
- "Hash": "Bridge",
674
+ "Name": "REST Request",
675
+ "Hash": "REST_Request",
638
676
  "Solvers": [],
639
677
  "Groups": [
640
678
  {
641
- "Name": "Bridge Data",
642
- "Hash": "Bridge_Data",
679
+ "Name": "Book Data",
680
+ "Hash": "Book_Data",
643
681
  "Rows": [],
644
682
  "RecordSetSolvers": []
645
683
  }
@@ -817,7 +855,8 @@
817
855
  "Name": "Occlusion Lists",
818
856
  "Hash": "OcclusionLists",
819
857
  "Rows": [],
820
- "RecordSetSolvers": []
858
+ "RecordSetSolvers": [],
859
+ "CSSClass": "CustomCSSClass"
821
860
  }
822
861
  ]
823
862
  }
@@ -990,6 +1029,7 @@
990
1029
  "PictForm": {
991
1030
  "Row": "1",
992
1031
  "Width": "1",
1032
+ "Units": "meters",
993
1033
  "Section": "Rectangle_Aggregation",
994
1034
  "Group": "Rectangle_Set"
995
1035
  },
@@ -1003,6 +1043,7 @@
1003
1043
  "PictForm": {
1004
1044
  "Row": "1",
1005
1045
  "Width": "1",
1046
+ "Units": "meters",
1006
1047
  "Section": "Rectangle_Aggregation",
1007
1048
  "Group": "Rectangle_Set"
1008
1049
  },
@@ -1062,6 +1103,7 @@
1062
1103
  "PictForm": {
1063
1104
  "Row": "1",
1064
1105
  "Width": "1",
1106
+ "DecimalPrecision": 2,
1065
1107
  "Section": "Cylinders",
1066
1108
  "Group": "Cylinders"
1067
1109
  },
@@ -1110,6 +1152,7 @@
1110
1152
  "Sections": [],
1111
1153
  "ReferenceManifests": {}
1112
1154
  }
1113
- }
1155
+ },
1156
+ "FormName": "Math Example Form"
1114
1157
  }
1115
1158
  }
@@ -0,0 +1,3 @@
1
+ const libParseCSV = require('../utility/csvparser/ParseCSV-Program.js');
2
+ // This command takes the `data/MathExampleForm.json` file and injects any sidecar files in the `input_data` folder into the JSON file
3
+ libParseCSV.run(['node', 'Harness.js', 'converttocsv', 'data/MathExampleForm.json', '-o', 'data/MathExampleForm-Reconstituted.csv', '-d', 'data/']);
@@ -6,15 +6,15 @@ MathExampleForm,,,,Header,,General Info,,,,,2,12,,,Header.Description,Descriptio
6
6
  MathExampleForm,,,,Header,,General Info,,,,,3,6,,,Header.Planet,Planet,Planet,,planetary,String,,Option,,,,,,,,,,,,,,,,,,,,
7
7
  MathExampleForm,,,,Header,,General Info,,,,,3,6,,,Header.Universe,Universe,Universe,,planetary,String,,Option,,,,,,,,,,,,,,,,,,,,
8
8
  MathExampleForm,,,,Header,,General Info,,,,,4,12,,,Header.WarehouseVolume,Warehouse Volume,WarehouseVolume,,,Number,,,,,50000,,,,,,,,,,,,,,,,,
9
- MathExampleForm,,,,Bridge,,Bridge Data,,,,,1,6,,,BridgeData.IDBridge,IDBridge,CurrentIDBridge,,,Number,,,,,,,,Bridge,BridgeData.CurrentBridge,true,,,,,,,,,,,,
9
+ MathExampleForm,,,,REST Request,,Book Data,,,,,1,6,,,BookData.CurrentIDBook,IDBook,CurrentIDBook,,,Number,,,,,,,,Book from REST request,Book,IDBook,LoadedBook,,,,,,,,,,,
10
10
  MathExampleForm,,,,MatheMagic,,Math is Magic,,,,,1,1,,,HelpContent.Math,So Very Magic,MathHelpContent,,,String,,HTML,,,,,,,,,,,,,,,,,,,,
11
11
  MathExampleForm,,,,Basic Geometry,,Rectangle,BasicGeoGrp,,,,1,6,,,Geometry.Rectangle.Width,Width,RectangleWidth,,,Number,,,,,7.25,,,,,,,,,,,,,,,,,
12
12
  MathExampleForm,,,,Basic Geometry,,Rectangle,BasicGeoGrp,,,,1,6,,,Geometry.Rectangle.Height,Height,RectangleHeight,,,Number,,,,,10.3571,,,,,,,,,,,,,,,,,
13
- MathExampleForm,,,,Basic Geometry,,Rectangle,BasicGeoGrp,,,,2,3,,,Geometry.Rectangle.Area,Area,RectangleArea,,unrounded,Number,,,RectangleArea = RectangleWidth * RectangleHeight,,,,,,,,,,,,,,,,,,,
13
+ MathExampleForm,,,,Basic Geometry,,Rectangle,BasicGeoGrp,,,,2,3,,,Geometry.Rectangle.Area,Area,RectangleArea,,unrounded,Number,,,RectangleArea = RectangleWidth * RectangleHeight,,,Area of the Rectangle.,,,,,,,,,,,,,,,,
14
14
  MathExampleForm,,,,Basic Geometry,,Rectangle,BasicGeoGrp,,,,2,3,,,Geometry.Rectangle.AreaRoundedDefault,Area Rounded,RectangleAreaRoundedDefault,,default,Number,,,RectangleAreaRoundedDefault = ROUND(RectangleWidth * RectangleHeight),,,,,,,,,,,,,,,,,,,
15
15
  MathExampleForm,,,,Basic Geometry,,Rectangle,BasicGeoGrp,,,,2,3,,,Geometry.Rectangle.AreaRoundedThree,Area Rounded 3,RectangleAreaRoundedThree,,3,Number,,,"RectangleAreaRoundedThree = ROUND((RectangleWidth * RectangleHeight), 3)",,,,,,,,,,,,,,,,,,,
16
16
  MathExampleForm,,,,Basic Geometry,,Rectangle,BasicGeoGrp,,,,2,3,,,Geometry.Rectangle.AreaRoundedFour,Area Rounded 5,RectangleAreaRoundedFive,,5,Number,,,"RectangleAreaRoundedFive = ROUND(RectangleArea, 5)",,,,,,,,,,,,,,,,,,,
17
- MathExampleForm,,,,Basic Geometry,,Circle,,,,,1,12,,,Geometry.Circle.Radius,Radius,CircleRadius,,,Number,,,,,85.523,,,,,,,,,,,,,,,,,
17
+ MathExampleForm,,,,Basic Geometry,,Circle,,,,,1,12,,,Geometry.Circle.Radius,Radius,CircleRadius,,,Number,4,,,,85.523,,,,,,,,,,,,,,,,,
18
18
  MathExampleForm,,,,Basic Geometry,,Circle,,,,,2,3,,,Geometry.Circle.Area,Area,CircleArea,,unrounded,Number,,,CircleArea = PI() * CircleRadius^2,,,,,,,,,,,,,,,,,,,
19
19
  MathExampleForm,,,,Basic Geometry,,Circle,,,,,2,3,,,Geometry.Circle.AreaRoundedDefault,Area Rounded,CircleAreaRoundedDefault,,default,Number,,,CircleAreaRoundedDefault = ROUND(PI() * CircleRadius^2),,,,,,,,,,,,,,,,,,,
20
20
  MathExampleForm,,,,Basic Geometry,,Circle,,,,,2,3,,,Geometry.Circle.AreaRoundedThree,Area Rounded 4,CircleAreaRoundedFour,,4,Number,,,"CircleAreaRoundedFour = ROUND(CircleArea,4)",,,,,,,,,,,,,,,,,,,
@@ -42,8 +42,8 @@ MathExampleForm,,,,Box Summary Data,,Box Summary Data,,,,,4,3,,,BoxAggregate.Mea
42
42
  MathExampleForm,,,,Box Summary Data,,Box Summary Data,,,,,4,3,,,BoxAggregate.MedianDepth,Median Depth,BoxesMedianDepth,,,Number,,,BoxesMedianDepth = MEDIAN(BoxesDepthSet),,,,,,,,,,,,,,,,,,,
43
43
  MathExampleForm,,,,Box Summary Data,,Box Summary Data,,,,,4,3,,,BoxAggregate.MaxDepth,Max Depth,BoxesMaxDepth,,,Number,,,BoxesMaxDepth = MAX(BoxesDepthSet),,,,,,,,,,,,,,,,,,,
44
44
  MathExampleForm,,,,Box Summary Data,,Box Summary Data,,,,,5,4,,,BoxChart_Sizes,Box Category Volume Comparison,BoxChart_Sizes,,,Object,,Chart,,,,,,,,,,,,,,,pie,,"objectkeystoarray(aggregationhistogrambyobject(Boxes, ""BoxCategory"", ""Volume""))",,Box Categories,"objectvaluestoarray(aggregationhistogrambyobject(Boxes, ""BoxCategory"", ""Volume""))"
45
- MathExampleForm,,,,Box Summary Data,,Box Summary Data,,,,,5,4,,,BoxChart_Size_Details,Box Size Comparison,BoxChart_Size_Details,,,Object,,Chart,,,,,,,,,,,,,,,bar,,"objectkeystoarray(aggregationhistogrambyobject(Boxes, ""Identifier"", ""Volume""))",,Box Categories,"objectvaluestoarray(aggregationhistogrambyobject(Boxes, ""Identifier"", ""Volume""))"
46
- MathExampleForm,,,,Box Summary Data,,Box Summary Data,,,,,5,4,,,BoxChart_Scatter,Box Width x Height Scatter,BoxChart_Dimensions,,,Object,,Chart,,,,,,,,,,,,,,,radar,,"objectkeystoarray(aggregationhistogrambyobject(Boxes, ""Identifier"", ""Floorspace""))",,Box Categories,"objectvaluestoarray(aggregationhistogrambyobject(Boxes, ""Identifier"", ""Floorspace""))"
45
+ MathExampleForm,,,,Box Summary Data,,Box Summary Data,,,,,5,4,,,BoxChart_Size_Details,Box Size Comparison,BoxChart_Size_Details,,,Object,,Chart,,,,,,,,,,,,,,,bar,,"objectkeystoarray(aggregationhistogrambyobject(Boxes, ""Identifier"", ""Volume""))",,Box Volumes,"objectvaluestoarray(aggregationhistogrambyobject(Boxes, ""Identifier"", ""Volume""))"
46
+ MathExampleForm,,,,Box Summary Data,,Box Summary Data,,,,,5,4,,,BoxChart_Scatter,Box Width x Height Scatter,BoxChart_Dimensions,,,Object,,Chart,,,,,,,,,,,,,,,radar,,"objectkeystoarray(aggregationhistogrambyobject(Boxes, ""Identifier"", ""Floorspace""))",,Box Floorspace Usage,"objectvaluestoarray(aggregationhistogrambyobject(Boxes, ""Identifier"", ""Floorspace""))"
47
47
  MathExampleForm,,,,Rectangular Area Help,,Rectangular Area Help,,,,,1,1,,,HelpContent.Cuboid,How to Cuboid Math,CuboidHelpContent,,,String,,Markdown,,,,,,,,,,,,,,,,,,,,
48
48
  MathExampleForm,,,,Complex Equation,,Complex Equation,,Vertical,,,1,4,,,ComplexEquation.PR,PR,CePR,,,Number,,,,,4.5,,The PR is *very* important.,,,,,,,,,,,,,,,
49
49
  MathExampleForm,,,,Complex Equation,,Complex Equation,,,,,1,4,,,ComplexEquation.Z,Z,CeZ,,,Number,,,,,1.5,,Z _is not_ the z-index.,,,,,,,,,,,,,,,
@@ -52,17 +52,17 @@ MathExampleForm,,,,Complex Equation,,Complex Equation,,,,,2,6,,,ComplexEquation.
52
52
  MathExampleForm,,,,Complex Equation,,Complex Equation,,,,,2,6,,,ComplexEquation.ResultRounded,Rounded 3,CeResultRounded,,,Number,,,"CeResultRounded = ROUND(CeResult,3)",,,,,,,,,,,,,,,,,,,
53
53
  MathExampleForm,,Rectangles,1,Rectangle Aggregation,,Rectangle Set,,,,false,1,1,20,,Rectangle,Rectangles,Rectangles,,,Array,,TabularAddress,,,,,,,,,,,,,,,,,,,,
54
54
  MathExampleForm,,Rectangles,,Rectangle Aggregation,,Rectangle Set,,,,,1,1,,,Identifier,Identifier,RectangleIdentifier,,,String,,,,,,,,,,,,,,,,,,,,,,
55
- MathExampleForm,,Rectangles,,Rectangle Aggregation,,Rectangle Set,,,,,1,1,,,Width,Width,RectangleWidth,,,Number,,,,,,,,,,,,,,,,,,,,,,
56
- MathExampleForm,,Rectangles,,Rectangle Aggregation,,Rectangle Set,,,,,1,1,,,Height,Height,RectangleHeight,,,Number,,,,,,,,,,,,,,,,,,,,,,
55
+ MathExampleForm,,Rectangles,,Rectangle Aggregation,,Rectangle Set,,,,,1,1,,,Width,Width,RectangleWidth,,meters,Number,,,,,,,,,,,,,,,,,,,,,,
56
+ MathExampleForm,,Rectangles,,Rectangle Aggregation,,Rectangle Set,,,,,1,1,,,Height,Height,RectangleHeight,,meters,Number,,,,,,,,,,,,,,,,,,,,,,
57
57
  MathExampleForm,,Rectangles,,Rectangle Aggregation,,Rectangle Set,,,,,1,1,,,Area,Area,RectangleArea,,,Number,,,RectangleArea = RectangleWidth * RectangleHeight,,,,,,,,,,,,,,,,,,,
58
58
  MathExampleForm,,Rectangles,,Rectangle Aggregation,,Rectangle Set,,,,,1,1,,,AreaDegredation,Degredation (first minus each subsequent),AreaDegredation,,,Number,,,,,,,,,,,,,,,,,,,,,,
59
59
  MathExampleForm,,Cylinders,1,Cylinders,,Cylinders,,,,false,1,1,,,Cylinders,Cylinders,Cylinders,,,Array,,TabularAddress,,,,,,,,,,,,,,,,,,,,
60
60
  MathExampleForm,,Cylinders,,Cylinders,,Cylinders,,,,,1,1,,,Identifier,Identifier,Identifier,,,String,,,,,,,,,,,,,,,,,,,,,,
61
- MathExampleForm,,Cylinders,,Cylinders,,Cylinders,,,,,1,1,,,Radius,Radius,Radius,,,PreciseNumber,,,,,,,,,,,,,,,,,,,,,,
61
+ MathExampleForm,,Cylinders,,Cylinders,,Cylinders,,,,,1,1,,,Radius,Radius,Radius,,,PreciseNumber,2,,,,,,,,,,,,,,,,,,,,,
62
62
  MathExampleForm,,Cylinders,,Cylinders,,Cylinders,,,,,1,1,,,Height,Height,Height,,,PreciseNumber,,,,,,,,,,,,,,,,,,,,,,
63
63
  MathExampleForm,,Cylinders,,Cylinders,,Cylinders,,,,,1,1,,,Circumference,Circumference,Circumference,,,PreciseNumber,,,Circumference = 2 * PI() * Radius,,,,,,,,,,,,,,,,,,,
64
64
  MathExampleForm,,Cylinders,,Cylinders,,Cylinders,,,,,1,1,,,Area,Area,Area,,,PreciseNumber,,,Area = (2 * PI() * Radius * Height) + (2 * PI() * Radius ^2),,,,,,,,,,,,,,,,,,,
65
- MathExampleForm,,,,List Topia,Listopia,Occlusion Lists,OcclusionLists,,,,1,1,,,Listopia.Filters.Colour,Color Filter,ColourFilter,,,,,,,,,,,,,,,,,,,,,,,,,
65
+ MathExampleForm,,,,List Topia,Listopia,Occlusion Lists,OcclusionLists,,CustomCSSClass,,1,1,,,Listopia.Filters.Colour,Color Filter,ColourFilter,,,,,,,,,,,,,,,,,,,,,,,,,
66
66
  MathExampleForm,,,,List Topia,Listopia,Occlusion Lists,OcclusionLists,,,,2,1,,,Listopia.Color,Color,Colors,,,String,,Option,"SUBTRACTINGSUMMATION(Rectangles, ""Area"", ""AreaDegredation"")",,,,,,,,,,,,,,,,,,,
67
67
  MathExampleForm,,,,List Topia,Listopia,Occlusion Lists,OcclusionLists,,,,2,1,,,Listopia.Box,Box,BoxSelection,,,String,,Option,,,,,,,,,,,Box,,,,,,,,,
68
68
  MathExampleForm,,,,List Topia,Listopia,Occlusion Lists,OcclusionLists,,,,3,1,,,Listopia.Fruit,Fruit,FruitSelection,,,String,,Option,,,,,,,,,,,,,,,,,,,,