@hatiolab/figure-model 0.1.54 → 0.1.55
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/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/v3-asset-types.d.ts +6 -0
- package/dist/v3-asset-types.d.ts.map +1 -1
- package/dist/v3-asset.d.ts.map +1 -1
- package/dist/v3-asset.js +3 -1
- package/dist/v3-asset.js.map +1 -1
- package/dist/v3-authoring-actions.d.ts +17 -0
- package/dist/v3-authoring-actions.d.ts.map +1 -1
- package/dist/v3-authoring-actions.js +46 -0
- package/dist/v3-authoring-actions.js.map +1 -1
- package/dist/v3-from-v2.d.ts.map +1 -1
- package/dist/v3-from-v2.js +3 -3
- package/dist/v3-from-v2.js.map +1 -1
- package/dist/v3-kernel-version.d.ts +1 -1
- package/dist/v3-kernel-version.js +1 -1
- package/dist/v3-score.d.ts +12 -1
- package/dist/v3-score.d.ts.map +1 -1
- package/dist/v3-score.js +18 -3
- package/dist/v3-score.js.map +1 -1
- package/package.json +1 -1
|
@@ -7,5 +7,5 @@
|
|
|
7
7
|
* different result. Kept equal to package.json's version by `npm version` (the `version` script rewrites this file)
|
|
8
8
|
* and by `v3-kernel-version.test.ts`.
|
|
9
9
|
*/
|
|
10
|
-
export const V3_KERNEL_VERSION = '0.1.
|
|
10
|
+
export const V3_KERNEL_VERSION = '0.1.55';
|
|
11
11
|
//# sourceMappingURL=v3-kernel-version.js.map
|
package/dist/v3-score.d.ts
CHANGED
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
import type { FigureGrade } from './cost.ts';
|
|
2
2
|
import type { V3Asset, V3AssetGeometry } from './v3-asset-types.ts';
|
|
3
|
-
export type V3BudgetKey = 'groups' | 'triangles' | 'independent' | 'transparent';
|
|
3
|
+
export type V3BudgetKey = 'groups' | 'triangles' | 'independent' | 'transparent' | 'parts';
|
|
4
4
|
/** Every budget, in the order a screen draws them. */
|
|
5
5
|
export declare const V3_BUDGET_KEYS: readonly V3BudgetKey[];
|
|
6
|
+
/**
|
|
7
|
+
* How many parts the figure is authored with: one per authored part, a repeat once however many copies it makes -- V2
|
|
8
|
+
* counted its `parts` the same way. The number the detail level's limit (`PART_LIMIT`) is held against.
|
|
9
|
+
*/
|
|
10
|
+
export declare function v3PartCountOf(asset: V3Asset): number;
|
|
11
|
+
/** The detail level's part budget, or nothing when the figure declares no level. */
|
|
12
|
+
export declare function v3PartBudgetOf(asset: V3Asset): {
|
|
13
|
+
level: 'S' | 'M' | 'L';
|
|
14
|
+
used: number;
|
|
15
|
+
limit: number;
|
|
16
|
+
} | undefined;
|
|
6
17
|
export interface V3BudgetUse {
|
|
7
18
|
key: V3BudgetKey;
|
|
8
19
|
used: number;
|
package/dist/v3-score.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v3-score.d.ts","sourceRoot":"","sources":["../src/v3-score.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAK5C,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAEnE,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,aAAa,GAAG,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"v3-score.d.ts","sourceRoot":"","sources":["../src/v3-score.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAK5C,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAEnE,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,aAAa,GAAG,aAAa,GAAG,OAAO,CAAA;AAE1F,sDAAsD;AACtD,eAAO,MAAM,cAAc,EAAE,SAAS,WAAW,EAAmE,CAAA;AAEpH;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEpD;AAED,oFAAoF;AACpF,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG;IAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAGlH;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,WAAW,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,mHAAmH;IACnH,KAAK,EAAE,MAAM,CAAA;IACb,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,OAAO;IACtB,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,WAAW,CAAA;IAClB,sFAAsF;IACtF,QAAQ,EAAE,WAAW,CAAA;IACrB,OAAO,EAAE,WAAW,EAAE,CAAA;CACvB;AAED,yHAAyH;AACzH,eAAO,MAAM,cAAc,EAAE,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,EAIrE,CAAA;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAGpD;AAED,6FAA6F;AAC7F,eAAO,MAAM,eAAe;;;CAGlB,CAAA;AAEV,oFAAoF;AACpF,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAI7D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,eAAe,EAAE,GAAG,MAAM,CAQ/F;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CA0B7D"}
|
package/dist/v3-score.js
CHANGED
|
@@ -18,13 +18,26 @@
|
|
|
18
18
|
* The bounds are V2's (`cost.ts`): A up to half of a budget used, B up to three quarters, C up to all of it, D over.
|
|
19
19
|
* The tightest budget decides — it is where to start.
|
|
20
20
|
*/
|
|
21
|
-
import { LIMITS } from "./types.js";
|
|
21
|
+
import { LIMITS, PART_LIMIT } from "./types.js";
|
|
22
22
|
import { compileV3Asset } from "./v3-asset.js";
|
|
23
23
|
import { compileV3Document } from "./v3-document.js";
|
|
24
24
|
import { v3WritersOf } from "./v3-gate.js";
|
|
25
25
|
import { v3TrianglesOf } from "./v3-cost.js";
|
|
26
26
|
/** Every budget, in the order a screen draws them. */
|
|
27
|
-
export const V3_BUDGET_KEYS = ['groups', 'triangles', 'independent', 'transparent'];
|
|
27
|
+
export const V3_BUDGET_KEYS = ['groups', 'triangles', 'independent', 'transparent', 'parts'];
|
|
28
|
+
/**
|
|
29
|
+
* How many parts the figure is authored with: one per authored part, a repeat once however many copies it makes -- V2
|
|
30
|
+
* counted its `parts` the same way. The number the detail level's limit (`PART_LIMIT`) is held against.
|
|
31
|
+
*/
|
|
32
|
+
export function v3PartCountOf(asset) {
|
|
33
|
+
return asset.appearance.length;
|
|
34
|
+
}
|
|
35
|
+
/** The detail level's part budget, or nothing when the figure declares no level. */
|
|
36
|
+
export function v3PartBudgetOf(asset) {
|
|
37
|
+
if (!asset.detailLevel)
|
|
38
|
+
return undefined;
|
|
39
|
+
return { level: asset.detailLevel, used: v3PartCountOf(asset), limit: PART_LIMIT[asset.detailLevel] };
|
|
40
|
+
}
|
|
28
41
|
/** V2's grade bounds (`cost.ts` `GRADE_BOUNDS`). A screen draws its scale from this list, so the two cannot disagree. */
|
|
29
42
|
export const V3_GRADE_SCALE = [
|
|
30
43
|
['A', 0.5],
|
|
@@ -80,7 +93,9 @@ export function v3ScoreOf(asset) {
|
|
|
80
93
|
budget('groups', drawn.length, V3_PER_INSTANCE.groups),
|
|
81
94
|
budget('triangles', triangles, V3_PER_INSTANCE.triangles),
|
|
82
95
|
budget('independent', independent, LIMITS.independentParts),
|
|
83
|
-
budget('transparent', transparent, LIMITS.transparentMaterials)
|
|
96
|
+
budget('transparent', transparent, LIMITS.transparentMaterials),
|
|
97
|
+
/* V2's detail-level budget, when the figure declares a level (V2 `scoreOf` held parts to it the same way). */
|
|
98
|
+
...(asset.detailLevel ? [budget('parts', v3PartCountOf(asset), PART_LIMIT[asset.detailLevel])] : [])
|
|
84
99
|
];
|
|
85
100
|
let tightest = budgets[0];
|
|
86
101
|
for (const one of budgets)
|
package/dist/v3-score.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v3-score.js","sourceRoot":"","sources":["../src/v3-score.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"v3-score.js","sourceRoot":"","sources":["../src/v3-score.ts"],"names":[],"mappings":"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"}
|