01🧪Measure, Then Reuse
0/4 lessons가족이 만드는 Procreate가 브러시 엔진을 재보고 고른 다음, 바이트 하나 안 바꾸고 빌려온 이야기
Ariandel은 캔버스 옆에 피파가 있는 우리 가족만의 Procreate가 되려고 출발했어. 그리고 첫 번째 진짜 결정은 코드 한 줄이 아니라 측정이었지. 이 트랙은 그날 저녁을 따라가. 오픈소스 브러시 엔진 둘을 클론하고, 맥용과 아이패드용으로 빌드하고, 세어보고, 누가 뭘 기억하느냐가 아니라 컴파일러가 뭐라고 했느냐로 판정한 과정이야. 하나는 Swift 6 모드에서 에러 33개를 냈고, 다른 하나는 아이패드용으로 에러 없이 컴파일되면서 물감까지 섞었어. 그다음엔 그 결정이 바깥으로 번져가는 걸 봐. 앱이 엔진한테서 가져오는 것과 직접 가져야 하는 것, 그리고 레이어 하나짜리 스케치북이 왜 이정표일 뿐 제품은 아닌지. C 라이브러리 둘을 출처 파일과 그걸 증명하는 cmp 루프로 바이트 그대로 벤더링하는 법도 보고, config.h라는 파일 둘이 왜 절대 한 디렉터리에 같이 있으면 안 되는지도 봐. 마지막 건 직접 망가뜨려 보면서 배워. 경고 하나 없이 엉뚱한 값으로 컴파일되는 걸 눈으로 보게 될 거야. 설정 개수, iOS 컴파일, 바이트 대조까지, 다시 잴 수 있는 숫자는 이 트랙을 쓰면서 전부 다시 쟀어. 가는 길엔 라이선스 셋, 그리고 브러시 라이브러리 저작권 파일에 적힌 GPL이라는 글자가 보이는 그대로의 뜻이 아닌 이유도 나와.
Lesson list (4)
- 01작업대 위의 엔진 둘~14 min · evaluation, libmypaint, open-source, measurement
- 02엔진은 빌려 쓰고, 앱은 우리가 가져~13 min · architecture, boundaries, libmypaint, scope
- 03바이트 하나 안 바꾸고 들여오기~15 min · vendoring, swiftpm, provenance, c
- 04config.h가 두 개인 이유~15 min · c, swiftpm, header-search-path, licensing