# POC experiment results

Run date: 2026-09-14. See [run instructions](../전처리/README.md), [design/generalization notes](../전처리/DESIGN_NOTES.md), and the [source POC](https://onepredict.atlassian.net/wiki/spaces/TD1/pages/3275522074/POC).

Open the [processed-data gallery](../data_processed/index.html). Every one of the **20 processed NPZ files** has a colocated PNG preview and a gallery entry: two image datasets, four voxel datasets, three point datasets, seven CAD graphs, one B-Rep, one tabular dataset and two run-level CAD–PLY target scaffolds. Raw arrays, masks and metadata are linked alongside the previews.

## Intended thermal-process target

The intended inference is **STEP design + XLS process values → CAD-node defect-risk segmentation + deformation field**. During dataset construction, the fused `all_merge_pointcloud_full.ply` is registered to the STEP-derived surface and provides post-process shape residuals; it is an outcome, not a pre-process model input. The defect CSV point becomes a seed. Because its W/H fields are empty, the 5/10/20 mm geodesic area masks are explicitly weak assumed labels rather than observed defect shape.

The [paired viewer](../data_processed/paired/index.html) shows the upper/lower 17-zone heater matrix, provisional heater overlays, top-minus-bottom temperature, registered PLY residual and defect area of interest for both runs. Internal missing heater values are linearly interpolated only between valid neighboring zone numbers and marked with `*`; original NaNs and imputation masks remain in the NPZ. Heater zones are provisionally ordered uniformly along CAD X because physical zone footprints were not supplied. That projection is marked invalid for training. The 16:00 reflection transform is also diagnostic only; a sensor-axis convention or proper determinant +1 rigid registration must be confirmed.

## CAD graph resolution

Original tessellation: **332,479 unique vertices, 663,715 triangles**. Distances below use 20,000 deterministic area-uniform source-surface samples queried against simplified triangles. These are sampled errors, not an exact Hausdorff bound.

| Requested nodes | Actual nodes | Source → graph P95 (mm) | Sampled maximum (mm) | Surface area change | Components |
|---:|---:|---:|---:|---:|---:|
| 12,000 | 11,956 | 0.075 | 0.704 | +0.17% | 2 |
| 6,000 | 5,925 | 0.252 | 1.534 | −0.23% | 2 |
| 3,000 | 2,906 | 0.613 | 3.485 | −2.70% | 2 |
| 1,500 | 1,393 | 1.488 | 8.930 | −7.26% | 2 |
| 750 | 634 | 3.552 | 15.427 | −14.27% | 2 |
| 300 | 329 | 20.535 | 34.881 | −47.92% | 1 |
| 100 | 329 | 20.535 | 34.881 | −47.92% | 1 |

The 300- and 100-node requests reached the same **329-node QEM floor**, confirmed by a minimum-triangle-target probe. They are not 300- or 100-node graphs. This coarse shape loses substantial area and one connected component. The 2,906-node graph is a useful intermediate comparison, but its error is not automatically acceptable for small-defect localization. Choose resolution against the smallest feature/defect and validated tolerance; local worst-case errors matter.

[Interactive graph viewer](graphs/viewer.html) · [comparison figure](graphs/comparison.png) · [full graph metrics](../data_processed/graphs/index.json)

## Image, point and voxel representations

- Images: six orthographic directions at 128² and 256², **17 channels** plus channel-validity masks, source triangle IDs and barycentric coordinates. CAD-wide FOV is 966.326 mm; 256² gives **3.790 mm/pixel**. Local patches/higher resolution are needed for smaller features.
- Independent reconstruction check: maximum pixel-to-surface arithmetic error **0.000259 mm**. This verifies stored correspondence consistency; it is not scanner calibration accuracy.
- Analytic curvature is known at **6.7–38.2%** of visible 256² pixels, depending on view. Unknown curvature is masked, not labeled flat or low risk. Depth/normals and boundary cues are available separately.
- CAD points: **8,192** deterministic area-uniform surface samples. Each scan has a separate **8,192-point** diagnostic representation in its native frame.
- Sparse surface voxels: **403 / 1,712 / 8,121** occupied cells at longest-axis resolutions **32 / 64 / 128**. Isotropic pitches are **29.606 / 14.803 / 7.401 mm**. The source is not watertight; these are sampled surface cells, not solid occupancy or material thickness.
- Tabular data: two runs, 50 process channels and six CAD summary features. Two process values per run are missing and explicitly masked.

[Six-view channels](representations/six_view_depth_curvature_256.png) · [channel contact sheet](representations/feature_channel_contact_sheet.png) · [voxel comparison](representations/sparse_voxel_resolutions.png) · [point comparison](representations/point_sample_comparison.png) · [independent checks](representation_review.json)

## Model execution versus prediction

The STEP B-Rep contains **6,564 faces**, sampled on trimmed 8×8 UV grids, with **36,090 directed face-adjacency edges** from actual shared kernel topology. UV sampling, normals and curvature each have explicit validity masks; 59 narrow/trimmed faces have no valid grid samples at this resolution. These are not zero-valued physical observations.

The model report is [results/models/report.json](models/report.json). It records actual-input forward/backward execution, node/face/point counts, process inputs, timing and parameter counts. Synthetic checkpoints/optimization are explicitly separated. The model README lists implementation scope and optional backend availability.

The [model input and fusion dashboard](models/dashboard/index.html) visualizes each transformed input and the exact or proposed path by which the 50-channel XLS process vector joins its geometry encoder.

The [common-CAD prediction comparison](models/cad_predictions/index.html) displays every feasible model's weak-trained risk field on the same 11,956 CAD nodes, camera and 0–1 scale. Mapping coverage and training-set AP/IoU/Dice are shown; Sparse U-Net remains unavailable without MinkowskiEngine.

Nineteen real-input forward/backward checks passed across the available model families. The optional Sparse U-Net backend is unavailable in this Mac environment. Thirteen small synthetic learning checks and one synthetic constrained Bayesian-optimization example are recorded separately; they do not measure performance on these production runs.

No real accuracy or production condition recommendation is available: one CAD design and two unvalidated production runs cannot establish these. No thermal, stress or material-thickness targets were supplied. Current real `training_valid` masks remain false.

The requested [weak-label GNN diagnostic](models/weak_gnn/index.html) trains CAD-node risk, signed normal deformation and deformation magnitude on the two supplied runs. Its threshold IoU/Dice are training-set diagnostics and do not report held-out accuracy. Both defect labels are `찍힘`, so the defect-type head is implemented but type classification is unavailable with the current data. The model enforces `deformation magnitude ≥ |signed normal deformation|` and uses graph smoothness as a soft prior. Governing heat-transfer and thermo-mechanical residuals require material properties, heater geometry/time histories, sheet thickness, tooling/contact and boundary conditions.

A GNN can structurally process a newly generated CAD graph; held-out revisions/design families are needed to demonstrate accurate transfer. Image curvature is a geometric cue, not a stress label. See the [detailed discussion and primary references](../전처리/DESIGN_NOTES.md).
