Returns {
constraints: {
taco_taco: TacoTacoConstraint[];
taco_tortilla: TacoTortillaConstraint[];
tortilla_tortilla: TortillaTortillaConstraint[];
transitivity: TransitivityConstraint[];
};
facePairs: string[];
faces_winding: boolean[];
lookup: {
taco_taco: number[][];
taco_tortilla: number[][];
tortilla_tortilla: number[][];
transitivity: number[][];
};
orders: {
[key: string]: number;
};
}
all data required for the solver, including:
- constraints
- lookup: which tells us location of faces inside of constraints
- facePairs: all conditions that need to be solved, a list of
space-separated pairs of face indices, "a b" where a < b.
- faces_winding: for every face, which direction is the winding
facePairs: string[]
faces_winding: boolean[]
lookup: {
taco_taco: number[][];
taco_tortilla: number[][];
tortilla_tortilla: number[][];
transitivity: number[][];
}
taco_taco: number[][]
taco_tortilla: number[][]
tortilla_tortilla: number[][]
transitivity: number[][]
orders: {
[key: string]: number;
}
a FOLD object