VS Code Extension

ArgBlazer turns YAML argumentation frameworks into interactive HTML reports.

ArgBlazer generates interactive HTML reports from YAML files representing argumentation frameworks; the reports provide graph visualizations, extension sets, step-by-step constructions, and top/bottom layout—seamlessly integrated into your editor.

Live reload enabled while you edit YAML.

Key features

Interactive graph visualization

Generates an interactive HTML report from a YAML file representing an argumentation framework, displayed in a side-by-side webview panel.

Extensions

Automatically computes and displays conflict-free, admissible, complete, preferred, grounded, and stable extensions.

Step-by-step construction

Arguments can be introduced incrementally across steps, with the graph and extensions recomputed at each step.

Graph layout control

Top and bottom annotations control which arguments are placed at the top or bottom of the graph layout.

Zoom controls

Zoom in, zoom out, and fit-to-view buttons on the graph.

Live reload

The report updates automatically whenever the YAML file is saved.

Export to HTML

Right-click the report panel and select "Export as HTML" to save a standalone HTML file.

Examples

Step-by-step construction

Arguments are introduced incrementally across steps, with the graph and extensions recomputed at each step.

YAML
arguments:
  - a:
    - step: 1
  - b:
    - step: 1
  - c:
    - step: 2
  - d:
    - step: 3
attacks:
  - [b, a]
  - [c, b]
  - [d, c]
Step 1
graph BT
  classDef default fill:#D5E8D4,stroke:#004d00
  classDef ghost fill:transparent,stroke:none,color:transparent
  subgraph r2[Rank 2]
    b
  end
  subgraph r1[Rank 1]
    a
  end
  class r1,r2 ghost
  b --> a
              
Step 2
graph BT
  classDef default fill:#D5E8D4,stroke:#004d00
  classDef add fill:#D5E8D4,stroke:#004d00,stroke-width:4px
  classDef ghost fill:transparent,stroke:none,color:transparent
  subgraph r3[Rank 3]
    c
  end
  subgraph r2[Rank 2]
    b
  end
  subgraph r1[Rank 1]
    a
  end
  class r1,r2,r3 ghost
  b --> a
  c ==> b
  class c add
              
Step 3
graph BT
  classDef default fill:#D5E8D4,stroke:#004d00
  classDef add fill:#D5E8D4,stroke:#004d00,stroke-width:4px
  classDef ghost fill:transparent,stroke:none,color:transparent
  subgraph r4[Rank 4]
    d
  end
  subgraph r3[Rank 3]
    c
  end
  subgraph r2[Rank 2]
    b
  end
  subgraph r1[Rank 1]
    a
  end
  class r1,r2,r3,r4 ghost
  b --> a
  c --> b
  d ==> c
  class d add
              

Top / bottom layout

Annotations control which arguments are placed at the top or bottom of the graph.

YAML
arguments:
  - a:
    - top
  - b
  - c
  - d:
    - bottom
  - e:
    - bottom
attacks:
  - [b, a]
  - [c, b]
  - [d, c]
  - [e, b]
Rank from top
graph BT
  classDef default fill:#D5E8D4,stroke:#004d00
  classDef ghost fill:transparent,stroke:none,color:transparent
  subgraph r4[Rank 4]
    d
  end
  subgraph r3[Rank 3]
    c
    e
  end
  subgraph r2[Rank 2]
    b
  end
  subgraph r1[Rank 1]
    a
  end
  class r1,r2,r3,r4 ghost
  b --> a
  c --> b
  d --> c
  e --> b
              
Rank from bottom
graph BT
  classDef default fill:#D5E8D4,stroke:#004d00
  classDef ghost fill:transparent,stroke:none,color:transparent
  subgraph r1[Rank 1]
    d
    e
  end
  subgraph r2[Rank 2]
    c
    b
  end
  subgraph r3[Rank 3]
    a
  end
  class r1,r2,r3 ghost
  b --> a
  c --> b
  d --> c
  e --> b
              

YAML Structure

ArgBlazer reads YAML files with three top-level fields.

Field Required Type Description
exhibit No String Background text displayed in the Exhibit section
arguments Yes List Argument definitions. Each argument can optionally include annotations listed below.
attacks No List of pairs Attack relationships, e.g. [b, a] means b attacks a

Argument annotations

Annotation Type Description
summary String Brief description shown on graph nodes
details String or list Extended details as a list of key-value pairs with arbitrary sub-fields (e.g. rule, evidence, conclusion)
step Integer Which step the argument is introduced (for incremental construction)
top Flag Place this argument at the top of the graph layout
bottom Flag Place this argument at the bottom of the graph layout