45. TB11–PB11 Parity Test Plan¶
Created: April 11, 2026 Status: Active — defines complete parity acceptance gate; G5 headless parity FAIL (Apr 15 — 97/350 entities, prior 447/447 claim was against mangled golden) Scope: Every PB11 VLX capability that TB11 must match for functional parity Prerequisite: TB11 Manual Test Procedures Tests 1–26 (menu routing baseline) Evidence Source:
reports/vlx-analysis/vlx-forensics-discovery-report.mdDFMEA: Extends DFMEA-001 through DFMEA-035; adds DFMEA-036+ for parity-specific risks
Purpose¶
This document defines every test that must pass before TB11 achieves functional parity with the PB11 VLX build. When every test in this plan is marked PASS or DEFERRED (with documented justification), TB11 is PB11-equivalent.
Parity means: For every PB11 menu item, dialog, field, and drawing operation that a user can trigger, TB11 produces identical behavior — same dialog, same fields, same output, same data persistence.
Parity does NOT mean: Identical internal code structure, identical API usage, or identical binary output. The routing mechanism may differ (named constants vs bitmask math) as long as user-visible behavior matches.
Parity Mode Taxonomy¶
Each gate in this plan is governed by one of four parity modes. The mode determines what evidence is required and what constitutes a pass. Do not substitute evidence across modes.
Mode |
Name |
Evidence Standard |
Gates |
|---|---|---|---|
1 — AutoIT/OCR |
Dialog appearance on live XP/AC2000 VMs |
OCR text ≥95% character match vs VM 102 golden baseline. Logs are never standalone pass evidence. Pixel diff is diagnostic only. |
G2 |
2 — Headless DXF |
Drawing output parity across acad2000, acad2027, and cv-web |
DXF entity-by-entity comparison. Deterministic — exact match or documented delta. No percentage threshold. |
G5 |
3 — progcont/CUIX Trace |
Every route resolves to a handler + dialog; no orphaned lisps or dlgs |
Full trace map: progcont → handler → DCL → dialog key. Presentation differences acceptable; orphaned files are not. |
G1, G7 |
4 — GUI User-Driven |
End-to-end workflows verified by a human |
AutoCAD command line transcript (F2 copy) + drawing screenshots. |
G3, G4, G6 |
Full toolchain and evidence packet requirements: reports/VALIDATION-INDEX.md.
Parity Gate Criteria¶
Gate |
Requirement |
Measured By |
|---|---|---|
G1: Menu Routing |
All 17 progcont menu items route to correct handler |
Doc 43, Tests 1–26 |
G2: Dialog Appearance |
All 14 shared dialogs load and display correctly |
This doc, Phase 2 |
G3: Field Functionality |
All dialog fields accept input, validate, and persist |
This doc, Phase 3 |
G4: Data Persistence |
NOD XRecord + ATTRIB round-trip matches PB11 |
This doc, Phase 4 |
G5: Drawing Operations |
Panel/site geometry creation matches PB11 output |
This doc, Phase 5 |
G6: Print & Output |
Print workflow produces correct output |
This doc, Phase 6 |
G7: Infrastructure |
Module loading, error handling, startup chain |
Doc 43, Test 26 |
Pass/Fail Scoring¶
PASS: Behavior matches PB11 (OCR comparison ≥95% for dialogs; field-by-field match for data).
PARTIAL: Core behavior matches but cosmetic or non-critical differences exist. Must document the delta.
FAIL: Behavior diverges from PB11 in a user-visible way. Must file bug in doc 32.
BLOCKED: TB11 implementation does not exist (the 10 MISSING features). Not a failure — tracked as reconstruction backlog.
DEFERRED: Deliberately excluded from parity scope (security/licensing, help system). Must justify.
Parity Achieved When¶
G1–G7: Zero FAIL results across all gates.
BLOCKED count: All BLOCKED items documented in the Reconstruction Backlog (Section 10) with priority and effort estimate.
DEFERRED count ≤ 5: No more than 5 tests deferred, each with documented justification.
Bug tracker: All bugs found during parity testing either FIXED or DEFERRED with documented justification.
Test Surface Summary¶
PB11 Feature Inventory (from VLX Forensics)¶
Category |
PB11 Count |
TB11 Testable |
TB11 BLOCKED |
TB11 DEFERRED |
|---|---|---|---|---|
Progcont menu routes |
17 |
17 |
0 |
0 |
DCL dialogs (shared) |
14 |
14 |
0 |
0 |
DCL dialogs (PB11-only, reimplemented) |
6 |
6 |
0 |
0 |
DCL dialogs (PB11-only, MISSING) |
10 |
0 |
10 |
0 |
Panel editor sub-dialogs |
11 |
11 |
0 |
0 |
Site editor operations |
14 |
8 |
6 |
0 |
VLX-only functions (48) |
48 |
21 |
23 |
4 |
Total |
120 |
77 |
39 |
4 |
Reimplemented Dialogs (6 PB11-only dialogs TB11 rebuilt from scratch)¶
# |
PB11 Dialog |
TB11 Equivalent |
Similarity |
|---|---|---|---|
1 |
|
|
REIMPLEMENTED |
2 |
|
|
REIMPLEMENTED (split) |
3 |
|
|
REIMPLEMENTED |
4 |
|
|
REIMPLEMENTED |
5 |
|
|
REIMPLEMENTED |
6 |
|
|
REIMPLEMENTED |
Phase 2: Dialog Appearance (G2) — Tests 27–52¶
Phase 2 verifies that every shared and reimplemented dialog loads, displays, and closes correctly. This is the “does the right dialog appear with the right fields” gate.
Test Reporting Format (Phase 2–6)¶
For each test, record:
Field |
What to check |
|---|---|
Dialog title bar |
Matches expected title |
Field count |
Number of input fields matches PB11 DCL extracted layout |
Button labels |
All expected buttons present and labeled correctly |
Default values |
Fields populated with correct defaults (compare against PB11 runtime globals) |
Cancel behavior |
Dialog closes cleanly, no state mutation, clean |
Command line |
No |
Test 27: Main Panel Dialog (mp_dlg) — Field Layout¶
Prerequisite: Panel drawing open with project data.
Trigger: Edit Current Drawing on a panel → mp_dlg appears.
PB11 Reference: reports/vlx-analysis/dcl-extracted/PB11-v11/individual-dialogs/mp_dlg.dcl
Steps¶
Open a panel drawing with project data.
Click ConstructiVision > Edit Current Drawing.
mp_dlg dialog appears.
Verify¶
Check |
Expected (from PB11 DCL extraction) |
|---|---|
Dialog title |
“Main Panel” or equivalent |
Panel name field |
Present, editable |
Width field |
Present, editable, numeric |
Height field |
Present, editable, numeric |
Thickness field |
Present, editable, numeric |
PSI (concrete strength) |
Present, editable |
PCF (concrete weight) |
Present, editable |
Accept button |
Present, functional |
Cancel button |
Present, functional |
Next/Sub-dialog buttons |
Buttons to access sub-dialogs (ch_dlg, dl_dlg, etc.) |
Pass Criteria¶
Dialog loads without error.
All fields listed above are present and editable.
Cancel returns to
Command:with no state change.
Note
DIVERGENCE ALERT: PB11 mp_dlg uses numeric bitmask keys. TB11 mp_dlg uses string keys. Field NAMES may differ even if the FIELDS are equivalent. Compare field function, not key names.
Test 28: Panel Lines Dialog (pl_dlg)¶
Prerequisite: mp_dlg or panel editor is active.
Trigger: Panel Lines button from mp_dlg (or direct routing via panel editor).
PB11 Reference: reports/vlx-analysis/dcl-extracted/PB11-v11/individual-dialogs/pl_dlg.dcl
Steps¶
From mp_dlg, click the Panel Lines button.
pl_dlg dialog appears.
Verify¶
Check |
Expected |
|---|---|
Dialog title |
“Panel Lines” or equivalent |
Line type selections |
Present (left edge, right edge, top, bottom, recess) |
Dimension fields |
Present, editable, numeric |
Accept button |
Saves line definitions |
Cancel button |
Clean return to mp_dlg |
Pass Criteria¶
Dialog loads. All line-type selections present. Cancel returns to parent dialog.
Test 29: Chamfer Dialog (ch_dlg)¶
Prerequisite: mp_dlg or panel editor is active.
Trigger: Chamfer button from mp_dlg.
PB11 Reference: reports/vlx-analysis/dcl-extracted/PB11-v11/individual-dialogs/ch_dlg.dcl
DCL Similarity: 0.949 (near-identical to v3.60/TB11)
Steps¶
From mp_dlg, click the Chamfer button.
ch_dlg dialog appears.
Verify¶
Check |
Expected |
|---|---|
Dialog title |
“Chamfer” or equivalent |
Edge selections |
Left, Right, Top, Bottom — each with chamfer on/off |
Chamfer dimension fields |
Width, depth — numeric |
Preview or indicator |
Visual chamfer indicator if present |
Accept button |
Saves chamfer settings |
Cancel button |
Clean return to mp_dlg |
Pass Criteria¶
Dialog loads. Edge selections and dimension fields present. Values persist after Accept.
Test 30: Door/Recess Dialog (dr_dlg)¶
Prerequisite: Panel editor active.
Trigger: Door/Recess button from mp_dlg.
PB11 Reference: reports/vlx-analysis/dcl-extracted/PB11-v11/individual-dialogs/dr_dlg.dcl
Steps¶
From mp_dlg, click the Door/Recess button.
dr_dlg dialog appears.
Verify¶
Check |
Expected |
|---|---|
Dialog title |
“Door and Recess Details” or equivalent |
Opening type |
Door, window, recess selections |
Dimension fields |
Width, height, sill height, jamb offsets |
Position fields |
Horizontal offset from panel edge |
Quantity/count |
Number of openings |
Accept button |
Saves opening definitions |
Cancel button |
Clean return |
Pass Criteria¶
Dialog loads. Opening types selectable. Dimensions editable. Cancel returns cleanly.
Test 31: Detail Lines Dialog (dl_dlg)¶
Prerequisite: Panel editor active.
Trigger: Detail Lines button from mp_dlg.
PB11 Reference: reports/vlx-analysis/dcl-extracted/PB11-v11/individual-dialogs/dl_dlg.dcl
DCL Similarity: 0.943
Steps¶
From mp_dlg, click the Detail Lines button.
dl_dlg dialog appears.
Verify¶
Check |
Expected |
|---|---|
Dialog title |
“Detail Lines” or equivalent |
Line type selections |
Available detail line types |
Position/offset fields |
Numeric, editable |
Accept/Cancel buttons |
Present, functional |
Pass Criteria¶
Dialog loads. Fields present and editable. Clean return on cancel.
Test 32: Feature/Shape Dialog (fs_dlg)¶
Prerequisite: Panel editor active.
Trigger: Feature Strip button from mp_dlg.
PB11 Reference: reports/vlx-analysis/dcl-extracted/PB11-v11/individual-dialogs/fs_dlg.dcl
Steps¶
From mp_dlg, click the Feature Strip button.
fs_dlg dialog appears.
Verify¶
Check |
Expected |
|---|---|
Dialog title |
“Feature Strip” or equivalent |
Feature type selections |
Reveal, rustication, etc. |
Dimension fields |
Width, depth, spacing |
Position fields |
Vertical/horizontal placement |
Accept/Cancel buttons |
Present, functional |
Pass Criteria¶
Dialog loads. Feature type selectable. Dimensions editable.
Test 33: Side Detail Dialog (sd_dlg)¶
Prerequisite: Panel editor active.
Trigger: Side Detail button from mp_dlg.
PB11 Reference: reports/vlx-analysis/dcl-extracted/PB11-v11/individual-dialogs/sd_dlg.dcl
Steps¶
From mp_dlg, click the Side Detail button.
sd_dlg dialog appears.
Verify¶
Check |
Expected |
|---|---|
Dialog title |
“Side Detail” or equivalent |
Side selections |
Left, Right, Top, Bottom |
Detail type |
Detail definitions per side |
Accept/Cancel buttons |
Present, functional |
Pass Criteria¶
Dialog loads. Side selections functional.
Test 34: Base Plate Dialog (bp_dlg)¶
Prerequisite: Panel editor active.
Trigger: Base Plate button from mp_dlg.
PB11 Reference: reports/vlx-analysis/dcl-extracted/PB11-v11/individual-dialogs/bp_dlg.dcl
Steps¶
From mp_dlg, click the Base Plate button.
bp_dlg dialog appears.
Verify¶
Check |
Expected |
|---|---|
Dialog title |
“Base Plate” or equivalent |
Plate dimension fields |
Width, length, thickness |
Embed/anchor fields |
Bolt pattern, embed type |
Position fields |
Placement on panel |
Accept/Cancel buttons |
Present, functional |
Pass Criteria¶
Dialog loads. Dimensions and embed specs editable.
Test 35: Weld Connections Dialog (wc_dlg)¶
Prerequisite: Panel editor active.
Trigger: Weld Connections button from mp_dlg.
PB11 Reference: reports/vlx-analysis/dcl-extracted/PB11-v11/individual-dialogs/wc_dlg.dcl
Warning
HIGH DIVERGENCE: PB11 wc_dlg vs TB11 wc_dlg.dcl similarity = 0.008. These are virtually unrelated dialogs. Field-by-field comparison is mandatory.
Steps¶
From mp_dlg, click the Weld Connections button.
wc_dlg dialog appears.
Verify¶
Check |
Expected (PB11 behavior) |
|---|---|
Dialog title |
Weld connection configuration |
Connection type fields |
Weld type, size, location |
Hardware selection |
Embed plate, angle, channel selectors |
Position fields |
Placement on panel edges |
Accept/Cancel buttons |
Present, functional |
Pass Criteria¶
Dialog loads. Connection type selectable. Hardware fields editable.
Document ALL divergences from PB11 — this dialog is known to be significantly different.
Test 36: Panel Properties Dialog (pp_dlg)¶
Prerequisite: Panel editor active.
Trigger: Panel Properties button from mp_dlg.
PB11 Reference: reports/vlx-analysis/dcl-extracted/PB11-v11/individual-dialogs/pp_dlg.dcl
Steps¶
From mp_dlg, click the Panel Properties button.
pp_dlg dialog appears.
Verify¶
Check |
Expected |
|---|---|
Dialog title |
“Panel Properties” or equivalent |
Property summary |
Read-only display of current panel values |
Concrete specs |
PSI, PCF, cover values displayed |
Panel dimensions |
Width, height, thickness displayed |
Close/OK button |
Returns cleanly |
Pass Criteria¶
Dialog loads. Property values match what was entered in mp_dlg.
Test 37: Invariable Data Dialog (invar)¶
Prerequisite: Panel editor active. Trigger: Blockout or invariable data button from panel editor flow.
Steps¶
Navigate to the blockout/invariable data function.
invar dialog appears.
Verify¶
Check |
Expected |
|---|---|
Dialog loads |
Yes |
Blockout definition fields |
Size, position, type |
Accept/Cancel |
Functional |
Pass Criteria¶
Dialog loads and fields are editable.
Test 38: Slope Calculator Dialog (slope_dlg) — Field Detail¶
Prerequisite: Any drawing open. Trigger: ConstructiVision > Slope Calculator (already covered in doc 43 Test 21 for appearance).
This test extends Test 21 with field-level verification.
Verify¶
Check |
Expected |
|---|---|
Input fields |
Rise, run, angle, grade — at least 2 of 4 |
Calculation behavior |
Entering any 2 values calculates the others |
Output precision |
Matches PB11 precision (verify against known values) |
Known Test Values¶
Rise |
Run |
Expected Angle |
Expected Grade |
|---|---|---|---|
12 |
12 |
45.0° |
100% |
6 |
12 |
26.57° |
50% |
1 |
48 |
1.19° |
2.08% |
Pass Criteria¶
Calculated values match expected within ±0.01° for angle, ±0.01% for grade.
Test 39: Revision Dialog (revision) — Field Detail¶
Prerequisite: Panel drawing with UPDATE block. Trigger: ConstructiVision > Revision History (extends doc 43 Test 18).
Verify¶
Check |
Expected |
|---|---|
Revision number field |
Displays current rev from UPDATE block |
Revision date field |
Displays date from UPDATE block |
Revision description |
Editable text field for change description |
Add new revision |
Button/mechanism to increment rev number |
Accept/Cancel |
Functional — Accept writes to UPDATE block |
Pass Criteria¶
Rev data displays correctly from block attributes.
New revision persists to UPDATE block after Accept.
Test 40: Warning Dialog (warning) — Behavior¶
Trigger: Any error condition that raises a warning (e.g., no project loaded, invalid input).
Verify¶
Check |
Expected |
|---|---|
Dialog loads |
Yes, with correct message text |
OK/Close button |
Dismisses dialog, clean return |
No stale state |
Warning dismissal does not corrupt routing state |
Pass Criteria¶
Warning displays with contextually correct message. Clean dismissal.
Test 42: Site Drawing Options (ms_dlg / sdwg_dlg + site_dlg)¶
Prerequisite: Site drawing open, project loaded. Trigger: Edit Current Drawing on site (progcont 1 → site detection).
Note
PB11 uses a single ms_dlg with bitmask+mst1 routing. TB11 splits this into sdwg_dlg (site drawing type) + site_dlg (site operations). Both approaches should route to the same destinations.
Steps¶
Open a site drawing → Edit Current Drawing.
Site hub dialog appears.
For each TESTABLE operation (1, 2, 4, 8, 16, 64, 256, 1024): click the button, verify destination, Cancel back.
For UNKNOWN operations (32, 128, 512): attempt and document what happens.
For BLOCKED operations (4096, 8192, 16384): verify they are either absent or show “not implemented” message.
Pass Criteria¶
Grid Lines →
grid_dlgloads. Wall Lines →wall_dlgloads. Slab Lines →slab_dlgloads.Footing Connection → shows “not available” stub (acceptable PARTIAL).
Attach Panels →
inspanelflow initiates.Tilt-up Panels →
tiltupdialog or flow initiates.Print Materials List →
matl_dlgloads.No crashes, no stale state, no infinite loops.
Test 43: Grid Lines Dialog (grid_dlg ← gl_dlg)¶
Prerequisite: Site drawing open.
Trigger: Grid Lines from site hub.
PB11 Reference: reports/vlx-analysis/dcl-extracted/PB11-v11/individual-dialogs/gl_dlg.dcl (6,671 bytes)
Verify¶
Check |
Expected |
|---|---|
Dialog title |
Grid line configuration |
Grid line direction |
X-axis, Y-axis, or both |
Spacing fields |
Numeric, multiple grid line definitions |
Grid label fields |
Alphanumeric designators (A, B, C… or 1, 2, 3…) |
Layer assignment |
Grid lines placed on correct layer |
Accept/Cancel |
Functional |
Pass Criteria¶
Dialog loads. Grid definitions editable. Cancel returns cleanly.
Test 44: Wall Lines Dialog (wall_dlg ← wl_dlg)¶
Prerequisite: Site drawing open.
Trigger: Wall Lines from site hub.
PB11 Reference: reports/vlx-analysis/dcl-extracted/PB11-v11/individual-dialogs/wl_dlg.dcl (8,485 bytes)
Verify¶
Check |
Expected |
|---|---|
Dialog title |
Wall line configuration |
Wall line definition fields |
Offset, length, thickness |
Wall type selections |
Exterior, interior, parapet |
Layer assignment |
Wall lines on correct layer |
Accept/Cancel |
Functional |
Pass Criteria¶
Dialog loads. Wall definitions editable.
Test 45: Slab Lines Dialog (slab_dlg ← sl_dlg)¶
Prerequisite: Site drawing open.
Trigger: Slab Lines from site hub.
PB11 Reference: reports/vlx-analysis/dcl-extracted/PB11-v11/individual-dialogs/sl_dlg.dcl (7,791 bytes)
Verify¶
Check |
Expected |
|---|---|
Dialog title |
Slab line configuration |
Slab edge fields |
Offset, thickness, elevation |
Layer assignment |
Slab lines on correct layer |
Accept/Cancel |
Functional |
Pass Criteria¶
Dialog loads. Slab definitions editable.
Test 46: Batch Utilities Dialog (btch_dlg ← bu_dlg)¶
Prerequisite: Any drawing open.
Trigger: ConstructiVision > Batch Utilities (extends doc 43 Test 20 with field detail).
PB11 Reference: reports/vlx-analysis/dcl-extracted/PB11-v11/individual-dialogs/bu_dlg.dcl (2,292 bytes)
Verify¶
Check |
Expected |
|---|---|
Dialog title |
“Batch Utilities” or equivalent |
Operation list |
Available batch operations (redraw all, reprint, etc.) |
Selection mechanism |
Checkboxes or radio buttons for operation selection |
Execute button |
Initiates selected batch operation |
Cancel button |
Clean return |
Pass Criteria¶
Dialog loads. Operations listed. Cancel returns cleanly.
Execute on at least one operation completes without error.
Test 47: Project Details Dialog (projdet ← np_dlg)¶
Prerequisite: New Project flow or Edit Project Details.
Trigger: ConstructiVision > New Project or Edit Project Details (extends doc 43 Tests 1, 8).
PB11 Reference: reports/vlx-analysis/dcl-extracted/PB11-v11/individual-dialogs/np_dlg.dcl (801 bytes)
Verify¶
Check |
Expected |
|---|---|
Dialog title |
“Project Details” or “New Project” |
Project name |
Editable text field |
Concrete specs |
PSI, PCF fields |
Location fields |
Address, city, state |
Contractor fields |
Name, superintendent |
Accept/Cancel |
Functional |
Pass Criteria¶
All project metadata fields present and editable.
Values persist after Accept (verify via Edit Project Details round-trip).
Test 48: Plotter Selection Dialog (plt_dlg ← pltr)¶
Prerequisite: Print flow initiated.
Trigger: Any print menu item (extends doc 43 Tests 13–15).
PB11 Reference: reports/vlx-analysis/dcl-extracted/PB11-v11/individual-dialogs/pltr.dcl (530 bytes)
Verify¶
Check |
Expected |
|---|---|
Dialog title |
Plotter selection or print configuration |
Plotter list |
Populated from system plot devices (matches PB11 |
Plot style list |
Populated from |
Selection mechanism |
Dropdown or list selection |
Accept/Cancel |
Functional |
Pass Criteria¶
Dialog loads. Plotter list populated. Selection persists.
Test 49: Footing Connection Dialog (ftconn) — Stub¶
Prerequisite: Site hub open.
Trigger: Footing Connection from site hub.
PB11 Reference: reports/vlx-analysis/dcl-extracted/PB11-v11/individual-dialogs/ftconn.dcl (463 bytes)
Verify¶
Check |
Expected |
|---|---|
Stub message |
“Not available” or “Not implemented” message appears |
Clean return |
No crash, no stale state |
Pass Criteria¶
PARTIAL pass if stub message appears cleanly.
FAIL if crash or unhandled error.
Test 50: Drawing Type Detection (dwg_dlg replacement)¶
PB11 behavior: dwg_dlg dialog asks “Panel or Site?” when drawing type is ambiguous.
TB11 behavior: Auto-detection from filename (*SITE* → site, else → panel).
Steps¶
Open a drawing whose filename contains “SITE” → should auto-detect as site.
Open a drawing whose filename does NOT contain “SITE” → should auto-detect as panel.
Open Drawing1 → should show progopts hub (no project loaded guard).
Pass Criteria¶
PASS if auto-detection works correctly for all three cases.
TB11’s auto-detection approach is an acceptable REPLACEMENT for PB11’s manual
dwg_dlgchooser.
Test 51: Tech Support Dialog (csvtech)¶
Trigger: ConstructiVision > Tech Support (menu item loads and calls csvtech).
Steps¶
Click ConstructiVision > Tech Support.
csvtech dialog should load.
Verify¶
Check |
Expected |
|---|---|
Dialog loads |
Yes (csvtech.dcl) |
Contact info displayed |
Support contact details shown |
Close button |
Clean return |
Pass Criteria¶
Dialog loads and displays. Clean return on close.
Test 52: Registration Manager (csvreg)¶
Trigger: ConstructiVision > Registration Manager (direct command call).
PB11 Reference: REGISTRATION / C:CSVREG VLX-only functions.
Steps¶
Click ConstructiVision > Registration Manager.
Registration dialog or handler fires.
Verify¶
Check |
Expected |
|---|---|
Some response |
Either a dialog, a message, or a stub |
No crash |
Clean handling even if not fully implemented |
Pass Criteria¶
DEFERRED — Registration/licensing is not required for parity. Clean stub acceptable.
Phase 3: Field Functionality & Data Flow (G3) — Tests 53–64¶
Phase 3 verifies that dialog fields actually work — data entered in one dialog flows correctly to other dialogs and to the drawing. This is the “does the data stick” gate.
Test 53: Project Data Round-Trip¶
Goal: Verify project metadata entered in New Project persists and is readable in Edit Project Details.
Steps¶
Create a New Project (Test 1 flow). Enter:
Project name:
PARITY-TEST-001PSI:
4000PCF:
150Contractor:
Test ContractorLocation:
Test City, CA
Accept and close.
Immediately click Edit Project Details.
Verify all entered values are displayed correctly.
Pass Criteria¶
All 5 field values match what was entered. Zero data loss.
Test 54: Panel Data Round-Trip (mp_dlg → mp_dlg)¶
Goal: Verify panel dimensions entered in mp_dlg persist across close/reopen.
Steps¶
Open a panel drawing → mp_dlg.
Set panel width to
20'-0", height to30'-0", thickness to7 1/4".Accept.
Immediately re-enter mp_dlg (Edit Current Drawing again).
Verify width, height, thickness display the values from step 2.
Pass Criteria¶
All 3 dimension values match. Zero data loss.
Test 55: Cross-Dialog Data Flow (mp_dlg → ch_dlg → mp_dlg)¶
Goal: Verify that entering chamfer data in ch_dlg persists when returning to mp_dlg and back.
Steps¶
From mp_dlg, open ch_dlg.
Set chamfer on left edge, 3/4” × 3/4”.
Accept back to mp_dlg.
Reopen ch_dlg.
Verify chamfer settings are retained.
Pass Criteria¶
Chamfer settings persist across dialog transitions.
Test 56: Cross-Dialog Data Flow (mp_dlg → dr_dlg → mp_dlg)¶
Goal: Verify door/recess data persists.
Steps¶
From mp_dlg, open dr_dlg.
Define one door opening: width
3'-0", height7'-0", offset from left5'-0".Accept back to mp_dlg.
Reopen dr_dlg.
Verify door definition is retained.
Pass Criteria¶
Door opening definition persists.
Test 57: Cross-Dialog Data Flow (mp_dlg → wc_dlg → mp_dlg)¶
Goal: Verify weld connection data persists.
Steps¶
From mp_dlg, open wc_dlg.
Define a weld connection configuration.
Accept back to mp_dlg.
Reopen wc_dlg.
Verify weld connection settings are retained.
Pass Criteria¶
Weld connection settings persist.
Test 58: Cross-Dialog Data Flow (mp_dlg → bp_dlg → mp_dlg)¶
Goal: Verify base plate data persists.
Steps¶
From mp_dlg, open bp_dlg.
Define base plate dimensions.
Accept back to mp_dlg.
Reopen bp_dlg.
Verify base plate settings are retained.
Pass Criteria¶
Base plate settings persist.
Test 59: Cross-Dialog Data Flow (mp_dlg → fs_dlg → mp_dlg)¶
Goal: Verify feature strip data persists.
Steps¶
From mp_dlg, open fs_dlg.
Define a feature strip.
Accept back to mp_dlg.
Reopen fs_dlg.
Verify feature strip settings are retained.
Pass Criteria¶
Feature strip settings persist.
Test 60: Site Data Round-Trip (grid_dlg → grid_dlg)¶
Goal: Verify grid line data persists across close/reopen.
Steps¶
Open a site drawing → site hub → Grid Lines.
Define grid lines (e.g., 3 gridlines at 20’-0” spacing, labeled A/B/C).
Accept.
Reopen Grid Lines dialog.
Verify grid definitions are retained.
Pass Criteria¶
Grid line definitions persist.
Test 61: Site Data Round-Trip (wall_dlg → wall_dlg)¶
Goal: Verify wall line data persists.
Steps¶
Site hub → Wall Lines → define walls → Accept → reopen.
Verify wall definitions are retained.
Pass Criteria¶
Wall line definitions persist.
Test 62: Site Data Round-Trip (slab_dlg → slab_dlg)¶
Goal: Verify slab line data persists.
Steps¶
Site hub → Slab Lines → define slabs → Accept → reopen.
Verify slab definitions are retained.
Pass Criteria¶
Slab definitions persist.
Test 63: Data Hierarchy Verification¶
Goal: Verify the TB11 data retrieval hierarchy matches PB11: NOD XRecord → Title Block ATTRIB → Runtime Globals → convert.lsp defaults.
Steps¶
Open a panel drawing that has NOD XRecord data AND title block ATTRIBs.
Edit Current Drawing → mp_dlg.
Verify project name comes from NOD XRecord (not title block).
Delete the NOD XRecord (or open a drawing without one).
Verify project name falls back to title block ATTRIB.
Open Drawing1 (no XRecord, no title block).
Verify defaults from convert.lsp apply.
Pass Criteria¶
Data hierarchy fallback works correctly: XRecord > ATTRIB > Globals > Defaults.
No
(exit)on missing data — clean fallthrough at each layer.
Test 64: NOD XRecord Persistence¶
Goal: Verify that TB11 writes and reads NOD XRecords in a format compatible with PB11.
Steps¶
Create a new panel (full flow: New Project → New Drawing → mp_dlg → set values → Accept).
Save the drawing.
Close and reopen the drawing.
Edit Current Drawing → mp_dlg.
Verify all values from step 1 are restored from NOD XRecord.
Optional Comparison¶
If PB11 is available on another VM: open the same drawing in PB11 and verify it reads the TB11-written XRecord correctly. This confirms write-format compatibility.
Pass Criteria¶
All panel data values survive save/close/reopen cycle.
NOD XRecord is the data source (verify via
cv-debug.txtor command line trace).
Phase 4: NOD XRecord Format Compatibility (G4) — Tests 65–68¶
Phase 4 ensures data written by TB11 is readable by PB11 and vice versa. This is the “can a PB11 user open a TB11-saved drawing” gate.
Test 65: TB11 Writes → PB11 Reads (Panel)¶
Prerequisite: Access to two VMs — one with TB11, one with PB11.
Steps¶
On TB11 VM: Create panel, enter known values, save as
parity-panel-01.dwg.Copy
parity-panel-01.dwgto PB11 VM.On PB11 VM: Open the drawing → Edit Current Drawing.
Verify all panel values are displayed correctly in PB11.
Pass Criteria¶
PB11 reads all TB11-written panel data without error.
All field values match what TB11 wrote.
Test 66: PB11 Writes → TB11 Reads (Panel)¶
Prerequisite: Access to PB11 VM with an existing panel drawing.
Steps¶
On PB11 VM: Open an existing panel drawing, note all field values.
Copy the drawing to TB11 VM.
On TB11 VM: Open the drawing → Edit Current Drawing.
Verify all panel values are displayed correctly in TB11.
Pass Criteria¶
TB11 reads all PB11-written panel data without error.
All field values match what PB11 stored.
Test 67: TB11 Writes → PB11 Reads (Site)¶
Same as Test 65 but for a site drawing with grid lines, wall lines, and slab lines.
Pass Criteria¶
PB11 reads TB11-written site data without error.
Test 68: PB11 Writes → TB11 Reads (Site)¶
Same as Test 66 but for a site drawing.
Pass Criteria¶
TB11 reads PB11-written site data without error.
Phase 5: Drawing Operations (G5) — Tests 69–76¶
Phase 5 verifies that TB11 produces the same drawing geometry as PB11 — correct entities on correct layers with correct dimensions.
Warning
G5 Parity Status: FAIL (April 15, 2026). The earlier claim of “447/447 entity parity” was invalid — the golden baseline had been exported from a mangled CSB001.dwg (87KB, overwritten by repeated drawpan runs). Both golden and test showed 447 entities because both came from the same damaged drawing. The DXF comparison tool also only checked entity counts, not actual coordinates.
Corrected baseline: CSB001.dwg restored to original (183,286 bytes, commit acc0079cd3, Feb 26 2026). Golden DXF re-exported: 350 entities (256 in modelspace). TB11 headless produces 97 entities. Entity count parity: FAIL (97/350 = 28%).
Root cause of gap: TB11 drawpan produces 3D geometry (solids, extrusions, hardware) but annotation/dimensioning layers are almost entirely missing — 0 DIMENSIONs, 0 HATCHes, 0 ATTRIBs, 0 annotation-layer INSERTs. The finpan/drawdim pipeline is not producing annotations.
Corrected tooling: cv-dxf-compare.py upgraded to compare every group-code value (full coordinate identity), not just entity counts. Run-ParityTest.ps1 runs drawpan on a COPY of the original to prevent future mangling.
Evidence: reports/golden/CSB001-golden.dxf (529,641 bytes, 350 entities from restored original), reports/auto-test/CSB001-snap.dxf (97 entities), scripts/cv-dxf-compare.py (full identity comparison).
Test 69: Draw Panel — Basic Rectangle¶
Goal: Verify drawpan produces a rectangular panel solid with correct dimensions. Status: ❌ FAIL (97/350 entities — 28%; prior “447/447 PASS” was against mangled golden)
Headless Result (April 15, 2026 — accoreconsole.exe, AutoCAD 2027 x64, corrected golden)¶
Metric |
Golden (PB11 VLX, restored original) |
Test (TB11 source) |
Match |
|---|---|---|---|
Total DXF entities |
350 |
97 |
❌ 28% |
Entity type categories |
59 |
2 match |
❌ 3% |
3DSOLID geometry |
12 |
44 |
⚠️ different distribution |
DIMENSIONs |
20 |
0 |
❌ 0% |
HATCHes |
16 |
0 |
❌ 0% |
ATTRIBs (block data) |
73 |
0 |
❌ 0% |
Annotation INSERTs |
29 |
0 |
❌ 0% |
Annotation TEXT/MTEXT |
39+24 |
5+4 |
❌ ~14% |
Annotation LINEs |
78 |
1 |
❌ 1% |
Drawing: CSB001.dwg (ConstructiVision Sample Building panel 001) — panel with openings, feature strips, J-bolt hardware, green plate, chamfers, and weld connections.
What TB11 produces correctly: Main panel solid, feature extrusions (8 3DSOLID|feature), greenplate (1 3DSOLID|greenplate), J-bolt hardware (34 3DSOLID + 32 INSERT), perimeter outline (2 LWPOLYLINE), basic text labels.
What TB11 is missing: ALL dimension annotations (DIMENSIONs, dimension LINEs, dimension TEXTs, dimension SOLIDs/arrows), ALL hatches (feature and hardware), ALL block INSERT annotations (connections, points, features, perimeter markers), ALL ATTRIBs. The finpan/drawdim pipeline is not generating annotation layers.
Headless limitations (in addition to entity gap):
TRIM skipped (AutoCAD 2027 crossing-window mode hang)
INTERFERE skipped (native crash in Core Console)
Evidence:
Golden DXF:
reports/golden/CSB001-golden.dxf(529,641 bytes, from restored original 183,286-byte CSB001.dwg)Test DXF:
reports/auto-test/CSB001-snap.dxf(97 entities)Comparison:
python scripts/cv-dxf-compare.py→*** FULL DXF PARITY: FAIL ***Test runner:
scripts/Run-ParityTest.ps1(copies original before test, verifies original unchanged after)
Steps (original — for GUI re-validation)¶
Create new panel: width
10'-0", height20'-0", thickness7 1/4".Accept all dialogs → panel drawing executes.
Verify the generated geometry:
Rectangular solid on
solidlayer.Dimensions match: 120” × 240” × 7.25” (converted to inches).
Perimeter outline on
perimeterlayer.Dimension annotations on
*_dimlayers.
Pass Criteria¶
Panel geometry exists with correct dimensions.
Correct layers used.
Visual match to PB11-generated panel of same dimensions (screenshot comparison if available).
Test 70: Draw Panel — With Openings¶
Goal: Verify panel with door/recess openings draws correctly.
Steps¶
Create panel with one door opening (3’-0” wide × 7’-0” high, offset 5’-0” from left).
Verify opening appears as void in panel solid.
Verify opening dimensions annotated correctly.
Pass Criteria¶
Opening geometry present at correct location and size.
Test 71: Draw Panel — With Chamfers¶
Goal: Verify chamfered edges draw correctly.
Steps¶
Create panel with chamfer on all four edges, 3/4” × 3/4”.
Verify chamfer geometry appears on correct layer.
Pass Criteria¶
Chamfer lines present on all four edges with correct dimensions.
Test 72: Draw Panel — With Feature Strip¶
Goal: Verify feature strip (reveal/rustication) draws correctly.
Steps¶
Create panel with a horizontal feature strip.
Verify feature geometry appears on
featurelayer.
Pass Criteria¶
Feature strip geometry present at correct position.
Test 73: Draw Panel — With Weld Connections¶
Goal: Verify weld connection hardware draws correctly.
Steps¶
Create panel with weld connections specified.
Verify weld connection indicators appear on
connectionslayer.
Pass Criteria¶
Connection hardware symbols present at specified positions.
Test 74: Draw Panel — With Base Plate¶
Goal: Verify base plate draws correctly.
Steps¶
Create panel with base plate specified.
Verify base plate geometry appears on correct layer.
Pass Criteria¶
Base plate geometry present with correct dimensions.
Test 75: Draw Site — Grid + Wall + Slab Lines¶
Goal: Verify site drawing with all three line types draws correctly.
Steps¶
Create site drawing with grid lines, wall lines, and slab lines.
Verify each type appears on its respective layer.
Verify dimensions match specifications.
Pass Criteria¶
All three line types present on correct layers with correct geometry.
Test 76: Draw Site — Attach Panels¶
Goal: Verify panel attachment to site works correctly.
Steps¶
Have site drawing with wall lines.
Use Attach Panels function.
Verify panel references attach to wall lines at correct positions.
Pass Criteria¶
Panels attached at wall positions. Panel XRef or block insert visible.
Phase 6: Print & Output (G6) — Tests 77–80¶
Test 77: Print — Panel All Layers¶
Goal: Verify full panel print produces correct output.
Steps¶
Panel drawing open → Print > Panel > All Layers.
Print dialog appears → select a printer (or DWF/PDF driver).
Execute print.
Pass Criteria¶
Print dialog appears with plotter list.
Print completes without error.
Layers restored after print.
Test 78: Print — Panel Layer Presets (5 variants)¶
Goal: Verify each layer preset isolates the correct layers for print.
Steps¶
For each of the 5 presets (Edge Form, Ledgers/Top Plate, Weld Connections, Feature Strip, Pick/Brace Points):
Execute the preset print menu item.
Verify only the specified layers are visible when print dialog appears.
Cancel or complete print.
Verify all layers restored afterward.
Pass Criteria¶
Layer isolation matches the spec in doc 43 Test 14 for each preset.
Test 79: Print — Site Select Layouts¶
Goal: Verify site print with layout selection.
Steps¶
Site drawing open → Print > Site > Select Layouts.
Verify correct layer isolation.
Print dialog appears.
Pass Criteria¶
Layer isolation correct. Print dialog functional.
Test 80: Materials List Print¶
Goal: Verify materials list output.
Steps¶
Panel drawing open with panel data → Materials List.
matl_dlg shows quantities.
Print or export the materials list.
Pass Criteria¶
Materials quantities display correctly.
Print/export produces correct output format.
Phase 7: Error Handling & Edge Cases — Tests 81–88¶
Test 81: All Dialogs — Cancel Behavior¶
Goal: Every dialog in Phases 2–3 must have clean Cancel behavior.
Steps¶
For each dialog tested in Phases 2–3: open it, DON’T change anything, click Cancel.
Verify: no data mutation, no stale state, clean return to
Command:or parent dialog.
Pass Criteria¶
Zero dialogs leave stale state after Cancel.
Test 82: All Dialogs — Invalid Input¶
Goal: Verify dialogs reject invalid input gracefully.
Steps¶
For each numeric field in mp_dlg, ch_dlg, slope_dlg, etc.:
Enter text where number expected (e.g., “abc” in width field).
Enter zero or negative values.
Enter extremely large values (e.g., 99999).
Verify: validation message or rejection. No crash.
Pass Criteria¶
No crashes on invalid input. Validation messages appear where appropriate.
Test 83: Module Load — Missing File Resilience¶
Goal: Verify that a missing .lsp file produces a clear error, not a silent failure.
Steps¶
Temporarily rename one
.lspmodule (e.g.,chamfer.lsp→chamfer.lsp.bak).Restart AutoCAD. Trigger a CV menu item.
Verify:
[CV-LOAD ERROR]message on command line identifying the missing file.Restore the file.
Pass Criteria¶
Missing file produces clear error message with filename.
AutoCAD does not crash. Other modules still functional.
Test 84: Cross-Document Open — Drawing Switch¶
Goal: Verify that opening a different drawing via Open Drawing correctly switches context.
Steps¶
Have panel drawing A open.
ConstructiVision > Open Drawing → select panel drawing B.
Verify: Drawing B opens, panel data from B is loaded (not A’s data).
Edit Current Drawing → mp_dlg shows B’s values.
Pass Criteria¶
Drawing context switches completely. No data bleed from A to B.
Test 85: New Project Overwrites — Guard¶
Goal: Verify creating a new project when one is already loaded works correctly.
Steps¶
Open an existing project drawing.
ConstructiVision > New Project.
Verify: appropriate behavior (either prompt to save current, or create new project in new folder).
Pass Criteria¶
No data loss from the existing project. Clear flow.
Test 86: SFSP (Support File Search Path) Verification¶
Goal: Verify all required files are findable via AutoCAD’s search path.
Steps¶
On command line, run:
(findfile "csv.lsp")— should return path.Repeat for:
csvmenu.lsp,md_dlg.dcl,mp_dlg.dcl,ch_dlg.dcl,slope_dlg.dcl.All should return non-nil paths.
Pass Criteria¶
All core files findable. Zero
nilreturns.
Test 87: Debug Log Verification¶
Goal: Verify C:\cv-debug.txt is written with correct state after every c:csv call.
Steps¶
Delete
C:\cv-debug.txtif it exists.Trigger any CV menu item.
Verify
C:\cv-debug.txtexists and contains:filedia,cmdechovaluesprogcontvalue matching the menu item triggeredcurdir,olddwgvaluesTimestamp
Pass Criteria¶
Debug log written. Values match expected state.
Test 88: Error Handler — error Function¶
Goal: Verify the custom *error* handler prints [CSV-ERROR] and restores sysvars.
Steps¶
Trigger an intentional error condition (e.g., call a CV function when no drawing is loaded in a way that causes an error).
Verify:
[CSV-ERROR]prefix appears on command line with the error message.Verify:
filediaandcmdechoare restored to their pre-CV values.
Pass Criteria¶
Error handler fires. Message includes
[CSV-ERROR]. Sysvars restored.
Phase 8: PB11 VLX-Specific Behaviors — Tests 89–92¶
These tests verify behaviors observed in the PB11 VLX runtime dump that TB11 must replicate.
Test 89: CSVDIR / CSVVER / PJDIR Globals¶
Goal: Verify TB11 sets the same global variables PB11 uses.
Steps¶
After loading CV, on command line:
(princ csvdir)— should print ConstructiVision install path.(princ csvver)— should print version string (e.g., “11.01” for TB11).(princ pjdir)— should print Project Files directory path.
Pass Criteria¶
All three globals set. Paths are valid directories on disk.
Test 91: DCL Dialog Handle Pre-Loading¶
Goal: Verify TB11 pre-loads dialog handles at startup (matching PB11’s DCL_* constant system).
Note
TB11 may not replicate the numeric DCL_* handle system — it may load dialogs on-demand instead. This test verifies the RESULT (dialogs load quickly, no “file not found” errors) rather than the mechanism.
Steps¶
Fresh AutoCAD launch.
Rapidly click through 5+ different menu items that load different dialogs.
Verify: no dialog load delays, no
load_dialogfailures, no “dcl not found” errors.
Pass Criteria¶
All dialogs load on first invocation. Zero load failures.
Test 92: Plotter List Population¶
Goal: Verify TB11 populates plotter lists like PB11 (PLTRLST, PLTSLST).
Steps¶
Trigger any print menu item.
Verify plotter selection dialog shows available system plotters.
On command line (if accessible):
(princ pltrlst)or check if plotter dropdown is populated.
Pass Criteria¶
Plotter list populated from system. Not empty.
Section 9: DEFERRED Tests (Out of Parity Scope)¶
These features are deliberately excluded from the parity gate with documented justification.
# |
Feature |
PB11 Function(s) |
Justification |
|---|---|---|---|
D1 |
Password/Registration |
|
Licensing system redesigned for modern distribution. PB11’s registration mechanism is obsolete. |
D2 |
Help System (HLP) |
|
WinHelp ( |
D3 |
About Dialog (HLP) |
|
Implemented via |
D4 |
Progress Indicator |
|
UI convenience only. Trivial to add post-parity. |
Deferred count: 4 (within ≤5 threshold)
Section 10: BLOCKED Tests — Reconstruction Backlog¶
These PB11 features have no TB11 implementation. They cannot be tested. Each requires reconstruction from the extracted PB11 DCL dialogdefinitions + v3.60 source logic.
Priority 0 — CRITICAL (blocks multi-story tilt-up)¶
# |
PB11 Dialog |
DCL Size |
Purpose |
Effort |
DFMEA |
|---|---|---|---|---|---|
B1 |
|
7,643 B |
Roof joist/girder layout |
Medium |
NEW |
B2 |
|
7,651 B |
2nd floor joist/girder layout |
Medium |
NEW |
B3 |
|
7,650 B |
3rd floor joist/girder layout |
Medium |
NEW |
B4 |
|
7,557 B |
Standard opening details |
Medium |
NEW |
Note
The three joist/girder dialogs (sc_dlg, tc_dlg, rc_dlg) are nearly identical in DCL size and structure. Build one, replicate to the other two — the effort is medium for the first, trivial for copies.
Priority 1 — HIGH (blocks full panel feature set)¶
# |
PB11 Dialog |
DCL Size |
Purpose |
Effort |
DFMEA |
|---|---|---|---|---|---|
B5 |
|
10,950 B |
Ledger and top plate details |
High |
NEW |
B6 |
|
640 B |
Global change options (batch panel updates) |
Low |
NEW |
B7 |
|
463 B |
Footing embed selection (currently stub) |
Low |
NEW |
Priority 2 — MEDIUM (engineering extras)¶
# |
PB11 Dialog |
DCL Size |
Purpose |
Effort |
DFMEA |
|---|---|---|---|---|---|
B8 |
|
4,976 B |
Engineering data extraction |
Medium |
NEW |
B9 |
|
4,216 B |
Engineering data extraction page 2 |
Medium |
NEW |
Site Operations — UNKNOWN (need PB11 testing to define)¶
# |
ms_dlg Key |
Label |
Status |
|---|---|---|---|
B10 |
32mst1 |
Create/Modify Viewports |
Unknown behavior — need PB11 test |
B11 |
128mst1 |
Detach Panels |
Unknown behavior — need PB11 test |
B12 |
512mst1 |
Construction Layout |
Unknown behavior — need PB11 test |
Section 11: Parity Test Matrix — Master Scorecard¶
Use this matrix to track progress. Update status after each test execution.
Phase 2: Dialog Appearance (G2)¶
Test |
Description |
Status |
Date |
Bug # |
|---|---|---|---|---|
27 |
Main Panel Dialog (mp_dlg) — Fields |
🔲 |
||
28 |
Panel Lines (pl_dlg) |
🔲 |
||
29 |
Chamfer (ch_dlg) |
🔲 |
||
30 |
Door/Recess (dr_dlg) |
🔲 |
||
31 |
Detail Lines (dl_dlg) |
🔲 |
||
32 |
Feature/Shape (fs_dlg) |
🔲 |
||
33 |
Side Detail (sd_dlg) |
🔲 |
||
34 |
Base Plate (bp_dlg) |
🔲 |
||
35 |
Weld Connections (wc_dlg) |
🔲 |
||
36 |
Panel Properties (pp_dlg) |
🔲 |
||
37 |
Invariable Data (invar) |
🔲 |
||
38 |
Slope Calculator — Field Detail |
🔲 |
||
39 |
Revision — Field Detail |
🔲 |
||
40 |
Warning Dialog |
🔲 |
||
41 |
Panel Options Hub (md_dlg) — Routing |
🔲 |
||
42 |
Site Hub (ms_dlg / sdwg_dlg) — Routing |
🔲 |
||
43 |
Grid Lines (grid_dlg) |
🔲 |
||
44 |
Wall Lines (wall_dlg) |
🔲 |
||
45 |
Slab Lines (slab_dlg) |
🔲 |
||
46 |
Batch Utilities — Field Detail |
🔲 |
||
47 |
Project Details (projdet) — Fields |
🔲 |
||
48 |
Plotter Selection (plt_dlg) |
🔲 |
||
49 |
Footing Connection — Stub |
🔲 |
||
50 |
Drawing Type Detection |
🔲 |
||
51 |
Tech Support (csvtech) |
🔲 |
||
52 |
Registration Manager |
🔲 |
Phase 3: Field Functionality (G3)¶
Test |
Description |
Status |
Date |
Bug # |
|---|---|---|---|---|
53 |
Project Data Round-Trip |
🔲 |
||
54 |
Panel Data Round-Trip |
🔲 |
||
55 |
Cross-Dialog: mp_dlg → ch_dlg |
🔲 |
||
56 |
Cross-Dialog: mp_dlg → dr_dlg |
🔲 |
||
57 |
Cross-Dialog: mp_dlg → wc_dlg |
🔲 |
||
58 |
Cross-Dialog: mp_dlg → bp_dlg |
🔲 |
||
59 |
Cross-Dialog: mp_dlg → fs_dlg |
🔲 |
||
60 |
Site Data: grid_dlg Round-Trip |
🔲 |
||
61 |
Site Data: wall_dlg Round-Trip |
🔲 |
||
62 |
Site Data: slab_dlg Round-Trip |
🔲 |
||
63 |
Data Hierarchy Verification |
🔲 |
||
64 |
NOD XRecord Persistence |
🔲 |
Phase 4: XRecord Compatibility (G4)¶
Test |
Description |
Status |
Date |
Bug # |
|---|---|---|---|---|
65 |
TB11 → PB11 Read (Panel) |
🔲 |
||
66 |
PB11 → TB11 Read (Panel) |
🔲 |
||
67 |
TB11 → PB11 Read (Site) |
🔲 |
||
68 |
PB11 → TB11 Read (Site) |
🔲 |
Phase 5: Drawing Operations (G5)¶
Test |
Description |
Status |
Date |
Bug # |
|---|---|---|---|---|
69 |
Draw Panel — Basic Rectangle |
❌ FAIL |
2026-04-15 |
— |
70 |
Draw Panel — With Openings |
❌ FAIL |
2026-04-15 |
— |
71 |
Draw Panel — With Chamfers |
❌ FAIL |
2026-04-15 |
— |
72 |
Draw Panel — With Feature Strip |
❌ FAIL |
2026-04-15 |
— |
73 |
Draw Panel — With Weld Connections |
❌ FAIL |
2026-04-15 |
— |
74 |
Draw Panel — With Base Plate |
❌ FAIL |
2026-04-15 |
— |
75 |
Draw Site — Grid + Wall + Slab |
🔲 |
||
76 |
Draw Site — Attach Panels |
🔲 |
Warning
Tests 69–74 scored FAIL: TB11 produces 97 entities vs 350 in the restored golden baseline (28%). The prior “447/447 PASS” was invalid — the golden was exported from a mangled CSB001.dwg that had been overwritten by repeated drawpan runs. TB11 produces the 3D geometry (solids, extrusions, hardware) but is missing ALL dimension annotations, ALL hatches, ALL block-insert annotations, and ALL ATTRIBs. The finpan/drawdim annotation pipeline is the primary gap. Tests 75–76 (site drawing) are not yet tested.
Phase 6: Print & Output (G6)¶
Test |
Description |
Status |
Date |
Bug # |
|---|---|---|---|---|
77 |
Print Panel All Layers |
🔲 |
||
78 |
Print Panel Layer Presets (5×) |
🔲 |
||
79 |
Print Site Select Layouts |
🔲 |
||
80 |
Materials List Print |
🔲 |
Phase 7: Error Handling¶
Test |
Description |
Status |
Date |
Bug # |
|---|---|---|---|---|
81 |
All Dialogs — Cancel Behavior |
🔲 |
||
82 |
All Dialogs — Invalid Input |
🔲 |
||
83 |
Module Load — Missing File |
🔲 |
||
84 |
Cross-Document Drawing Switch |
🔲 |
||
85 |
New Project Overwrite Guard |
🔲 |
||
86 |
SFSP Verification |
🔲 |
||
87 |
Debug Log Verification |
🔲 |
||
88 |
Error Handler error Function |
🔲 |
Phase 8: PB11-Specific Behaviors¶
Test |
Description |
Status |
Date |
Bug # |
|---|---|---|---|---|
89 |
CSVDIR / CSVVER / PJDIR Globals |
🔲 |
||
90 |
PROGCONT State Per Menu Item |
🔲 |
||
91 |
DCL Dialog Handle Loading |
🔲 |
||
92 |
Plotter List Population |
🔲 |
Section 12: Parity Completion Summary¶
Total tests defined: 92 (Tests 1–92) DEFERRED: 4 (Registration, Help, About, Progress) BLOCKED: 12 (10 MISSING dialogs + 3 unknown site operations, minus 1 overlap)
Testable now: 92 − 4 DEFERRED = 88 tests executable
Gate Completion Formula¶
$$\text{Parity %} = \frac{\text{PASS} + \text{PARTIAL}}{\text{Total} - \text{DEFERRED} - \text{BLOCKED}} \times 100$$
Denominator (testable): 92 − 4 − 12 = 76 tests
Parity achieved when:
$\frac{\text{PASS} + \text{PARTIAL}}{76} \geq 95%$ (≥ 73 of 76 tests pass)
Zero FAIL results in Phase 1 (menu routing — G1)
Zero FAIL results in Phase 4 (XRecord compatibility — G4)
All FAIL results in other phases have bugs filed in doc 32 with DFMEA linkage
All BLOCKED items documented in Section 10 with reconstruction priority
DFMEA Cross-Reference¶
Test Range |
Risk Area |
Existing DFMEA |
New DFMEA Needed |
|---|---|---|---|
1–26 |
Menu routing |
DFMEA-001 through DFMEA-035 |
— |
27–40 |
Dialog appearance |
DFMEA-010 (dialog load) |
DFMEA-036: sub-dialog load failure |
41–42 |
Hub routing |
DFMEA-003 (progcont mismatch) |
DFMEA-037: hub button dead-end |
53–64 |
Data persistence |
DFMEA-020 (XRecord) |
DFMEA-038: cross-dialog data loss |
65–68 |
XRecord compat |
— |
DFMEA-039: PB11↔TB11 format incompatibility |
69–76 |
Drawing ops |
DFMEA-025 (draw failure) |
DFMEA-040: geometry dimension mismatch |
77–80 |
DFMEA-030 (print) |
— |
|
81–88 |
Error handling |
DFMEA-019 (silent failure) |
DFMEA-041: unhandled edge case crash |
89–92 |
PB11 behaviors |
— |
DFMEA-042: runtime state divergence |
Appendix A: Progcont Encoding Reference¶
TB11 uses named constants (*pc-edit-current*, *pc-new-drawing*, etc.) defined in csvconst.lsp. PB11 uses raw bitmask values. The encoding pattern:
$$\text{progcont} = 2^{18} + \text{PB11_bitmask} + 1$$
Where $2^{18} = 262144$ is the “menu-sourced” flag.
PB11 Bitmask |
+ 262144 + 1 |
TB11 progcont |
Named Constant |
|---|---|---|---|
0 |
262145 |
262145 |
|
8 |
262153 |
262153 |
|
16 |
262161 |
262161 |
|
32 |
262177 |
262177 |
|
64 |
262209 |
262209 |
|
128 |
262273 |
262273 |
|
256 |
262401 |
262401 |
|
320 |
262465 |
262465 |
|
512 |
262657 |
262657 |
|
1024 |
263169 |
263169 |
|
2048 |
264193 |
264193 |
|
8192 |
— |
8193 |
|
— |
— |
1 |
|
— |
— |
524289 |
|
Appendix B: Extracted PB11 DCL File Locations¶
All PB11 dialog definitions extracted from VLX as plain text:
reports/vlx-analysis/dcl-extracted/PB11-v11/individual-dialogs/
├── bp_dlg.dcl (1,584 B)
├── bo_dlg.dcl (11,803 B)
├── bu_dlg.dcl (2,292 B)
├── ch_dlg.dcl (1,770 B)
├── dl_dlg.dcl (1,428 B)
├── dr_dlg.dcl (5,637 B)
├── dwg_dlg.dcl (409 B)
├── ee_dlg.dcl (4,976 B)
├── fs_dlg.dcl (3,283 B)
├── ftconn.dcl (463 B)
├── gl_dlg.dcl (6,671 B)
├── global.dcl (640 B)
├── invar.dcl (1,316 B)
├── lt_dlg.dcl (10,950 B)
├── md_dlg.dcl (1,925 B)
├── mp_dlg.dcl (5,456 B)
├── ms_dlg.dcl (1,625 B)
├── np_dlg.dcl (801 B)
├── page_2.dcl (4,216 B)
├── pass_dlg.dcl (121 B)
├── pl_dlg.dcl (3,063 B)
├── play.dcl (288 B)
├── pltr.dcl (530 B)
├── pp_dlg.dcl (1,655 B)
├── progress.dcl (145 B)
├── rc_dlg.dcl (7,643 B)
├── revision.dcl (1,101 B)
├── sc_dlg.dcl (7,651 B)
├── sd_dlg.dcl (4,044 B)
├── sl_dlg.dcl (7,791 B)
├── slope_dlg.dcl (700 B)
├── so_dlg.dcl (7,557 B)
├── tc_dlg.dcl (7,650 B)
├── warning.dcl (169 B)
├── wc_dlg.dcl (6,361 B)
└── wl_dlg.dcl (8,485 B)
These are the authoritative UI specification for PB11. Every field key, label, layout constraint, and button in these files defines what TB11 must replicate.