{#- Each theme's living motif. The stylesheets give each motif its look, and these macros give each one its place and timing. -#} {% set rain_glyphs = "ハミヒーウシナモニ7サワツオリ0アホテマケメエ4カキムユラセ" %} {#- A place stands a working agent's motif at a distance from one side of the window, in the mockups' pixels, with its own period and phase. -#} {% set rain_places = [ {"side": "left", "at": 70, "duration": 9, "delay": 0}, {"side": "right", "at": 90, "duration": 11, "delay": -4}, {"side": "left", "at": 120, "duration": 13, "delay": -7}, ] %} {% set seed_places = [ {"side": "left", "at": 64, "duration": 22, "delay": -3, "sway": 5}, {"side": "right", "at": 84, "duration": 26, "delay": -14, "sway": 6}, {"side": "left", "at": 116, "duration": 30, "delay": -22, "sway": 4.5}, ] %} {% set firefly_places = [ {"side": "left", "at": 70, "duration": 11, "delay": 0, "top": 520, "pulse": 2.6}, {"side": "right", "at": 96, "duration": 14, "delay": 0, "top": 380, "pulse": 3.4}, {"side": "left", "at": 110, "duration": 17, "delay": 0, "top": 300, "pulse": 2.9}, ] %} {% macro dandelion_seed() -%} {%- endmacro %} {#- The motif at an index takes the place that the index cycles to. Every motif that shares a place runs out of phase with the others there, so each one still shows. -#} {% macro place_motif(places, index, count) -%} {% set place = places[index % places|length] -%} {% set laps = (count + places|length - 1) // places|length -%} {{ place.side }}: calc(var(--margin-unit) * {{ place.at }}); animation-duration: {{ place.duration }}s; animation-delay: {{ (place.delay - (index // places|length) * place.duration / laps)|round(2) }}s {%- endmacro %} {#- One motif for each working agent, in the window's side margins. Nature gives each agent a seed and a firefly, and shows the seed on a light page and the firefly on a dark one. -#} {% macro working_motifs(theme, count) -%} {%- endmacro %} {#- A calm field of the theme's motif, beneath an empty tab's hint. Each motif's spread sets its place, timing and length, so that no two move in step. Nature gives each place a rising seed and a firefly, and shows the seeds on a light page and the fireflies on a dark one. -#} {% macro empty_field(theme) -%} {%- set density = 14 %} {%- endmacro %}