The Pattern.sampleModels()
method will sample the pattern which means
to draft multiple variants of the same pattern, and stack them on
top of each other.
In this particular case, it will draft a variants for each of the models you pass it.
The goal of model sampling is to verify that a pattern grades correctly up and down as sizes change.
Pattern.sampleModels() signature
Pattern pattern.sampleModels(object models, string focus)
The models
object you pass as the first parameter should be structured as such:
{
modelName1: {
measurement1: valueInMm,
measurement2: valueInMm,
// ...
},
modelName2: {
measurement1: valueInMm,
measurement2: valueInMm,
// ...
},
// ...
}
The (optional) string you can pass as the second parameter should hold the
key of one of the models in the first parameter. In our example above, it
could hold modelName2
for example.
By passing this second parameter, you can put the focus on one of the models, which will influence the render style, and make it easier to see a comparison between a given set of measurements, and the rest.
Alternatively, you can use the Pattern.sample()
method and set settings.sample.focus
to the key
identifying your model in the models object.
Pattern.sampleModels() example
import { Aaron } from "@freesewing/aaron"
const Aaron = new Aaron()
// Load some public test measurements from the FreeSewing backend
const measurements = (
await (
await fetch("https://backend3.freesewing.org/curated-sets/1.json")
).json()
).measurements
const svg = aaron.sampleModels(measurements, "34").render()