-
Notifications
You must be signed in to change notification settings - Fork 0
Reimplement transformation, handle Meta Nodes interrupting vertex grouping #2
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
Conversation
5d40fac to
65c2838
Compare
1c7da63 to
8c66882
Compare
76c858c to
92f767b
Compare
25fbfea to
f8fe8dd
Compare
57416e3 to
fd3e7aa
Compare
VertexTree Transformation RoadmapThis roadmap outlines the transition from the existing BeforeThis update improves the way After: New Transformation LogicThe transformation proceeds through several clearly defined stages: 1. Input & Parsing
2. Name & Group Preparation
3. Filtering & Movement
4. Renaming & Updating
5. Final Output
After MergingTo be implemented in future PRs:
|
0e7fea4 to
a65275a
Compare
5d4121d to
39303ef
Compare
39303ef to
0beadd1
Compare
- Strongly type VertexTreeEntry: - CommentEntry now holds InternalComment instead of Node - MetaEntry now holds Object instead of Node - Added OtherNodeEntry for miscellaneous nodes
- Replace VertexTree chaining (tRest) with VertexForest map keyed by VertexTreeType - Introduce MetaMap and carry meta information alongside vertices - Remove VertexZipper and related navigation helpers - Simplify vertex grouping logic and add support for SupportTree merging - Improve vertex name handling and support vertex detection - Rework update/sort pipeline to operate on VertexForest - Update transform to work with new forest-based representation
- Added `createVertexForFirstNode` to safely extract and convert the first node into a vertex. - Introduced `toVertexTreeEntry` to convert nodes (vertices, metadata, comments) into `VertexTreeEntry`. - Updated `newVertexTree` to use these helpers, improving safety and readability.
2774d62 to
27b95d1
Compare
27b95d1 to
13985cb
Compare
Updated examle files to showcase how the recent changes to Transformation code affect jbeam. The major changes to transformation code are in #69 The changes to transformation which are related to this new example files are the following: - Transformation reimplemenation: before errors were handled less safely and meta groups interrupting vertex groups was not supported #2 - Transformation refactoring: split Transformation into different files and added improved how comments and metadata is handled when moving vertices #41 - Support vertex detection: implemented detection of support vertices and automatically moving them to their own tree #52 - Associate comments without newline before with prior node #56

This update improves the way jbeam_edit processes meta nodes (such as {"group":"..."}) that interrupt vertex groupings within .jbeam files. Previously, encountering these meta nodes resulted in an explicit error message indicating unsupported input, preventing further processing.
Key changes:
Example of the previous grouping logic being broken by meta nodes:
With this update, jbeam_edit properly handles such cases by treating meta nodes as separators, allowing vertices to be grouped and sorted correctly within their respective groups.