{"platform": "Art Blocks Curated", "tokenID": "472000610", "series": "N/A", "aspect_ratio": 1.777777777, "payout_address": "0x6C093Fe8bc59e1e0cAe2Ec10F0B717D3D182056B", "contract_address": "0x99a9b7c1116f9ceeb1652de04d5969cce509b069", "name": "because unless until #610", "minted": true, "artist": "ixnayokay", "description": "*\u201cHistory doesn\u2019t repeat itself, but it often rhymes.\u201d - Mark Twain*\n\nIn our day-to-day lives, it\u2019s natural for us to fix a conceptual view of the people, places, and things around us in our minds. We might think, \u201cthat is the tree outside my window. This is my house. That\u2019s my friend. I\u2019m me.\u201d In fact, this type of abstraction is necessary for us to make any sort of sense of our world. But is the tree outside your window today truly the same tree as it was yesterday? Are you exactly the same person as you were yesterday? Or twenty years ago? In a sense, the abstraction is an illusion. Our physical reality is inseparable from the flow of time; everything is changing, all the time. Sometimes the changes are fast, and sometimes they\u2019re imperceptible \u2014 but time never stops. Change never stops.\n\n__*because unless until*__ represents this concept in art, as a generative system of systems where each output changes over time. New days present new views of the algorithm, where a variety of mathematical shapes gradually and endlessly shift, demonstrating a more local and immediate form of change. Even so, each day\u2019s appearance has enough in common with the one before it to provide the output with a continuous sense of identity. With the arrival of each day, what about the art has changed -- and what remains the same?\n\n\nChanging Over Time\n-\n\nOne of my favorite aspects of generative art is the joy of discovery when viewing a new output for the first time. I also enjoy the novelty that comes with watching a chaotic system evolve over time. But, once you\u2019ve seen a particular output from a long-form generative art collection, you\u2019ve seen it. My intent, with the time-based mechanics in this algorithm, is to preserve that feeling of discovery so that every viewing and every day brings something new. \n\nIn __*because unless until*__ colors are applied differently depending on the day of the week. The detail level of the animation changes over the course of a month, providing a different visual balance between the shapes, and the textures that fill them. Each month, the animation\u2019s shapes are altered. The weave of these different cycles mean that each day has its own characteristics. It would take at least seven years to see every available combination.\n\nSome outputs come with \u201cDaily Modes\u201d tied to a specific day of the week, where colors and textures are altered in a particular way. Each output also comes with a \"Fiesta Day\" -- one day of the year where it shows a set of new behaviors. One day in December is designated as \u201cGlitchmas\u201d \u2014 a holiday shared across all outputs with another unique behavior. Glitchmas falls on a different day each year.\n\n\nAnimation\n-\n\nThe algorithm works by layering multiple animations, whose intersections are used to divide the canvas into regions that determine the palettes and rules for a section of the output. The rules are applied to an underlying field of cellular automata, which change state accordingly. At the core of the project is a generic framework that runs arbitrary animations in their own threads. The threading enables performant, fluid motion (I find it sensuous -- I often find myself thinking \"I want to run my fingers through it.). Threads run asynchronously, which in combination with the chaotic behavior of cellular automata means that outputs evolve in a unique, non-deterministic way each time. After a few minutes, the canvas is likely to be in a state that will no-one will ever experience again.\n\nThe animations in __*because unless until*__ are a return to some of my favorite mathematical techniques from a prolific period (2010-11) when I was first beginning to make art: Mandelbrot and Julia fractals, isolines, polar inversions, spirals, regular and irregular polygons, and \u2014 of course \u2014 cellular automata. It\u2019s been a joy to revisit them, and to combine them with my more recent animated practice. As the animations progress, a variety of emergent features sometimes appear \u2014 such as cloudlike trails, regular and irregular structures, and moir\u00e9.\n\nThere are dozens of cellular automaton rules in the algorithm, which can take the states of surrounding cells as input in one of over a hundred ways. Derived from these rules, there are over a thousand possible textures, and billions of ways that a cell might change depending on its rules, state, and surroundings. The states of cells in an area around each cell are used in one of 18 different ways to select from the palettes available in the output \u2014 each of which is an interpolated gradient containing hundreds of colors. The large number of possible combinations contribute to a diverse pool of possible appearances.\n\n\nHelp\n-\n\nPress **[H]** to open a set of interactive menus providing additional information about the available time-based features and interactive controls. The \u201cToday\u201d panel provides realtime information about which detail level or special day is currently active.\n\nFor collectors wanting a more concrete experience, a \u201cCanonical\u201d mode is available that makes the animation appear as it did at unix epoch (January 1, 1970), and a \u201cSynchronous\u201d mode is available that makes animations evolve in a deterministic way (at the cost of performance). These modes are used when generating the thumbnail animations for each output.", "script_type": "js@na", "project_id": "472", "collection_uuid": "4debdbbf-fe06-4318-8cd6-bd59e91132d1", "curation_status": "curated", "heritage_curation_status": "ab500", "image": "https://media-proxy.artblocks.io/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/472000610.gif", "preview_asset_url": "https://media-proxy.artblocks.io/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/472000610.gif", "animation_url": "https://generator.artblocks.io/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/472000610", "generator_url": "https://generator.artblocks.io/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/472000610", "royaltyInfo": {"artistAddress": "0x5e8a9afad6225118ed0f4c1fe944924262fe61c4", "additionalPayee": "0x0000000000000000000000000000000000000000", "additionalPayeePercentage": 0, "royaltyFeeByID": 5}, "collection_name": "because unless until by ixnayokay", "collection_owner": "0xCF00eC2B327BCfA2bee2D8A5Aee0A7671d08A283", "website": "https://www.ixnayokay.art/post/about-because-unless-until", "token_hash": "0xdb35cb9952146f87a4604afa0cd22546dde1e7328c63c4d02e7973d89e832cf2", "external_url": "https://artblocks.io/token/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/472000610", "primary_asset_url": "https://generator.artblocks.io/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/472000610", "features": {"Animation": "Invert", "Palette 1": "Asiimov", "Palette 2": "Graphite", "Palette 3": "Asiimov", "Palette 4": "Last Light", "Fiesta Day": 6, "Fiesta Month": "March", "Palette Mode": "Trio", "Shifty Sundays": true, "Festive Fridays": true, "First Neighbors": "Spiral", "Solid Saturdays": false, "Second Neighbors": "Invaders", "Weird Wednesdays": false, "Automatic Thursdays": false, "Alternative Tuesdays": false, "Coloring Mode Mondays": true}, "traits": [{"trait_type": "because unless until", "value": "All because unless untils"}, {"trait_type": "because unless until", "value": "Animation: Invert"}, {"trait_type": "because unless until", "value": "Palette 1: Asiimov"}, {"trait_type": "because unless until", "value": "Palette 2: Graphite"}, {"trait_type": "because unless until", "value": "Palette 3: Asiimov"}, {"trait_type": "because unless until", "value": "Palette 4: Last Light"}, {"trait_type": "because unless until", "value": "Fiesta Day: 6"}, {"trait_type": "because unless until", "value": "Fiesta Month: March"}, {"trait_type": "because unless until", "value": "Palette Mode: Trio"}, {"trait_type": "because unless until", "value": "Shifty Sundays: true"}, {"trait_type": "because unless until", "value": "Festive Fridays: true"}, {"trait_type": "because unless until", "value": "First Neighbors: Spiral"}, {"trait_type": "because unless until", "value": "Solid Saturdays: false"}, {"trait_type": "because unless until", "value": "Second Neighbors: Invaders"}, {"trait_type": "because unless until", "value": "Weird Wednesdays: false"}, {"trait_type": "because unless until", "value": "Automatic Thursdays: false"}, {"trait_type": "because unless until", "value": "Alternative Tuesdays: false"}, {"trait_type": "because unless until", "value": "Coloring Mode Mondays: true"}], "is_static": false, "license": "CC BY-NC-SA 4.0", "authenticity_signature": "0x635f930982ece18f19e138d4cb1e9cebb78f5a8333b908b2d2c58e8d3352d0195db66f3d5d3d43ef17e5138889883f2292184c880767600a44f74e6fe43f20911b"}