Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Partial fix Freeze #12856

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open

Partial fix Freeze #12856

wants to merge 5 commits into from

Conversation

FlachyJoe
Copy link
Contributor

@FlachyJoe FlachyJoe commented Mar 10, 2024

Fix #12829

Ping @maxwxyz

  • Frozen state does not persist on save and opening a file. If I freeze an object, alter it and save it, the alteration is not displayed. When reopening, the modified object is visible and the object is not frozen anymore (recompute at opening). The last modification before closing is now irreversible and lost, although the object was frozen and shouln't be altered.
    a 'freezed' object now prevent the document to be saved.

  • If a PartDesign body is frozen, all nested features can be changed and alter the frozen body.
    linked objects are 'freezed' / 'unfreezed' when the state changes

  • A frozen body can be chamfered in the PartWB. After that it cannot be unfrozen again.
    Part_Chamfer create a new ('unfreezed') object, the nested Body is still 'freezed' and 'unfreezable'

  • A frozen sketch can be activated but is displayed empty in the Sketcher WB

  • The visibility eye icon does not change its state when clicked but the visibillity in the 3D view is toggled (reproduced with a nested sketch in a PartDesign Pad feature)
    Also reproduceable with nested object which are frozen inside of a group (e.g. walls in an arch group)

  • Frozen command does not register with undo/redo
    It acts on the object state not on a property. The object is not modified. Not sure it's needed

  • If you use a part of a frozen object to create a new feature it throws an error (tried to pad a face of the frozen feature: Index out of bound)
    Can not reproduce

  • If you undo and redo and the body is frozen, all redone features are now outside of the body and cannot be moved inside of the body

  • You can edit frozen features (e.g. draft objects). They wont change but the edit is permanent. On unfreezing, the edit will be applied.

  • Transform commands move the object, even when frozen. When using Draft WB move, they don't move

  • Placement command moves the frozen object.

  • Non-reversable operations could be applied to frozen objects (e.g. smooth a frozen mesh). If this is done by accident it is not noticed, as there is no feedback to the user. If the mesh is later unfrozen, the smoothed, decimated shape is visible.

  • The freeze icon is not optimal. It covers the entire icon of the feature, body or object. It is not clear if you want to unfreeze something if this is a body or part container, a spreadsheet or PartDesign features. Maybe it can also be combined with the eye icon as the appearance of the object is frozen
    Fixed
    image

  • Could it be placed in the context menu section at the bottom, where "Mark to recompute" and "Recompute" is located, as I understand it's related to that?

  • Could it be renamed? I did not figure out what this is doing and had to look through the PRs.
    Proposals: Exclude from recompute, Lock current state,

  • Could it have a checkbox like "Active body" (at the top of the context menu), like: [ x ] Locked to see the current state in the context menu

@github-actions github-actions bot added the Core Issue or PR touches core sections (App, Gui, Base) of FreeCAD label Mar 10, 2024
src/Gui/CommandFeat.cpp Show resolved Hide resolved
@maxwxyz
Copy link
Collaborator

maxwxyz commented Mar 15, 2024

@FlachyJoe another approach which was brought up by @obelisk79 was to remove the additional snowflake icon and instead desaturate the original icon of the object and color it slightly blue/icy. Maybe the label text of the object could be greyed out as well.

@FlachyJoe
Copy link
Contributor Author

@maxwxyz I've currently no idea how to do this but if no one is in a hurry, I'll learn.

@maxwxyz
Copy link
Collaborator

maxwxyz commented Mar 16, 2024

@FlachyJoe did you change something else with the context menu? It renders always on the top edge of the screen, not on mouse location. Only in PD (own context menu) its at the cursor location.

@maxwxyz
Copy link
Collaborator

maxwxyz commented May 15, 2024

@FlachyJoe also here the heads up for the upcoming feature freeze. As there are a lot of open points, are you considering this a post 1.0 PR?

@FlachyJoe
Copy link
Contributor Author

@maxwxyz this is a bug fix not concerned by feature freeze but should be done before release, right?

@maxwxyz
Copy link
Collaborator

maxwxyz commented May 16, 2024

Yes

@FEA-eng
Copy link
Contributor

FEA-eng commented Jun 29, 2024

@FlachyJoe Will some of those fixes make it 1.0? It would be good to have the Freeze option available in Part Design, for instance.

@FlachyJoe
Copy link
Contributor Author

I'm not available to end this before release date. The current state with partial fix can be merged.

@FEA-eng
Copy link
Contributor

FEA-eng commented Jun 29, 2024

I'm not available to end this before release date. The current state with partial fix can be merged.

Sure, no need to fix all the issues at once. If this PR is good to go and fixes some of the issues, please undraft it so that it can be merged.

@FlachyJoe FlachyJoe marked this pull request as ready for review June 29, 2024 14:36
@FlachyJoe FlachyJoe changed the title [WIP] fix Freeze Partial fix Freeze Jun 29, 2024
@FlachyJoe FlachyJoe requested a review from maxwxyz June 30, 2024 09:04
Copy link
Member

@chennes chennes left a comment

Choose a reason for hiding this comment

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

Linter cleanup (no need to manually make these changes, I will merge them into the PR).

src/Gui/CommandFeat.cpp Outdated Show resolved Hide resolved
src/Gui/CommandFeat.cpp Outdated Show resolved Hide resolved
src/App/DocumentObject.cpp Outdated Show resolved Hide resolved
src/App/DocumentObject.cpp Outdated Show resolved Hide resolved
src/App/DocumentObject.cpp Outdated Show resolved Hide resolved
src/App/DocumentObject.cpp Outdated Show resolved Hide resolved
@chennes chennes added this to the Post 1.0 milestone Jul 8, 2024
@WandererFan WandererFan added the Post 1.0 Changes to be applied after 1.0 release label Jul 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Core Issue or PR touches core sections (App, Gui, Base) of FreeCAD Post 1.0 Changes to be applied after 1.0 release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Problem] UI/UX: Freeze function issues
5 participants