Chris Hodapp c19e65b962 Fixed another bug in to_mesh_iter!
This was a more minor bug - but a bug that was making it produce
non-manifold geometry.
2020-04-06 10:38:30 -04:00
2020-04-06 10:38:30 -04:00
2020-04-06 10:38:30 -04:00

This needs a title

Highest priority:

  • Clean up ramhorn_branch because it's fugly.
  • See automata_scratch/examples.py and implement some of the tougher examples.
    • spiral_nested_2 & spiral_nested_3 (how to compose efficiently?)
    • twisty_torus

Important but less critical:

  • Elegance & succinctness (my recent closure work may help with this):
    • Why must I repeat myself so much in these definitions?
    • What patterns can I factor out? I do some things regularly, like: the clockwise boundaries, the zigzag connections
    • Procedural macro to shorten this Tag::Parent, Tag::Body nonsense - and perhaps force to groups of 3?
  • Docs on modules
  • Grep for all TODOs in code, really.
  • Look at performance. Can I save on copies of geometry by using Rc<OpenMesh> or the like? In many cases I have nothing but copied geometry. Can I pre-allocate vectors instead of extending/appending?
    • connect() is a big performance hot-spot: 85% of total time in one test, around 51% in extend(), 33% in clone(). It seems like I should be able to share geometry with the Rc (like noted above), defer copying until actually needed, and pre-allocate the vector to its size (which should be easy to compute).
  • Look at everything in README.md in automata_scratch.
  • I can't really do mutual recursion with the closure method, can I? I'd need actual functions for that.
  • N.B. "Constants" outside the closure only work the way I think they should work if:
    • they're actually static
    • they implement Copy
    • the closure can move them
  • Use an actual logging framework.
  • Migrate tests to... well... actual tests.
  • I am starting to see a pattern emerge in how I have to modularize things around closures. What can a macro do for me here?
  • swept-isocontour stuff from /mnt/dev/graphics_misc/isosurfaces_2018_2019/spiral*.py

If I'm bored:

  • Fix links in tri_mesh docs that use relative paths & do a PR?
  • Look in https://www.nalgebra.org/quick_reference/# for "pour obtain". Can I fix this somehow? Looks like a French-ism that made its way in.
  • Multithread! This looks very task-parallel anywhere that I branch.
  • Would being able to name a rule node (perhaps conditionally under some compile-time flag) help for debugging?
Description
No description provided
Readme 2.7 MiB
Languages
Rust 100%