Dynamic Cosmetic Layout Projection for Rule Builder#215
Conversation
- Implement layout_transformer.js for geometric coordinate projection. - Add visual_layout_direction to useUIStore. - Update App.vue to use projectedNodes computed property for VueFlow. - Refactor node components to support isHorizontal prop override. - Guard Pinia mutations during cosmetic view mode.
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
- Apply Prettier formatting to App.vue, StartNode.vue, StopNode.vue, and layout_transformer.js. - Ensure all modified files conform to the project's style guide to resolve CI linting failure.
- Revert specific formatting changes in ConditionNode.vue, StopNode.vue, and layout_transformer.js to match the version of Prettier (2.7.1) used in CI. - Fixes persistent linting failures caused by local vs CI Prettier version mismatch.
Implemented a zero-side-effect layout transformation system for the rule builder canvas. This includes a mathematical projection layer that translates coordinates between Vertical and Horizontal orientations without mutating the persistent Pinia store. Key additions include the layout_transformer.js utility, UI store extensions for cosmetic state, and updates to all node components to support orientation-agnostic rendering.
PR created automatically by Jules for task 1719326131004882129 started by @Sendipad