From 1cd7aaed4e47725e38f85e2f8fcc0f1a5b509ef6 Mon Sep 17 00:00:00 2001 From: Hakan Seven Date: Fri, 26 Jun 2026 23:39:43 +0300 Subject: [PATCH] refactor: move parallel tessellation fns into scene/convert/ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit scene/tess.rs held the free parallel-tessellation functions (tessellate_entity, lod_stub_wire, entity_aabb, …) that the giant-file split had left at the scene root. They belong with the rest of the tessellation code, so move the file to scene/convert/tess.rs alongside tessellate.rs / tess_util.rs and re-point the re-export. Leaves the scene/ root as a consistent set of `impl Scene` method groups; the free-function outlier is gone. Co-Authored-By: Claude Opus 4.8 --- src/scene/convert/mod.rs | 1 + src/scene/{ => convert}/tess.rs | 2 +- src/scene/mod.rs | 8 ++++---- 3 files changed, 6 insertions(+), 5 deletions(-) rename src/scene/{ => convert}/tess.rs (99%) diff --git a/src/scene/convert/mod.rs b/src/scene/convert/mod.rs index 71c96cf35..9f8c7a434 100644 --- a/src/scene/convert/mod.rs +++ b/src/scene/convert/mod.rs @@ -18,6 +18,7 @@ pub mod acis_to_truck { } pub mod truck_tess; pub mod tessellate; +pub(crate) mod tess; pub mod tess_util; pub mod solid3d_tess; pub mod spline_tess; diff --git a/src/scene/tess.rs b/src/scene/convert/tess.rs similarity index 99% rename from src/scene/tess.rs rename to src/scene/convert/tess.rs index ebaa223ca..4a4a49aba 100644 --- a/src/scene/tess.rs +++ b/src/scene/convert/tess.rs @@ -1,5 +1,5 @@ // Auto-split from scene/mod.rs. Pure text-move; behaviour unchanged. -use super::*; +use super::super::*; // ── Parallel tessellation free function ────────────────────────────────────── // diff --git a/src/scene/mod.rs b/src/scene/mod.rs index 216290a44..c6dc00dab 100644 --- a/src/scene/mod.rs +++ b/src/scene/mod.rs @@ -25,11 +25,11 @@ mod paper; mod preview; mod project; mod selection; -mod tess; -// Free functions moved into `tess` but still referenced unqualified by this -// root and by sibling topic modules (each does `use super::*`). -pub(crate) use tess::{ +// Parallel tessellation free functions live in `convert::tess` (alongside the +// other tessellation code); re-exported here so this root and sibling topic +// modules (each does `use super::*`) keep referencing them unqualified. +pub(crate) use convert::tess::{ entity_aabb, entity_world_aabb_f64, is_unindexable_entity, tessellate_entity, tessellate_entity_dim_text, };