[Hotfix 25.9]: [FXC-7096] Disable target_surface_node_count for beta mesher#2021
Merged
mikeparkflex merged 2 commits intoApr 30, 2026
Conversation
…mesher The beta surface mesher produces wildly oversized meshes when target_surface_node_count is set on multibody geometries (FXC-7096). The underlying mesher fix is too invasive for a hot-fix, so re-narrow the validator to GAI-only for 25.9. For backward compat with existing cases, the field is auto-stripped with a validation warning rather than rejected outright. Re-enable for the beta mesher in 25.10. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
benflexcompute
approved these changes
Apr 29, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Hot-fix for FXC-7096: the beta surface mesher produces wildly oversized meshes when
target_surface_node_countis set on multibody geometries (one customer log: 28 bodies × ~4M tris ≈ 121M tris when the user requested ~500K nodes). The underlying mesher fix is too invasive for the 25.9 RC.This PR re-narrows the validator gate back to GAI-only for 25.9 (reverting the widening from #1902 / FXC-5958). The field will be re-enabled for the beta mesher in 25.10 once the underlying mesher fix lands.
Backward compatibility
For existing cases that already have
target_surface_node_countset with the beta mesher, the validator now auto-strips with a warning rather than rejecting outright:use_geometry_AI: allowed (unchanged).is_beta_mesher(no GAI): emitadd_validation_warning(...)and returnNone— translator already no-ops onNone.ValueError(unchanged).Test renamed
test_beta_mesher_target_surface_node_count_set→test_beta_mesher_target_surface_node_count_strippedand assertions flipped to verify the strip + warning behaviour.Companion changes
v25_9codec/panel + Angular legacygetMeshingConfigV259/updateMeshingData): separate flex PR offmain.release-candidate/25.9Flow360 submodule SHA bump: handled separately.Test plan
pytest tests/simulation/translator/test_surface_meshing_translator.py— 25/25 pass, including the renamed_strippedtestblack --check,isort --check,pylint --enable=C0301clean on the two modified files/simplify— addressed docstring drift and over-paranoidwarnings is not Nonechecktarget_surface_node_count+ beta mesher, verify warning surfaces and the value is dropped from the translated JSON25.10 re-enable
Grep for
FXC-7096to find the temporary branch inensure_target_surface_node_count_mesher; remove theis_beta_mesherstrip-and-warn block and revert the test rename.🤖 Generated with Claude Code
Note
Medium Risk
Behavior changes for beta-mesher surface meshing: existing configs with
target_surface_node_countwill now be silently dropped (with a warning), which can change resulting mesh sizes. Scope is small and isolated to validation/tests, with legacy behavior unchanged.Overview
Disables
target_surface_node_countfor the beta surface mesher in 25.9: validation now strips the value and emits a warning unless Geometry AI is enabled, while the legacy mesher continues to raise aValueError.Updates the surface meshing translator test to assert the new strip-and-warn behavior and that
target_surface_node_countno longer appears in the translated JSON for beta-mesher runs.Reviewed by Cursor Bugbot for commit c5aa045. Bugbot is set up for automated code reviews on this repo. Configure here.