pesde 워크스페이스 실제 설치·검증(패키지명 하이픈 금지, workspace 의존성 문법, per-package pesde.lock), init.luau의 @self require 규칙(Luau RFC 확인), 워크스페이스 의존성이 심볼릭 링크라 luau CLI의 require-by-string과 충돌하는 함정을 base/project-setup-plan.md로 정리. architecture.md 패키징 방식 절도 같이 정정. Relate.luau/New()-InitXxx 골격/mock 하네스는 이 구조를 실제로 검증하는 과정에서 나온 최소 스캐폴딩. Co-authored-by: qwreey <me@qwreey.moe>
26 lines
707 B
Text
26 lines
707 B
Text
--[[
|
|
quad-base 최상위 진입점.
|
|
`.claude/base/architecture.md` 확정 결정 13 / `.claude/base/module-lifecycle-plan.md`
|
|
"New()의 내부 구성 — InitXxx 팩토리 체이닝" 절 그대로.
|
|
|
|
`require(quad-base)`는 이미 만들어진 기본 인스턴스 자체다 — 다중
|
|
인스턴스화가 필요한 드문 경우에만 반환값의 `.New()`를 명시적으로 호출.
|
|
]]
|
|
|
|
local InitDebug = require("@self/Debug")
|
|
|
|
type Quad = {
|
|
New: () -> Quad,
|
|
debug: boolean,
|
|
}
|
|
|
|
local function New(): Quad
|
|
local module = { New = New } :: Quad
|
|
|
|
InitDebug(module)
|
|
-- 서브시스템이 늘어날 때마다 이 자리에 InitXxx(module)를 순서 무관하게 추가
|
|
|
|
return module
|
|
end
|
|
|
|
return New()
|