Gist-Based Documentation Project

Vision

Every code example from the KB documentation becomes a fully functional, self-contained gist — a runnable mini-project that users can open in the public HiStruct viewer/interpreter for an immediate WOW effect (3D models, computed values, tables, reports, images).

Structure

All gists live in gists/gist-NNN-slug/ folders. See gists/_template/README.md for the template format, naming convention, and file layout.

Numbering Ranges

Range Domain
001–099 Language basics & expressions
100–199 Geometry primitives & curves
200–299 FEM analysis, loads, supports
300–399 Classes, distributions, traction
400–499 Boolean / CSG operations
500–599 Steel design & cross-sections
600–699 Output, reporting, images
700–799 Configurator / FCC patterns
800–899 Full worked examples & benchmarks
900–999 Unit-test extractions

Progress Summary

Source Identified Created Tested Broken
KB docs 01–25 (standalone) ~85 53 53 0
KB docs 01–25 (assembled from fragments) ~260 0 0 0
Example projects (6) 6 0 0 0
TestData small projects (1–50 files) ~140 0 0 0
C# test embedded FCS ~50 0 0 0
Total ~541 53 53 0

Wave 1 — Language Basics & Core Geometry (gist-001 … gist-030)

Target: simplest, most standalone snippets from docs 01, 02, 03 that demonstrate the language to a newcomer. Every gist should produce a clear, verifiable output.

Gist ID Title Source Status
gist-001 Arithmetic & Variables 01-LANGUAGE-BASICS §1–6 ✅
gist-002 Comparison & Logic 01-LANGUAGE-BASICS §7–8 ✅
gist-003 String Ops & Formatting 01-LANGUAGE-BASICS §9,21 ✅
gist-004 Conditionals & Ternary 01-LANGUAGE-BASICS §10–11 ✅
gist-005 Lambda Functions 01-LANGUAGE-BASICS §12–14 ✅
gist-006 Lists & LINQ 01-LANGUAGE-BASICS §4,19 ✅
gist-007 Math Functions 01-LANGUAGE-BASICS §16 ✅
gist-008 Units & Conversions 01-LANGUAGE-BASICS §17–18 ✅
gist-009 Parametric Design Intro 01-LANGUAGE-BASICS §24–26 ✅
gist-010 Classes & Instantiation 01-LANGUAGE-BASICS §15 ✅
gist-100 Vertex & Point3D 02-GEOMETRY-PRIMITIVES §1–3 ✅
gist-101 Straight Lines & Arcs 02-GEOMETRY-PRIMITIVES §4–5 ✅
gist-102 Polylines & Filleted Poly 02-GEOMETRY-PRIMITIVES §6–7 ✅
gist-103 Areas & Holes 02-GEOMETRY-PRIMITIVES §8–10 ✅
gist-104 Parametric Rectangle 02-GEOMETRY-PRIMITIVES §16 ✅
gist-105 Approximated Circle 02-GEOMETRY-PRIMITIVES §17 ✅
gist-106 Layers & Colors 02-GEOMETRY-PRIMITIVES §12 ✅
gist-200 Material Definition 03-ANALYSIS-FEM §2–4 ✅
gist-201 Shell Thickness & Mesh 03-ANALYSIS-FEM §5,7 ✅
gist-202 Beam Definition 03-ANALYSIS-FEM §11 ✅
gist-203 Supports & Loads 03-ANALYSIS-FEM §12–18 ✅
gist-204 Cooling Tower (temelin3) 03-ANALYSIS-FEM §23 / 06 §1 ✅
gist-205 Steel Frame & Cage 06-WORKED-EXAMPLES §2 ✅

Wave 2 — Classes, Distributions, Advanced Geometry (gist-300 … gist-420)

Gist ID Title Source Status
gist-300 GClass Basic Loading 04-CLASSES §1–5 ✅
gist-301 GBlock Placement & LCS 04-CLASSES §7–12 ✅
gist-302 Distribution Linear Array 04-CLASSES §21–24 ✅
gist-303 Traction Variable Beam 04-CLASSES §27–28 ✅
gist-304 Complete Portal Frame 04-CLASSES §33 ✅
gist-305 Labels & Styles 04-CLASSES §29–30 ✅
gist-306 Filleted Polyline Curve 04-CLASSES §32 / 13 §1–4 ✅
gist-307 Spline Curves 13-ADVANCED-GEOMETRY §5–6 ✅
gist-308 LCS Transformations 13-ADVANCED-GEOMETRY §7–8 ✅
gist-400 CSG Subtract 12-BOOLEAN-CSG §2 ✅
gist-401 CSG Union & Intersection 12-BOOLEAN-CSG §3–5 ✅
gist-402 2D Islands (Holes) 12-BOOLEAN-CSG §10–11 ✅
gist-403 BooleanOpeningsFeature 12-BOOLEAN-CSG §12–13 ✅

