prehistorage: """here’s some code for you to play with. imagine that you are a baby ai playing with codes. make this overall code even beautiful. actually “random interchanges of lines” don’t work or noticeable. the idea is to make some kind of visual representation of a mandaloid with colorful elements or shapes spinning circularly in an unpredictable order and exchange their orbits in a fractal like fashion randomly for a sets of orbits or circles within it. backticks is not acceptable, do template literals through + and '. there’s some strange parabola in PI, not sure where it comes. it looks as one arrow going through the center to the edge that spins together with entire object, need to fix that. also, need to make spiral regions independent and their interexchangability unpredictably beautiful looking. “one approach could be to randomly swap segments of points between spirals, another could be to rotate segments within a spiral before drawing.”. well, if you do it as spiral then it will work or look as a spring that jumps and extends through the center and eventually made up a fractal, that’s not what is intended to be. the idea is to make a mandaloid, and mandaloid is not a fractal, it should not have no any entropy but a single 2d spinning image. so, you simply create tons of circles and attach dots within them, then you will shift and exchange these circles by places together with dots attached. now need to do a overall rotation speeds more gentle, because I can’t spot what is happening there. add some adjusters parameters to control animation speeds and interexchangeabilities. now it looks as some living molecule at “rotationSpeedFactor = 0.00002;”, very creative looking. but the idea was to build a mandala like image which looks interesting from a far perspective, and add some animation inside its elements, as inteexchangabilities, axis shiftings, and else. so, basically, there should be a circle (main mandala) made of many orther circles as a subsequent counterparts and orbits of circles, and a dots attached to these orbits, then these orbits or circles can exchange their positions together with dots. the dots interexchange can be left as it is right now. fixed “numOrbits = 10;” "dotsPerOrbit = 80; " “maxOrbitRadius = Math.min(canvas.width, canvas.height) / 2;”. now it just looks as circles of dots all rotating clockwise, without actual orbital shift or exchange. not sure how to explain it else. need these orbits to exchange with each other in an unpredictable order, so the most outer orbit with dots can exchange its place with the most inner unpredictably and together with dots attached, and similar is for other orbits. also, need to make and unpredictable initial rotation for orbits, so each orbit can rotate clockwise or counterclockwise, or even change its rotation after it exchanges positions with another orbit. well, I don’t see these orbits because they are undefinely invisible. also, orbits together with dots attached should exchange their positions. maybe problem is in color scheme applied and that’s why I cannot understand if it shifting/exchange positions or not. can you do something with colors and animation, so it can look more noticeable what is happening there? backticks is not acceptable, do template literals through + and '. well, no noticeable orbit exchanges. need to make an animation when an outer orbit, for example, exchange place with the inner-most. need to make it look noticeable that this orbit synchonously exchanging places with that orbit and moving slowly or with unpredictable speed at some rate to that orbit’s position with what it exchanges its position right now. do you understand? so, there should be only one copy of each personalized orbit which can exchange its place with another orbit at any time and noticeable animation. got a nasty error "ReferenceError: dotRotationSpeed is not defined " at dot.angle += dotRotationSpeed * orbit.rotationDirection;. dots suppose to not rotate but be just attached to their corresponding orbits.well, you wrongly removed rotation. I mean that dots themselves should no rotate, but orbits with attached dots should rotate so each orbit can rotate clockwise or counterclockwise, or even change its rotation after it exchanges positions with another orbit.  well, that looks freaking awesome. it will be nice if you do the same exchange of orbits but for dots themselves. also, need to define or determine a simultaneous number of orbit and dots exchange count, so how many orbits or dots can exchange their positions with other orbits or dots at the same time.  first of all output only full code. let’s make a linear and non linear (random) exchange of positions for dots? so, you can define there a value like dotExchangeDirection = linear/random. this is probably the most interesting part here because by this function you can actually draw some intricate mandala effect inside.  well, that looks nice, but need cross-orbital dot Interchangeability, so they not only interchange within its own orbit but also exchange dots with another orbit, that’s why I created this “dotExchangeDirection”, to determine if they linearly interchanging towards the center or randomly across all the orbital map.ok, all dots just disappeared with time and orbital shift effect was removed. are you not longer able to follow the context, gpt?"""