1
0
Fork 0
Commit graph

17 commits

Author SHA1 Message Date
Joost De Cock
1264a07afe
Merge branch 'develop' into i18n3 2023-06-17 20:11:44 +02:00
joostdecock
631ea8a50d feat(core): New mergeOptions method and passing mergedOtions to toAbs
When using toAbs for all but the most trivial cases, one needs access to
the options. Unlike measurements which are always there, options aren't
always set since they are only set when they differ from the default.

This would shift a lot of responsibility on the pattern designer who
would have to check whether an option is set, and if it's not use the
default which in turn depends on what type of an option it is (and it's
pct for example you have to remember to divide it by 100 and so on).

This feels footgun-y so instead I've added a `mergeOptions` method that
merges the options passed by the user with the defaults from the pattern
config so that you have a simple object with all option values.

This should get passed to `toAbs()` as the 3rd parameter.
2023-06-11 14:16:07 +02:00
joostdecock
66841b6a7f feat(core): Added new translation proposal for designs 2023-06-09 20:44:19 +02:00
Joost De Cock
7aed296564
Merge pull request #3931 from freesewing/beamIntersectsCurve
utils.beamIntersectsCurve()
2023-04-29 20:10:14 +02:00
Enoch Riese
c65c08432a don't rely on browsers to compute transforms in layouting 2023-04-28 15:46:33 -04:00
Wouter van Wageningen
68c0fca124 Code and tests 2023-04-28 16:42:35 +00:00
Enoch Riese
3c54e94c43 chore (core) move pattern related classes to their own folder 2023-04-18 17:12:55 -04:00
Enoch Riese
7551f09b8d use presets for common hide configurations 2023-03-08 14:37:09 -06:00
Joost De Cock
200cebf582 chore(core): Refactor v3 code 2022-09-18 15:11:10 +02:00
Joost De Cock
0b18d81e14 feat(core): Added support for multiple sets of settings
This changes they was settings (what the user provides) are handled.
Before this, settings were passed as an object and that was it.
Now, settings are treated as an array of settings objects and this adds
full support for managing multiple sets of settings in a single pattern
instance.

This is the mechanism that's used for FreeSewing's sampling which used
to be a rather hackish implementation, but now merely sets up the
relevant list of settings, and then calls `pattern.draft()` as usual.

Things to be mindful of is that parts, the store and settings themselves
are tied to each set of settings. So where they used to be an object,
they are now an array of object.
2022-09-17 10:24:13 +02:00
Joost De Cock
1c442ad580 wip(core): Work on stack-based layouts 2022-09-14 12:24:09 +02:00
Joost De Cock
0cbffd6dc6 wip(core): Work on late-stage config resolver
This moves resolving of the config from the pattern constructor to the
init() method. The idea is that adding a part to a pattern is exactly
the same as adding a part to a design. In other words, late-stage adding
of parts would be no different as the config gets resolved after that.

This is currently broken in many different ways, but the unit tests
particular to this new way of resolving the config do pass.
2022-09-09 20:20:38 +02:00
Joost De Cock
e2c5b61b17 feat(core): Support for store methods in plugins 2022-09-07 16:16:33 +02:00
Joost De Cock
0ae85ecf49 chore(core): Get data from data.mjs 2022-09-01 08:51:56 +02:00
Joost De Cock
d59bab6a6c fix(core): Handle hiding of parts 2022-08-29 17:44:24 +02:00
Joost De Cock
c09ae4aa69 wip(core): Migrated to named exports only 2022-08-28 02:14:39 +02:00
Joost De Cock
3671f44e90 chore: Move core files to .mjs 2022-08-26 18:51:02 +02:00
Renamed from packages/core/src/index.js (Browse further)