mirror of
https://github.com/andre482/O-tie.git
synced 2026-07-22 07:44:11 +00:00
- Single-finger touch panning now works even when starting on a node; a tap still selects. - Add keyboard node selection (Tab/Enter/Space/Escape) and validated settings input. - Guard against overwriting malformed .bowtie files; show a notice and keep original data. - Add Vitest tests (model/layout/panZoom) and a GitHub Actions CI workflow. - Split bowtieView into history/panZoom/stackRows/externalSync modules; refresh README, examples, and contributor docs. Co-authored-by: Cursor <cursoragent@cursor.com>
89 lines
2 KiB
Text
89 lines
2 KiB
Text
{
|
|
"id": "bowtie-0",
|
|
"name": "Defective steamcracker",
|
|
"events": [
|
|
{
|
|
"id": "event-1",
|
|
"label": "Loss of containment in steamcracker furnace",
|
|
"hazard": "High-pressure ethylene cracking system",
|
|
"transitionBarriers": []
|
|
}
|
|
],
|
|
"threats": [
|
|
{
|
|
"id": "threat-2",
|
|
"label": "Tube corrosion / fatigue",
|
|
"preventionBarriers": [
|
|
{
|
|
"id": "barrier-3",
|
|
"label": "Periodic tube inspection program",
|
|
"degradationChains": [],
|
|
"stack": [],
|
|
"stackCollapsed": true
|
|
},
|
|
{
|
|
"id": "barrier-4",
|
|
"label": "Material selection standards",
|
|
"degradationChains": [],
|
|
"stack": [],
|
|
"stackCollapsed": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "threat-5",
|
|
"label": "Operator error during startup",
|
|
"preventionBarriers": [
|
|
{
|
|
"id": "barrier-6",
|
|
"label": "Standard operating procedures",
|
|
"degradationChains": [],
|
|
"stack": [],
|
|
"stackCollapsed": true
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"consequences": [
|
|
{
|
|
"id": "consequence-7",
|
|
"label": "Fire / explosion",
|
|
"mitigationBarriers": [
|
|
{
|
|
"id": "barrier-8",
|
|
"label": "Deluge and fire suppression systems",
|
|
"degradationChains": [],
|
|
"stack": [],
|
|
"stackCollapsed": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "consequence-9",
|
|
"label": "Toxic gas release",
|
|
"mitigationBarriers": [
|
|
{
|
|
"id": "barrier-10",
|
|
"label": "Gas detection and isolation",
|
|
"degradationChains": [],
|
|
"stack": [],
|
|
"stackCollapsed": true
|
|
},
|
|
{
|
|
"id": "barrier-11",
|
|
"label": "Emergency response plan",
|
|
"degradationChains": [],
|
|
"stack": [],
|
|
"stackCollapsed": true
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"view": {
|
|
"zoom": 1,
|
|
"panX": 0,
|
|
"panY": 0
|
|
},
|
|
"createdAt": "2026-06-12T00:00:00.000Z",
|
|
"updatedAt": "2026-06-12T00:00:00.000Z"
|
|
}
|