13 lines
3.9 KiB
JSON
13 lines
3.9 KiB
JSON
{
|
|
"command": ["node", "tools/mesh-business-cases.mjs"],
|
|
"build": {"tree": "freecad-source/build-web/configure", "target": "FreeCADWebMeshRuntimeProbe"},
|
|
"coveredIds": ["Mesh:mesh.createRecompute", "Mesh:mesh.saveReopen", "Mesh:mesh.importExport", "business-format:Mesh:export:.3mf", "business-format:Mesh:import:.3mf", "business-format:Mesh:export:.amf", "business-format:Mesh:import:.ast", "business-format:Mesh:import:.obj", "business-format:Mesh:import:.off", "business-format:Mesh:export:.ply", "business-format:Mesh:import:.ply"],
|
|
"plyScope": "Both PLY IDs share one parameterized triangle file roundtrip execution through mesh.importExport using native MeshIO APLY export and extension-based PLY loading, plus the existing facade. Assertions inspect actual ASCII PLY headers, vertex coordinates, face indices and winding, native restored coordinates, counts, area and invalid geometry recovery. Covers ASCII triangle file roundtrips only, not binary PLY, arbitrary external uploads or active document editing. Requires incremental rebuild of the declared Mesh runtime; coverage declaration is not acceptance.",
|
|
"offScope": "Parameterized OFF triangle file roundtrip through mesh.importExport using existing native MeshIO OFF writer and extension-based reader, then the existing facade. Cases inspect actual OFF header, counts, coordinates and face indices, native restored coordinates, winding, area, counts and invalid geometry recovery. Covers triangle file roundtrips only, not arbitrary external uploads or active document editing. Requires incremental rebuild of the declared Mesh runtime; coverage declaration is not acceptance.",
|
|
"objScope": "Parameterized OBJ triangle file roundtrip through mesh.importExport using existing native MeshIO OBJ writer and extension-based reader, then the existing facade. Cases check actual OBJ vertices and face indices, native restored coordinates, winding, area, counts and invalid geometry recovery. Covers triangle file roundtrips only, not arbitrary external uploads or active document editing. Requires incremental rebuild of the declared Mesh runtime; coverage declaration is not acceptance.",
|
|
"astScope": "Parameterized ASCII STL (.ast) file roundtrip using native MeshIO ASTL and extension-based loading. Cases inspect actual ASCII bytes, imported coordinates, winding, area, counts, facade results and invalid geometry recovery. This covers triangle file roundtrips only, not arbitrary external file upload or active document editing. Requires rebuilding the declared Mesh runtime; coverage declaration is not acceptance.",
|
|
"amfScope": "AMF export uses the existing public WASM mesh.importExport input contract. Cases require invalid-geometry rejection and parse actual exported AMF XML (optionally ZIP compressed) with Python 3 ElementTree to check varying coordinates, winding, triangle indices and byte count. Unsupported format responses fail; coverage declaration is not acceptance. No current-document or browser UI coverage is claimed.",
|
|
"dependencies": ["web/src/mesh-facade.ts", "web/src/mesh-persistence-facade.ts", "web/src/mesh-io-facade.ts", "web/src/facade-envelope.ts", "web/src/mesh.worker.ts", "tools/mesh-business-cases.mjs", "tools/wasm-probe-runtime.mjs", "freecad-source/src/WebAssembly/FreeCADCoreProbe/MeshRuntimeProbe.cpp", "freecad-source/src/Mod/Mesh/App/Core/Functional.h"],
|
|
"scope": "Facade queue to public WASM: temporary native Mesh::Feature triangle creation/recompute and parameterized STL file roundtrips with varying coordinates, native restored areas and invalid geometry recovery; FCStd fixture regression only. The two 3MF IDs share direct public WASM file-roundtrip assertions for varying coordinates, winding, restored area and invalid geometry recovery. These assertions expose the current STL-only native contract as a failure, not accepted 3MF support. Does not cover active document editing, general meshes or browser UI."
|
|
}
|