-
Notifications
You must be signed in to change notification settings - Fork 37
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
Add a feature tree representation to the "code" pane #4274
Comments
Note that the implementer of this should handle both operations that have their own named constant declaration, like this:
as well as operations that don't and are therefore "unnamed", like this:
|
Progress update with some questions for @Irev-Dev mostly I think, although if other team members have ideas I'm all ears:
Video walkthroughScreenshare.-.2024-11-05.2_25_20.PM-compressed.mp4 |
1.i I'm not sure, would have to look at the implementation. You using |
Yes that makes sense. I think it would be worth including the default planes in the artifact graph, and allowing persistent/non-transitory selection of them. Right now they're being treated too specially and I think having them as just-planes that happen to be always present seems more correct, and will help me not have to create special visibility state tracking behavior.
👍🏻 works for me
Yeah you're probably right, I'm not 100% sure but that kinda makes sense.
Hm I'd like to have some text label. I could easily putt
Maybe I should try a little PR for this behavior, but it is interesting: the need to present all the fillets as one "feature tree" item means that Fillet item is not a 1:1 mapping of the artifact graph, but actually more a representation of the operation of the fillet, that is to say of the AST or KCL code. I'm going to write a few more thoughts on what this thing even is conceptually |
It’s like a triangle of options:
1. same like othersin this case we would need following separate panes:
2. list representation of our code
3. Innovate3.1 resilient modelling strategyThis approach focuses on organization and naming. We could divide the pane into chapters: Reference, Core, Features, and Quarantine. And surpress all other features while creating a new one, which is a common modelling practice. Additionally, users could be prompted to name features explicitly, rather than leaving them as generic names like “extrude001,” to make the feature list easier to read and understand. 3.2 node view.Code often translates better into a node tree (visual programming) than a linear feature list. A feature list typically works for extrudes, revolves, fillets, etc., but code can do so much more. Regardless of the approach we take, we should keep in mind the possibility of adding a node view in the future. It would be beneficial to choose a path now that aligns with this potential direction. 4. ConclusionI would probably go for the path 1 for starters as pleasing the old CAD community it is our primary target for v1, and divide the pane into 4 foldable subsections: planes, variables, functions and feature list. (splitting them into 4 panes is even better as you might want to have access to them while working in the kcl editor) In this way we will avoid conflicts and the order will more or less reflect the logic of the code. Pipes = Folders |
What is it
An alternative view of the operations and outputs of the KCL file which shows the scene represented as a traditional "feature tree" found in traditional CAD applications.
How does it help users?
Requirements
Mock-ups
All mockups are in Figma, but a selection are exported as PNGs here for ease of reading:
Non-requirements, future work
Implementation hints
Related issues
The text was updated successfully, but these errors were encountered: