# Column Alignment Validation

## Expected Column Alignment

The following shows the exact character positions for column alignment:

```
Position:  123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
Header:     #  Source             Proto  Destination        Extended   Frame Type   Pkts  Volume  Timing   Quality
Flow:       1  192.168.4.89:1024  UDP    239.1.2.10:8080   3 types    Mixed        1452    1.9MB   77.8ms Enhanced
Sub-row:                                                  CH10       CH10-Data    1110  1.44MB    102ms    76.4%
Sub-row:                                                  CH10       TMATS         114   148KB    990ms     7.8%
Sub-row:                                                             UDP           228   296KB    493ms    15.7%
```

### Right-Aligned Column Validation

The following columns should align on their right edges:
- **Pkts**: Right edge at position 77
- **Volume**: Right edge at position 85  
- **Timing**: Right edge at position 93
- **Quality**: Right edge at position 101

Example with proper right alignment:
```
Pkts Column (6 chars, right-aligned):
  1452
  1110
   114
   228

Volume Column (8 chars, right-aligned):  
   1.9MB
  1.44MB
   148KB
   296KB

Timing Column (8 chars, right-aligned):
  77.8ms
   102ms
   990ms
   493ms

Quality Column (8 chars, right-aligned):
Enhanced
   76.4%
    7.8%
   15.7%
```

## Column Specifications

1. **Flow Number**: Positions 1-3 (right-aligned in 2 chars + 1 space)
2. **Source**: Positions 4-23 (20 characters, left-aligned)
3. **Proto**: Positions 24-29 (6 characters, left-aligned)
4. **Destination**: Positions 30-49 (20 characters, left-aligned)
5. **Extended**: Positions 50-59 (10 characters, left-aligned)
6. **Frame Type**: Positions 60-71 (12 characters, left-aligned)
7. **Pkts**: Positions 72-77 (6 characters, right-aligned)
8. **Volume**: Positions 78-85 (8 characters, right-aligned)
9. **Timing**: Positions 86-93 (8 characters, right-aligned)
10. **Quality**: Positions 94-101 (8 characters, right-aligned)

## Sub-Row Alignment

Sub-rows use:
- Positions 1-3: Empty spaces (matching flow number space)
- Positions 4-23: Empty (inherits source from main flow)
- Positions 24-29: Empty (inherits protocol from main flow)  
- Positions 30-49: Empty (inherits destination from main flow)
- Positions 50-59: Extended protocol
- Positions 60-71: Frame type
- Positions 72-77: Packet count (right-aligned)
- Positions 78-85: Volume (right-aligned)
- Positions 86-93: Timing (right-aligned)
- Positions 94-101: Percentage (right-aligned)

This ensures perfect column alignment between main flow lines and their sub-rows.