Files
rackstack/TODO.md
2023-08-08 20:23:27 -04:00

47 lines
1.5 KiB
Markdown

# case-project TODO list
### Actual TODO
- Finish refactoring files to use the application style, like in `yBar.scad`
- Implement better build script using python !!!
- Start working on actual cases
- Figure out why sidewall build is so slow
- Tidy up imports
- Standardize meaning of `U`
### Ideas
- Clean up `sharedVariables.scad`!!!
- Start using matrices for transformations. Enforce strict local/global hierarchy of matrix transformations.
- Instead of using names like 'mainRailSlotToInnerYZFace', experiment with a central distance/dimension directory. Like:
```openscad
// Define identifiers:
mainRailSlot = "mainRailSlotIdentifier";
yBarInnerYZ = "yBarInnerYZFaceIdentifier";
// Define distance
setDx(mainRailSlot, yBarInnerYZ, 3);
// Define dimensions
setX(mainRailSlot, 10);
setX(yBarInnerYZ, 0);
// Then, you can get distances like:
dx(mainRailSlot, yBarInnerYZ); // == 3
dx(yBarInnerYZ, mainRailSlot); // == 3
dx(mainRailSlot, blah); //throw error
// And you could possible chain distances like:
dx(yBarInnerYZ, mainRailSlot, sideConnectorSlot);
// which would eval to:
// dx(yBarInnerYZ, mainRailSlot) + x(mainRailSlot) + dx(mainRailSlot, sideConnectorSlot);
// OR
dx(yBarInnerYZ, mainRailSlot, sideConnectorSlot, includeFirst=true, includeLast=true);
// which would eval to:
// x(yBarInnerYZ) + dx(yBarInnerYZ, mainRailSlot, sideConnectorSlot) + x(sideConnectorSlot);
```
Hmm after looking into it a bit it seems that OpenScad's non-reassign rule is going to get in the way. Might still be
worthwhile implement variable subsystem?