Skip to content

Comments

[Hotfix Main]: [FXC-5592] Results model for (TimeAveraging)ForceDistributionOutput#1818

Merged
piotrkluba merged 2 commits intomainfrom
hotfix-main-pr1817
Feb 18, 2026
Merged

[Hotfix Main]: [FXC-5592] Results model for (TimeAveraging)ForceDistributionOutput#1818
piotrkluba merged 2 commits intomainfrom
hotfix-main-pr1817

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Feb 18, 2026

Hotfix of PR #1817 (#1817) to the main branch.
Hey @piotrkluba, please review this hotfix PR created from your original PR.

⚠️ Note: This PR had conflicts with the base branch and was resolved automatically. Please review the changes carefully.


Note

Medium Risk
Touches core results discovery/downloading and parsing logic, so regressions could affect existing monitor/UDD/custom-force result access and downloads.

Overview
Adds first-class support for ForceDistributionOutput/TimeAverageForceDistributionOutput results: introduces a generic NamedResultsCollectionModel and migrates MonitorsResultModel, UserDefinedDynamicsResultModel, and CustomForceResultModel to use it, while adding a new ForceDistributionsResultModel that discovers *_forceDistribution.csv files and exposes per-output access + bulk download.

Extends Case/SimulationParams and the case results downloader to detect and optionally download these force-distribution results, adds parsing for both incremental and cumulative force/moment distributions (new output field constants, normal_direction axis, and CustomForceDistributionResultCSVModel), and adds validation/tests to reserve the names X_slicing/Y_slicing plus new test fixtures/mocked API responses for the new result files.

Written by Cursor Bugbot for commit a6cc3c8. This will update automatically on new commits. Configure here.

@piotrkluba piotrkluba marked this pull request as ready for review February 18, 2026 16:56
@piotrkluba piotrkluba enabled auto-merge (squash) February 18, 2026 16:58
@piotrkluba piotrkluba merged commit bc0bf5a into main Feb 18, 2026
33 checks passed
@piotrkluba piotrkluba deleted the hotfix-main-pr1817 branch February 18, 2026 17:05
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

for h in headers
):
self._variables = list(self._VARIABLES_CUMULATIVE)
self._filter_when_zero = list(self._VARIABLES_CUMULATIVE)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Vacuous truth silently defaults to cumulative on empty data

Low Severity

In CustomForceDistributionResultCSVModel._preprocess, when self._values is falsy (e.g., None or empty dict {}), headers becomes an empty set. Python's all() on an empty iterable returns True (vacuous truth), so the method silently classifies the data as cumulative and sets _variables and _filter_when_zero to cumulative values without any actual evidence from the data. This bypasses the Flow360NotImplementedError that the else branch is designed to raise for unrecognized data, potentially masking issues during debugging.

Fix in Cursor Fix in Web

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant