Stress Boundary Heavy
Deterministic synthetic case (seed 3004) with 1000 Building objects each carrying one CompositeSolid geometry with 4-6 solid members and 4-6 shells per solid. No attributes, semantics, materials, or textures. Targets deep boundary recursion and stack/heap pressure. Hardware load: CPU (recursive traversal), stack depth pressure, heap for shell arrays. Architecture bottleneck: CompositeSolid -> Solid -> Shell -> Ring traversal. Data model bottleneck: nested boundary reference chains at each containment level.
Case
id:stress_boundary_heavylayer:workloadfamily:stressartifact_mode:generatedsource_kind:syntheticrepresentation:cityjsonpath:cases/workloads/stress_boundary_heavy
Files
generated:artifacts/generated/stress_boundary_heavy.city.jsonprofile:cases/workloads/stress_boundary_heavy/profile.json
Source JSON
case.json
{
"artifact_mode": "generated",
"artifact_paths": {
"generated": "artifacts/generated/stress_boundary_heavy.city.json",
"profile": "cases/workloads/stress_boundary_heavy/profile.json"
},
"assertions": [
"boundary_nesting_preserved",
"bottleneck_shape_visible"
],
"cityjson_version": "2.0",
"description": "Deterministic synthetic case (seed 3004) with 1000 Building objects each carrying one CompositeSolid geometry with 4-6 solid members and 4-6 shells per solid. No attributes, semantics, materials, or textures. Targets deep boundary recursion and stack/heap pressure. Hardware load: CPU (recursive traversal), stack depth pressure, heap for shell arrays. Architecture bottleneck: CompositeSolid -> Solid -> Shell -> Ring traversal. Data model bottleneck: nested boundary reference chains at each containment level.",
"family": "stress",
"geometry_kind": "dummy",
"id": "stress_boundary_heavy",
"layer": "workload",
"representation": "cityjson",
"source_kind": "synthetic",
"version": 2
}
invariants.json
{
"checks": [
{
"description": "CompositeSolid boundary nesting (solid members and shells) is preserved after encode/decode.",
"id": "boundary_nesting_preserved"
},
{
"description": "The case exposes the intended deep boundary shape (4-6 solid members each with 4-6 shells per 1000 objects).",
"id": "bottleneck_shape_visible"
}
],
"id": "stress_boundary_heavy",
"kind": "positive",
"version": 1
}
profile.json
{
"cases": [
{
"allowed_lods": [
"2"
],
"allowed_types_cityobject": [
"Building"
],
"allowed_types_geometry": [
"CompositeSolid"
],
"attributes_enabled": false,
"description": "1000 Building objects each with one CompositeSolid geometry (4-6 solid members, each with 4-6 shells). No attributes, semantics, materials, or textures.",
"id": "stress_boundary_heavy",
"materials_enabled": false,
"max_cityobjects": 1000,
"max_members_cityobject_geometries": 1,
"max_members_compositesolid": 6,
"max_members_solid": 6,
"min_cityobjects": 1000,
"min_members_cityobject_geometries": 1,
"min_members_compositesolid": 4,
"min_members_solid": 4,
"seed": 3004,
"semantics_enabled": false,
"textures_enabled": false
}
],
"purpose": "Stress fixture for deep boundary recursion and stack or heap pressure from nested solid geometry.",
"version": 1
}