Wave 3 — FEM Advanced, Steel Design, Reporting (gist-500 … gist-699)

Gist ID Title Source Status
gist-210 Beam Hinges & Eccentricity 14-BEAM-ADVANCED §1–4 ✅
gist-211 Beam Angle Cuts 14-BEAM-ADVANCED §7 ✅
gist-212 Mesh Connectivity 15-MESH-CONNECTIVITY §1–4 ✅
gist-213 Slab + Rib Assembly 16-SLABS-RIBS §7–8 ✅
gist-214 Snow Load Calculation 17-LOADS-ADVANCED §4 ✅
gist-215 Silo Pressure on Shell 17-LOADS-ADVANCED §10 ✅
gist-216 LoadGroups & Combinations 23-LOADGROUPS §12–15 ✅
gist-217 Analysis-Design Pipeline 25-ANALYSIS-DESIGN §2–12 ✅
gist-500 Z-Section from Catalog 18-STEEL-DESIGN §1–2 ✅
gist-501 ULS Tension Check 18-STEEL-DESIGN §8–9 ✅
gist-502 Complete Steel Design 18-STEEL-DESIGN §12 ✅
gist-503 CharacteristicsSolver 14-BEAM-ADVANCED §5–6 ✅
gist-600 Report Chapter & Paragraphs 21-OUTPUT §1–6 ✅
gist-601 Complete Report Document 21-OUTPUT §7–8 ✅
gist-602 Table in Report 21-OUTPUT §12–13 ✅
gist-603 Image Rendering 24-IMAGE-RENDERING §1–3 ✅
gist-604 DXF Export 21-OUTPUT §16–17 ✅

Wave 4 — Configurator, FCC, Worked Examples (gist-700 … gist-899)

Gist ID Title Source Status
gist-700 FCC ItemDouble Inputs 22-FCC §2–4 ☐
gist-701 FCC ItemList & ItemArray 22-FCC §6–7 ☐
gist-702 PortalFrame Inputs.fcs 22-FCC §17 ☐
gist-703 Configurator Constraint 19-CONFIGURATOR §6–7 ☐
gist-800 Parametric Chair examples/parametric-chair ☐
gist-801 Parametric Warehouse examples/parametric-warehouse ☐
gist-802 Helix Spring examples/helix-spring ☐
gist-803 Snow White Dining examples/snowwhite-dining ☐
gist-804 Cantilever X-Beam Tower examples/cantilever-x-beam ☐
gist-805 Warehouse V2 (Full) examples/warehouse-v2 ☐
gist-806 Variable I-Beam Frame 06-WORKED-EXAMPLES §3 ☐
gist-807 Array Distribution 06-WORKED-EXAMPLES §4 ☐
gist-808 Object Loads 06-WORKED-EXAMPLES §5 ☐

Wave 5 — Unit Test Extractions (gist-900+)

These gists are mined from TestData folders and C# unit test files. Priority: small, self-contained projects (≤20 files) that demonstrate unique features.

