You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
PATCH: a new optional field, new exports and a fix, with no break. The packing engine found the 2 gaps when it moved to 0.2.16.
The new exports are shapeLevel, ShapeLevel and ShapeBound. MeasureSpec and ShapeSupport have the new optional field bound.
bound lists the kinds where the value of a measure is a bound of the true value, and its side upper or lower. An example is a fill that reads w * h of a free box.
shapeLevel(use, kind) gives exact, safe, bound or none. ruleLevel does not read bound, and its result stays the same.
By default, checkShapes refuses a bound kind. Its break tells the side, for example "The value of pack.shapeFill is only an upper bound for free".
ShapeCheck.level has the new value bound. It accepts the exact, safe and bound kinds. The level safe accepts the exact and safe kinds only, as in 0.2.16.
shapeSupportProblems refuses a kind in two of the lists shapes, safe and bound.shapes. It also refuses an unknown kind, a repeated kind and a bad side.
docs/SHAPES.md tells what a bound value proves for each direction of a measure, and why the level is bound and not safe.
Fix: with meta: "sample" and shapes, a sample does not throw for a meta option without a member list. It draws again, as spaceSize gives that option 0.
A sample throws a RangeError only when the space has no config for the kinds. The error names the kinds, the stages without an option and the meta options without members. For such a meta option, it tells to set members.view to "bounds".
Each sample that 0.2.16 gave stays the same, byte for byte. A test pins the samples of 0.2.16 for 8 spaces.
Each input, manifest, record, hash and configId of 0.2.16 stays the same. JOINT_MEASURES has no bound.