Unicode variable names already work.
needs better error handling - maybe some help at parse time
This could be implemented by a WASM proggie or a worker.
This requires resolution of global/local/parameter variables and revision of formalMatch to not pollute local or global variables during matching done <2022-10-16 Sun>
Two different TABOP notions, pre-defined by arrays, and L-system generated, in addition to loading pref-defined BABYLON meshes. The first is relatively easy, the last really appealing from a usability pov
Also have objects working and lightly tested These actually already work, but are sparsely tested
Extrusions go a long way toward this already, maybe enhance this or look at ribbons. Alternatively, directly create meshes from turtle positions Not sure about cpfg bspline design
insertMesh as instance at turtle position. scaling and rotation done - need to work on instance specific material.
<2022-10-01 Sat>
and using turtle orientation, optionally scaling it.
we can export, but not import, meshes
<2022-06-20 Mon> gltf export done
Maybe rework end path, }, to take parameter specifying what to do with path, i.e. create path or create contour, since overlapping paths seems unlikely to be of use <2022-10-01 Sat> New syntax: }(type, name), where name is a string or number. The extrusion is added to the Turtle3d.meshes map by name and can be inserted using ~(name,scale)
<2022-06-11 Sat> open Hermite spline done, including setting radii with spline still need to implement segments/pair of control point - currently #segments applies to entire spline
on back burner - doable: there is a JS implementation, but…
<2024-09-06 Fri>
<2024-09-06 Fri> This was not so hard
<2024-09-01 Sun> This is faster and less memory intensive. Also modified cut operator to fit.
<2024-11-21 Thu> Now that arrays seem to work, progress on this looks good. <2024-06-16 Sun> Something like @Map(axiom, parameter set list), to automate/simplify …[axiom(xi,yi,…)] Where one replacement is made for each parameter set in the list -> depending on the values in the parameter set. So, maybe:
p: ?EvalStuff(pset) < P : pset.x^2 + pset.y^2 < 1 -> P@Map(a, pslist)
?EvalStuff(pset) returns a list of parameter sets, i.e. objects referenced by pset.val. The condition would be evaluated and tested for each pset, and if true, the axiom is inserted in to the output. ?EvalStuff is more problematic than the replacement notion.
Possible candidates are to interate over all turtles, or some subset of them, or maybe tagged meshes? (how to tag a mesh? a named mesh is tagged its name when inserted?) <2024-09-06 Fri> Possible algorithm: create named/tagged mesh, say a small sphere. Insert clones of said mesh during expansion. Test operator performs some function on said spheres, returning some value, say a numeric value. Provide a mesh delete operator/module?
<2022-06-11 Sat> start working on this Step was first part of this, but after implementing multiple turtle drawing, that will be the primary focus for animations. That said, the polygon implementation in TABOP where polygons ignore branching is not possible using multiple turtles because it depends on left-to-right interpretation. Polygons that are contained in single branch are still fine. <2022-08-17 Wed> Need to get color/materials set up for multiple turtles <2022-08-18 Thu> implement global color table, so MT looks pretty good <2022-08-24 Wed> Bailed on animation - step mode is pretty good with multiple turtles and speed control. Animation, with capture of layers, will need to wait a bit more.
Attractive from a visualization standpoint, and maybe a cleaner encapsulation <2022-08-17 Wed> Initial changes done - move this to animation <2022-08-24 Wed> This is done, including UI to toggle between single and multiple turtle drawing.
to svelte, and Not to react
<2022-06-20 Mon> gltf export done
<2022-05-21 Sat> The orientation is fixed, i think, but something is broken with lighting <2022-06-11 Sat> ok, fixed now using added adjustFrame parameter to ExtrudeShapeXXX
<2022-10-31 Mon> all strings now normalized to “xxx”