docs: 감사 3라운드 반영 — TweenBrand/isTween 위치는 Brand.luau (architecture 소스 트리, tween-plan 패키지 경계)
Co-authored-by: qwreey <me@qwreey.moe>
This commit is contained in:
parent
7a1c511c11
commit
c427c9c143
2 changed files with 4 additions and 3 deletions
|
|
@ -270,7 +270,7 @@ quad/
|
|||
│ ├── Tag.luau # 값 타입+immutable clone 체이닝(`Tag(...)`/`:Added`/`:Removed`/`:Contains`/`:Apply`/`Merged`/`:Names`) — 참조 카운트 Handler는 Dispatch/Tag.luau(아래), 엔진 호출은 주입된 addTag/removeTag(`base/tag-plan.md`)
|
||||
│ ├── Attribute.luau # 그룹 값 타입+API(`Attribute(store1, store2, ...)`/`Merged`/`:NameMap`, `Tag`와 동형) — Handler는 Dispatch/Attribute.luau(아래) (`base/attribute-plan.md`)
|
||||
│ ├── AttributeKey.luau # 단일 키 `AttributeKey<<T>>(name)` + 이름별 weak 캐시(동등성 보장) + 스칼라 편의 패밀리(String/Number/BooleanAttribute) — 엔진 고유 타입 패밀리(Color3Attribute류)만 백엔드 소속(`base/attribute-plan.md` "패키지 배치" 절, 2026-08-13 열네 번째 세션 재배치)
|
||||
│ ├── Tween.luau # 값 타입만(`Tween(opts)` 팩토리, `isTween`/`TweenBrand`) — 엔진 무관, 독립 Dispatch 핸들러 아님. 실제 애니메이션 처리는 quad-roblox Handlers/Property.luau 내부 분기(`base/tween-plan.md`, 2026-08-10 세션 재설계)
|
||||
│ ├── Tween.luau # 값 타입만(`Tween(opts)` 팩토리 — `TweenBrand`에 등록, 인스턴스와 `isTween`은 위 `Brand.luau`) — 엔진 무관, 독립 Dispatch 핸들러 아님. 실제 애니메이션 처리는 quad-roblox Handlers/Property.luau 내부 분기(`base/tween-plan.md`, 2026-08-10 세션 재설계)
|
||||
│ ├── Effect.luau # `Effect(fn, ...deps)` — deps 없으면 설치1회+leaf사망시 정리, 있으면 dep마다 약하게 등록(State/Source면 `:WeakSubscribe`, `Ref`면 `:WeakCallback`)해 재실행. **[2026-08-26 `H-107`]** 등록 클로저는 dep 종류별로 **둘**(`onRefFire`/`onStateFire` — 두 콜백 계약의 자리 수가 다르다), 강한 주인은 항상 `_deps`(`base/effect-plan.md`)
|
||||
│ ├── Slot.luau # [2026-08-24 `H-46`] 값 타입 본체 — 생성자(**[2026-08-27 Q2]** `Length`·`Offset`·`_baseObserver`를 여기서 만든다, 파괴는 `_destroyed`), 공개 CRUD, `:List`/`:Single`, `raw*` 세트, `wrapElement`/`unwrapElement`, `attachSlot` 3형제, `elementOwner`/`claimOwner`/`releaseOwner`, `dispose`, `Detach`/`KeyGone`(`base/slot-plan.md`). 다른 값 타입과 같은 대칭 — 아래 `Dispatch/Slot.luau`는 핸들러/부기만
|
||||
│ ├── Debug/init.luau # [2026-08-24 `H-47`] M1에서 **이미 커밋됨** — `InitDebug(module)`, `module.debug = false`(`base/project-setup-plan.md`)
|
||||
|
|
|
|||
|
|
@ -372,8 +372,9 @@ quad-roblox 레벨 편의 함수라 base 계약에 영향 없음.
|
|||
|
||||
## 패키지 경계 — `Tag`가 이미 밟은 것과 같은 분리 (2026-08-10 세션 확정)
|
||||
|
||||
- **quad-base**: `Tween.luau` — 값 타입(`Tween(opts)` 팩토리, `isTween`
|
||||
predicate/`TweenBrand` Brand)만. 엔진 무관.
|
||||
- **quad-base**: `Tween.luau` — 값 타입(`Tween(opts)` 팩토리)만. 엔진 무관.
|
||||
**[2026-08-28]** `TweenBrand` 인스턴스와 `isTween` 술어는 다른 브랜드와 같이
|
||||
`Brand.luau`에 산다(`base/architecture.md` 소스 트리) — 이 파일은 거기 등록만.
|
||||
- **quad-roblox**: `Handlers/Property.luau`(기존 프로퍼티 세팅 로직에
|
||||
`isTween` 분기 + 3-상태 릴레이션 저장 + override 정책 추가) +
|
||||
`Animate.luau`(편의 콤비네이터, 신규).
|
||||
|
|
|
|||
Loading…
Reference in a new issue