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

Point-and-click Loft #4605

Merged
merged 52 commits into from
Dec 4, 2024
Merged

Point-and-click Loft #4605

merged 52 commits into from
Dec 4, 2024

Conversation

pierremtb
Copy link
Collaborator

@pierremtb pierremtb commented Nov 28, 2024

Closes #4470

Hooks up the UI to the standard library function loft.

TODO:

  • Add point-and-click Loft from preselected sketches
  • Add ability to select sketches after entering the Loft point-and-click
  • Add a pw test for each
  • Thread about 'one or more'

Demo:

Screen.Recording.2024-12-03.at.3.20.35.PM.mov

Copy link

vercel bot commented Nov 28, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated (UTC)
modeling-app ✅ Ready (Inspect) Visit Preview Dec 4, 2024 9:56pm

Copy link

qa-wolf bot commented Nov 28, 2024

QA Wolf here! As you write new code it's important that your test coverage is keeping up.
Click here to request test coverage for this PR!

@pierremtb pierremtb changed the title WIP: Loft UI Point-and-click Loft Dec 1, 2024
Copy link
Collaborator

@franknoirot franknoirot left a comment

Choose a reason for hiding this comment

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

Still working locally for me after these changes, thank you!

Maybe you and I could ask @Irev-Dev how to make new entities like these able to be deleted; I can't delete a loft via point-and-click and I had the same issue with my offset planes PR. Another PR though


await test.step(`Go through the command bar flow with preselected sketches`, async () => {
await toolbar.loftButton.click()
await cmdBar.progressCmdBar()
Copy link
Collaborator

Choose a reason for hiding this comment

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

After discussing elsewhere, we're going to leave this (and the skip logic) until we can put in a small refactor PR to let validation be configurable as a callback on the selection. Then we'll come back, use that callback so that it only skips if there are >2 sketches in the selection

return err(nodeFromPath) ? [] : nodeFromPath.node
})

// TODO: add better validation on selection
Copy link
Collaborator

Choose a reason for hiding this comment

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

[comment] I think you could use your new canLoftSelection here if you want additional validation

@pierremtb
Copy link
Collaborator Author

Maybe you and I could ask @Irev-Dev how to make new entities like these able to be deleted; I can't delete a loft via point-and-click and I had the same issue with my offset planes PR. Another PR though

Was thinking the same this morning @franknoirot, created #4662

@pierremtb pierremtb merged commit 417d720 into main Dec 4, 2024
26 checks passed
@pierremtb pierremtb deleted the pierremtb/issue4470-loft-ui branch December 4, 2024 22:24
jessfraz pushed a commit that referenced this pull request Dec 5, 2024
* WIP: experimenting with Loft UI
Relates to #4470

* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)

* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)

* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)

* Add selection guard

* Working loft for two sketches in the right hardcoded order

* First pass at handling more than 2 sketches

* WIP selections

* WIP selections

* More checks

* Appends the loft line after the 'last' sketch in the code

* Clean up

* Enable multiple selections after the button click

* First point-click loft test (not working locally, loft gets inserted at the wrong place)

* Lint

* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)

* Clean up and working pw test

* Add test for doesSceneHaveSweepableSketch with count = 2

* Clean up loftSketches function

* Add pw test for preselected sketches

* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)

* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)

* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)

* Trigger CI

* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)

* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)

* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)

* Move to fromPromise-based Actor

* Move error logic out of loftSketches, fix pw tests

* Remove comments

* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)

* Trigger CI

* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)

* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)

* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)

* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)

* Trigger CI

* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)

* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)

* Fix typo

* Revert snapshots

* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)

* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)

* Trigger CI

* A snapshot a day keeps the bugs away! 📷🐛 (OS: ubuntu-latest-8-cores)

* A snapshot a day keeps the bugs away! 📷🐛 (OS: windows-latest-8-cores)

* Trigger CI

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Loft point-and-click UI
2 participants