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