스타일 아키텍처 리팩토링 및 레이아웃 노드(Stack, Group) 구현#17
Merged
Conversation
기존의 selectedNode에서 selectedDepthPath로 상태 변경 완료
동일 depth에 있는 노드가 아닌 container노드와 같이 깊이가 있는 노드 트리에서 하위의 노드를 클릭하려면 순차적으로 상위 노드 부터 클릭하도록 강제하는 기능 구현 완료. 깊은 depth의 노드를 선택하려면 반드시 상위의 부모,조상 노드를 클릭한 path(내역)가 있어야한다.
canvas위젯 하위의 노드를 선택할때마다 clearNode가 발생하던 버그 해결. 이벤트 위임을 통해 근접한 상위 노드의 datase을 통해 canvas일 경우에만 clearNode가 실행되도록 수정 완료
단순히 그루핑만 할 수 있는 노드 초기 구현
기존 노드 렌더러 구조와 일치하지 않아서 수정
기존에 중복되던 노드 렌더러의 props 타입 구조를 수정함.
복잡하게 스타일의 카테고리를 나누던 레거시 제거. 기존 스타일 카테고리로직을 단순하게 수정하면서 관련된 카테고리 평탄화 로직 제거. 레이아웃 속성 필터링만 진행. 추후 Stack노드를 구현 할 예정에 따라서 기존의 Hero노드 제거 완료. DB 목데이터 마이그레이션 완료.
기존에 규칙과 일치하지 않던 노드 렌더러 컴포넌트 이름 수정. Nodes타입에 불필요하게 남아있던 Hero타입 제거 완료.
stack노드 렌더러 추가구현. 이때 stack노드의 다양한 상황에 알맞게 반응할 수 있도록 에디터 노드 래퍼 수정.
stack외부의 노드를 stack자식으로 변경하는 액션 구현 완료. 이때 새롭게 들어오는 노드의 style.position속성은 relative로 부여한다. 그리고 언제나 마지막 노드로 배치하도록 한다.
style객체 평탄화 과정에서 발생한 타입 불일치 문제 수정 완료.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📝 개요 (Summary)
이 PR은 프로젝트의 확장성과 유지보수성을 높이기 위해 스타일 데이터 구조를 전면 리팩토링하고, 이를 기반으로 Stack 및 Group 노드 시스템을 구현한 내용을 담고 있습니다. 기존의 중첩된 스타일 구조를 평탄화(Flatten)하여 코드 복잡도를 줄였으며, Framer/Figma와 유사한 레이아웃 동작을 지원하기 위한 기반을 마련했습니다.
🛠 주요 변경 사항 (Changes)
1. 스타일 아키텍처 단순화
2. 노드 시스템 개선 및 신규 노드 추가
3. 컴포넌트 및 인터랙션 최적화
🤔 변경 이유 (Why)