Gist ID Title TestData Source Files Status
gist-900 Fibonacci Benchmark benchmark-fib 4 ☐
gist-901 Steel EC3 Benchmarks benchmarks-EC3 3 ☐
gist-902 Class Syntax Examples new-ClassSyntax 2 ☐
gist-903 Array Examples new-Arrays 1 ☐
gist-904 Christmas Tree new-christmasstree 1 ☐
gist-905 Distributions new-Distributions 2 ☐
gist-906 Booleans Example example-Booleans 5 ☐
gist-907 Rotational Lamp new-RotationalLamp 3 ☐
gist-908 Fence new-fence 5 ☐
gist-909 Wheel new-Wheel 2 ☐
gist-910 Shade Shell new-ShadeShell 1 ☐
gist-911 Solids new-Solids 1 ☐
gist-912 Tilt-Up Panel new-TiltUp 3 ☐
gist-913 Stairway Jevany new-StairwayJevany 6 ☐
gist-914 Document Step 01 new-DocumentStep01 6 ☐
gist-915 Document Step 02 new-DocumentStep02 1 ☐
gist-916 Beam Cantilever new-BeamCantilever 11 ☐
gist-917 Beam Stability new-BeamStability 15 ☐
gist-918 Corrugated Web new-CorrugatedWeb 3 ☐
gist-919 Beam Hinges Benchmark new-BeamHingesBenchmark 14 ☐
gist-920 FCS Steel Lib new-FcsSteelLib 3 ☐
gist-921 Solver Demo new-SolverDemo 20 ☐
gist-922 Beam Cross-Section Calc new-BeamCrossSectionCalculator 5 ☐
gist-923 GBlock Fcsdrs new-GBlockFcsdrs 2 ☐
gist-924 Snow Calculation new-SnowHonza 6 ☐
gist-925 Curve Layers new-CurveLayers 2 ☐
gist-926 Variable Symbols new-VariableSymbols 2 ☐
gist-927 Patch Tests new-PatchTests 7 ☐
gist-928 Load Area new-LoadArea01 4 ☐
gist-929 Aggregate Examples new-AggregateExamples 1 ☐
gist-930 Bracing 01 new-bracing01 2 ☐

C# Test File Inventory (for future mining)

These .cs files contain embedded FCS code as string literals in unit tests. They are candidates for extraction into standalone gists.

C# File Domain Priority
FCS.Library.Test\Geometry\ExpressionTests.cs Expressions High
FCS.Library.Test\Geometry\FEMGeometryTests.cs FEM geometry High
FCS.Library.Test\Geometry\FEMGeometryCompiledTests.cs Compiled FEM Medium
FCS.Library.Test\Interpreter\FunctionalityTests.cs Language features High
FCS.Library.Test\Interpreter\ComponentInterpreterTests.cs Components Medium
FCS.Library.Test\Interpreter\TypeInferenceTests.cs Type system Medium
FCS.Library.Test\Methods\MechanicalAnalysisTests.cs FEM analysis High
FCS.Library.Test\Methods\MechanicalAnalysisTestsShells.cs Shell analysis High
FCS.Library.Test\CrossSection\CrossSectionBeamTests.cs Cross-sections High
FCS.Library.Test\Geometry\Boolean2DTests.cs 2D booleans Medium
FCS.Library.Test\Geometry\Boolean3DTests.cs 3D booleans Medium
FCS.Library.Test\Geometry\GBlockTests.cs GBlock High
FCS.Library.Test\Geometry\GClassUpdaterKeyTests.cs Class updating Medium
FCS.Library.Test\Geometry\PrintFormatTests.cs Formatting Low
FCS.Library.Test\Code\EC\DynamicFcscdfTests.cs Eurocode Medium
FCS.Library.Test\Code\EC\Eurocode1993_1_1_Tests.cs EC3 steel High
FCS.Library.Test\Code\EC\WindInterpolationTests.cs Wind loads Medium
FCS.Library.Test\General\EnginePreferenceTests.cs Engine prefs Low
FCS.Core.Test\PythonGrammarTest.cs Parser Low

Example Projects → Gist Status

Project Files Gist ID Status
parametric-chair 4 .fcs + README gist-800 ☐
parametric-warehouse 7 .fcs + README + config gist-801 ☐
helix-spring 3 .fcs gist-802 ☐
snowwhite-dining 4 .fcs gist-803 ☐
cantilever-x-beam 5 .fcs gist-804 ☐
warehouse-v2 7 .fcs + README + configs gist-805 ☐

Next Steps

  1. Wave 1: Create gist-001–010, gist-100–106, gist-200–205 ✅ DONE (23 gists)
  2. Wave 2: Create gist-300–308, gist-400–403 ✅ DONE (13 gists)
  3. Wave 3: Create gist-210–217, gist-500–604 (FEM advanced, steel, reporting) ✅ DONE (17 gists)
  4. Wave 4: Create gist-700–808 (configurator, worked examples)
  5. Wave 5: Extract from TestData and C# tests (gist-900+)
  6. Test all gists locally with fli.exe