@hatiolab/figure-model 0.3.1 โ 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -1
- package/dist/asset-types.d.ts +14 -4
- package/dist/asset-types.d.ts.map +1 -1
- package/dist/asset.d.ts +11 -0
- package/dist/asset.d.ts.map +1 -1
- package/dist/asset.js +24 -10
- package/dist/asset.js.map +1 -1
- package/dist/authoring-actions.d.ts.map +1 -1
- package/dist/authoring-actions.js +8 -4
- package/dist/authoring-actions.js.map +1 -1
- package/dist/gate.d.ts +14 -2
- package/dist/gate.d.ts.map +1 -1
- package/dist/gate.js +45 -25
- package/dist/gate.js.map +1 -1
- package/dist/graph-types.d.ts +33 -6
- package/dist/graph-types.d.ts.map +1 -1
- package/dist/graph.d.ts +7 -0
- package/dist/graph.d.ts.map +1 -1
- package/dist/graph.js +175 -52
- package/dist/graph.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/joint-list.d.ts.map +1 -1
- package/dist/joint-list.js +5 -3
- package/dist/joint-list.js.map +1 -1
- package/dist/kernel-version.d.ts +1 -1
- package/dist/kernel-version.js +1 -1
- package/dist/render-batches.d.ts +3 -5
- package/dist/render-batches.d.ts.map +1 -1
- package/dist/render-batches.js +5 -6
- package/dist/render-batches.js.map +1 -1
- package/dist/score.d.ts.map +1 -1
- package/dist/score.js +6 -2
- package/dist/score.js.map +1 -1
- package/docs/completeness-review-2026-10-04.md +256 -0
- package/docs/status.md +12 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-batches.js","sourceRoot":"","sources":["../src/render-batches.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"render-batches.js","sourceRoot":"","sources":["../src/render-batches.ts"],"names":[],"mappings":"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"}
|
package/dist/score.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"score.d.ts","sourceRoot":"","sources":["../src/score.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAI1D,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAExE,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,WAAW,GAAG,aAAa,GAAG,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAA;AAEzG,sDAAsD;AACtD,eAAO,MAAM,kBAAkB,EAAE,SAAS,eAAe,EAA6E,CAAA;AAEtI;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAE5D;AAED,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAGtH;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,eAAe,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,mHAAmH;IACnH,KAAK,EAAE,MAAM,CAAA;IACb,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,WAAW,CAAA;IAClB,sFAAsF;IACtF,QAAQ,EAAE,eAAe,CAAA;IACzB,OAAO,EAAE,eAAe,EAAE,CAAA;CAC3B;AAED,6FAA6F;AAC7F,eAAO,MAAM,kBAAkB,EAAE,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,EAIzE,CAAA;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAGxD;AAED,6FAA6F;AAC7F,eAAO,MAAM,mBAAmB;;;;CAItB,CAAA;AAEV,oFAAoF;AACpF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAIrE;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,mBAAmB,EAAE,GAAG,MAAM,CAG3G;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"score.d.ts","sourceRoot":"","sources":["../src/score.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAI1D,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAExE,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,WAAW,GAAG,aAAa,GAAG,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAA;AAEzG,sDAAsD;AACtD,eAAO,MAAM,kBAAkB,EAAE,SAAS,eAAe,EAA6E,CAAA;AAEtI;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAE5D;AAED,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAGtH;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,eAAe,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,mHAAmH;IACnH,KAAK,EAAE,MAAM,CAAA;IACb,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,WAAW,CAAA;IAClB,sFAAsF;IACtF,QAAQ,EAAE,eAAe,CAAA;IACzB,OAAO,EAAE,eAAe,EAAE,CAAA;CAC3B;AAED,6FAA6F;AAC7F,eAAO,MAAM,kBAAkB,EAAE,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,EAIzE,CAAA;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAGxD;AAED,6FAA6F;AAC7F,eAAO,MAAM,mBAAmB;;;;CAItB,CAAA;AAEV,oFAAoF;AACpF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAIrE;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,mBAAmB,EAAE,GAAG,MAAM,CAG3G;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,GAAG,SAAS,CA6CzE"}
|
package/dist/score.js
CHANGED
|
@@ -90,10 +90,14 @@ export function figureScoreOf(asset) {
|
|
|
90
90
|
const plan = figureDrawPlanOf(asset, drawn);
|
|
91
91
|
const byId = new Map(drawn.map(body => [body.id, body]));
|
|
92
92
|
const groups = figureDrawsOf(plan);
|
|
93
|
-
/*
|
|
93
|
+
/*
|
|
94
|
+
A carried group moves by one matrix a frame (ADR-0111 Q2, ruled after the rig measured it: a door 7 matrices a frame to 2,
|
|
95
|
+
a forklift 12 to 3), so it counts once. What moves -- \`moving\` below -- still counts every body: the kernel goes on
|
|
96
|
+
working each body's pose out.
|
|
97
|
+
*/
|
|
94
98
|
const independent = plan.batches.filter(b => b.ids.some(id => moves(byId.get(id)))).length +
|
|
95
99
|
plan.alone.filter(id => moves(byId.get(id))).length +
|
|
96
|
-
plan.carried.
|
|
100
|
+
plan.carried.length;
|
|
97
101
|
const moving = drawn.filter(moves).length;
|
|
98
102
|
const budget = (key, used, limit) => ({ key, used, limit, ratio: used / limit });
|
|
99
103
|
const budgets = [
|
package/dist/score.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"score.js","sourceRoot":"","sources":["../src/score.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAKxF,sDAAsD;AACtD,MAAM,CAAC,MAAM,kBAAkB,GAA+B,CAAC,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC,CAAA;AAEtI;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAkB;IAClD,OAAO,KAAK,CAAC,UAAU,CAAC,MAAM,CAAA;AAChC,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,kBAAkB,CAAC,KAAkB;IACnD,IAAI,CAAC,KAAK,CAAC,WAAW;QAAE,OAAO,SAAS,CAAA;IACxC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAA;AAC3G,CAAC;AAoBD,6FAA6F;AAC7F,MAAM,CAAC,MAAM,kBAAkB,GAAgD;IAC7E,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,CAAC,CAAC;CACT,CAAA;AAED,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,kBAAkB;QAAE,IAAI,KAAK,IAAI,KAAK;YAAE,OAAO,KAAK,CAAA;IACjF,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,6FAA6F;AAC7F,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,MAAM,EAAE,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,eAAe;IACtD,SAAS,EAAE,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,eAAe;IAC5D,MAAM,EAAE,MAAM,CAAC,oBAAoB,GAAG,MAAM,CAAC,eAAe;CACpD,CAAA;AAEV,oFAAoF;AACpF,MAAM,UAAU,mBAAmB,CAAC,IAAyB;IAC3D,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAA;IACvB,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,CAAA;IACpF,OAAO,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,IAAI,SAAS,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,CAAA;AACjF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAkB,EAAE,KAAqC;IACjG,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;IACtC,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAA;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,KAAkB;IAC9C,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC;SACpC,QAAQ,EAAE;SACV,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,CAAA;IAClD,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,SAAS,CAAA;IACnC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;IAC/E,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAA;IAC1G;;;;MAIE;IACF,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;IACtC,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC3C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IACxD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;IAClC
|
|
1
|
+
{"version":3,"file":"score.js","sourceRoot":"","sources":["../src/score.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
# figure-model ์๊ฒฐ์ฑยทํ์ฅ์ฑ ์ ๊ฒ
|
|
2
|
+
|
|
3
|
+
์ ๊ฒ์ผ: 2026-10-04. ๋์: ์์
ํธ๋ฆฌ๊ฐ ๊นจ๋ํ `4610edc`(ํจํค์ง 0.3.2).
|
|
4
|
+
์ฝ๋์ ๊ณต๊ฐ ๊ณ์ฝ์ ๊ฒํ ํ๊ณ `npm test` ๋ฐ ๋ณ๋ ๊ฒฝ๊ณ ์ฌ๋ก๋ฅผ ์คํํ๋ค.
|
|
5
|
+
๋ฐํ์ ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ๊ฑฐ๋ ๋ฐํํ์ง ์์๋ค. ์ค์น๋ ์ ํ ๋ฐ npm ๋ฐฐํฌ ์ํ๋ ์ด๋ฒ ์ ๊ฒ ๋ฒ์๊ฐ ์๋๋ค.
|
|
6
|
+
|
|
7
|
+
## ํด๊ฒฐ ํํฉ (2026-10-04, ๋ฏธ๋ฐํ)
|
|
8
|
+
|
|
9
|
+
F1~F4๋ฅผ ๊ณ ์ณค๋ค. ํญ๋ชฉ๋ง๋ค ๊ธฐ์กด ์ฝ๋์์ ์คํจํ๋ ํ๊ท ์ํ์ ๋จผ์ ๋ฃ์๊ณ , ๊ณ ์น ๋ค `npm test`(ํ์
๊ฒ์ฌ์
|
|
10
|
+
725๊ฐ ์ํ)์ build๊ฐ ํต๊ณผํ๋ค. ์ฌํ ์คํฌ๋ฆฝํธ๋ ์ด์ ๋ค ํญ๋ชฉ ๋ชจ๋ ๊ฑฐ์ ๋๋ ์ ์ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค.
|
|
11
|
+
`npm run test:coverage`์ ๊ธฐ์ค(์ค 100%, ๋ถ๊ธฐ 95%)์ ์ ๊ฒ ์์ HEAD์์๋ ๋ชป ๋ฏธ์ณค๋ค(์ค 96.87%, ๋ถ๊ธฐ 89.24%).
|
|
12
|
+
๊ณ ์น ๋ค ์ค 96.91%, ๋ถ๊ธฐ 89.50%์ด๋ฉฐ ์ ์ฝ๋์ ๋ฎ์ด์ง ์์ ์ค์ ์๋ค.
|
|
13
|
+
|
|
14
|
+
| ํญ๋ชฉ | ์ปค๋ฐ | ์ ํํ ๊ณ์ฝ | ์ํ |
|
|
15
|
+
| -------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
|
|
16
|
+
| F1 ๊ฒฐ๊ณผ ์์ ๊ถ | `122b3c0` | ์ธ์คํด์ค evaluator ๊ฒฐ๊ณผ์ values ๋ ์ฝ๋์ geometry ๋ชฉ๋ก์ ํธ์ถ์ ์์ ์ด๊ณ , ๊ทธ ์์ ๊ฐ๊ณผ body๋ ๋๊ฒฐ๋๋ค. ์ฐ๊ธฐ๋ TypeError๋ก ๊ฑฐ์ ๋๋ค. ๋ด๋ถ ์ฌ๋กฏ์ ๋๊ฒฐํ์ง ์์ ๋น๊ณต๊ฐ ๊ฐ์ฒด๋ก ๋๊ณ , ๊ฒฐ๊ณผ์๋ ๊ฐ์ด ๋ฐ๋ ๋ ๋ง๋ ๋๊ฒฐ ์ฌ๋ณธ์ ๋ฃ๋๋ค. ํ์์ ์ ์๋ฆฌ์์ ๋๊ฒฐํ๋ค. ๋ฐ๋์ง ์์ ํ์ยทbody๋ ๊ฐ์ ๊ฐ์ฒด๋ก ์ด์ด์ง๋ค. ์ ์ฒด ํ๊ฐ(`plan.evaluate`)๋ ์๋ฌด๊ฒ๋ ๋ณด๊ดํ์ง ์์ผ๋ฏ๋ก ๊ฒฐ๊ณผ ์ ์ฒด๊ฐ ํธ์ถ์ ์์ ์ด๊ณ ๋๊ฒฐํ์ง ์๋๋ค. pose step์ `bodies`ยท`poses`๋ ํธ์ถ์ ์ฌ๋ณธ์ด๊ณ , `read`ยท`changed`๋ ๊ฐ์ evaluator์ ๋ค์ ํธ์ถ ์ ๊น์ง๋ง ๋ตํ๋ฉฐ ๊ทธ ๋ค์๋ `STEP_EXPIRED`๋ก ๊ฑฐ์ ๋๋ค. | `src/result-ownership.test.ts` |
|
|
17
|
+
| F2 ๊ณต๊ฐ ๊ฒ์ฆ | `c86d74b` | `compileFigureAsset`์ด ๊ด์ ๋ชฉ๋ก, ๋ ์ฝ๋ schema, ๋ ์ฝ๋์ ๋
ธ๋ ์ผ์น๋ฅผ ๊ฒ์ฌํ๋ค. serializeยทparse๋ ๊ฐ์ ๊ฒ์ฌ๋ฅผ ๊ฑฐ์น๋ค. ์ ์ ๋ช
๋ น์ ๊ด์ ๋
ธ๋๋ฅผ ๋ ์ฝ๋์์ ๋ค์ ์ฐ๋ฏ๋ก ์
๊ตฌ์ ๋ช
๋ น ์ค๊ฐ์ ์์ธ ์ฝ๊ธฐ์๋ ๊ด์ ๊ฒ์ฌ ์๋ ๋ด๋ถ ์ปดํ์ผ(`compileFigureAssetUnjointed`, ํจํค์ง ๋ฐ์ผ๋ก ๋ด๋ณด๋ด์ง ์์)์ ์ฐ๊ณ , ๋ช
๋ น ๊ฒฐ๊ณผ๋ ๊ณต๊ฐ compile๋ก ๊ฒ์ฌํ๋ค. | `src/asset-entrances.test.ts` |
|
|
18
|
+
| F3 ๊น์ ๊ทธ๋ํ | `4f32334` | ์ปดํ์ผ ์ํ๊ฐ ์์ฒด ์คํ์ ์ด๋ค. ์ ์ธ ์์ ๊น์ด ์ฐ์ ์ด๋ผ๋ ์์, ํ์
ยท๋จ์ยท์ํ ๊ฑฐ์ , ์ํ ๊ฒฝ๋ก ํ๊ธฐ(๋ค์ด์ ๊ณณ๋ถํฐ)๊ฐ ์ด์ ๊ณผ ๊ฐ๋ค. ๊ฐ์ ์ฌ๊ท๊ฐ ์๋ gate์ design ์์กด์ฑ ๊ณ์ฐ๋ ์ปดํ์ผ ์์ ํ ๋ฒ ํ๊ธฐ๋ก ๋ฐ๊ฟจ๋ค. `compileFigureGraph`๋ ์์ฒด ํฌ๊ธฐ ํ๋๊ฐ ์๊ณ , byteยท๋
ธ๋ ํ๋๋ documentยทasset ์
๊ตฌ์ ๊ณ์ฝ์ด๋ค. | `src/graph-depth.test.ts` |
|
|
19
|
+
| F4 ๊ฒ์ฌ ์ต์
| `9a332e7` | ์ค์ ์ค๋ฅ๋ Figure๋ฅผ ์ปดํ์ผํ๊ธฐ ์ ์ `INSPECT_OPTION`(๊ฒฝ๋ก `options.<ํค>`)์ผ๋ก ๊ฑฐ์ ํ๋ค. `sweepSteps`๋ 2 ์ด์ ์ ์, `maxCornerInputs`๋ 0~12 ์ ์๋ค. ์คํํ ์ํ ์๋ฅผ ์ฒซ ํ๊ฐ ์ ์ ์ธ์ด 8,192๋ฅผ ๋์ผ๋ฉด `INSPECT_BUDGET`์ผ๋ก ๊ฑฐ์ ํ๋ค. ์ฝ๋ ์ด๊ฑฐ๋ 32๋นํธ ์ํํธ๋ฅผ ์ฐ์ง ์๋๋ค. ํ๋๋ `FIGURE_INSPECT_LIMITS`๋ก ๋ด๋ณด๋ธ๋ค. | `src/inspect-options.test.ts` |
|
|
20
|
+
|
|
21
|
+
๋น์ฉ(Node, ํธ์ถ๋น, ์ ๊ฒ HEAD ๋๋น):
|
|
22
|
+
|
|
23
|
+
- F1: ๋ฌด๋ณ๊ฒฝ ํ๊ฐ, pose step, ์ ์ฒด ํ๊ฐ๋ ๊ทธ๋๋ก๋ค(๋ก๋ด 6์ถ 0.55 / 9.7 / 61 ยตs). evaluate ๊ฒฝ๋ก์์ ๋ฐ๋ ๊ฐ์
|
|
24
|
+
์ฌ๋ณธ ๋น์ฉ์ด ๋ถ๋๋ค. ์ปจ๋ฒ ์ด์ด ์ํ 1๊ฐ 7.4โ13.7 ยตs, ๋ก๋ด ๊ด์ 1๊ฐ 4.8โ9.6 ยตs, ๊ด์ 7๊ฐ 12โ20 ยตs,
|
|
25
|
+
์ค๊ณ๊ฐ 1๊ฐ 30โ52 ยตs(๋กค๋ฌ ์ปจ๋ฒ ์ด์ด). fixture์ ์ํ ์
๋ ฅ ๋๋ถ๋ถ์ pose step์ ํ๋ฏ๋ก ํ๋ ์๋ง๋ค ๋๋ ๊ฒฝ๋ก๋
|
|
26
|
+
๋์ง ์๋๋ค. ์ฌ๋กฏ์ ์ ์๋ฆฌ์์ ๋๊ฒฐํ๋ ๋ฐฉ์๋ ์์ผ๋ ์ซ์ ๋ฐฐ์ด์ด ๋ฐ์ฑ๋์ด pose step 9.8โ15 ยตs,
|
|
27
|
+
๊ด์ 7๊ฐ evaluate 12โ35 ยตs๋ก ๋ ๋๋ ค ์ฑํํ์ง ์์๋ค.
|
|
28
|
+
- F2: ๊ด์ ์ด ์๋ ์์ฐ์ compile์ด parse์ ๊ฐ์ ๋น์ฉ์ด ๋๋ค(hinged-door 2.3โ5.7 ms, parse 6.4 ms ๊ทธ๋๋ก).
|
|
29
|
+
์ ์ ๋ช
๋ น ํ๋์ ์ฝ 3 ms๊ฐ ๋ถ๋๋ค.
|
|
30
|
+
|
|
31
|
+
์ฅ๋ฉด ํ๋ ์(things-scene `FigureRig.update`, Node CPU, ๋ ๋๋ฌ GPU ์ ์ธ, 600ํ๋ ์ ํ๊ท , ๋ฐํํ 0.3.2 โ ์์ ๋ณธ):
|
|
32
|
+
|
|
33
|
+
| ์ฅ๋ฉด | 0.3.2 | ์์ ๋ณธ | ์ฆ๊ฐ |
|
|
34
|
+
| ----------------------------------------------------------- | ----------------- | -------------------------- | --------- |
|
|
35
|
+
| ์ปจ๋ฒ ์ด์ด 60๋, clip ํ์ (pose step) | 0.34 ms | 0.37 ms | +5~10% |
|
|
36
|
+
| ๋ก๋ด 20๋, ๊ด์ ์ ๋ถ ์์ง์(pose step) | 0.29 ms | 0.31 ms | +5% |
|
|
37
|
+
| ์ง๊ฒ์ฐจ 20๋, ์ํ ์ ๋ถ ์์ง์(pose step) | 0.38~0.43 ms | 0.39~0.42 ms | ์ฐจ์ด ์์ |
|
|
38
|
+
| ๋ฌธ+๋จํ 60๋, ๋จํ flag๋ฅผ ๋๋๋๋ ์ ์ด(๋งค ํ๋ ์ evaluate) | 0.22 ms | 0.34~0.37 ms | +55% |
|
|
39
|
+
| ์ปจ๋ฒ ์ด์ด 60๋, ํฌ๊ธฐ ๋๊ธฐ(๋งค ํ๋ ์ evaluateยทํ์ ๋ณ๊ฒฝ) | 4.05 ms (p95 6.0) | 5.6~~6.0 ms (p95 7.8~~9.1) | +40~45% |
|
|
40
|
+
| ๋ก๋ด 20๋, ๊ด์ ์ด๋ + 10ํ๋ ์๋ง๋ค ํฌ๊ธฐ ๋ณ๊ฒฝ | 0.46 ms (p95 1.7) | 0.53 ms (p95 2.2) | +15% |
|
|
41
|
+
|
|
42
|
+
evaluate ๊ฒฝ๋ก์ ์ฆ๊ฐ๋ ์ฌ๋ณธ ๋น์ฉ์ด๋ค. ํฌ๊ธฐ ๋ณ๊ฒฝ ํ ๋ฒ์ ๋กค๋ฌ ์ปจ๋ฒ ์ด์ด๊ฐ ๋ณต์ฌํ๋ ๊ฐ์ฒด๋ ์ฝ 100๊ฐ(์์ธ 25, ํ ํญ๋ชฉ 22,
|
|
43
|
+
๊ฒฝ๋ก ๋ฐฐ์ด 22)์ด๊ณ ๊ฐ์ฒด๋น ์ฝ 100 ns๋ค. ํ์ ๊ณต์ , spread ๋ณต์ฌ, ์ฌ๋ณผ ์บ์๋ฅผ ์ํํ์ผ๋ ์ค์ง ์์๊ณ , ์ฌ๋ณธ ์ค๋ณต ์ ๊ฑฐ์ฉ
|
|
44
|
+
Map์ ์์ ๋ฉด ์คํ๋ ค ๋๋ ค์ก๋ค(10.4โ15.9 ยตs). ๋ ์ค์ด๋ ค๋ฉด bodyยทํ ํญ๋ชฉ์ ์ ์๋ฆฌ์์ ๋๊ฒฐํ๊ณ ์์ธ๋ง ๋ณต์ฌํ๋ ์ค๊ณ
|
|
45
|
+
๋ณ๊ฒฝ์ด ํ์ํ๋ฉฐ, ํ์ pose step ๊ฒฝ๋ก๊ฐ ๋๊ฒฐ ์์ธ๋ฅผ ์ฝ๊ฒ ๋๋์ง ๋ฐ๋ก ๊ฒํ ํด์ผ ํ๋ค. ๋ฐํ ์ ํ๋จ ๋์์ด๋ค.
|
|
46
|
+
|
|
47
|
+
์๋น์ ๊ฒ์ฆ(things-scene 10.1.71 ์์
ํธ๋ฆฌ, `test/tsconfig.figure-model-src.json`์ผ๋ก ํ์ ์์ค๋ฅผ ์ฐ๊ฒฐํด ์คํ.
|
|
48
|
+
์ฐ๊ฒฐ ์ฌ๋ถ๋ ์์ค์๋ง ์๋ `FIGURE_INSPECT_LIMITS`๋ก ํ์ธ):
|
|
49
|
+
|
|
50
|
+
- ๋จ์ยทfigure ์ํ ์ ์ฒด 2,713๊ฐ: ๋ฐํํ๊ณผ ์์ ๋ณธ ๋ชจ๋ ํต๊ณผ. figure ์ํ 107๊ฐ ์์ ๊ฒฐ๊ณผ ์กฐํ(pose step๊ณผ evaluate
|
|
51
|
+
ํผํฉ ์ ๋ชจ๋ mesh ์์น), ๋ถ์ฐฉ๋ฌผ(๊ด์ ์ด ์์ง์ด๋ ๋ถํ์ place, ๊ทธ๋ฆฌํผ ๋์ workpiece), ์ ํ(๋ณํฉยท๋ฌถ์ mesh์ pick์ด
|
|
52
|
+
๋ถํยท์ฌ๋ณธ์ผ๋ก ๋์์ด), sizing(ํฌ๊ธฐ ๋ณ๊ฒฝ ํ ๋ณต๊ท, ์ ์ธ ๋ฒ์ ๋ฐ ํฌ๊ธฐ, ์์์ ๋ณธ ๊ทธ๋ฆผ)์ด ์๋ค.
|
|
53
|
+
- ํ์
: ๋น๋๋ `dist/*.d.ts`์ ๋ํด things-scene์ ๊ฒ์ฌํ๋ค. ์ธ์คํด์ค ๊ฒฐ๊ณผ๋ฅผ readonly๋ก ํํํ๊ธฐ ์ ์๋ ์ค๋ฅ 0๊ฐ,
|
|
54
|
+
ํํํ ๋ค์๋ ์ค๋ฅ 2๊ฐ๋ค. ๋ ๋ค ์ฐ๊ธฐ๊ฐ ์๋๋ผ ์ ์ธ ํ์
๋ฌธ์ ๋ค. `figure-rig.ts`์ `movePoses` ์ธ์ ํ์
์ด
|
|
55
|
+
`places`์ ์์ธ๋ฅผ ๊ฐ๋ณ ๋ฐฐ์ด๋ก ์ ์ธํ๊ณ , `dress`๊ฐ `result.bindings`๋ฅผ ๊ฐ๋ณ `FigureAssetEvaluation`์ผ๋ก ๋๋ ค์ค๋ค.
|
|
56
|
+
things-scene์ด ์ด ํ์ผ๋ก ์ฌ๋ฆด ๋ ๋ ์ ์ธ์ `readonly`๋ฅผ ๋ถ์ฌ์ผ ํ๋ค. ์ด๋ฒ ์์
์์๋ ์๋น์๋ฅผ ๊ณ ์น์ง ์์๋ค.
|
|
57
|
+
- things-factoryยทoperato-application ์์ค์๋ ์ธ์คํด์ค evaluator ์ฌ์ฉ์ฒ๊ฐ ์๋ค.
|
|
58
|
+
|
|
59
|
+
API ํธํ์ฑ ์ํฅ:
|
|
60
|
+
|
|
61
|
+
- ์ธ์คํด์ค evaluator ๊ฒฐ๊ณผ์ ์ค์ฒฉ ๊ฐ์ฒด์ ์ฐ๋ ํธ์ถ์๋ TypeError๋ฅผ ๋ฐ๋๋ค. things-scene์ `FigureRig`๋ ๊ฒฐ๊ณผ๋ฅผ ์ฐ์ง
|
|
62
|
+
์๊ณ pose step์ `read`ยท`changed`๋ ๊ฐ์ ๋จ๊ณ ์์์๋ง ๋ถ๋ฅธ๋ค(capabilities ๋ํผ ํฌํจ).
|
|
63
|
+
- ๊ด์ ๋ ์ฝ๋์ ๋
ธ๋๊ฐ ์ด๊ธ๋ ์์ฐ์ ์ด์ compileยทserialize์์๋ ๊ฑฐ์ ๋๋ค. parse๊ฐ ์ด๋ฏธ ๊ฑฐ์ ํ๋ ์์ฐ์ด๋ค.
|
|
64
|
+
render-batches ์ํ ํ๋๊ฐ ๊ทธ๋ฐ ์์ฐ์ ์์ผ๋ก ๋ง๋ค๊ณ ์์ด ๊ด์ ์ด ์ฝ์ง ์๋ ์น์๋ฅผ ๋๋ฆฌ๋๋ก ๊ณ ์ณค๋ค.
|
|
65
|
+
- ๊ฒ์ฌ ์ต์
์ ์๋ชป๋ ๊ฐ์ ์ด์ ์ ๊ณ์ฐ ์ค๋ฅ๋ ๋น sweep ๋์ `INSPECT_OPTION`์ผ๋ก ๊ฑฐ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ ๊ฒฐ๊ณผ๋ ๊ฐ๋ค.
|
|
66
|
+
- ์ถ๊ฐ๋ ๊ณต๊ฐ ์ด๋ฆ: `FIGURE_INSPECT_LIMITS`, ์ค๋ฅ ์ฝ๋ `STEP_EXPIRED`ยท`INSPECT_OPTION`ยท`INSPECT_BUDGET`,
|
|
67
|
+
ํ์
`FigureFrozen`ยท`FigureInstanceEvaluation`ยท`FigureCapabilityInstanceEvaluation`.
|
|
68
|
+
- ์ธ์คํด์ค evaluator์ `evaluate`์ evaluate๋ก ๋๋ `advance`์ ๊ฒฐ๊ณผ ํ์
์ด ์ instance ํ์
์ผ๋ก ๋ฐ๋๋ค(๋ด์ฉ์ด deep
|
|
69
|
+
readonly). ์ ์ฒด ํ๊ฐ ํ์
์ ๊ทธ๋๋ก๋ค. ์์ ๊ณ์ฝ์ README ใEvaluation results: who owns whatใ์ ์ ์๋ค.
|
|
70
|
+
|
|
71
|
+
๋จ์ ์ ํ:
|
|
72
|
+
|
|
73
|
+
- evaluate ๊ฒฝ๋ก์ ์ฌ๋ณธ ๋น์ฉ(์ ์์น). ๊ฐ ๋ ์ฝ๋๋ฅผ ์ฝ์ ๋๋ง ์ฌ๋ณธ์ ๋ง๋๋ ๋ฐฉ์์ ๋ ์ฝ๋ ๋ณต์ฌยท์ง๋ ฌํ ์๋ฏธ๋ฅผ
|
|
74
|
+
๋ฐ๊พธ๋ฏ๋ก ๋ณด๋ฅํ๋ค.
|
|
75
|
+
- `compileFigureGraph`๋ฅผ ์ง์ ๋ถ๋ฅด๋ ํธ์ถ์๋ ๊ทธ๋ํ ํฌ๊ธฐ๋ฅผ ์ค์ค๋ก ์ฑ
์์ง๋ค. ์ ์ฒด ํ๊ฐ ์์ฐ(geometry ํฉ๊ณ,
|
|
76
|
+
slot ์)์ ์ ํ์ง ์์๋ค.
|
|
77
|
+
- ๊ฒ์ฌ ์์ฐ 8,192 ์ํ๋ ์ํ ์ ํ๋์ด๊ณ ์๊ฐยท๋ฉ๋ชจ๋ฆฌ ์ํ์ ์๋๋ค.
|
|
78
|
+
- ์๋ ใํ์ฅ์ฑใ, ใ๊ฒ์ฌยท์ฑ๋ฅ ์ซ์์ ํด์ใ ํญ๋ชฉ์ ์ด๋ฒ ๋ฒ์๊ฐ ์๋๋ค.
|
|
79
|
+
|
|
80
|
+
### ๋ฐํ ํ์ (2026-10-04)
|
|
81
|
+
|
|
82
|
+
- ์ ํ์ฑ ์์ ์ ์ ์งํ๊ณ , ์ฑ๋ฅ ๋น์ฉ์ ๋ฐํ ์ฑ ๋ฐํ์ ์ค๋นํ๋ค. ๋ฐํ ์ค๋ช
์ ใ์ ํ์ฑยท๊ฒ์ฆ ๊ฒฝ๊ณ ๊ฐ์ , ์ผ๋ฐ ํ๊ฐ
|
|
83
|
+
๋น์ฉ ์ฆ๊ฐใ๋ค. ์์ธ ๊ฒฝ๋ก ์ฑ๋ฅ ๊ฐ์ ์ด๋ ๋ ๋๋ง ์ฑ๋ฅ ์ ์ง๋ก ์ค๋ช
ํ์ง ์๋๋ค.
|
|
84
|
+
- ์ฑ๋ฅ ๊ฒ์ฆ์ CPU rig ์ธก์ ๊น์ง๋ง ํ๋ค. ๋ธ๋ผ์ฐ์ ์ ์ฒด ํ๋ ์ ๋ชฉํ๋ฅผ ์ถฉ์กฑํ๋์ง๋ ํ์ธํ์ง ์์๋ค.
|
|
85
|
+
- readonly ํ์
์ ์ ์งํ๋ค. things-scene `4b21c72c`๊ฐ ๋ ์ ์ธ(`movePoses`ยท`dress`, ๊ทธ๋ฆฌ๊ณ ์์ธ๋ฅผ ํ๋ ฌ๋ก ์ฝ๋
|
|
86
|
+
`pose`ยท`matrixOf`)์ ์ฝ๊ธฐ ์ ์ฉ์ผ๋ก ๊ณ ์ณค๋ค. figure-model 0.3.2์ ์ ์์ค ๋ชจ๋์ ๋ํด ํ์
๊ฒ์ฌ ์ค๋ฅ๊ฐ 0๊ฐ์ด๊ณ ,
|
|
87
|
+
๋จ์ยทfigure ์ํ 2,787๊ฐ๊ฐ ๋ ๋ค์์ ํต๊ณผํ๋ค. things-scene์ figure-model ๋ฒ์๋ ๋ฐํ ๋ค์ ์ฌ๋ฆฐ๋ค.
|
|
88
|
+
- ๋ณต์ฌ ๊ตฌ์กฐ ์ฌ์ค๊ณ(๋๊ท๋ชจ resize ์ต์ ํ)๋ ๋ณ๋ ๊ณผ์ ๋ค. ๊ฒฐ๊ณผ ์์ ๊ถ ๊ฒฐํจ์ ๋ค์ ์ด์ง ์๊ณ , ๋ธ๋ผ์ฐ์ ์ ์ฒด ํ๋ ์์
|
|
89
|
+
์ค์๊ฐยทp95๋ฅผ ๊ธฐ์ค์ผ๋ก ์งํํ๋ค.
|
|
90
|
+
|
|
91
|
+
## ์ข
ํฉ ํ๋จ
|
|
92
|
+
|
|
93
|
+
์ด ํจํค์ง๋ **์ด๋ฆ ์๋ ๋ถํ์ ์น์ยท์์ธยท๋ฐ๋ณตยท์ฐ๊ฒฐ์ ์ ์ธํ๊ณ , ๊ฐ์ ์ ์๋ฅผ ์ ์ยท๊ฒ์ฌยท์ฌ์์ ์๋นํ๋
|
|
94
|
+
์ฅ๋น ์กฐ๋ฆฝ์ฒด ์ปค๋**๋ก๋ ์ถฉ๋ถํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ท๋ค. ์์ CAD, ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ดํฐ, ๋ชจ๋ JavaScript ํ์์ ๋์ฒดํ๋
|
|
95
|
+
๋ฒ์ฉ ๋ชจ๋ธ๋ก ์๊ฒฐ๋๋ค๊ณ ๋งํ ๊ทผ๊ฑฐ๋ ์๋ค. ํ์ฌ ๊ธฐ๋ฅ ๋ฒ์์ ๊ณต๊ฐ API์ ๊ฒฝ๊ณ ์กฐ๊ฑด๋ ๊ตฌ๋ถํด์ผ ํ๋ค.
|
|
96
|
+
|
|
97
|
+
| ์ฐจ์ | ํ๋จ | ๊ทผ๊ฑฐ์ ์ ํ |
|
|
98
|
+
| --------------- | --------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
|
|
99
|
+
| ๊ณ์ฐ ์๋ฏธ | ์ํธ, ๊ฒฐ๊ณผ ์์ ๊ถ ๋ณด์ ํ์ | ๋จ์ยท์ขํ๊ณยท๋จ์ผ writerยท์ํ ๊ฒ์ฌ, ์ํ ์ ์ด ์์กด์ฑ, ์์ ํ๊ฐ. ์ค์ฒฉ ๊ฒฐ๊ณผ ์์ ์ด ๋ค์ ์ฆ๋ถ ํ๊ฐ์ ์ ์
๋จ |
|
|
100
|
+
| ์ ์๊ณผ ์ ์ฅ | ์ํธ, ๊ฒ์ฆ ์
๊ตฌ ํตํฉ ํ์ | UI/AI ๋ช
๋ น ๊ณต์ , revisionยท์์ ์ ์ฉยทundo. compile/serialize์ parse๊ฐ ๊ด์ ์ ๋ค๋ฅด๊ฒ ๊ฒ์ฆํจ |
|
|
101
|
+
| ๊ฒ์ฌ ์๊ฒฐ์ฑ | ๋ช
์์ ์ ํ ์์ | proven/sampled/defaults ๊ตฌ๋ณ์ ์ข์. ํ๋ณธ์ ๋ฒ์ ๋ณด์ฅ์ด ์๋๋ฉฐ ๊ฒ์ฌ ์ต์
๊ฒ์ฆ์ด ๋ถ์กฑํจ |
|
|
102
|
+
| ์์ยท์์ ๊ฒฝ๊ณ | ๋ถ๋ถ์ | JSON 1 MiB/๊น์ด 64, document 8,192๋
ธ๋, ๋ฐ๋ณต ์ ๊ฐ ํ๋. ๊ธด ์์กด ์ฌ์ฌ์์ ์ผ๋ฐ ์คํ ์ค๋ฅ ๋ฐ์ |
|
|
103
|
+
| ์ฑ๋ฅ | ์ฆ๋ถยท์์ธ ์คํ ๊ตฌ์กฐ ์ํธ | ์ธ์คํด์ค ์ํ ๋ถ๋ฆฌ, ์
๋ ฅ ์ํฅ ๋ฒ์, ํ์ ๊ณต์ ์นํ์ ๊ฒฐ๊ณผ. ํฐ ์ถ๋ ฅ ๋๋น ์์ ๋ณ๊ฒฝ์ ๋ฒํผ ํ ๋น์ ๊ฐ์ ํ๋ณด |
|
|
104
|
+
| ํ์ฅ์ฑยท์ ์ง๋ณด์ | ํต์ ๋ ํ์ฅ์ ์ ํฉ | ๋ฒ์ ์ฐ์ฐยทํ์ descriptionยท๊ณต์ ๋ช
๋ น. ์ฐ์ฐ ์ถ๊ฐ ์ ์ฌ๋ฌ ์ ์ฑ
ํ๋ฅผ ํจ๊ป ์์ ํด์ผ ํ๋ฉฐ ์๋ ๊ธฐ๋ณธ๊ฐ๊ณผ any๊ฐ ์ค์๋ฅผ ๊ฐ๋ฆด ์ ์์ |
|
|
105
|
+
|
|
106
|
+
`npm test`: ํ์
๊ฒ์ฌ์ **696๊ฐ ์ํ ํต๊ณผ**, ์คํจยทskipยทtodo ์์(์ฝ 23.8์ด, ์ด๋ฒ ํ๊ฒฝ).
|
|
107
|
+
์ํ ํต๊ณผ๋ ์๋ ๊ฒฝ๊ณ ์ฌ๋ก๊น์ง ๊ฒ์ฆ๋๋ค๋ ๋ป์ด ์๋๋ค. ์ด๋ฒ์ ์ฝ๋ ์ปค๋ฒ๋ฆฌ์ง ์์น๋ ๋ธ๋ผ์ฐ์ ์ฑ๋ฅ์ ์๋ก ์ธก์ ํ์ง ์์๋ค.
|
|
108
|
+
|
|
109
|
+
## ์ฐ์ ๊ณ ์น ์ฌํญ: ์ฌํ๋ ๋ฌธ์
|
|
110
|
+
|
|
111
|
+
### F1. ํ๊ฐ ๊ฒฐ๊ณผ์ ์ค์ฒฉ ๊ฐ์ฒด๊ฐ evaluator ๋ด๋ถ์ ๊ณต์ ๋จ โ ๋์ ์ฐ์ ์์
|
|
112
|
+
|
|
113
|
+
> ํด๊ฒฐ๋จ(2026-10-04). ์ ใํด๊ฒฐ ํํฉใ ์ฐธ๊ณ . ์๋๋ ์ ๊ฒ ๋น์์ ๊ธฐ๋ก์ด๋ค.
|
|
114
|
+
|
|
115
|
+
๊ทผ๊ฑฐ: `src/graph.ts`์ `hold`(1080ํ), `step` ๋ฐํ, `src/graph-types.ts`์ ๊ฐ๋ณ ์ถ๋ ฅ ํ์
.
|
|
116
|
+
`hold`๋ values record์ geometry ๋ฐฐ์ด๋ง ๋ณต์ฌํ๋ค. ๊ทธ ์์ shapeยทposeยท๋ฐฐ์ด์ ๋ด๋ถ slot๊ณผ ๊ณต์ ๋๋ค.
|
|
117
|
+
์ฃผ์์ ํธ์ถ์์ ์์ ์ด ๋ค์ ํ๊ฐ์ ๋๋ฌํ์ง ์๋๋ค๊ณ ์ค๋ช
ํ์ง๋ง ์ค์ ๋ณด์ฅ์ ์ต์์ ์ปจํ
์ด๋๊น์ง๋ค.
|
|
118
|
+
|
|
119
|
+
์ฌํ: ํญ 5cm์ shape๋ฅผ ํ๊ฐํ๊ณ ๋ฐํ๋ `shape.dimensions['size.x']`๋ฅผ 999๋ก ์์ ํ๋ค.
|
|
120
|
+
๊ฐ์ ์
๋ ฅ์ ๋ค์ ์ฆ๋ถ ํ๊ฐ ๊ฒฐ๊ณผ๋ 999, ์ ์ ์ฒด ํ๊ฐ ๊ฒฐ๊ณผ๋ ์ ์๊ฐ 50์ด์๋ค.
|
|
121
|
+
๊ธฐ์กด `incremental.test.ts`๋ values์ ์ ์์ฑ ์ถ๊ฐ์ geometry push๋ฅผ ๊ฒ์ฌํ๋ฉฐ ์ค์ฒฉ ์์ ์ ๊ฒ์ฌํ์ง ์๋๋ค.
|
|
122
|
+
|
|
123
|
+
๊ฐ์ : ๊ณต์ ๋๋ ๊ฒฐ๊ณผ ๊ฐ์ฒด๋ฅผ ์ค์ ๋ถ๋ณ์ผ๋ก ๋ง๋ค์ด ๋์ผ์ฑยท์บ์ ์ด์ ์ ๋ณด์กดํ๊ฑฐ๋, ๊ณต๊ฐ ๊ฒฐ๊ณผ์ ๋ด๋ถ ๋ฒํผ๋ฅผ
|
|
124
|
+
๊น๊ฒ ๋ถ๋ฆฌํ๋ค. ๋ฌธ์๋ง readonly๋ก ๋ฐ๊พธ๋ ๊ฒ์ JavaScript ํธ์ถ์์ ๋ณ๊ฒฝ์ ๋ง์ง ์๋๋ค.
|
|
125
|
+
๋ฌด์กฐ๊ฑด ๋งค ํ๋ ์ deep cloneํ๊ธฐ ์ ์ ํ์ยท์์ธ์ ๊ณต์ ๋จ์๋ฅผ ์ ํ๊ณ ๋น์ฉ์ ์ธก์ ํด์ผ ํ๋ค.
|
|
126
|
+
ํ๊ท ๊ฒ์ฆ์ shape, pose, collection/member ์ค์ฒฉ ์์ ๊ณผ ์ธ์คํด์ค ๊ฐ ๊ฒฉ๋ฆฌ๋ฅผ ํฌํจํ๋ค.
|
|
127
|
+
|
|
128
|
+
### F2. ๊ด์ ๊ฒ์ฆ์ด ๊ณต๊ฐ ์
๊ตฌ๋ง๋ค ๋ค๋ฆ โ ๋์ ์ฐ์ ์์
|
|
129
|
+
|
|
130
|
+
> ํด๊ฒฐ๋จ(2026-10-04). ์ ใํด๊ฒฐ ํํฉใ ์ฐธ๊ณ . ์๋๋ ์ ๊ฒ ๋น์์ ๊ธฐ๋ก์ด๋ค.
|
|
131
|
+
|
|
132
|
+
๊ทผ๊ฑฐ: `src/asset.ts`์ `compileFigureAsset`, `serializeFigureAsset`(208ํ), `parseFigureAsset`(212ํ).
|
|
133
|
+
๊ด์ ์ schemaยท์ ๋ณธ/๊ทธ๋ํ ์ผ์น ๊ฒ์ฌ๋ parse์์๋ง `checkFigureJoints`๋ก ์คํํ๋ค.
|
|
134
|
+
|
|
135
|
+
์ฌํ: hinged-door์ fixed joint์ ๊ธ์ง๋ `axis: 'Z'`๋ฅผ ์ถ๊ฐํ๋ค.
|
|
136
|
+
compile๊ณผ serialize๋ ์ฑ๊ณตํ์ง๋ง, ์งํ ๊ทธ JSON์ parseํ๋ฉด `JOINT_SCHEMA`๋ก ์คํจํ๋ค.
|
|
137
|
+
๋ฐ๋ผ์ ๊ณต๊ฐ serializer๊ฐ ๊ณต๊ฐ parser๋ก ์ฝ์ ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ง๋ค์ด ๋ผ ์ ์๋ค.
|
|
138
|
+
|
|
139
|
+
๊ฐ์ : ๊ณต๊ฐ ์ ์ฅยท์ปดํ์ผ ์
๊ตฌ์์ ๋์ผํ ์์ฐ ๊ฒ์ฆ์ ์ฌ์ฉํ๋ค.
|
|
140
|
+
๊ด์ ์ฌ์์ฑ ๊ณผ์ ์ด ๋ฏธ์์ฑ ์์ฐ์ ์ปดํ์ผํด์ผ ํ๋ค๋ฉด, ๋ด๋ถ ์ ์ฉ ๊ฒฝ๋ก์ ๊ณต๊ฐ ๊ฒ์ฆ์ ๋ถ๋ฆฌํด ์ฌ๊ท ํธ์ถ์ ํผํ๋ค.
|
|
141
|
+
ํฉ๊ฒฉ ๊ธฐ์ค์ ๊ณต๊ฐ serializeโparse์ ์ผ๊ด์ฑ๊ณผ ๊ด์ ๋ ์ฝ๋/๊ทธ๋ํ drift์ ๋์ผํ ๊ฑฐ์ ์ด๋ค.
|
|
142
|
+
|
|
143
|
+
### F3. ํ์ฉ ํฌ๊ธฐ ์์ ๊น์ ๊ทธ๋ํ์์ ์คํ ์ด๊ณผ โ ๋์ ์ฐ์ ์์
|
|
144
|
+
|
|
145
|
+
> ํด๊ฒฐ๋จ(2026-10-04). ์ ใํด๊ฒฐ ํํฉใ ์ฐธ๊ณ . ์๋๋ ์ ๊ฒ ๋น์์ ๊ธฐ๋ก์ด๋ค.
|
|
146
|
+
|
|
147
|
+
๊ทผ๊ฑฐ: `src/graph.ts`์ ์ฌ๊ท `visit`(864ํ), `src/document.ts`์ ๋
ธ๋ ํ๋,
|
|
148
|
+
`src/shape-ops.test.ts`์ ํฐ ๊ทธ๋ํ ์ํ.
|
|
149
|
+
|
|
150
|
+
์ฌํ: ์ ์ธ ์์๋ฅผ ์์กด ์์์ ๋ฐ๋๋ก ๋์ add ์ฌ์ฌ์ document๋ก ์ปดํ์ผํ๋ค.
|
|
151
|
+
2,000ยท5,000ยท8,000๋
ธ๋ ๋ชจ๋ ์ด๋ฒ Node ํ๊ฒฝ์์ `RangeError: Maximum call stack size exceeded`๋ก ์คํจํ๋ค.
|
|
152
|
+
๊ฐ JSON์ ์ฝ 151ยท382ยท613KB๋ก 1 MiB๋ณด๋ค ์๊ณ ๋
ธ๋ ์๋ 8,192 ์ดํ์ด๋ค.
|
|
153
|
+
ํ์ฌ ํฐ ๊ทธ๋ํ ์ํ์ ๋ชจ๋ ์
๋ ฅ `a`๋ฅผ ์ง์ ์ฝ๋ ๋์ ๊ทธ๋ํ๋ผ ์ด ๊ฒฝ๊ณ๋ฅผ ์ก์ง ๋ชปํ๋ค.
|
|
154
|
+
|
|
155
|
+
๊ฐ์ : ๋ฐ๋ณตํ DFS ๋๋ Kahn ์์ ์ ๋ ฌ๋ก ๋ฐ๊พธ๊ณ cycle ๊ฒฝ๋ก ์ง๋จ์ ์ ์งํ๋ค.
|
|
156
|
+
์ง์ ๊น์ด์ ์ ํ์ ๋๋ค๋ฉด ๋ช
์์ `FigureContractError`๋ก ๊ฑฐ์ ํ๋ค.
|
|
157
|
+
๊ณต๊ฐ `compileFigureGraph`๋ document์ byte/node ๊ฒฝ๊ณ๋ฅผ ๊ฑฐ์น์ง ์์ผ๋ฏ๋ก, ์ ์์ค API์ ์ ๋ขฐยท์์ฐ ๊ณ์ฝ๋ ๋ช
์ํ๋ค.
|
|
158
|
+
๋ฐ๋ณต๋ง๋ค 10,000๊ฐ์ ์ ๊ฐ ํ๋๊ฐ ์์ด๋ ์ ์ฒด geometry ํฉ๊ณยทslotยท๊ฒ์ฌ ์คํ ์๊ฐ ์๋์ผ๋ก ์ ํ๋์ง๋ ์๋๋ค.
|
|
159
|
+
์ ์ฒด ํ๊ฐ ์์ฐ์ ์ถ๊ฐํ ์ง ๋ณ๋ ๊ฒฐ์ ํ๊ณ , ์ค์ ๋ฉ๋ชจ๋ฆฌ ์ํ์ ์ธก์ ํ๋ค.
|
|
160
|
+
|
|
161
|
+
### F4. ๊ฒ์ฌ ์ต์
์ ๊ฒ์ฆํ์ง ์์ ์๋ชป๋ ์ซ์๊ฐ ๊ณ์ฐ ์ค๋ฅ๋ก ๋ํ๋จ โ ์ค๊ฐ ์ฐ์ ์์
|
|
162
|
+
|
|
163
|
+
> ํด๊ฒฐ๋จ(2026-10-04). ์ ใํด๊ฒฐ ํํฉใ ์ฐธ๊ณ . ์๋๋ ์ ๊ฒ ๋น์์ ๊ธฐ๋ก์ด๋ค.
|
|
164
|
+
|
|
165
|
+
๊ทผ๊ฑฐ: `src/gate.ts`์ `inspectFigureAsset`, 544~580ํ.
|
|
166
|
+
hinged-door์์ `sweepSteps: 1`์ 0/0 ๋๋ฌธ์ `NON_FINITE`, 2.5๋ ์
๋ ฅ ๋ฒ์๋ฅผ ๋๋ ํ๋ณธ ๋๋ฌธ์
|
|
167
|
+
`INPUT_RANGE`, 0์ sweep ์์ด sampled ๊ฒฐ๊ณผ๋ก ์ฑ๊ณตํ๋ค.
|
|
168
|
+
์ด๋ Figure ์์ฒด๊ฐ ์๋๋ผ ๊ฒ์ฌ ์ค์ ์ ๋ฌธ์ ์ธ๋ฐ ์ง๋จ์์ ๊ตฌ๋ณ๋์ง ์๋๋ค.
|
|
169
|
+
|
|
170
|
+
๊ฐ์ : sweepSteps๋ฅผ 2 ์ด์ ์ ํ ์ ์๋ก ๊ฒ์ฆํ๊ณ ์ต๋ ํ๋ณธ ์๋ฅผ ์ ํํ๋ค.
|
|
171
|
+
maxCornerInputs๋ ์ ํ ์ ์ยท์ง์ ๋ฒ์๋ก ๊ฒ์ฆํ๋ค.
|
|
172
|
+
`1 << inputs.length`๋ 32๋นํธ ์ํํธ์ด๋ฏ๋ก ์ต์
์ผ๋ก 31๊ฐ ์ด์ ์ ์ ์ฝ๋๋ฅผ ํ์ฉํ๋ฉด ์ฐ์ ๋ ๋ถ์ ํํด์ง๋ค.
|
|
173
|
+
์ ์ ํ๋ณธ ์๋ฅผ ์ฌ์ ์ ๊ณ์ฐํด ์์ฐ์ ํ์ธํ๋ฉฐ, sampled/defaults ์๋ฏธ๋ฅผ ๊ทธ๋๋ก ๋ณด์กดํ๋ค.
|
|
174
|
+
|
|
175
|
+
์ฌํ ๋ช
๋ น:
|
|
176
|
+
|
|
177
|
+
```sh
|
|
178
|
+
node scripts/audit-completeness-2026-10-04.mjs
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
์ด ์คํฌ๋ฆฝํธ๋ ๊ด์ฐฐ์ ์ถ๋ ฅํ๋ ์ ๊ฒ ๋๊ตฌ๋ค. ๊ฒฐํจ์ด ๋จ์ ์์ด์ผ ํต๊ณผํ๋ ํ๊ท ์ํ์ด ์๋๋ค.
|
|
182
|
+
๊ณ์ฝ์ ๊ฒ์ฆํ๋ ํ๊ท ์ํ์ ใํด๊ฒฐ ํํฉใ ํ์ ์ํ ํ์ผ์ ์๋ค.
|
|
183
|
+
|
|
184
|
+
## ํ์ฅ์ฑ: ์ข์ ๊ธฐ๋ฐ๊ณผ ์ ์ฝ
|
|
185
|
+
|
|
186
|
+
### ํ์ฌ ์ ๊ฐ์ถ ๊ธฐ๋ฐ
|
|
187
|
+
|
|
188
|
+
- ๋จ์์ frame์ ํ์
์ผ๋ก ๊ฒ์ฌํ๊ณ ์ํ ์์กด์ฑ์ ์ ์ด์ ์ผ๋ก ์ ํํ๋ค. ๊ด์ ์ด๋ฆ์ ์ถ์ธกํด ์คํํ์ง ์๋๋ค.
|
|
189
|
+
- ๊ณต์ ์ปดํ์ผ ๊ฒฐ๊ณผ์ ์ธ์คํด์ค๋ณ evaluator ์ํ๊ฐ ๋ถ๋ฆฌ๋์ด ์๋ค. ์ฆ๋ถยท์์ธ ๊ฒฝ๋ก๋ ๊ธฐ์กด ์ฐ์ฐ์ ๊ณ์ฐ์ ์ฌ์ฌ์ฉํ๊ณ ๋ฏธ์ง์ ๊ฒฝ๋ก๋ฅผ ์ ์ฒด ํ๊ฐ๋ก ๋๋ฆฐ๋ค.
|
|
190
|
+
- `shape-ops.ts`์ shape description์ด ์ธก์ ยทํธ์งยทfeature๋ฅผ ์ฐ๊ฒฐํ๋ค. ์ ํ์์ ์ถ๊ฐํ ๋ ์๋น์๊ฐ ์ธ์ ์์น๋ฅผ ์ ๊ฐ๊ฐ ํด์ํ ํ์๊ฐ ์ค์๋ค.
|
|
191
|
+
- proposal์ command union ์์ ์ฑ ๊ฒ์ฌ๊ฐ UI์ AI์ ์ธ์ด ์ฐจ์ด๋ฅผ ์ค์ธ๋ค. recipe๋ ๋ฐ์ดํฐ๋ก ๋ช
๋ น์ ์ฌ์ฌ์ฉํ๋ค.
|
|
192
|
+
- renderer ์์ฒด๋ฅผ ํฌํจํ์ง ์๊ณ render plan์ ์ ๊ณตํ๋ค. ๋ฑ๊ธ๊ณผ ๋ ๋ ๋ฌถ์์ ๊ท์น์ ๊ณต์ ํ ์ ์๋ค.
|
|
193
|
+
- JSON duplicate keyยท๋น์ ํ ๊ฐยทgetterยทcycle ๋ฑ ๊ฒฝ๊ณ ๋ฐฉ์ด๊ฐ ์๊ณ , ๊ฒ์ฌ coverage๊ฐ ํ๋ณธ๊ณผ ์ฆ๋ช
์ ๊ตฌ๋ณํ๋ค.
|
|
194
|
+
|
|
195
|
+
### ๊ธฐ๋ฅ์์ ์๋์ ์ ์ฝ
|
|
196
|
+
|
|
197
|
+
| ์์ญ | ํ์ฌ ๋ฒ์ยท์ ์ฝ | ํ์ฅํ ๋ ํ์ํ ๊ฒ |
|
|
198
|
+
| ----------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
|
|
199
|
+
| ํ์ | extrude/revolve/loft. loft๋ ๋จ๋ฉดโ์ ํผ๋ผ๋ฏธ๋์ด๋ฉฐ ์์ ๋ค๋จ๋ฉด loft๊ฐ ์๋ | sweepยทmesh importยทCSG ๋ฑ์ด ํ์ํ๋ฉด ํ์ยทbounds/supportยทfeatureยทํธ์งยท์ผ๊ฐํ ๊ณ์ฐยทrenderer ๊ณ์ฝ๊น์ง ํจ๊ป ์ค๊ณ |
|
|
200
|
+
| ์ฐ๊ฒฐ | ๊ฐ์ฒด frame๊ณผ DAG/tree ๊ธฐ๋ฐ ๊ด์ | ํ์ ๊ธฐ๊ตฌยท์ฐ๋ฆฝ ์ ์ฝ์ ๋ช
์ ๊ด๊ณ ๋ธ๋ก๊ณผ ํด ์ ํยท๋ถ๋ฅ ์ง๋จ. ๋ถ๋ชจ ๋๋ก ์ฐํํ์ง ์๊ธฐ |
|
|
201
|
+
| ๋ก๋ด | ์ ๋ฐฉํฅ ์์ธ, ๊ด์ ๋ชฉ๋ก๊ณผ mimic | IKยท์ถฉ๋ยท์๋/ํ ํฌยท๋์ญํ์ ํ์ฌ ์ปค๋ ๋ณด์ฅ์ด ์๋. ์ธ๋ถ solver์ ์
๋ ฅ/์ถ๋ ฅ ๊ณ์ฝ๋ถํฐ ์ ์ |
|
|
202
|
+
| mimic | ์ฌ๋ฌ leader์ ์ ํ ํฉ์ ์ง์. follower๋ฅผ ๋ค์ leader๋ก ์ฐ๋ ์ฐ๊ฒฐ์ ์ ์ ๊ฒ์ฆ์์ ๊ฑฐ์ | ๋ค๋จ mimic์ด ํ์ํ๋ฉด ๋จ์ยท์ํยท๋ฒ์ยท๊ด์ ๋ชฉ๋ก ํ์ ๊ท์น๊น์ง ๊ฒํ |
|
|
203
|
+
| ๋ฐ๋ณต | design์ ์ํ ์ ํ topology, state์ ์ํ ๋ด๋ถ ์ด๋ | state์ ๋ฐ๋ฅธ ์์ฑ/์ญ์ ๋ ํ์ฌ count ์ ์ฑ
๋ฐ. ordinal key๊ฐ ๋ฌผ๋ฆฌ์ ๊ฐ์ฒด ์ ์ฒด์ฑ์ ๋ณด์ฅํ๋์ง๋ ๋ณ๋ ๊ฒฐ์ |
|
|
204
|
+
| ์ ์ | ๋ง๋ค์ด์ง recipe๋ ๋ณดํต ๋ถํ์ผ๋ก ์ฝ์
๋๊ณ recipe์์ ์ฐ๊ฒฐ์ ์ฌ๋ผ์ง | ์ฌ์ฌ์ฉ ํ์ ์กฐ๋ฆฝ์ฒด์ ์๋ณธ ์์ ์ ํ๊ฐ ํ์ํ๋ฉด template/instance/override ๋ฒ์ ๊ณ์ฝ ํ์ |
|
|
205
|
+
| capability | Capacity/Holdable/Transferable/FlowNode์ ๋ซํ ๋ชฉ๋ก | ์ ํ๋์ ์ปค๋ ์ ์ธ๊ณผ scene ๊ตฌํ์ ํจ๊ป ์ถ๊ฐ. ์ด๋ฆ๋ง ์ถ๊ฐํ๋ฉด ๊ธฐ๋ฅ ์ง์์ด ์๋ |
|
|
206
|
+
| ๋ฐฐ์น ์ต์ ํ | ๋ฐ๋ณตยท์ ์ ยท๋์ผ carrier ๋ฌถ์, ์ฌ์ง/ํฌ๋ช
์ฑ/visibility ๋ฑ ์กฐ๊ฑด | ์ฅ๋ฉด ๊ฐ ๋ฐฐ์นญยทLODยทGPU ํํ์ ๋ณ๋ ์๋น์ ์ค๊ณ์ ์ค์ธก ํ์ |
|
|
207
|
+
|
|
208
|
+
์ด ์ ์ฝ๋ค์ด ๊ณง ๊ฒฐํจ์ ์๋๋ค. ๋ํ ์ฅ๋น์๋ ๋จ์์ฑ๊ณผ ๊ฒฐ์ ์ฑ์ด ์ฅ์ ์ด๋ค.
|
|
209
|
+
๋ค๋ง README์ โ์ฝ๋๋ก ๋ง๋ค ์ ์๋ ํ์์ ๋ฐ์ดํฐ๋ก ๋ง๋ค๊ธฐโ๋ ๋ชฉํ์ด๋ฉฐ ํ์ฌ์ ๋ฌด์ ํ ํํ๋ ฅ ๋ณด์ฅ์ด ์๋๋ค.
|
|
210
|
+
|
|
211
|
+
### ์ฐ์ฐ ํ์ฅ ์ ๊ฐ์ ํ ๊ตฌ์กฐ
|
|
212
|
+
|
|
213
|
+
`src/graph.ts` 675~707ํ์ ์ ์ฐ์ฐ์ state=`follows`, pure=true๋ฅผ ์๋์ผ๋ก ์ค๋ค.
|
|
214
|
+
์ฃผ์์ โ์ ์ฑ
์๋ ์ฐ์ฐ์ ๊ฑฐ์ โ๊ณผ ๋ฌ๋ฆฌ catalog์ ๋ฃ๊ธฐ๋ง ํ๋ฉด ๊ธฐ๋ณธ ์ ์ฑ
์ด ์๊ธด๋ค.
|
|
215
|
+
์ค๋์ ์์ ์ฐ์ฐ๋ค์ ๋ํ ์ค๋ต์ ํ์ธํ์ง ์์์ง๋ง, ํฅํ ์๊ฐยท์ธ๋ถ ์ํยทtopology ์ฐ์ฐ์ ์ถ๊ฐํ ๋
|
|
216
|
+
๋๋ฝ๋ ์ ์ฑ
์ด ์์ ํ๊ฒ ๊ฑฐ์ ๋์ง ์๋ ๊ตฌ์กฐ๋ค.
|
|
217
|
+
|
|
218
|
+
๊ฐ์ ๋ฐฉํฅ์ ์ฐ์ฐ ์ ์์ unit/frame signature, state policy, purity, pose form, extrema basis๋ฅผ ๋ช
์ํ๊ณ ,
|
|
219
|
+
๋ถ๋ช
ํํ ํญ๋ชฉ์ ์ปดํ์ผ ๊ฑฐ์ ๋๋ ๊ฒ์ฌ sampled๋ก ์ฒ๋ฆฌํ๋ ๊ฒ์ด๋ค.
|
|
220
|
+
์ ์ฒด ๋ชฉ๋ก์ ๊ณ ์ ํ๋ ์ํ์ ์ ์งํ๋ ์ ์ฑ
์์ฒด์ ์๋ฏธ ๊ฒ์ฆ์ ๋์ ํ์ง ์๋๋ก ํ๋ค.
|
|
221
|
+
`Dynamic = any`๋ ํ์ฌ 13๊ฐ ํ์ผ์ ์๋ค. ๋จผ์ ์ฐ์ฐ dispatch์ shape์ discriminated union๋ถํฐ ๊ฐํํ๋ค.
|
|
222
|
+
ํ ๋ฒ์ ๋ชจ๋์ ๋ชจ๋ ๋๋๊ธฐ๋ณด๋ค graph ๊ฒ์ฆยท์คํยทpose ๋ถ์ยท์ฐ์ฐ catalog์ ์ฑ
์ ๊ฒฝ๊ณ๋ฅผ ์ ์ง์ ์ผ๋ก ๋ถ๋ฆฌํ๋ค.
|
|
223
|
+
|
|
224
|
+
## ๊ฒ์ฌยท์ฑ๋ฅ ์ซ์์ ํด์์์ ๋ณด์ํ ๊ฒ
|
|
225
|
+
|
|
226
|
+
1. `linear.scalable`์ ๋ชจ๋ ์
๋ ฅ์์์ ์ํ์ ์ฆ๋ช
์ด ์๋๋ค. ํ์ฌ `release-metrics.ts`๋ authored size์
|
|
227
|
+
์ผ๊ณฑ resize ํ๋ณธ์ AABB ์ค์ฌยทextent ๋ฐ ์ผ๊ฐํ ์๋ฅผ ๋น๊ตํ๋ค. bounds๊ฐ ๊ฐ์๋ ์ ์ ยทfeature๊ฐ ๊ฐ๋ค๋
|
|
228
|
+
๊ฒฐ๋ก ์ ๋์ค์ง ์๋๋ค. `probe`๊ฐ ๊ธฐ๋ก๋๋ ๊ฒ์ ์ข๋ค. ๋ฒ์ยท์ํยท๊ฒ์ฆ ๋ฐฉ๋ฒ์ ๋ ๋ช
ํํ ํ๊ณ , ์ค์
|
|
229
|
+
๋ฐฐ์นญ์ ํ์ฉ ๊ทผ๊ฑฐ๋ก ์ฌ์ฉํ ๋์๋ ๋ณ๋์ ๊ตฌ์กฐ์ ์ฆ๋ช
์ด๋ ์ ํํ geometry ๋๋ฑ์ฑ ์กฐ๊ฑด์ ์๊ตฌํ๋ค.
|
|
230
|
+
2. `atLargest`๋ size ์ถ์ max ์กฐํฉ์์ ์ฐ ๋น์ฉ์ด์ง, ๋ชจ๋ design/state ์กฐํฉ์ ์ต๋ ๋น์ฉ ์ฆ๋ช
์ด ์๋๋ค.
|
|
231
|
+
๊ณต๊ฐ pitch์ visibilityยทstate-dependent geometry๊ฐ ๋น์ฉ์ ๋ฐ๊ฟ ์ ์๋ค. ์ธก์ ์ ๊ณผ worst-case coverage๋ฅผ
|
|
232
|
+
๊ตฌ๋ถํ๊ณ ๋จ์กฐ์ฑ ์ฆ๋ช
๋๋ ๋ณด์์ ์์ฐ ๊ณ์ฐ์ ์ถ๊ฐํ๋ค. ํ์ฌ ๋ฑ๊ธ๋ ๊ธฐ๋ณธ ์
๋ ฅ์ ๋ฑ๊ธ์ด๋ค.
|
|
233
|
+
3. `words.ts` ์์ฐ์ ํน์ ์ฅ์น์์ ์ฐ draw/motion ๊ฐ๊ณผ ๋ฏธ์ธก์ triangle ๋ชฉํ๊ฐ ์์ธ๋ค.
|
|
234
|
+
๋ฑ๊ธ์ ์ผ๋ฐ ์ฅ์น์ fps ๋ณด์ฅ์ผ๋ก ์ฌ์ฉํ์ง ๋ง๊ณ , ์ฅ์นยทrendererยทkernelยท์ธก์ ์๋๋ฆฌ์ค๋ฅผ ๊ฐ์ง ๋น์ฉ profile๋ก
|
|
235
|
+
๋ฒ์ ํํ๋ ๋ฐฉํฅ์ด ์ข๋ค. ์ต๊ทผ ์ปค๋/rig ๊ฐ์ ๋ค์๋ ๊ธฐ์กด ๋๋น ๊ณ์๊ฐ ์ ํจํ์ง๋ ์ฌ์ธก์ ๋์์ด๋ค.
|
|
236
|
+
4. poseStep์ ๋ณ๊ฒฝ์ด ์์ด๋ ์ ์ฒด bodyCount ํฌ๊ธฐ์ Int32/Float64 ๋ฒํผ๋ฅผ ํ ๋นํ ๋ค sliceํ๋ค.
|
|
237
|
+
์์ ๋ณ๊ฒฝ์์๋ ์ฐ๋ ์๋ณด๋ค ํ ๋น๋์ด ์ปค์ง ์ ์๋ค. ๋ณ๊ฒฝ ์์์ ๋น ๊ฒฐ๊ณผ, ์ถ๋ ฅ ํฌ๊ธฐ ์ถ์ , ๋ช
์ ์๋ช
์
|
|
238
|
+
๋ด๋ถ ๋ฒํผ๋ฅผ ๊ฒํ ํ๋ ์ด์ ๊ฒฐ๊ณผ ๋ณด์กด์ ๋จผ์ ์ ํ๊ณ ํ ๋นยทGCยท์ ์ฒด ํ๋ ์ ๊ฐ์ ์ ์ธก์ ํ๋ค.
|
|
239
|
+
5. pose ๊ฒฐ๊ณผ์ `read`/`changed`๋ ๋ด๋ถ fast ์ฌ๋กฏยทmark๋ฅผ ์กฐํํ๋ closure๋ค.
|
|
240
|
+
์ด์ step์ ๋ณด๊ดํ ๋ค ๋ค์ advance ํ ์กฐํํ ๋์ ์๋ช
๊ณ์ฝ์ ๋ฌธ์ํํด์ผ ํ๋ค.
|
|
241
|
+
์ผ๋ฐ snapshot๊ณผ frame ๋ฒ์ ์กฐํ API๋ฅผ ํผ๋ํ์ง ์๋๋ก ํ๋ค.
|
|
242
|
+
|
|
243
|
+
์ ํญ๋ชฉ์ ์ฌํ๋ F1~F4์ ๊ตฌ๋ถํ ์ค๊ณยท์ธก์ ๊ฐ์ ํ๋ณด์ด๋ค. ์ ์ฑ๋ฅ ์์น๋ ์ค์ ์ฅ๋ฉด ๊ฒฐํจ์ผ๋ก ์ฃผ์ฅํ์ง ์๋๋ค.
|
|
244
|
+
|
|
245
|
+
## ๊ถ์ฅ ์์์ ์๋ฃ ์กฐ๊ฑด
|
|
246
|
+
|
|
247
|
+
1. F1 ๊ฒฐ๊ณผ ์์ ๊ถ๊ณผ F2 ๊ณต๊ฐ ๊ฒ์ฆ ์ผ๊ด์ฑ์ ๊ฒฐ์ ยท์์ ํ๊ณ ์ค์ฒฉ mutation ๋ฐ serialize/parse ํ๊ท ์ํ์ ์ถ๊ฐํ๋ค.
|
|
248
|
+
2. F3 ๋ฐ๋ณตํ ๊ทธ๋ํ ์ปดํ์ผ๊ณผ F4 ๊ฒ์ฌ ์ต์
/์คํ ์์ฐ์ ๋ณด์ํ๋ค. ๊น์ยท๋์ยท์ํ ๊ทธ๋ํ์ ์ค์ ๊ฒฝ๊ณ๋ฅผ ํ์ธํ๋ค.
|
|
249
|
+
3. ์ง์ ๊ธฐ๋ฅยท์๋์ ์ ํยท์ฆ๋ช
/ํ๋ณธ์ ๊ตฌ๋ณ์ ์ ๋ณธ ๋ฌธ์์ ๋ชจ์ผ๊ณ , ์ฌํ script์ ํํ ์ํ ๋งํฌ๋ฅผ ์ ์งํ๋ค.
|
|
250
|
+
4. ์ ์ฐ์ฐ์ ์ ์ฑ
์ ํ์ํํ๊ณ catalog/type๋ฅผ ๋จ๊ณ์ ์ผ๋ก ์ ๋ฆฌํ๋ค. ๊ธฐ์กด ์์ฐ์ ์๋ฏธ์ fallback์ ๋ณด์กดํ๋ค.
|
|
251
|
+
5. ๋น์ฉ profile๊ณผ pose ํ ๋น์ ์ค์ ์ฅ๋ฉด์์ ๊ฒํ ํ๋ค. ์ ํ์ฑ์ด ์ ์ง๋๊ณ ์ ์ฒด ํ๋ ์์ด ๊ฐ์ ๋ ๋ ์ฑํํ๋ค.
|
|
252
|
+
6. IKยทํ์ ๊ธฐ๊ตฌยท์ ํ์ยทํ์ template ๋ฑ์ ์ค์ ์๊ตฌ ์ฌ๋ก ์์๋ก ๋ณ๋ ์ค๊ณํ๋ค. ๊ธฐ๋ฅ ์๋ฅผ ๋๋ฆฌ๋ ๊ฒ ์์ฒด๋ฅผ
|
|
253
|
+
์๊ฒฐ์ฑ ์งํ๋ก ์ผ์ง ์๋๋ค.
|
|
254
|
+
|
|
255
|
+
์ด๋ฒ ์๋ฃ ๋ฒ์๋ ์ ์ฅ์ ์ ๊ฒยท๋ฌธ์ํยท์ฌํ ๊ทผ๊ฑฐ ๋ง๋ จ์ด๋ค. ๋ฐํ์ ๊ฒฐํจ ์์ , ์๋น์ ์ ์ฒด ๊ฒ์ฆ,
|
|
256
|
+
๋ฐฐํฌยท๋ฐํ์ ํ์ ์์
์ด๋ฉฐ ์ํํ์ง ์์๋ค.
|
package/docs/status.md
CHANGED
|
@@ -3,7 +3,18 @@
|
|
|
3
3
|
> ์ด ํ์ผ์ ์งง์ ์๋ด๋ค. ๊ฒฐ์ ์ `operato-application/adr/`(ADR-0087 ยท ADR-0093 ยท ADR-0096), ํ์ฌ ์ํ๋
|
|
4
4
|
> `operato-application/packages/operato-figure/docs/CURRENT_STATUS.md` ๊ฐ ์ ๋ณธ์ด๋ค.
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
์ต๊ทผ ์ ์ฅ์ ์ ๊ฒ: 2026-10-04, figure-model 0.3.2 (`4610edc`).
|
|
7
|
+
|
|
8
|
+
- ์๊ฒฐ์ฑยทํ์ฅ์ฑ ๋ฐ ๊ณต๊ฐ ๊ฒฝ๊ณ ๊ฒํ : [์ ๊ฒ ๊ฒฐ๊ณผ](completeness-review-2026-10-04.md).
|
|
9
|
+
- ์ ๊ฒ ๋ `npm test`: ํ์
๊ฒ์ฌ์ 696๊ฐ ์ํ ํต๊ณผ.
|
|
10
|
+
- ์ฌํ๋ F1~F4๋ ๊ฐ์ ๋ ๊ณ ์ณค๋ค(`122b3c0` ยท `c86d74b` ยท `4f32334` ยท `9a332e7`, ๋ฏธ๋ฐํ). ๊ณ ์น ๋ค `npm test`๋
|
|
11
|
+
ํ์
๊ฒ์ฌ์ 725๊ฐ ์ํ ํต๊ณผ, build ์ฑ๊ณต. ์ ํํ ๊ณ์ฝ๊ณผ ๋จ์ ์ ํ์ ์ ๊ฒ ๊ฒฐ๊ณผ ๋ฌธ์์ ใํด๊ฒฐ ํํฉใ์ ์๋ค.
|
|
12
|
+
- ๋ฐํ ํ์ : ใ์ ํ์ฑยท๊ฒ์ฆ ๊ฒฝ๊ณ ๊ฐ์ , ์ผ๋ฐ ํ๊ฐ ๋น์ฉ ์ฆ๊ฐใ. ์ฑ๋ฅ์ CPU rig๊น์ง๋ง ์๋ค(๋งค ํ๋ ์ evaluate
|
|
13
|
+
+40~55%). ๋๊ท๋ชจ resize ์ต์ ํ๋ ๋ณ๋ ๊ณผ์ ๋ค.
|
|
14
|
+
- ๋จ์ ๊ฐ์ ํ๋ณด(์ฐ์ฐ ์ ์ฑ
ํ์ํ, ๋น์ฉ profile, pose ๋ฒํผ ํ ๋น, IKยท์ ํ์ยทํ์ template)๋ ๋ณ๋ ๊ณผ์ ๋ค.
|
|
15
|
+
- ์๋ ์ ํ ์ค์น ์ ๋ณด๋ **2026-09-27 ๋น์ ๊ธฐ๋ก**์ด๋ค. ํ์ฌ ์ค์น ๋ฒ์ ํ์ธ ๊ฒฐ๊ณผ๋ก ์ฝ์ง ์๋๋ค.
|
|
16
|
+
|
|
17
|
+
์ ํ ์ฐ๊ฒฐ ๊ธฐ๋ก ๊ธฐ์ค์ผ: 2026-09-27.
|
|
7
18
|
|
|
8
19
|
- ๋ชจ๋ธ๋ฌยทAIยท์ ์ฅยท๋ ๋๋ฌ๋ ํ ํ์(`figure-asset-1`)์ ์ด๋ค. ์ ํ์์ 2026-09-26 ์ฝ๋์ ๋ช
์ธ์์ ์์ด๋ค.
|
|
9
20
|
- ์ ํ ์๋ฒ localhost:3300 ์ ์ด ํ์์ผ๋ก ๋๋ค(figure-model 0.1.92 ยท things-scene 10.1.60 ยท tf 10.1.75).
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hatiolab/figure-model",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.3",
|
|
4
4
|
"description": "The figure format (figure-asset-1): a kernel that evaluates a figure from its declared relations, the authoring commands a modeller and an AI share, the release gate and the score.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"figure",
|