liuyibo/thingi10k-wmtk-simplification
Thingi10K simplified by qslim and shortest edge collapse Simplified versions of all 10,000 Thingi10K models produced with the wildmeshing-toolkit components qslim and shortest_edge_collapse, at target_rel = 0.1 (keep 10 % of the input vertices). Generated on 2026-10-06/07 with wmtk_app built from upstream commit 76396a0a89. The driver and the checking scripts are in the code repository (run_component_sweep.py, verify_results.py) and the full analysis is in… See the full description on the dataset page: https://huggingface.co/datasets/liuyibo/thingi10k-wmtk-simplification.
Thingi10K simplified by qslim and shortest edge collapse
Simplified versions of all 10,000 Thingi10K models produced with the wildmeshing-toolkit components qslim and shortest_edge_collapse, at target_rel = 0.1 (keep 10 % of the input vertices).
Generated on 2026-10-06/07 with wmtk_app built from upstream commit 76396a0a89. The driver and the checking scripts are in the code repository (run_component_sweep.py, verify_results.py) and the full analysis is in report/thingi10k_qslim_sec.md.
Contents
Each archive unpacks to <run>/success/<model_id>/ with, per model:
config.json— the exact spec the component was called with<model_id>.out.obj— the simplified meshreport.json— component report (qslim only; shortest edge collapse writes none)console.log,run.log,wall_sec— logs and wall-clock time
8 models fail in every run; they are in <run>/failure/<model_id>/ with a reason file. These are input defects, not algorithm failures (malformed OBJ normals, STL with no faces, one truncated STL).
How it was generated
python3 run_component_sweep.py --application qslim \
--input-dir <thingi10k>/raw_meshes --out runs/qslim \
--threads 4 --parallel 24 --timeout 600
python3 run_component_sweep.py --application shortest_edge_collapse \
--input-dir <thingi10k>/raw_meshes --out runs/sec_dedup \
--threads 4 --parallel 24 --timeout 600 \
--param remove_duplicate_eps=1e-5
python3 run_component_sweep.py --application shortest_edge_collapse \
--input-dir <thingi10k>/raw_meshes --out runs/sec_nolink \
--threads 4 --parallel 24 --timeout 600 \
--param remove_duplicate_eps=1e-5 --param use_link_condition=falseNumbers
Reached the target vertex count (out of 9992 successful models, recovered from the run logs):
Full verification over 19,984 outputs (qslim + sec_dedup): 18,182 reached the target, 2,007 outputs contain non-manifold edges.
Known caveats
- A shortest edge collapse run with default parameters is useless on STL. With
remove_duplicate_eps=-1(the default) the STL is loaded as a triangle soup and no edge can be collapsed, so the output equals the input. That run is not included here;summaries/sec_default_summary.csvdocuments it. - Heavily non-manifold inputs stall both components when the link condition is on (e.g. model 51351 stays at 8,700 vertices). Turning
use_link_condition=falsefixes those but produces non-manifold outputs (11 % → 68 % of sampled outputs). - The stop rule is purely count-based: it stops after
V0 − target − 1successful collapses. There is no error/quality threshold, and a run that cannot reach the target still exits 0 unlessthrow_on_fail=true. - The bounding-box column in
verification/is computed over all vertices written to the OBJ, including slots the writer left unused; extreme ratios there are a measurement artifact, not real deformation. Use the Chamfer numbers in the report for shape fidelity (typically ~0.005 of the model size).
Licence
The models are derived from Thingi10K; each retains the licence of its original Thingiverse upload. Check the source model's licence before any commercial use.
