Rust 트리 코어 검증 기록
검증일: 2026-09-28 · 대상: spinon-core 내부 Rust 라이브러리 · 제품 화면 완료: 아님
환경
실행 결과
확인한 동작
- 기준 revision 검사와 빈 묶음의 revision 보존
- 여러 노드 생성·삽입·텍스트 변경을 한 revision으로 확정
- 잘못된 작업·순환 이동·미연결 노드·revision 범위 초과 시 원본 트리와 revision 보존
- 실패 위치의 0 기반 색인 보고와 미확정 ID의 재사용
- 커밋 성공 뒤 삭제된 ID와 같은 묶음에서 이미 생성·삭제한 ID의 재사용 거부
- 이동 후 자식 순서, 하위 트리 삭제 결과, 0 ID와 잘못된 태그 거부
적대적 검토 5회
- ID·revision 계약을 대조해 성공한 삭제 ID와 같은 묶음에서 생성·삭제된 ID가 재사용되지 않게 하고 회귀 테스트를 추가했습니다.
- root 하나, 도달 가능성, 부모·자식 연결, 순환 금지를 확인하고 root 중복·삽입 순환·이동 순환 사례를 테스트했습니다.
- 작업 오류·오래된 기준 revision·revision 초과가 기존 트리와 revision을 보존하는지 검사했습니다.
- 커밋 후보 복사가 과거 ID 전체 집합까지 매번 복사하던 비용을 발견해 활성 노드만 복사하도록 바꿨습니다. ID 기록 메모리는 Tree 수명 동안 계속 증가하는 제약으로 남기고, 성능 주장은 하지 않았습니다.
- core·FFI 모듈 경계, 예제, 명세·상태 링크와 미지원 범위를 확인했습니다. R03 이벤트 의미와 R06 V8/UI 수명·스레드 위험은 열린 상태로 남겼습니다.
범위 제한
이 검증은 Mac에서 Rust API를 실행한 결과입니다. Android/iOS 앱 연결이나 iOS 실기기 실행, C ABI·V8 연동, GPU·레이아웃·이벤트·접근성, 동시 호출과 성능은 검증하지 않았습니다. 성공 전에 활성 노드 상태를 복사하는 초기 원자성 구현이고, ID tombstone 저장소는 트리 수명에서 생성한 ID만큼 증가합니다. 성능 특성을 주장하지 않습니다.