Description This version implements traveler in 3d - space. 3d - sprites are html-divs. Their spatial distribution is scripted in script.js. Each sprite can have own cyclic animation. Child sprites inherit animation of parent and add own animation. Children and parents are html-siblings. Child/par rel is scripted in JS. Traveler-observer can turn head: ctrl+arrows shift: arrows, pg-up/down Microsoft Edge 38.14393.1066.0 runs with problems: all cyclic animations do not change at obs. move: it feels that global style tags keyframes do not update Implementation: cyclic-animations done via global-css rules 3d-moves: JS -> CSS-transition/perspective Nested CSS-3d contexts are not used: there is only one perspective for an entire scene, JS recalculates scene/sprites at each keyboard-strike and only final output is injected into CSS-rules. window.resize is reflected by scaling X/Y 4x4 matrix styles and html are created dynamically Developer Details CSS axes are as usual X,Y, and Z towards the observer. Inner (JS engine) Zi = - Z, others are the same. Todo Add obs moves in arbitrary dir. not only in z. This may fix "fake" rotation at move. Replace CSS keyframe anim. with JS.