diff --git a/.github/ISSUE_TEMPLATE/3-edit-json.yml b/.github/ISSUE_TEMPLATE/3-edit-json.yml index 68507052dce45bf4aaddcad208bfe7abde90c011..a01e3d86c8b4b1a46847fec90a209bfea6e31ec8 100644 --- a/.github/ISSUE_TEMPLATE/3-edit-json.yml +++ b/.github/ISSUE_TEMPLATE/3-edit-json.yml @@ -5,7 +5,7 @@ body: - type: markdown attributes: value: | - Make sure you have prepared your JSON data that you get after editing. If you haven't, [CONTRIBUTING.md](https://github.com/marius851000/lemmy-canvas-2024-atlas/blob/master/CONTRIBUTING.md) has a guide for editing an existing entry. + Make sure you have prepared your JSON data that you get after editing. If you haven't, [CONTRIBUTING.md](https://git.sc07.company/marius851000/fediverse-canvas-atlas-2024/-/blob/main/CONTRIBUTING.md) has a guide for editing an existing entry. - type: textarea id: description attributes: diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml new file mode 100644 index 0000000000000000000000000000000000000000..023e58f775652c84b05f760315d6da539226354a --- /dev/null +++ b/.github/workflows/preview.yml @@ -0,0 +1,27 @@ +# .github/workflows/preview.yml + +name: Deploy PR previews + +on: + pull_request: + types: + - opened + - reopened + - synchronize + - closed + +concurrency: preview-${{ github.ref }} + +jobs: + deploy-preview: + runs-on: ubuntu-24.04 + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Install Nix + uses: cachix/install-nix-action@v27 + - run: nix build . + - name: Deploy preview + uses: rossjrw/pr-preview-action@v1 + with: + source-dir: ./result/ diff --git a/.gitignore b/.gitignore index d294c1664ee013783dfdb654884fe1a5473d5bc9..d34b7388fa550a241c1ac0e83ad2d28b8fd519e8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ # Secrets credentials praw +secrets.fish # Temporary files temp-atlas.json @@ -43,4 +44,7 @@ env/ venv/ ENV/ env.bak/ -venv.bak/ \ No newline at end of file +venv.bak/ + + +processed_posts/ \ No newline at end of file diff --git a/.hydra/declarative-jobsets.nix b/.hydra/declarative-jobsets.nix new file mode 100644 index 0000000000000000000000000000000000000000..11e71040fa84b0070b8a1930d6edac3a07b99ab2 --- /dev/null +++ b/.hydra/declarative-jobsets.nix @@ -0,0 +1,57 @@ +# Mostly copied from https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/-/blob/master/.hydra/declarative-jobsets.nix?ref_type=heads + +{ nixpkgs, pulls, ... }: + +let + pkgs = import nixpkgs {}; + + prs = builtins.fromJSON (builtins.readFile pulls); + prJobsets = pkgs.lib.mapAttrs (num: info: + { enabled = 1; + hidden = false; + description = "PR ${num}: ${info.title}"; + checkinterval = 60; + schedulingshares = 20; + enableemail = false; + emailoverride = ""; + keepnr = 2; + type = 1; + flake = "gitlab:marius851000/fediverse-canvas-atlas-2024/merge-requests/${info.iid}/head?host=git.sc07.company"; + } + ) prs; + /*mkFlakeJobset = branch: { + description = "Build ${branch} branch of Simple NixOS MailServer"; + checkinterval = "60"; + enabled = "1"; + schedulingshares = 100; + enableemail = false; + emailoverride = ""; + keepnr = 3; + hidden = false; + type = 1; + flake = "gitlab:simple-nixos-mailserver/nixos-mailserver/${branch}"; + };*/ + + desc = prJobsets/* // { + "master" = mkFlakeJobset "master"; + "nixos-23.11" = mkFlakeJobset "nixos-23.11"; + "nixos-24.05" = mkFlakeJobset "nixos-24.05"; + }*/; + + log = { + pulls = prs; + jobsets = desc; + }; + +in { + jobsets = pkgs.runCommand "spec-jobsets.json" {} '' + cat >$out <tmp <Undo, Redo, and Reset buttons to help you creating a good polygon. Make sure that the lines you're drawing don't form a [self-intersecting polygon](https://upload.wikimedia.org/wikipedia/commons/thumb/0/0f/Complex_polygon.svg/288px-Complex_polygon.svg.png). +To add a new entry, go to [the drawing mode](https://atlas.mariusdavid.fr/?mode=draw) and draw a shape/polygon around the region you'd like to describe. You can use the Undo, Redo, and Reset buttons to help you creating a good polygon. Make sure that the lines you're drawing don't form a [self-intersecting polygon](https://upload.wikimedia.org/wikipedia/commons/thumb/0/0f/Complex_polygon.svg/288px-Complex_polygon.svg.png). -If you want to see which areas of the canvas do not have entries yet, select "Highlight Empty" to hide areas that already have entries. +You can also edit existing entries. To do that, [enter the normal mode](https://atlas.mariusdavid.fr/), select the entry you want to edit, then click `Edit`. To retrace it, you can click `Add Period`, then `Delete` the old first Period. -Multiple periods can be added to represent the changing state of the artwork on different times. You can set the start and end period, as well as chosing the appropriate canvas variations. You can also copy the polygon from one period to the other, duplicating a period to be edited later, as well as deleting a period (if there is more than one). An alert is also shown if there are errors that needed attention. +If you want to see which areas of the canvas do not have entries yet, select "Highlight Empty" to hide areas that already have entries. When you're happy with the shape you've drawn, press Finish. You will now be able to enter some information about the entry: - **Name**: A short, descriptive name. -- **Description**: A short description that can be understood by somebody not familiar with the topic. If you were involved in drawing this artwork, you may include the meta, describing the process of drawing the artwork in the event. To include lengthy, additional information, consider creating a page on [the r/place Wiki](https://place-wiki.stefanocoding.me/). +- **Description**: A short description that can be understood by somebody not familiar with the topic. If you were involved in drawing this artwork, you may include the meta, describing the process of drawing the artwork in the event. - **Links**: Some links that are most relevant to the topic, and/or regarding the process of the drawing the artwork in the event. + - **Lemmy**: A Lemmy community, server or post in the form of an URL, `!community@example.com` or `@example.com` + - **Matrix**: A matrix room id of the organizers, in the form of `#room_id:server.tld` - **Website**: If you're describing a project, the project's main website would be suitable here. - **Subreddit**: Format it like `r/subreddit`. - **Discord**: Write the invite code, that the invite link without the `discord.gg/` part. @@ -27,72 +29,34 @@ All fields but the name are optional. For example, a country flag doesn't necess Once you've entered all the information, you'll be presented with a pop-up window containing some [JSON](https://en.wikipedia.org/wiki/JSON)-formatted data. This is the patch that you are going to submit. Depending on the method, there are two preferred methods. -### Through Reddit - -You can press the Post Direct to Reddit button, which will open a page with the title and body already been filled for you. You don't need to change anything what has been prepared. +### Through Lemmy -If that didn't work, copy the entire JSON text and [create a new text post on the subreddit](https://www.reddit.com/r/placeAtlas2023/submit). You don't need to add any other text; just directly send the patch. +You will need to post that message to the `!2024lemmycanvasatlas@toast.ooo` community via Lemmy (or another Activity-Pub powered service that allow long enought messages). -Remember to flair your post with New Entry. On New Reddit, click the Flair button on the bottom part, and select New Entry. On Old Reddit, click the select button on the "choose a flair" section instead. +Past the whole JSON file in the body, and then post it. Eventually, a bot should answer that your post has been processed (or not) in less than 30 minutes. If that does not happen after 1 hour, then this is a bug, and you can report it. You can also use the second contributionn method. -### Through GitHub +### Through the forge -If you know about Git and how to create a pull request on GitHub, you can try create a patch that will be merged, along with other patches, by one of the members. +If you know about Git, and know how to create a pull request on GitLab, you can create a patch that will be merged as-is in the repo. -You can try pressing the Submit Direct to GitHub button, which will open a page with the patch file already been prepared to you. +For that, you first need to create an account on the forge used, [git.sc07.company](https://git.sc07.company), if you do not already have one. This instance is managed by grant, and have manual approval to avoid spam. -If that didn't work, copy the entire JSON text and [create a new patch file to the repository through GitHub](https://github.com/placeAtlas/atlas-2023/new/cleanup/data/patches?filename=gh-0000-ENTRY-NAME-HERE.json -). Upon opening, replace the `ENTRY-NAME-HERE` into the name of the entry (with the slug format, if possible, e.g. `foo-bar`). You don't need to add any other text; just directly send the patch. +The, you can fork the repository, create a local clone of it, and then: -If you haven't forked the repository, you would need to fork it with the provided instruction shown on the page. You may add attribution by adding an `_author` key, explained in the next paragraphs. After that, you can press Submit changes, add follow the steps to create a pull request within GitHub. + - If you create a new entry, just crate a new file ending in .json in that folder, and paste the JSON + - If you modify an existing entry, find the file with the same "id" in it, and replace it with the JSON The commit message and description doesn't matter, but you may change it into something more descriptive to make it easier for checking (e.g. Add Foo Bar or Edit Foo Bar for the commit message). However, we suggest you to edit the title (at least) and the description of the pull request, containing the changes that you want to do (something like Add Foo Bar or Edit Foo Bar for the title, similar to the commit message, is also sufficient). -If you can fork and clone the repository, you can use the provided `tools/create_patch.py` script. This script helps you to create a working patch, along with additional data such as your name for attribution sakes. Simply run the script inside the `tools/` folder and follow the given instructions. - -If you want to do this manually (e.g. you don't have Python), you can create a patch by creating a `.json` file inside `data/patches`, with the content of the JSON-formatted data that is given earlier. You may add attribution by adding an `_author` key with the value of your Reddit username or your GitHub username plus a `gh:` prefix. - -```json5 -{ - "id": -1, // -1 signififies a new entry. - // ... - // Choose one of the folllowing: - "_author": "Hans5958_", // Links to https://reddit.com/user/Hans5958_ - "_author": "gh:Hans5958", // Links to https://github.com/Hans5958 -} -``` - -Once you have successfully created the patch, the file can be committed, and a pull request towards the `cleanup` branch can be created. A member will merge the pull request if it is adequate. - -## Edits to Atlas entries - -Other than adding new ones, you can edit existing atlas entries. - -### Using the web interface - -You can use the website to edit single entries easily. On the website, click Edit on an entry box. Afterwards, you are now on the drawing mode, editing the entry, in which you can follow the same instructions as [when creating a new entry](#new-atlas-entries). - -Upon submitting, if you use Reddit, please flair it as Edit Entry instead. The method stays the same if you use GitHub. - -As an alternative, you can also submit an issue on GitHub using [this form](https://github.com/placeAtlas/atlas-2023/issues/new?assignees=&labels=entry+update&template=edit-entry.yml) or report it on our Discord server. - -### Manually by direct edits - -Direct edits to the `web/atlas.json` are also welcome on this repository using Git through GitHub. You may use Git or GitHub for bulk or large-scale changes, such as removing duplicates, or doing those that are not possible by using patches, such as removing an entry. Keep in mind that this may causes conflicts, so only do it when necessary. - -`web/atlas.json` is where the Atlas data is located, in which you can edit on GitHub. The next section includes an example of an entry. - -Upon creating a fork of this repository and pushing the changes, create a pull request towards the `cleanup` branch. A member will merge the pull request if it is adequate. - -To help find duplicates, [use the Overlap mode](https://2023.place-atlas.stefanocoding.me?mode=overlap). +Once you have successfully created the patch, the file can be committed, and a pull request towards the `main` branch can be created. A member will merge the pull request if it is adequate. ### Example -Hereforth is an example of the structured entry data. The example has been expanded, but when editing directly, please save it in the way so each line is an entry that is minified. The `tools/aformatter.py` script can help you with this. +Hereforth is an example of the structured entry data (from the original r/place 2023 Atlas) ```json5 { - "id": 1, + "id": 33949813, "name": "An entry", "description": "This is an entry, it is remarkable.", "links": { @@ -126,6 +90,8 @@ Other than contributing to the Atlas data, code contributions are also accepted. This website is built using classic HTML 5 (no JS frameworks such as Vue, React, etc are used). Bootstrap 5 is used as a CSS framework. +You first need to merge the atlas data. That can be done, by being in the root folder, by running ``python3 tools/merge_data.py ./entries ./web/atlas.json``. If you can’t run python and don’t need to test entry edition, you may instead download the `atlas.json` file from [https://atlas.mariusdavid.fr/atlas.json](https://atlas.mariusdavid.fr/atlas.json) and place it at `web/atlas.json`. + Opening the HTML file on your browser is adequate enough to edit. If it doesn't work, you can try running a local HTTP server. ```sh @@ -143,8 +109,10 @@ npx serve # Node.js (serve) The `tools` folder have various scripts for the maintainance of the project, such as... -- Adding submitted entries from the subreddit +- Adding submitted entries from Lemmy - Formatting/tidying up the data -- Building the site for production +- Building the site for production (which is not used for now) + +The tools may built with various programming languages, but mostly it is made in Python 3. -The tools may built with various programming languages, but mostly it is made in Python (3). \ No newline at end of file +Note that not all of the script are usefull in the context of this Lemmy Atlas. \ No newline at end of file diff --git a/README.md b/README.md index 44605e5a2e4a26fd67d6a860632d5a58d75fb981..e16652ed15200bc7d9af09f5520656708590978f 100644 --- a/README.md +++ b/README.md @@ -6,15 +6,10 @@ This project is a fork of the [2023 r/place Atlas](https://github.com/placeAtlas This project is licensed under the [GNU Affero General Public License v3.0](LICENSE). -//TODO:canvas adaptation:need hosting and more documentation. - -You can check out the website by visiting [2023.place-atlas.stefanocoding.me](https://2023.place-atlas.stefanocoding.me/). The subreddit, [r/placeAtlas2023](https://www.reddit.com/r/placeAtlas2023/), is available for communications via Reddit. +You can check out the website by visiting [atlas.mariusdavid.fr](https://atlas.mariusdavid.fr/). We also have [Matrix room](https://matrix.to/#/#lemmy-canvas-atlas-discussion:mariusdavid.fr) or the [Lemmy community](https://toast.ooo/c/2024lemmycanvasatlas). ## Contributing This project is open source, and contributions are welcome. In fact, the Atlas relies on user contributions. -Please read [CONTRIBUTING.md](CONTRIBUTING.md) to learn how to submit a new entry, edit existing entries, or contribute to the development of the codebase. - -//TODO:canvas adaptation:need new channels -[The r/placeAtlas2023 subreddit](https://reddit.com/r/placeAtlas2023/) and [the Discord server](https://discord.gg/pJkm23b2nA) is also the place to submit all bug reports, feature requests, or questions. \ No newline at end of file +Please read [CONTRIBUTING.md](CONTRIBUTING.md) to learn how to submit a new entry, edit existing entries, or contribute to the development of the codebase. \ No newline at end of file diff --git a/entries/factorio_cog.json b/entries/factorio_cog.json new file mode 100644 index 0000000000000000000000000000000000000000..9522fd8924aa282562455c933937e5d4d6c21871 --- /dev/null +++ b/entries/factorio_cog.json @@ -0,0 +1,55 @@ +{ + "id": 8378322440, + "name": "Factorio Cog", + "description": "Some testing...", + "links": { + "lemmy": [ + "!test@lemmy.mariusdavid.fr" + ], + "matrix": [ + "#canvas-general:aftermath.gg" + ] + }, + "path": { + "0": [ + [ + 542, + 367 + ], + [ + 554, + 371 + ], + [ + 570, + 369 + ], + [ + 581, + 357 + ], + [ + 571, + 341 + ], + [ + 555, + 338 + ], + [ + 544, + 341 + ], + [ + 534, + 354 + ] + ] + }, + "center": { + "0": [ + 556, + 354 + ] + } +} \ No newline at end of file diff --git a/flake.nix b/flake.nix index acc7a3896aa360b60aeea9d0abaed293f351b113..a5e9563c4b701f39807128542ab17d97c1244f1f 100644 --- a/flake.nix +++ b/flake.nix @@ -2,26 +2,39 @@ inputs = { utils.url = "github:numtide/flake-utils"; }; - outputs = { self, nixpkgs, utils }: utils.lib.eachDefaultSystem (system: - let - pkgs = nixpkgs.legacyPackages.${system}; - in - { - packages = rec { - website = pkgs.stdenvNoCC.mkDerivation { - pname = "fediverse-canvas-atlas-website"; - version = "TODO-use-git"; + outputs = { self, nixpkgs, utils }: + let + result = utils.lib.eachDefaultSystem (system: + let + pkgs = nixpkgs.legacyPackages.${system}; + in + { + packages = rec { + website = pkgs.stdenvNoCC.mkDerivation { + pname = "fediverse-canvas-atlas-website"; + version = "git-" + (self.shortRev or "dirty"); - dontUnpack = true; + dontUnpack = true; - installPhase = '' - mkdir -p $out - cp -r ${./.}/web/* $out/ - ${pkgs.python3}/bin/python ${./.}/tools/merge_data.py ${./.}/entries $out/atlas.json - ''; + installPhase = '' + mkdir -p $out + cp -r ${./.}/web/* $out/ + ${pkgs.python3}/bin/python ${./.}/tools/merge_data.py ${./.}/entries $out/atlas.json + rm $out/about.html + + mkdir $out/nix-support + echo ${self.shortRev} > $out/revision + echo "doc manual $out" >> $out/nix-support/hydra-build-products + ''; + }; + default = website; }; - default = website; + } + ); + in + result // { + hydraJobs.x86_64-linux = { + website = result.packages.x86_64-linux.website; }; - } - ); + }; } \ No newline at end of file diff --git a/tools/entry_manager.py b/tools/entry_manager.py index 4826151085184fb6381801f6872574bdf621e3a6..56bd013a15654290902cfb46d2f1de94b92fd5b0 100644 --- a/tools/entry_manager.py +++ b/tools/entry_manager.py @@ -77,34 +77,4 @@ def entry_by_id_if_exist(self, id): def is_post_processed(self, source_name, source_id): if source_name in self.combined_source_list: return source_id in self.combined_source_list[source_name] - return False - -"""read_ids = set() -with open("../data/lemmy_read_ids.txt", "r") as f: - for line in f.readlines(): - if line.strip() == "": - continue - read_ids.add(int(line.strip())) - -highest_post_id = max(read_ids) or 0 - -next_page = None - -while True: - req = requests.get("https://toast.ooo/api/v3/post/list", params={ - "next_page": next_page, - "community_name": "2024lemmycanvasatlas", - "type_": "All", - "sort": "New", - }) - if req.status_code != 200: - raise BaseException("Request failed with code " + str(req.status_code)) - - data = req.json() - - for post in data["posts"]: - print(post) - - if post["i"] - - next_page = data["next_page"] """ \ No newline at end of file + return False \ No newline at end of file diff --git a/tools/lemmy_fetcher.py b/tools/lemmy_fetcher.py index 935659ec73ed1465b1fca4338f17c0804bd6dddc..4ca7ce2739a43d1c99726d292dd8e970cfd98c46 100644 --- a/tools/lemmy_fetcher.py +++ b/tools/lemmy_fetcher.py @@ -1,21 +1,47 @@ import json import subprocess +import requests +import os +import traceback from entry_manager import EntryManager -from lib.github_forge import GithubForge +#from lib.github_forge import GithubForge +from lib.gitlab_forge import GitlabForge class LemmyFetcher: def __init__(self, entry_manager): self.entry_manager = entry_manager - self.forge = GithubForge() + self.forge = GitlabForge() self.forge.from_env() + self.read_ids = set() + os.makedirs("processed_posts", exist_ok = True) + for filename in os.listdir("processed_posts"): + self.read_ids.add(filename) + + login_req = requests.post("https://toast.ooo/api/v3/user/login", json={ + "username_or_email": os.environ.get("LEMMY_USERNAME"), + "password": os.environ.get("LEMMY_PASSWORD"), + "totp_2fa_token": "", + }) + print(login_req.content) + assert login_req.status_code == 200 + self.lemmy_jwt = login_req.json()["jwt"] def process_post(self, post_body, make_pr = False): post_id = post_body["id"] - if self.entry_manager.is_post_processed("lemmy", post_id): + + if str(post_id) in self.read_ids: print("Post already processed: " + str(post_id)) return + if self.entry_manager.is_post_processed("lemmy", post_id): + print("Post already used in an entry: " + str(post_id)) + return + + if "body" not in post_body: + print("Post does not contain body: " + str(post_id)) + return + post_body = post_body["body"] post_json = None @@ -23,12 +49,11 @@ def process_post(self, post_body, make_pr = False): post_json = json.loads(post_body) except: print("Post does not contain valid JSON: " + str(post_id)) + self.send_comment(post_id, "An error occurred while parsing this post. Maybe it’s just not a submission, but if it should, then it is not well formatted.") return new_branch_name = "lemmy-" + str(post_id) if make_pr: - if self.forge.does_pr_already_exist(new_branch_name): - raise BaseException("PR already exists for this branch, refusing to continue: " + new_branch_name) # Yes, I used AI assisted tooling. And they work pretty well. Thanks codeium. # get git branch name branch = subprocess.check_output(["git", "rev-parse", "--abbrev-ref", "HEAD"], text=True).strip() @@ -45,23 +70,64 @@ def process_post(self, post_body, make_pr = False): # create new branch subprocess.check_call(["git", "checkout", "-b", new_branch_name]) - self.entry_manager.push_entry(post_json, "lemmy", post_id) + success = True + try: + self.entry_manager.push_entry(post_json, "lemmy", post_id) + except Exception as e: + print("Failed to process post " + str(post_id) + ": " + str(e)) + success = False if make_pr: - subprocess.check_call(["git", "add", "entries/"]) - subprocess.check_call(["git", "commit", "-m", "Add submission from Lemmy post " + str(post_id)]) - subprocess.check_call(["git", "push", "--force", "origin", new_branch_name]) - print("branch pushed, making PR") - self.forge.make_pr_between_branches(new_branch_name, "main", "Add submission from Lemmy post " + str(post_id), "Add submission from Lemmy post " + str(post_id)) + if success: + subprocess.check_call(["git", "add", "entries/"]) + subprocess.check_call(["git", "-c", "user.name=lemmy_canvas_bot", "-c", "user.email=lemmy_canvas_bot@mariusdavid.fr", "commit", "-m", "Add submission from Lemmy post " + str(post_id)]) + subprocess.check_call(["git", "push", "--force", "origin", new_branch_name]) + pr_url = self.forge.does_pr_already_exist(new_branch_name) + if pr_url == False: + print("branch pushed, making PR") + pr_url = self.forge.make_pr_between_branches(new_branch_name, "main", "Add submission from Lemmy post " + str(post_id), "An automated PR for submission " + str(post_id)) + else: + print("branch pushed, PR already exists") + self.send_comment(post_id, "Thanks for your submission! The automatic PR has been opened at: " + pr_url) + else: + subprocess.check_call(["git", "restore", "--source=HEAD", "entries/"]) subprocess.check_call(["git", "checkout", "main"]) + self.read_ids.add(str(post_id)) + f = open("processed_posts/" + str(post_id), "w") + f.close() + + def send_comment(self, post_id, comment): + req = requests.post("https://toast.ooo/api/v3/comment", json={ + "content": comment, + "post_id": post_id, + }, headers = { + "Authorization": "Bearer " + self.lemmy_jwt + }) + print(req.content) + assert req.status_code == 200 + print("Commented on post " + str(post_id)) + def crawl_latest(self): + req = requests.get("https://toast.ooo/api/v3/post/list", params={ + "community_name": "2024lemmycanvasatlas", + "type_": "All", + "sort": "New", + "limit": 50 + }) + if req.status_code != 200: + raise BaseException("Request failed with code " + str(req.status_code)) + + data = req.json() + for post in data["posts"]: + try: + self.process_post(post["post"], True) + except Exception as e: + print("Failed to process post in an horrible way: " + str(post["post"]["id"]) + ": " + str(e)) + print(traceback.format_exc()) + subprocess.check_call(["git", "checkout", "main"]) - em = EntryManager() lm = LemmyFetcher(em) - -lm.process_post(json.load(open("tools/test_post.json", "r"))["posts"][0]["post"], False) - -print("done") \ No newline at end of file +lm.crawl_latest() \ No newline at end of file diff --git a/tools/lib/github_forge.py b/tools/lib/github_forge.py index ffbbdb8a02c7d1573777b91c8dbd5dc85556039e..5a986c374edf4338d580692ccb3705b11183d450 100644 --- a/tools/lib/github_forge.py +++ b/tools/lib/github_forge.py @@ -27,18 +27,18 @@ def load_if_needed(self): def does_pr_already_exist(self, from_branch): self.load_if_needed() - print(self.repo_name + ":" + from_branch) - for pr in self.repo.get_pulls(state="open", head=from_branch): - return True + print("check PR for " + self.owner_name + ":" + from_branch) + for pr in self.repo.get_pulls(state="open", head=self.owner_name + ":" + from_branch): + return pr.html_url return False def make_pr_between_branches(self, from_branch, to_branch, title, body): self.load_if_needed() - self.repo.create_pull( + return self.repo.create_pull( title = title, base = to_branch, head = from_branch, body = body - ) \ No newline at end of file + ).html_url \ No newline at end of file diff --git a/tools/lib/gitlab_forge.py b/tools/lib/gitlab_forge.py new file mode 100644 index 0000000000000000000000000000000000000000..dd142c5a553c4a58a50205fe0b4fbe2ee308e64f --- /dev/null +++ b/tools/lib/gitlab_forge.py @@ -0,0 +1,36 @@ +import requests + +from lib.forge_base import ForgeBase +import os + +class GitlabForge(ForgeBase): + def __init__(self): + self.token = None + + def from_env(self): + self.token = os.environ.get("GITLAB_TOKEN") + self.domain = os.environ.get("GITLAB_DOMAIN") + self.project_id = os.environ.get("GITLAB_PROJECT_ID") + + def does_pr_already_exist(self, from_branch): + url = "https://{}/api/v4/projects/{}/merge_requests?state=opened&source_branch={}&target_branch={}".format(self.domain, self.project_id, from_branch, "main") + req = requests.get(url) + req.raise_for_status() + + if len(req.json()) == 0: + return False + else: + return req.json()[0]["web_url"] + + def make_pr_between_branches(self, from_branch, to_branch, title, body): + url = "https://{}/api/v4/projects/{}/merge_requests".format(self.domain, self.project_id) + req = requests.post(url, params={ + "source_branch": from_branch, + "target_branch": to_branch, + "title": title, + "description": body + }, headers = { + "PRIVATE-TOKEN": self.token + }) + req.raise_for_status() + return req.json()["web_url"] \ No newline at end of file diff --git a/web/_headers b/web/_headers deleted file mode 100644 index ed8d9f92c2d289cd99248eb25403bbc4e14be889..0000000000000000000000000000000000000000 --- a/web/_headers +++ /dev/null @@ -1,21 +0,0 @@ -/* - Access-Control-Allow-Origin: * - -# Hashed resources: 1 year and immutable - -/_js/* - Cache-Control: public, immutable, max-age=31536000 - -/_css/* - Cache-Control: public, immutable, max-age=31536000 - -# Canvas images: 1 year - -/_img/canvas/* - Cache-Control: public, max-age=31536000 - -/_img/canvas/*.png - Cache-Control: public, max-age=31536000 - -/_img/canvas/*/*.png - Cache-Control: public, max-age=31536000 diff --git a/web/_img/apple-touch-icon.png b/web/_img/apple-touch-icon.png deleted file mode 100644 index 59b01ed1bff268bac94a3d70cdc0123ba27ea8d3..0000000000000000000000000000000000000000 Binary files a/web/_img/apple-touch-icon.png and /dev/null differ diff --git a/web/_img/canvas-log-low-res.png b/web/_img/canvas-log-low-res.png new file mode 100644 index 0000000000000000000000000000000000000000..6ab8c588f941a1d955f22c9fb2d447ab04c2505a Binary files /dev/null and b/web/_img/canvas-log-low-res.png differ diff --git a/web/_img/canvas-logo.svg b/web/_img/canvas-logo.svg new file mode 100644 index 0000000000000000000000000000000000000000..0814b54312300743b0d3b7b0863c65d629c67e6e --- /dev/null +++ b/web/_img/canvas-logo.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/web/_img/canvas/main-2/000.png b/web/_img/canvas/main-2/000.png deleted file mode 100644 index a4cac1adad60c329406ce67c8a000775fd8820af..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/000.png and /dev/null differ diff --git a/web/_img/canvas/main-2/001.png b/web/_img/canvas/main-2/001.png deleted file mode 100644 index c933bd47bb8c4a5e7b6b45d2cd9cd5848ee96c68..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/001.png and /dev/null differ diff --git a/web/_img/canvas/main-2/002_005.png b/web/_img/canvas/main-2/002_005.png deleted file mode 100644 index 6fdb9a95817afe9ffbb37ffb5767d38c274f1594..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/002_005.png and /dev/null differ diff --git a/web/_img/canvas/main-2/003_005.png b/web/_img/canvas/main-2/003_005.png deleted file mode 100644 index d0978b7bac571f4923e2c33c4fb3c2b8be02b6ab..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/003_005.png and /dev/null differ diff --git a/web/_img/canvas/main-2/004_005.png b/web/_img/canvas/main-2/004_005.png deleted file mode 100644 index cf908fd881a3441515645b2e29b0b0becf0af2a3..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/004_005.png and /dev/null differ diff --git a/web/_img/canvas/main-2/005.png b/web/_img/canvas/main-2/005.png deleted file mode 100644 index 4cf9a588c9275faf7caf5846e95a7fb2df36d662..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/005.png and /dev/null differ diff --git a/web/_img/canvas/main-2/006_005.png b/web/_img/canvas/main-2/006_005.png deleted file mode 100644 index 8a1f54b2de19cf07c626ffe9004071f99de975f3..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/006_005.png and /dev/null differ diff --git a/web/_img/canvas/main-2/007_005.png b/web/_img/canvas/main-2/007_005.png deleted file mode 100644 index 4e25160ce42b2dff7363fbcb8a2dc71f629b3e4a..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/007_005.png and /dev/null differ diff --git a/web/_img/canvas/main-2/008_005.png b/web/_img/canvas/main-2/008_005.png deleted file mode 100644 index b6d902eade19515243374116655278b0f6522765..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/008_005.png and /dev/null differ diff --git a/web/_img/canvas/main-2/009_005.png b/web/_img/canvas/main-2/009_005.png deleted file mode 100644 index 1549f6694b3bd0bd83c8b04761d7e25a486d86f8..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/009_005.png and /dev/null differ diff --git a/web/_img/canvas/main-2/010_016.png b/web/_img/canvas/main-2/010_016.png deleted file mode 100644 index 9782a5a5c70df0baa21a622ed293beca33231eed..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/010_016.png and /dev/null differ diff --git a/web/_img/canvas/main-2/011_016.png b/web/_img/canvas/main-2/011_016.png deleted file mode 100644 index c09c182d02f1fa2a4386a4243a796e6147de15a2..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/011_016.png and /dev/null differ diff --git a/web/_img/canvas/main-2/012_016.png b/web/_img/canvas/main-2/012_016.png deleted file mode 100644 index 20226826c5b1733069e364f219e20dd86a6589be..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/012_016.png and /dev/null differ diff --git a/web/_img/canvas/main-2/013_016.png b/web/_img/canvas/main-2/013_016.png deleted file mode 100644 index 6da2f1b6b6aabe16cfc89fc1c0e1185412e5bfc9..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/013_016.png and /dev/null differ diff --git a/web/_img/canvas/main-2/014_016.png b/web/_img/canvas/main-2/014_016.png deleted file mode 100644 index b7b93dbfe213a69347fd806e64b7f6b83fb6d9c4..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/014_016.png and /dev/null differ diff --git a/web/_img/canvas/main-2/015_016.png b/web/_img/canvas/main-2/015_016.png deleted file mode 100644 index 956f53aeeca5c2e8d7320a3395d1c614d700c263..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/015_016.png and /dev/null differ diff --git a/web/_img/canvas/main-2/016.png b/web/_img/canvas/main-2/016.png deleted file mode 100644 index a1e212de9229a34fa68bcfbf294a76d2a4671cb8..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/016.png and /dev/null differ diff --git a/web/_img/canvas/main-2/017_016.png b/web/_img/canvas/main-2/017_016.png deleted file mode 100644 index 782cfab814bed610eafb84e9d6d1b4a81e89005d..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/017_016.png and /dev/null differ diff --git a/web/_img/canvas/main-2/018_016.png b/web/_img/canvas/main-2/018_016.png deleted file mode 100644 index bfd6305d36336e9a52665e907e8ab438baddcc89..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/018_016.png and /dev/null differ diff --git a/web/_img/canvas/main-2/019_016.png b/web/_img/canvas/main-2/019_016.png deleted file mode 100644 index 6e221b7f9c2bf788aee518af9d214f6777bf69b0..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/019_016.png and /dev/null differ diff --git a/web/_img/canvas/main-2/020_016.png b/web/_img/canvas/main-2/020_016.png deleted file mode 100644 index 54a7858e63b0eacb216cacd156334b9b6af54483..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/020_016.png and /dev/null differ diff --git a/web/_img/canvas/main-2/021_016.png b/web/_img/canvas/main-2/021_016.png deleted file mode 100644 index 556f1c37a0175d3239b1540eb8c54131063c52c9..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/021_016.png and /dev/null differ diff --git a/web/_img/canvas/main-2/022_027.png b/web/_img/canvas/main-2/022_027.png deleted file mode 100644 index 2f086bc3bd5ecedcc532be8439d1fc842e2cb2b2..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/022_027.png and /dev/null differ diff --git a/web/_img/canvas/main-2/023_027.png b/web/_img/canvas/main-2/023_027.png deleted file mode 100644 index e93237bf26cdf53efd5e151df0cdc1986d13b3f2..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/023_027.png and /dev/null differ diff --git a/web/_img/canvas/main-2/024_027.png b/web/_img/canvas/main-2/024_027.png deleted file mode 100644 index d2a98d7c59b4a75f4be4bfaa24a1282e469b5606..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/024_027.png and /dev/null differ diff --git a/web/_img/canvas/main-2/025_027.png b/web/_img/canvas/main-2/025_027.png deleted file mode 100644 index e76d175db485f0c9db959337ba0da7d33cd7354c..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/025_027.png and /dev/null differ diff --git a/web/_img/canvas/main-2/026_027.png b/web/_img/canvas/main-2/026_027.png deleted file mode 100644 index ad87c5ed1c27cff7d11d3a148aa3e4cd01657129..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/026_027.png and /dev/null differ diff --git a/web/_img/canvas/main-2/027.png b/web/_img/canvas/main-2/027.png deleted file mode 100644 index 0531edabcb0fa1a227cbe04440ea5dead0144abd..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/027.png and /dev/null differ diff --git a/web/_img/canvas/main-2/028_027.png b/web/_img/canvas/main-2/028_027.png deleted file mode 100644 index 3ccd448051ac0bdfa49629de806af444a5daf20e..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/028_027.png and /dev/null differ diff --git a/web/_img/canvas/main-2/029_027.png b/web/_img/canvas/main-2/029_027.png deleted file mode 100644 index 2aef898a49cd86583f54cee748973b286dbcc7a3..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/029_027.png and /dev/null differ diff --git a/web/_img/canvas/main-2/030_027.png b/web/_img/canvas/main-2/030_027.png deleted file mode 100644 index 7a0a99c415c849d2d6fb032e65f2d02404e68604..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/030_027.png and /dev/null differ diff --git a/web/_img/canvas/main-2/031_027.png b/web/_img/canvas/main-2/031_027.png deleted file mode 100644 index cb40fbd1afe4a8871d0e1b57347b97e504d8811e..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/031_027.png and /dev/null differ diff --git a/web/_img/canvas/main-2/032_027.png b/web/_img/canvas/main-2/032_027.png deleted file mode 100644 index eeb3fcefb45199fa4857bae8ad76db88996cf6fb..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/032_027.png and /dev/null differ diff --git a/web/_img/canvas/main-2/033_038.png b/web/_img/canvas/main-2/033_038.png deleted file mode 100644 index bf04af96412f8a0ab4573afe529ea0df7115ca4e..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/033_038.png and /dev/null differ diff --git a/web/_img/canvas/main-2/034_038.png b/web/_img/canvas/main-2/034_038.png deleted file mode 100644 index 22925617858e716cfe1971406a70e395e829be5e..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/034_038.png and /dev/null differ diff --git a/web/_img/canvas/main-2/035_038.png b/web/_img/canvas/main-2/035_038.png deleted file mode 100644 index 5c451885bb0571b814eb51ba927b9e6046fe5c6d..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/035_038.png and /dev/null differ diff --git a/web/_img/canvas/main-2/036_038.png b/web/_img/canvas/main-2/036_038.png deleted file mode 100644 index b71fbd624d1ff21f44bc8c5dda234db9758290e8..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/036_038.png and /dev/null differ diff --git a/web/_img/canvas/main-2/037_038.png b/web/_img/canvas/main-2/037_038.png deleted file mode 100644 index dc750fecfb1442eb17ac0a07dc71cf6a5b1b438a..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/037_038.png and /dev/null differ diff --git a/web/_img/canvas/main-2/038.png b/web/_img/canvas/main-2/038.png deleted file mode 100644 index 41e676f9a228bfbe2f88ae749d33de03b060531e..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/038.png and /dev/null differ diff --git a/web/_img/canvas/main-2/039_038.png b/web/_img/canvas/main-2/039_038.png deleted file mode 100644 index af6d80fa215b3bbea2ed80a7d2c2f26a734546e0..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/039_038.png and /dev/null differ diff --git a/web/_img/canvas/main-2/040_038.png b/web/_img/canvas/main-2/040_038.png deleted file mode 100644 index 7770c0c1d016cdbbf07112c71fe1d441ceff1ca4..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/040_038.png and /dev/null differ diff --git a/web/_img/canvas/main-2/041_038.png b/web/_img/canvas/main-2/041_038.png deleted file mode 100644 index 94df97ee5358f02aafac4dc0c1193cd81b34e57b..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/041_038.png and /dev/null differ diff --git a/web/_img/canvas/main-2/042_038.png b/web/_img/canvas/main-2/042_038.png deleted file mode 100644 index 7a974521f1dcaa2f570c2c4faa5c8403198afc1d..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/042_038.png and /dev/null differ diff --git a/web/_img/canvas/main-2/043_038.png b/web/_img/canvas/main-2/043_038.png deleted file mode 100644 index db03711d6d363312850478abcd5408bf065453dc..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/043_038.png and /dev/null differ diff --git a/web/_img/canvas/main-2/044_049.png b/web/_img/canvas/main-2/044_049.png deleted file mode 100644 index 39b48759dd59821a0e36ced7cfcd46d9efff6cc4..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/044_049.png and /dev/null differ diff --git a/web/_img/canvas/main-2/045_049.png b/web/_img/canvas/main-2/045_049.png deleted file mode 100644 index b77a189ecc394553fbfd1f334e781503302496dc..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/045_049.png and /dev/null differ diff --git a/web/_img/canvas/main-2/046_049.png b/web/_img/canvas/main-2/046_049.png deleted file mode 100644 index b33dc94831d6256dad3a01c11a642bc15c5ff1d5..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/046_049.png and /dev/null differ diff --git a/web/_img/canvas/main-2/047_049.png b/web/_img/canvas/main-2/047_049.png deleted file mode 100644 index 6164e43cad15cc95658d1bd9746d95aca44c4cb9..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/047_049.png and /dev/null differ diff --git a/web/_img/canvas/main-2/048_049.png b/web/_img/canvas/main-2/048_049.png deleted file mode 100644 index 2de958a67a7b1507b79545a00218767e46146017..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/048_049.png and /dev/null differ diff --git a/web/_img/canvas/main-2/049.png b/web/_img/canvas/main-2/049.png deleted file mode 100644 index 0d851293377fa99241fa7198d6490176de2c4ef2..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/049.png and /dev/null differ diff --git a/web/_img/canvas/main-2/050_049.png b/web/_img/canvas/main-2/050_049.png deleted file mode 100644 index 25d3485d5cec1613f3d0ff969dc124784516abd3..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/050_049.png and /dev/null differ diff --git a/web/_img/canvas/main-2/051_049.png b/web/_img/canvas/main-2/051_049.png deleted file mode 100644 index 38a30057e1a7d636b9b179f25fc9a3e7275642cd..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/051_049.png and /dev/null differ diff --git a/web/_img/canvas/main-2/052_049.png b/web/_img/canvas/main-2/052_049.png deleted file mode 100644 index 5a0a72202fc205823a3e2730a081def719cf9a4d..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/052_049.png and /dev/null differ diff --git a/web/_img/canvas/main-2/053_049.png b/web/_img/canvas/main-2/053_049.png deleted file mode 100644 index e8c2cda4e8320eea06933f6203419538ec6512df..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/053_049.png and /dev/null differ diff --git a/web/_img/canvas/main-2/054_049.png b/web/_img/canvas/main-2/054_049.png deleted file mode 100644 index 0ffe04350fa90d934fc70a20d56c0e1edca0a3de..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/054_049.png and /dev/null differ diff --git a/web/_img/canvas/main-2/055_049.png b/web/_img/canvas/main-2/055_049.png deleted file mode 100644 index 5f0ac5eeef743ebb9d06beeac4e3b727dcaa8733..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/055_049.png and /dev/null differ diff --git a/web/_img/canvas/main-2/056_060.png b/web/_img/canvas/main-2/056_060.png deleted file mode 100644 index 7298083d6aa350dc6abbe0ea156648d2fe05ebc4..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/056_060.png and /dev/null differ diff --git a/web/_img/canvas/main-2/057_060.png b/web/_img/canvas/main-2/057_060.png deleted file mode 100644 index 085945e1bd64475a3f3d54e5453bf00d236a3373..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/057_060.png and /dev/null differ diff --git a/web/_img/canvas/main-2/058_060.png b/web/_img/canvas/main-2/058_060.png deleted file mode 100644 index bc34f565d669ae93e2b86729da389e8db13396ee..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/058_060.png and /dev/null differ diff --git a/web/_img/canvas/main-2/059_060.png b/web/_img/canvas/main-2/059_060.png deleted file mode 100644 index f48bb869c4c57f8fcde037a9e06d723630b5a7ef..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/059_060.png and /dev/null differ diff --git a/web/_img/canvas/main-2/060.png b/web/_img/canvas/main-2/060.png deleted file mode 100644 index 05f613f3c6f69fd843348de0ee914fa0b4139675..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/060.png and /dev/null differ diff --git a/web/_img/canvas/main-2/061_060.png b/web/_img/canvas/main-2/061_060.png deleted file mode 100644 index a3a9b7750cdd004f82c457546d183dc2e87b921e..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/061_060.png and /dev/null differ diff --git a/web/_img/canvas/main-2/062_060.png b/web/_img/canvas/main-2/062_060.png deleted file mode 100644 index 2f0a53dbb1ec9269061770ead37e7d0979332ec1..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/062_060.png and /dev/null differ diff --git a/web/_img/canvas/main-2/063_060.png b/web/_img/canvas/main-2/063_060.png deleted file mode 100644 index 729f56a0e3e227dcfccd7c3122f4b28ff4f01a87..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/063_060.png and /dev/null differ diff --git a/web/_img/canvas/main-2/064_060.png b/web/_img/canvas/main-2/064_060.png deleted file mode 100644 index 094a4356f725f7165712349e5f8a7ea5269f349a..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/064_060.png and /dev/null differ diff --git a/web/_img/canvas/main-2/065_060.png b/web/_img/canvas/main-2/065_060.png deleted file mode 100644 index 267d1ede1dbc23e03465b3593373f1eb4b0b4a22..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/065_060.png and /dev/null differ diff --git a/web/_img/canvas/main-2/066_071.png b/web/_img/canvas/main-2/066_071.png deleted file mode 100644 index d168e56e0a3e087b9a1af3097d60d2fb56b1efba..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/066_071.png and /dev/null differ diff --git a/web/_img/canvas/main-2/067_071.png b/web/_img/canvas/main-2/067_071.png deleted file mode 100644 index 1d310ca244464d3c88e4b396c8ff5ebd56ed118d..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/067_071.png and /dev/null differ diff --git a/web/_img/canvas/main-2/068_071.png b/web/_img/canvas/main-2/068_071.png deleted file mode 100644 index c4b4dc642c4f552681479916f7204d1f7732b7c9..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/068_071.png and /dev/null differ diff --git a/web/_img/canvas/main-2/069_071.png b/web/_img/canvas/main-2/069_071.png deleted file mode 100644 index 07c29c8d3cee0775f6fc4d251af29b85c6df55eb..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/069_071.png and /dev/null differ diff --git a/web/_img/canvas/main-2/070_071.png b/web/_img/canvas/main-2/070_071.png deleted file mode 100644 index 287c8bb02259d1449c1f9fa2161ba036343bf0ac..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/070_071.png and /dev/null differ diff --git a/web/_img/canvas/main-2/071.png b/web/_img/canvas/main-2/071.png deleted file mode 100644 index b27b7a1a74c616061fe312176e9555ef040dd362..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/071.png and /dev/null differ diff --git a/web/_img/canvas/main-2/072_071.png b/web/_img/canvas/main-2/072_071.png deleted file mode 100644 index 009fcd6e143a8c452d521ec94d10641820566ab2..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/072_071.png and /dev/null differ diff --git a/web/_img/canvas/main-2/073_071.png b/web/_img/canvas/main-2/073_071.png deleted file mode 100644 index bbd0a50bc628e13b409c6b48451cbc72e66cb909..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/073_071.png and /dev/null differ diff --git a/web/_img/canvas/main-2/074_071.png b/web/_img/canvas/main-2/074_071.png deleted file mode 100644 index 621cd31c4b0b47ce98c47bb0777e65c9d3f3eb06..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/074_071.png and /dev/null differ diff --git a/web/_img/canvas/main-2/075_071.png b/web/_img/canvas/main-2/075_071.png deleted file mode 100644 index 27621cf47507a5b7807f1057abfc71ff8bd40095..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/075_071.png and /dev/null differ diff --git a/web/_img/canvas/main-2/076_071.png b/web/_img/canvas/main-2/076_071.png deleted file mode 100644 index 21230051e7f8f9ebefe403f087c97e8f980fb42b..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/076_071.png and /dev/null differ diff --git a/web/_img/canvas/main-2/077_082.png b/web/_img/canvas/main-2/077_082.png deleted file mode 100644 index 9888a43c41289df9c66463db35f92db44fc8ca47..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/077_082.png and /dev/null differ diff --git a/web/_img/canvas/main-2/078_082.png b/web/_img/canvas/main-2/078_082.png deleted file mode 100644 index d36cecf2463170efeca26426141dea85e0858996..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/078_082.png and /dev/null differ diff --git a/web/_img/canvas/main-2/079_082.png b/web/_img/canvas/main-2/079_082.png deleted file mode 100644 index 91bffc7e77eac687445cc39d0f7410ba9d890d50..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/079_082.png and /dev/null differ diff --git a/web/_img/canvas/main-2/080_082.png b/web/_img/canvas/main-2/080_082.png deleted file mode 100644 index f04c95b45c2bd4cc0286d7f242c267bc66bc51d9..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/080_082.png and /dev/null differ diff --git a/web/_img/canvas/main-2/081_082.png b/web/_img/canvas/main-2/081_082.png deleted file mode 100644 index f1cbd27bdcde34d31397c3a73b254ee96f904841..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/081_082.png and /dev/null differ diff --git a/web/_img/canvas/main-2/082.png b/web/_img/canvas/main-2/082.png deleted file mode 100644 index 6834f3fe8137e564da7ec6973f80be3ef06a14f8..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/082.png and /dev/null differ diff --git a/web/_img/canvas/main-2/083_082.png b/web/_img/canvas/main-2/083_082.png deleted file mode 100644 index b692b3c1f7cdeba9f7c11b6f111c1d3c5f9d31f5..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/083_082.png and /dev/null differ diff --git a/web/_img/canvas/main-2/084_082.png b/web/_img/canvas/main-2/084_082.png deleted file mode 100644 index 304aa37e01564c81bdf77e04a049bcfafbd40b42..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/084_082.png and /dev/null differ diff --git a/web/_img/canvas/main-2/085_082.png b/web/_img/canvas/main-2/085_082.png deleted file mode 100644 index c4021d37dd78d8b9035076bac28fb817fb101f3f..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/085_082.png and /dev/null differ diff --git a/web/_img/canvas/main-2/086_082.png b/web/_img/canvas/main-2/086_082.png deleted file mode 100644 index 9c292a1b71714b484fd2d876c48011c6c1842756..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/086_082.png and /dev/null differ diff --git a/web/_img/canvas/main-2/087_082.png b/web/_img/canvas/main-2/087_082.png deleted file mode 100644 index 531342d2cb3c1fa5e5e622bad67b8aacd3058b20..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/087_082.png and /dev/null differ diff --git a/web/_img/canvas/main-2/088_093.png b/web/_img/canvas/main-2/088_093.png deleted file mode 100644 index 89cf612670317cb1ceccb334feedaaf1853a9b5d..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/088_093.png and /dev/null differ diff --git a/web/_img/canvas/main-2/089_093.png b/web/_img/canvas/main-2/089_093.png deleted file mode 100644 index a7b2811652c25cc514b853e68778e99b787199d8..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/089_093.png and /dev/null differ diff --git a/web/_img/canvas/main-2/090_093.png b/web/_img/canvas/main-2/090_093.png deleted file mode 100644 index bc0ddb64a8360c12338f8767432a42f7f1098731..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/090_093.png and /dev/null differ diff --git a/web/_img/canvas/main-2/091_093.png b/web/_img/canvas/main-2/091_093.png deleted file mode 100644 index bbd9f01dbe6c62d21609c79205b5ea3e0493a52a..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/091_093.png and /dev/null differ diff --git a/web/_img/canvas/main-2/092_093.png b/web/_img/canvas/main-2/092_093.png deleted file mode 100644 index d2f7f82d05e4a6773a7f4af7914095c62d68ce52..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/092_093.png and /dev/null differ diff --git a/web/_img/canvas/main-2/093.png b/web/_img/canvas/main-2/093.png deleted file mode 100644 index 5984645f17d0efd378da8afb03a285df1420f79b..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/093.png and /dev/null differ diff --git a/web/_img/canvas/main-2/094_093.png b/web/_img/canvas/main-2/094_093.png deleted file mode 100644 index 726b8862857c278ee78a1caa1a083039b4bc472e..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/094_093.png and /dev/null differ diff --git a/web/_img/canvas/main-2/095_093.png b/web/_img/canvas/main-2/095_093.png deleted file mode 100644 index b4b52e29413d20d81024e66ec4f9712aac4f4a00..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/095_093.png and /dev/null differ diff --git a/web/_img/canvas/main-2/096_093.png b/web/_img/canvas/main-2/096_093.png deleted file mode 100644 index f506c3352080408c8d34ca9c9ad2c418dffb87e9..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/096_093.png and /dev/null differ diff --git a/web/_img/canvas/main-2/097_093.png b/web/_img/canvas/main-2/097_093.png deleted file mode 100644 index 6e7c14bfb699ebdbcae335a3032f1401a7ac0846..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/097_093.png and /dev/null differ diff --git a/web/_img/canvas/main-2/098_093.png b/web/_img/canvas/main-2/098_093.png deleted file mode 100644 index 09374ab4a9fb433f9279fe40d644eae0d25ed6ef..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/098_093.png and /dev/null differ diff --git a/web/_img/canvas/main-2/099_104.png b/web/_img/canvas/main-2/099_104.png deleted file mode 100644 index 1a38ed616f41bb221ef348ded96361c58fd0c720..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/099_104.png and /dev/null differ diff --git a/web/_img/canvas/main-2/100_104.png b/web/_img/canvas/main-2/100_104.png deleted file mode 100644 index 5a82580a88cb6d531f72114c60cfb3647c42e06d..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/100_104.png and /dev/null differ diff --git a/web/_img/canvas/main-2/101_104.png b/web/_img/canvas/main-2/101_104.png deleted file mode 100644 index 67cc8a8e14640198c1c5cb081c1f6ea603fa4733..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/101_104.png and /dev/null differ diff --git a/web/_img/canvas/main-2/102_104.png b/web/_img/canvas/main-2/102_104.png deleted file mode 100644 index cf53e8c5cb87acd486811db51686f1d8d8cecfb9..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/102_104.png and /dev/null differ diff --git a/web/_img/canvas/main-2/103_104.png b/web/_img/canvas/main-2/103_104.png deleted file mode 100644 index fa42bcfa29a6afad1f734da60f0fc3ffa89a1e6b..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/103_104.png and /dev/null differ diff --git a/web/_img/canvas/main-2/104.png b/web/_img/canvas/main-2/104.png deleted file mode 100644 index c6d9cfdafc4ac699b3084f3f5408e95145d3b2ab..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/104.png and /dev/null differ diff --git a/web/_img/canvas/main-2/105_104.png b/web/_img/canvas/main-2/105_104.png deleted file mode 100644 index a0a1e0b6b3145b65855e642fa6cb471537d938ce..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/105_104.png and /dev/null differ diff --git a/web/_img/canvas/main-2/106_104.png b/web/_img/canvas/main-2/106_104.png deleted file mode 100644 index 728bbf57bd71a71e835c291cfcc022807465a36f..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/106_104.png and /dev/null differ diff --git a/web/_img/canvas/main-2/107_104.png b/web/_img/canvas/main-2/107_104.png deleted file mode 100644 index 1b6de7a5c5ad84d712f6f58f687c108360ba1bc0..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/107_104.png and /dev/null differ diff --git a/web/_img/canvas/main-2/108_104.png b/web/_img/canvas/main-2/108_104.png deleted file mode 100644 index 0eb16ba1bbdf70b3966774d36baee94a519aa807..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/108_104.png and /dev/null differ diff --git a/web/_img/canvas/main-2/109_104.png b/web/_img/canvas/main-2/109_104.png deleted file mode 100644 index da12863cfb860192748a19fc8bedba278018268b..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/109_104.png and /dev/null differ diff --git a/web/_img/canvas/main-2/110_115.png b/web/_img/canvas/main-2/110_115.png deleted file mode 100644 index 155d685ecce13b7834ac1bd598e0ed16eb67d3e9..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/110_115.png and /dev/null differ diff --git a/web/_img/canvas/main-2/111_115.png b/web/_img/canvas/main-2/111_115.png deleted file mode 100644 index cbd0ba28d38127a6fafd80be62e706ab44996534..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/111_115.png and /dev/null differ diff --git a/web/_img/canvas/main-2/112_115.png b/web/_img/canvas/main-2/112_115.png deleted file mode 100644 index f527ab94689ddb96c9acd71eddf9030dee823dbd..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/112_115.png and /dev/null differ diff --git a/web/_img/canvas/main-2/113_115.png b/web/_img/canvas/main-2/113_115.png deleted file mode 100644 index dc4a396bf634a1e78311c5c3f933bc54fea24a08..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/113_115.png and /dev/null differ diff --git a/web/_img/canvas/main-2/114_115.png b/web/_img/canvas/main-2/114_115.png deleted file mode 100644 index b2d2aef7729ace734079f0ab2d158ac1cc7a2333..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/114_115.png and /dev/null differ diff --git a/web/_img/canvas/main-2/115.png b/web/_img/canvas/main-2/115.png deleted file mode 100644 index 66e5b9d8685cbab68f7b4c3849a548ae08c336b8..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/115.png and /dev/null differ diff --git a/web/_img/canvas/main-2/116_115.png b/web/_img/canvas/main-2/116_115.png deleted file mode 100644 index e340739e2f55746064cab62ecc935e7aa10b57a6..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/116_115.png and /dev/null differ diff --git a/web/_img/canvas/main-2/117_115.png b/web/_img/canvas/main-2/117_115.png deleted file mode 100644 index 7c7622eeec8e7cb3389fd58350b61d3eb0fc4fb3..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/117_115.png and /dev/null differ diff --git a/web/_img/canvas/main-2/118_115.png b/web/_img/canvas/main-2/118_115.png deleted file mode 100644 index ff8ffa706271fa6ede53ee7e03628f85834522f8..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/118_115.png and /dev/null differ diff --git a/web/_img/canvas/main-2/119_115.png b/web/_img/canvas/main-2/119_115.png deleted file mode 100644 index b383464caf1017ca44f7ab57665c3e1570664c48..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/119_115.png and /dev/null differ diff --git a/web/_img/canvas/main-2/120_115.png b/web/_img/canvas/main-2/120_115.png deleted file mode 100644 index db92c3cbade5d09d18e81ad512be4c34ea00c2b9..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/120_115.png and /dev/null differ diff --git a/web/_img/canvas/main-2/121_126.png b/web/_img/canvas/main-2/121_126.png deleted file mode 100644 index 66e8bf4cbe1691d61bfcf3960745d3dd9a65ac39..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/121_126.png and /dev/null differ diff --git a/web/_img/canvas/main-2/122_126.png b/web/_img/canvas/main-2/122_126.png deleted file mode 100644 index 4b8d184a59f5cf82165948738ed9840df0db97db..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/122_126.png and /dev/null differ diff --git a/web/_img/canvas/main-2/123_126.png b/web/_img/canvas/main-2/123_126.png deleted file mode 100644 index 955b1f8ad32f50926c1bb8715feb7b8f1e2ef14c..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/123_126.png and /dev/null differ diff --git a/web/_img/canvas/main-2/124_126.png b/web/_img/canvas/main-2/124_126.png deleted file mode 100644 index 12c20c196f981ba1234037b1b75ac5f444c4d335..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/124_126.png and /dev/null differ diff --git a/web/_img/canvas/main-2/125_126.png b/web/_img/canvas/main-2/125_126.png deleted file mode 100644 index 69d10be8aa22dce30dd07f9f02d82c3b6640a80a..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/125_126.png and /dev/null differ diff --git a/web/_img/canvas/main-2/126.png b/web/_img/canvas/main-2/126.png deleted file mode 100644 index 696ad35fc4633e22d9c2658d19c2b0be3591865b..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/126.png and /dev/null differ diff --git a/web/_img/canvas/main-2/127_126.png b/web/_img/canvas/main-2/127_126.png deleted file mode 100644 index 8c62f3d0375933b80f3c92d8e0043fa1f671defc..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/127_126.png and /dev/null differ diff --git a/web/_img/canvas/main-2/128_126.png b/web/_img/canvas/main-2/128_126.png deleted file mode 100644 index d523edf96094e3fd6095f492bdf402a009d3b982..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/128_126.png and /dev/null differ diff --git a/web/_img/canvas/main-2/129_126.png b/web/_img/canvas/main-2/129_126.png deleted file mode 100644 index ab079ce60529d439de54bf7a8eb369d80f0bb442..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/129_126.png and /dev/null differ diff --git a/web/_img/canvas/main-2/130_126.png b/web/_img/canvas/main-2/130_126.png deleted file mode 100644 index ff37f5f1325883ee6f301a2264f4c6f7d824cfde..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/130_126.png and /dev/null differ diff --git a/web/_img/canvas/main-2/131_126.png b/web/_img/canvas/main-2/131_126.png deleted file mode 100644 index 9ca9c3be8e7546a744ed948b0dd38a1c7796fadc..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/131_126.png and /dev/null differ diff --git a/web/_img/canvas/main-2/132_137.png b/web/_img/canvas/main-2/132_137.png deleted file mode 100644 index 907a7f55a2253d899a37be7c1e1e848dd7e52fb8..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/132_137.png and /dev/null differ diff --git a/web/_img/canvas/main-2/133_137.png b/web/_img/canvas/main-2/133_137.png deleted file mode 100644 index 55be6981cb430769899d8860fc3e818d954558e7..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/133_137.png and /dev/null differ diff --git a/web/_img/canvas/main-2/134_137.png b/web/_img/canvas/main-2/134_137.png deleted file mode 100644 index 71667fb58293520e217f119efa06697eadfe6848..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/134_137.png and /dev/null differ diff --git a/web/_img/canvas/main-2/135_137.png b/web/_img/canvas/main-2/135_137.png deleted file mode 100644 index 8e5e05fca1a5698294dad82b40d6251e7f1ee88a..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/135_137.png and /dev/null differ diff --git a/web/_img/canvas/main-2/136_137.png b/web/_img/canvas/main-2/136_137.png deleted file mode 100644 index b4791bbd5068d12f57c094ff0e2445a7fd53708e..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/136_137.png and /dev/null differ diff --git a/web/_img/canvas/main-2/137.png b/web/_img/canvas/main-2/137.png deleted file mode 100644 index f0d4200e704dc7de6dc4bebed31475857221469d..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/137.png and /dev/null differ diff --git a/web/_img/canvas/main-2/138_137.png b/web/_img/canvas/main-2/138_137.png deleted file mode 100644 index 7322097ca3057ec9744578c879f04cd8dd953f52..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/138_137.png and /dev/null differ diff --git a/web/_img/canvas/main-2/139_137.png b/web/_img/canvas/main-2/139_137.png deleted file mode 100644 index 5490f2fd4e6dd683a68628f890792fdc8ec9cc21..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/139_137.png and /dev/null differ diff --git a/web/_img/canvas/main-2/140_137.png b/web/_img/canvas/main-2/140_137.png deleted file mode 100644 index c2cbab0e970d3db745fce2054bdaf13ab57333da..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/140_137.png and /dev/null differ diff --git a/web/_img/canvas/main-2/141_137.png b/web/_img/canvas/main-2/141_137.png deleted file mode 100644 index 6c14fd06ddfa7b747fcfc7b20c814a2209d39cf6..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/141_137.png and /dev/null differ diff --git a/web/_img/canvas/main-2/142_137.png b/web/_img/canvas/main-2/142_137.png deleted file mode 100644 index b2200fa3b47b619a429112fe2e2a5276c73dc190..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/142_137.png and /dev/null differ diff --git a/web/_img/canvas/main-2/143_148.png b/web/_img/canvas/main-2/143_148.png deleted file mode 100644 index b8a0be858fa52d34c61242a944106322add4e791..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/143_148.png and /dev/null differ diff --git a/web/_img/canvas/main-2/144_148.png b/web/_img/canvas/main-2/144_148.png deleted file mode 100644 index 6d574fb4f2e319ee8a8a53bb46e48f0edaf3f137..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/144_148.png and /dev/null differ diff --git a/web/_img/canvas/main-2/145_148.png b/web/_img/canvas/main-2/145_148.png deleted file mode 100644 index ed49462ac98e418a86f53b4a6d1a218c7836e7ce..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/145_148.png and /dev/null differ diff --git a/web/_img/canvas/main-2/146_148.png b/web/_img/canvas/main-2/146_148.png deleted file mode 100644 index 227d84a9faf8df0447e3785f15f6f0d13f7c83d8..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/146_148.png and /dev/null differ diff --git a/web/_img/canvas/main-2/147_148.png b/web/_img/canvas/main-2/147_148.png deleted file mode 100644 index a13879ae6c95ad31cbdc750b0baded8e1cbd1802..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/147_148.png and /dev/null differ diff --git a/web/_img/canvas/main-2/148.png b/web/_img/canvas/main-2/148.png deleted file mode 100644 index bd959d33d92ec000cc7679bb27a033ad0b7cb12e..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/148.png and /dev/null differ diff --git a/web/_img/canvas/main-2/149_148.png b/web/_img/canvas/main-2/149_148.png deleted file mode 100644 index 6a78c3a2744884046b9ddc2e60d6a051340061ba..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/149_148.png and /dev/null differ diff --git a/web/_img/canvas/main-2/150_148.png b/web/_img/canvas/main-2/150_148.png deleted file mode 100644 index 0e5bbda7fc1a8811a7c9692a41cc6daffd8385d1..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/150_148.png and /dev/null differ diff --git a/web/_img/canvas/main-2/151_148.png b/web/_img/canvas/main-2/151_148.png deleted file mode 100644 index bdf46f63954dc3bd5bd673c7a59c6eea767ab11d..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/151_148.png and /dev/null differ diff --git a/web/_img/canvas/main-2/152_148.png b/web/_img/canvas/main-2/152_148.png deleted file mode 100644 index 35cd4da3e4da7e40196c19d01052b603ed07701b..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/152_148.png and /dev/null differ diff --git a/web/_img/canvas/main-2/153_148.png b/web/_img/canvas/main-2/153_148.png deleted file mode 100644 index b627e87bd3a30fd82d57846f3b672b04c61df92f..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/153_148.png and /dev/null differ diff --git a/web/_img/canvas/main-2/154_159.png b/web/_img/canvas/main-2/154_159.png deleted file mode 100644 index 0236d423b26c4ea1c3f735a5cc333d19dd17fa13..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/154_159.png and /dev/null differ diff --git a/web/_img/canvas/main-2/155_159.png b/web/_img/canvas/main-2/155_159.png deleted file mode 100644 index 52b7a5ca3be4fdfc0c6dcdef5475f5523fa79548..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/155_159.png and /dev/null differ diff --git a/web/_img/canvas/main-2/156_159.png b/web/_img/canvas/main-2/156_159.png deleted file mode 100644 index 3cae3cfda7bab9ab36d9c5e30a5428bb0064ea5d..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/156_159.png and /dev/null differ diff --git a/web/_img/canvas/main-2/157_159.png b/web/_img/canvas/main-2/157_159.png deleted file mode 100644 index b1a34fb0e8ed8c2a39da25b211d72913bfd7fcb9..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/157_159.png and /dev/null differ diff --git a/web/_img/canvas/main-2/158_159.png b/web/_img/canvas/main-2/158_159.png deleted file mode 100644 index d4c5f0cfe7a6fedbde6ab3aacd963d1edcd93676..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/158_159.png and /dev/null differ diff --git a/web/_img/canvas/main-2/159.png b/web/_img/canvas/main-2/159.png deleted file mode 100644 index c69b4d7efefac204e3398f85d1474c1a46d20283..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/159.png and /dev/null differ diff --git a/web/_img/canvas/main-2/160_159.png b/web/_img/canvas/main-2/160_159.png deleted file mode 100644 index 09c32ccee3750f0abb8a9b6ea2d25f2048c7af1f..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/160_159.png and /dev/null differ diff --git a/web/_img/canvas/main-2/161_159.png b/web/_img/canvas/main-2/161_159.png deleted file mode 100644 index c5e99cf76069c6fbf7595432578c00b21514eaeb..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/161_159.png and /dev/null differ diff --git a/web/_img/canvas/main-2/162_159.png b/web/_img/canvas/main-2/162_159.png deleted file mode 100644 index 574fc6d488c32c5e1c79204da2e48e35d48d2160..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/162_159.png and /dev/null differ diff --git a/web/_img/canvas/main-2/163_159.png b/web/_img/canvas/main-2/163_159.png deleted file mode 100644 index 318446d24baebee6f60e1a3082f4badfd85d1af1..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/163_159.png and /dev/null differ diff --git a/web/_img/canvas/main-2/164_159.png b/web/_img/canvas/main-2/164_159.png deleted file mode 100644 index c69a283062f74ed4843930a4a7c1da9772e91547..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/164_159.png and /dev/null differ diff --git a/web/_img/canvas/main-2/165_159.png b/web/_img/canvas/main-2/165_159.png deleted file mode 100644 index d289b47c7c9dcd4b33ed27c56cac524fc741a2e9..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/165_159.png and /dev/null differ diff --git a/web/_img/canvas/main-2/166_159.png b/web/_img/canvas/main-2/166_159.png deleted file mode 100644 index cebc17f168ac364e3f3df0c10a4e7ce5485eae1d..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/166_159.png and /dev/null differ diff --git a/web/_img/canvas/main-2/167_159.png b/web/_img/canvas/main-2/167_159.png deleted file mode 100644 index c99ddb3fad8eda1b1221566fba045189696496b0..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/167_159.png and /dev/null differ diff --git a/web/_img/canvas/main-2/168_159.png b/web/_img/canvas/main-2/168_159.png deleted file mode 100644 index b62e6cbed4db3261337a22134012d6388e4e44d5..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/168_159.png and /dev/null differ diff --git a/web/_img/canvas/main-2/169_159.png b/web/_img/canvas/main-2/169_159.png deleted file mode 100644 index e8b34efb4d4fdf113d2ec9e6bc52bd6b06a121a5..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/169_159.png and /dev/null differ diff --git a/web/_img/canvas/main-2/170.png b/web/_img/canvas/main-2/170.png deleted file mode 100644 index bc087aab0eb51903fccaa11527a36a181b37ee0c..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/170.png and /dev/null differ diff --git a/web/_img/canvas/main-2/171_170.png b/web/_img/canvas/main-2/171_170.png deleted file mode 100644 index 4042ba284ae44b59b366cc4fe7a618164728d018..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/171_170.png and /dev/null differ diff --git a/web/_img/canvas/main-2/172_170.png b/web/_img/canvas/main-2/172_170.png deleted file mode 100644 index 4fdf47df46b3e0f150064c921234e44b2778eeef..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/172_170.png and /dev/null differ diff --git a/web/_img/canvas/main-2/173_170.png b/web/_img/canvas/main-2/173_170.png deleted file mode 100644 index ee10a72100d23b758b62cd493ad22186dbc2245a..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/173_170.png and /dev/null differ diff --git a/web/_img/canvas/main-2/174_170.png b/web/_img/canvas/main-2/174_170.png deleted file mode 100644 index 162229c00828024c54ce694cdf01ed5182c02ba9..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/174_170.png and /dev/null differ diff --git a/web/_img/canvas/main-2/175_181.png b/web/_img/canvas/main-2/175_181.png deleted file mode 100644 index 466e3352acbfb9f745f092a3502a42d15c36ac35..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/175_181.png and /dev/null differ diff --git a/web/_img/canvas/main-2/176_181.png b/web/_img/canvas/main-2/176_181.png deleted file mode 100644 index 7ec67b48c3b206eff1d34453bfcc23205ebabbc5..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/176_181.png and /dev/null differ diff --git a/web/_img/canvas/main-2/177_181.png b/web/_img/canvas/main-2/177_181.png deleted file mode 100644 index 49e6ab8374bc62a173066bb5bd19aef423dd8ef6..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/177_181.png and /dev/null differ diff --git a/web/_img/canvas/main-2/178_181.png b/web/_img/canvas/main-2/178_181.png deleted file mode 100644 index d54f71abac1d613e182caa124168176e147de1bb..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/178_181.png and /dev/null differ diff --git a/web/_img/canvas/main-2/179_181.png b/web/_img/canvas/main-2/179_181.png deleted file mode 100644 index b338af2012e0845aaa28e4c19843bba58f64a9f8..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/179_181.png and /dev/null differ diff --git a/web/_img/canvas/main-2/180_181.png b/web/_img/canvas/main-2/180_181.png deleted file mode 100644 index 7476abef8bfa73157f740c739c5147b12ef0438b..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/180_181.png and /dev/null differ diff --git a/web/_img/canvas/main-2/181.png b/web/_img/canvas/main-2/181.png deleted file mode 100644 index 10de9073c924a9b008da850e837fdbafe3188756..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/181.png and /dev/null differ diff --git a/web/_img/canvas/main-2/182_181.png b/web/_img/canvas/main-2/182_181.png deleted file mode 100644 index 78a2a45b9ec862f4422b287ae198b876505e09fa..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/182_181.png and /dev/null differ diff --git a/web/_img/canvas/main-2/183_181.png b/web/_img/canvas/main-2/183_181.png deleted file mode 100644 index 2538bc580c77befa957f2337ba78072c4378f9a2..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/183_181.png and /dev/null differ diff --git a/web/_img/canvas/main-2/184_181.png b/web/_img/canvas/main-2/184_181.png deleted file mode 100644 index 9da2f7eeeae2a634a796502f1e60ea92212d6a08..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/184_181.png and /dev/null differ diff --git a/web/_img/canvas/main-2/185_181.png b/web/_img/canvas/main-2/185_181.png deleted file mode 100644 index b63f53dcfa635e4bb74bb99595d498ee7c89dbf5..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/185_181.png and /dev/null differ diff --git a/web/_img/canvas/main-2/186_181.png b/web/_img/canvas/main-2/186_181.png deleted file mode 100644 index 90e1dc4e2ef4eebb8e8d390925ba35733eb89856..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/186_181.png and /dev/null differ diff --git a/web/_img/canvas/main-2/187_192.png b/web/_img/canvas/main-2/187_192.png deleted file mode 100644 index c544c110ba764fa602a98064c000e42858049228..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/187_192.png and /dev/null differ diff --git a/web/_img/canvas/main-2/188_192.png b/web/_img/canvas/main-2/188_192.png deleted file mode 100644 index ec1b8cb1c7a2429e9d7a9d778dd6776cea855583..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/188_192.png and /dev/null differ diff --git a/web/_img/canvas/main-2/189_192.png b/web/_img/canvas/main-2/189_192.png deleted file mode 100644 index dbe6abfe83678fa4dcc953a3114ab72d980ce11d..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/189_192.png and /dev/null differ diff --git a/web/_img/canvas/main-2/190_192.png b/web/_img/canvas/main-2/190_192.png deleted file mode 100644 index 355f656e44afb83d1237088c99d4a77727b2e91a..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/190_192.png and /dev/null differ diff --git a/web/_img/canvas/main-2/191_192.png b/web/_img/canvas/main-2/191_192.png deleted file mode 100644 index 8bbbd42d123755f963bade7a0a3db21bd36a5513..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/191_192.png and /dev/null differ diff --git a/web/_img/canvas/main-2/192.png b/web/_img/canvas/main-2/192.png deleted file mode 100644 index f631bd64b7f2db5a02876ff867f7c5bfa8c47cc1..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/192.png and /dev/null differ diff --git a/web/_img/canvas/main-2/193_192.png b/web/_img/canvas/main-2/193_192.png deleted file mode 100644 index 92c197a030d2cd14ff8edde0afc2d56af78744c2..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/193_192.png and /dev/null differ diff --git a/web/_img/canvas/main-2/194_192.png b/web/_img/canvas/main-2/194_192.png deleted file mode 100644 index 64bd913ba85f1d5a65ba18a6c8c6f7b17be8d336..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/194_192.png and /dev/null differ diff --git a/web/_img/canvas/main-2/195_192.png b/web/_img/canvas/main-2/195_192.png deleted file mode 100644 index 14692fc6f0405d72e5dbcbfd6cc5bbe8bc4dc712..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/195_192.png and /dev/null differ diff --git a/web/_img/canvas/main-2/196_192.png b/web/_img/canvas/main-2/196_192.png deleted file mode 100644 index 36ad668766a03f2e768c09cb59ea3120216349d8..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/196_192.png and /dev/null differ diff --git a/web/_img/canvas/main-2/197_192.png b/web/_img/canvas/main-2/197_192.png deleted file mode 100644 index 5ccc4bec13cffd11efb6604fc4d0fed0e9775302..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/197_192.png and /dev/null differ diff --git a/web/_img/canvas/main-2/198_192.png b/web/_img/canvas/main-2/198_192.png deleted file mode 100644 index 96e1b51dfe6d24206816f9cc030ab3e2f615fd4b..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/198_192.png and /dev/null differ diff --git a/web/_img/canvas/main-2/199_192.png b/web/_img/canvas/main-2/199_192.png deleted file mode 100644 index 88d45e60e4f0855b1ad5df2f3e59a2367f715337..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/199_192.png and /dev/null differ diff --git a/web/_img/canvas/main-2/200_192.png b/web/_img/canvas/main-2/200_192.png deleted file mode 100644 index 7c7c14610998ec57a4fdb46228eecc8a12492b19..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/200_192.png and /dev/null differ diff --git a/web/_img/canvas/main-2/201_203.png b/web/_img/canvas/main-2/201_203.png deleted file mode 100644 index d2a945c4e2725470443be642241f74046efd699e..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/201_203.png and /dev/null differ diff --git a/web/_img/canvas/main-2/202_203.png b/web/_img/canvas/main-2/202_203.png deleted file mode 100644 index 7378ff1991841319fa4f0d1a74cb70131abef7b5..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/202_203.png and /dev/null differ diff --git a/web/_img/canvas/main-2/203.png b/web/_img/canvas/main-2/203.png deleted file mode 100644 index 5eeb04811f620d3db00c604850b5d5e102136a15..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/203.png and /dev/null differ diff --git a/web/_img/canvas/main-2/204_203.png b/web/_img/canvas/main-2/204_203.png deleted file mode 100644 index f4b76b3d1eef6462f27ce4c85559785fdb9c37d2..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/204_203.png and /dev/null differ diff --git a/web/_img/canvas/main-2/205_203.png b/web/_img/canvas/main-2/205_203.png deleted file mode 100644 index b0c0565ad7d3db170947fe763eae6c6476e294b5..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/205_203.png and /dev/null differ diff --git a/web/_img/canvas/main-2/206_203.png b/web/_img/canvas/main-2/206_203.png deleted file mode 100644 index 3a4a1790f9c6c090b328b04d22f47048c52ded46..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/206_203.png and /dev/null differ diff --git a/web/_img/canvas/main-2/207_203.png b/web/_img/canvas/main-2/207_203.png deleted file mode 100644 index ea25f2aa979f126ea544c91951c9a174b11dfdf0..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/207_203.png and /dev/null differ diff --git a/web/_img/canvas/main-2/208_214.png b/web/_img/canvas/main-2/208_214.png deleted file mode 100644 index cf8648da2e469dc8f7de98c3d5923a1368ed464f..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/208_214.png and /dev/null differ diff --git a/web/_img/canvas/main-2/209_214.png b/web/_img/canvas/main-2/209_214.png deleted file mode 100644 index 51adee70ecb3f63426efe22dd0ef7bc5fe614eca..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/209_214.png and /dev/null differ diff --git a/web/_img/canvas/main-2/210_214.png b/web/_img/canvas/main-2/210_214.png deleted file mode 100644 index 8eb34b661731a8972c21a96016a8f470c64df997..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/210_214.png and /dev/null differ diff --git a/web/_img/canvas/main-2/211_214.png b/web/_img/canvas/main-2/211_214.png deleted file mode 100644 index 16c5b661f3c02e0e852bf0fd5c1bb3e25196f271..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/211_214.png and /dev/null differ diff --git a/web/_img/canvas/main-2/212_214.png b/web/_img/canvas/main-2/212_214.png deleted file mode 100644 index 05ebd1941263eec202099444a06453162a9a56ff..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/212_214.png and /dev/null differ diff --git a/web/_img/canvas/main-2/213_214.png b/web/_img/canvas/main-2/213_214.png deleted file mode 100644 index cafad0fec12c1cee865225c5b203a8e7e2b364e4..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/213_214.png and /dev/null differ diff --git a/web/_img/canvas/main-2/214.png b/web/_img/canvas/main-2/214.png deleted file mode 100644 index f67ba283fafe7afb19b72f8a2ab84ae643407947..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/214.png and /dev/null differ diff --git a/web/_img/canvas/main-2/215_214.png b/web/_img/canvas/main-2/215_214.png deleted file mode 100644 index b28e89ec0c083461127c2d2c9f5f10f51609e27e..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/215_214.png and /dev/null differ diff --git a/web/_img/canvas/main-2/216_214.png b/web/_img/canvas/main-2/216_214.png deleted file mode 100644 index 2fab9a4c1cfcad5d1d8d41018e59148eddedb5f8..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/216_214.png and /dev/null differ diff --git a/web/_img/canvas/main-2/217_214.png b/web/_img/canvas/main-2/217_214.png deleted file mode 100644 index b0f244ec1140bb8005d54eeb11cf91d0e4b71f2b..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/217_214.png and /dev/null differ diff --git a/web/_img/canvas/main-2/218_214.png b/web/_img/canvas/main-2/218_214.png deleted file mode 100644 index bbc8b1e30ea58f01d992b85b804371fa82d4390b..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/218_214.png and /dev/null differ diff --git a/web/_img/canvas/main-2/219_225.png b/web/_img/canvas/main-2/219_225.png deleted file mode 100644 index 9faa9e3e414d681c216760c354338ce1ac3d9bd0..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/219_225.png and /dev/null differ diff --git a/web/_img/canvas/main-2/220_225.png b/web/_img/canvas/main-2/220_225.png deleted file mode 100644 index 71e6ec3e5c18b95eea234b201a6ef5407e1b7c08..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/220_225.png and /dev/null differ diff --git a/web/_img/canvas/main-2/221_225.png b/web/_img/canvas/main-2/221_225.png deleted file mode 100644 index d2c62af616d87541698cda94c04e23b3506f2ad0..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/221_225.png and /dev/null differ diff --git a/web/_img/canvas/main-2/222_225.png b/web/_img/canvas/main-2/222_225.png deleted file mode 100644 index f1b4e7c9a3b33175a81744bf5ed9f5c377d6f18c..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/222_225.png and /dev/null differ diff --git a/web/_img/canvas/main-2/223_225.png b/web/_img/canvas/main-2/223_225.png deleted file mode 100644 index df34503887543e4b9a419697b5fba9ea32e19c60..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/223_225.png and /dev/null differ diff --git a/web/_img/canvas/main-2/224_225.png b/web/_img/canvas/main-2/224_225.png deleted file mode 100644 index 3651c732a52a953fb357370abf896cff296b3cc3..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/224_225.png and /dev/null differ diff --git a/web/_img/canvas/main-2/225.png b/web/_img/canvas/main-2/225.png deleted file mode 100644 index f81b92916bc9c491ff912aa42a3de6ee99255905..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/225.png and /dev/null differ diff --git a/web/_img/canvas/main-2/226_225.png b/web/_img/canvas/main-2/226_225.png deleted file mode 100644 index 7c381b612708ce80d400b195ffa2afe4125f7174..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/226_225.png and /dev/null differ diff --git a/web/_img/canvas/main-2/227_225.png b/web/_img/canvas/main-2/227_225.png deleted file mode 100644 index 7f57d19db5118370c9c25622a4f0ff891e672f44..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/227_225.png and /dev/null differ diff --git a/web/_img/canvas/main-2/228_225.png b/web/_img/canvas/main-2/228_225.png deleted file mode 100644 index eaf4baf7f2a0be9ad70c15f568640dca6a271634..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/228_225.png and /dev/null differ diff --git a/web/_img/canvas/main-2/229_225.png b/web/_img/canvas/main-2/229_225.png deleted file mode 100644 index 43419c2627243172d2dd7575d60103817fe99827..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/229_225.png and /dev/null differ diff --git a/web/_img/canvas/main-2/230_225.png b/web/_img/canvas/main-2/230_225.png deleted file mode 100644 index fbeb0bff3cf531aa4ad2269f5ff031543e10ae3d..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/230_225.png and /dev/null differ diff --git a/web/_img/canvas/main-2/231_236.png b/web/_img/canvas/main-2/231_236.png deleted file mode 100644 index 02065ce312f46d67beb2892409fbc4dedb69ba10..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/231_236.png and /dev/null differ diff --git a/web/_img/canvas/main-2/232_236.png b/web/_img/canvas/main-2/232_236.png deleted file mode 100644 index d40c4f46c496090adb4abb3aad50b511b92cefbb..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/232_236.png and /dev/null differ diff --git a/web/_img/canvas/main-2/233_236.png b/web/_img/canvas/main-2/233_236.png deleted file mode 100644 index b8e9d142bb02041818778802bc6cc2771061c914..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/233_236.png and /dev/null differ diff --git a/web/_img/canvas/main-2/234_236.png b/web/_img/canvas/main-2/234_236.png deleted file mode 100644 index d4fc29ae1e1f5fbf120aca345879c2cf759038f3..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/234_236.png and /dev/null differ diff --git a/web/_img/canvas/main-2/235_236.png b/web/_img/canvas/main-2/235_236.png deleted file mode 100644 index 314f8130f9e516bdcfdf1926d42bc735a51423b1..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/235_236.png and /dev/null differ diff --git a/web/_img/canvas/main-2/236.png b/web/_img/canvas/main-2/236.png deleted file mode 100644 index 5e7b10527027d24f6b475093f66b8a2a9a3d25d3..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/236.png and /dev/null differ diff --git a/web/_img/canvas/main-2/237_236.png b/web/_img/canvas/main-2/237_236.png deleted file mode 100644 index d8906c48e7de899ec6b1908664adea3b26fb171e..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/237_236.png and /dev/null differ diff --git a/web/_img/canvas/main-2/238_236.png b/web/_img/canvas/main-2/238_236.png deleted file mode 100644 index 5cd7a5f5ad426ad69f1dfb24e8f920efbb5a7a8c..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/238_236.png and /dev/null differ diff --git a/web/_img/canvas/main-2/239_236.png b/web/_img/canvas/main-2/239_236.png deleted file mode 100644 index ad3a4de6c8cad3aff216583e19de76a764952adf..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/239_236.png and /dev/null differ diff --git a/web/_img/canvas/main-2/240_236.png b/web/_img/canvas/main-2/240_236.png deleted file mode 100644 index 2f8cb9879ec30feceb9739a3de42a1ccfc8614be..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/240_236.png and /dev/null differ diff --git a/web/_img/canvas/main-2/241_236.png b/web/_img/canvas/main-2/241_236.png deleted file mode 100644 index 4e810bae842064add01b5d4a0305beb41e64b2bd..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/241_236.png and /dev/null differ diff --git a/web/_img/canvas/main-2/242_247.png b/web/_img/canvas/main-2/242_247.png deleted file mode 100644 index c9d61ffc4f81cfe35e05139226b21efc6f54648e..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/242_247.png and /dev/null differ diff --git a/web/_img/canvas/main-2/243_247.png b/web/_img/canvas/main-2/243_247.png deleted file mode 100644 index ead22f403516f75bacadb858018e1fc8d65a5f1a..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/243_247.png and /dev/null differ diff --git a/web/_img/canvas/main-2/244_247.png b/web/_img/canvas/main-2/244_247.png deleted file mode 100644 index dfdfe628bc6ec568f7ad8fc619ce3e5e92fc036d..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/244_247.png and /dev/null differ diff --git a/web/_img/canvas/main-2/245_247.png b/web/_img/canvas/main-2/245_247.png deleted file mode 100644 index 99f336498c5b8c305e3093ab82af9ee275aec8bd..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/245_247.png and /dev/null differ diff --git a/web/_img/canvas/main-2/246_247.png b/web/_img/canvas/main-2/246_247.png deleted file mode 100644 index 179567101b727980211c78b7bec55a8504b789eb..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/246_247.png and /dev/null differ diff --git a/web/_img/canvas/main-2/247.png b/web/_img/canvas/main-2/247.png deleted file mode 100644 index f35c9ccf2a1426a345757c6e448875052224df8d..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/247.png and /dev/null differ diff --git a/web/_img/canvas/main-2/248_247.png b/web/_img/canvas/main-2/248_247.png deleted file mode 100644 index 9c6ee313239232768fd37534603e7a303c52e3f8..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/248_247.png and /dev/null differ diff --git a/web/_img/canvas/main-2/249_247.png b/web/_img/canvas/main-2/249_247.png deleted file mode 100644 index cea216afc987605bf5d01369af74688075688ecb..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/249_247.png and /dev/null differ diff --git a/web/_img/canvas/main-2/250_247.png b/web/_img/canvas/main-2/250_247.png deleted file mode 100644 index 6d5360ea6d15132b720f26ad00f705a1a7063f93..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/250_247.png and /dev/null differ diff --git a/web/_img/canvas/main-2/251_247.png b/web/_img/canvas/main-2/251_247.png deleted file mode 100644 index d464d0517d71165b424e9b9ed89f8d378f42fa1d..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/251_247.png and /dev/null differ diff --git a/web/_img/canvas/main-2/252_247.png b/web/_img/canvas/main-2/252_247.png deleted file mode 100644 index c1baddacd2ac69cd1afba116b03c5d543bc98173..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/252_247.png and /dev/null differ diff --git a/web/_img/canvas/main-2/253_247.png b/web/_img/canvas/main-2/253_247.png deleted file mode 100644 index 15c5c96cadb18edf710db00a45a878285c09b8eb..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/253_247.png and /dev/null differ diff --git a/web/_img/canvas/main-2/254_247.png b/web/_img/canvas/main-2/254_247.png deleted file mode 100644 index b4960e0aebaf5af6f2a54b36b61cd9781553d494..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/254_247.png and /dev/null differ diff --git a/web/_img/canvas/main-2/255_247.png b/web/_img/canvas/main-2/255_247.png deleted file mode 100644 index 5f7d816f9345deba3f4a77e9a5e4ee9bb0e190fb..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/255_247.png and /dev/null differ diff --git a/web/_img/canvas/main-2/256.png b/web/_img/canvas/main-2/256.png deleted file mode 100644 index c2a198d6d968de4672d8e335359a3c3feee2cf71..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-2/256.png and /dev/null differ diff --git a/web/_img/canvas/main-ex/1690308000-reddit.png b/web/_img/canvas/main-ex/1690308000-reddit.png deleted file mode 100644 index e97ac8f582d59000b9997df1cccee491354fbf6c..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-ex/1690308000-reddit.png and /dev/null differ diff --git a/web/_img/canvas/main-ex/1690314219.png b/web/_img/canvas/main-ex/1690314219.png deleted file mode 100644 index 12179fdaaf769ed796d19c8bee91d4cd27190793..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-ex/1690314219.png and /dev/null differ diff --git a/web/_img/canvas/main-ex/end.png b/web/_img/canvas/main-ex/end.png deleted file mode 100644 index 8922bc562be5224ec79349fc18c9a74cd775d4d7..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-ex/end.png and /dev/null differ diff --git a/web/_img/canvas/main-ex/start.png b/web/_img/canvas/main-ex/start.png deleted file mode 100644 index 531a4e7255a69a5385db2715e59da9171190a2cc..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/main-ex/start.png and /dev/null differ diff --git a/web/_img/canvas/tfc/base.png b/web/_img/canvas/tfc/base.png deleted file mode 100644 index de91a5a8af031ec84a5b3dc3ec599dc9e9cb8a6f..0000000000000000000000000000000000000000 Binary files a/web/_img/canvas/tfc/base.png and /dev/null differ diff --git a/web/_img/favicon-dark.png b/web/_img/favicon-dark.png deleted file mode 100644 index 88c35f88b38cdcae41a0376eab44d228fe17d46f..0000000000000000000000000000000000000000 Binary files a/web/_img/favicon-dark.png and /dev/null differ diff --git a/web/_img/favicon-dark.svg b/web/_img/favicon-dark.svg deleted file mode 100644 index 3896309a97822de39bcc84abcc7728d11b386829..0000000000000000000000000000000000000000 --- a/web/_img/favicon-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/_img/favicon.png b/web/_img/favicon.png deleted file mode 100644 index 3ab800f700544a9b4fd913a8fdd83381e1dfc32f..0000000000000000000000000000000000000000 Binary files a/web/_img/favicon.png and /dev/null differ diff --git a/web/_img/favicon.svg b/web/_img/favicon.svg deleted file mode 100644 index 36164ba3d9ca7de5f3e846c7adb986a46adcf604..0000000000000000000000000000000000000000 --- a/web/_img/favicon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/_img/logo-flat-padded.svg b/web/_img/logo-flat-padded.svg deleted file mode 100644 index c5920f1634501544033db070378dcb3ccfba0bf8..0000000000000000000000000000000000000000 --- a/web/_img/logo-flat-padded.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/_img/logo-flat.svg b/web/_img/logo-flat.svg deleted file mode 100644 index 6e0975dc54fe26df65e11c326eda7e4a3d024e31..0000000000000000000000000000000000000000 --- a/web/_img/logo-flat.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/_img/logo.png b/web/_img/logo.png index c8ba2ec0188df5aa054db47d28aaec2068f4ed60..5f973d479cb8f29839c0764a4ad6c4fe72d6fbaf 100644 Binary files a/web/_img/logo.png and b/web/_img/logo.png differ diff --git a/web/_img/logo_original.xcf b/web/_img/logo_original.xcf new file mode 100644 index 0000000000000000000000000000000000000000..e59d24db6923fd7f081acc2510e4129177c403f6 Binary files /dev/null and b/web/_img/logo_original.xcf differ diff --git a/web/_img/map_base.png b/web/_img/map_base.png new file mode 100644 index 0000000000000000000000000000000000000000..71eb55ccc4983ef307c9b52a4d65c0feac8bc86e Binary files /dev/null and b/web/_img/map_base.png differ diff --git a/web/_img/place-logo.svg b/web/_img/place-logo.svg deleted file mode 100644 index 979b182a4802fa9d502f2c5dcdd602207d9ad8fd..0000000000000000000000000000000000000000 --- a/web/_img/place-logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/web/_js/config.js b/web/_js/config.js index 46be8493ad038fbb44ca41ca7d2860411f854ea5..7258f29bc69e3804a9f11bca55badcdc4a1b4124 100644 --- a/web/_js/config.js +++ b/web/_js/config.js @@ -2,22 +2,19 @@ // Please also check code indicated with "@instanceonly" outside this file. // TODO: Avoid having instance-only code inside the main scripts to make updating easier. -//TODO:canvas adaptation const prodDomain = "canvas.mariusdavid.fr" window.prodDomain = prodDomain const instanceId = "canvas2024" window.instanceId = instanceId -//TODO:canvas adaptation -const instanceSubreddit = "none" +const instanceSubreddit = null window.instanceSubreddit = instanceSubreddit -//TODO:canvas adaptation -const instanceRepo = "todo" +const instanceRepo = null window.instanceRepo = instanceRepo -const pageTitle = "The 2024 Fediverse canvas Atlas" +const pageTitle = "2024 Fediverse canvas Atlas" window.pageTitle = pageTitle const canvasSize = { @@ -53,304 +50,9 @@ const variationsConfig = { url: "./_img/fedicanvas/final.png", } ], - //TODO:canvas adaptation - icon: '' + icon: '' } - /*default: { - name: "r/place", - code: "", - default: 250, - drawablePeriods: [1, 256], - drawableRegions: [ - [[1, 54], [-500, -500, 499, 499]], - [[55, 85], [-500, -500, 999, 499]], - [[86, 114], [-1000, -500, 999, 499]], - [[115, 152], [-1000, -1000, 999, 499]], - [[153, 168], [-1000, -1000, 999, 999]], - [[169, 201], [-1500, -1000, 999, 999]], - [[202, 258], [-1500, -1000, 1499, 999]], - ], - versions: [ - { "timestamp": 1689858080, "url": ["./_img/canvas/main-ex/start.png"] }, - { "timestamp": 1689859800, "url": ["./_img/canvas/main-2/000.png"] }, - { "timestamp": 1689861600, "url": ["./_img/canvas/main-2/001.png"] }, - { "timestamp": 1689863400, "url": ["./_img/canvas/main-2/005.png", "./_img/canvas/main-2/002_005.png"] }, - { "timestamp": 1689865200, "url": ["./_img/canvas/main-2/005.png", "./_img/canvas/main-2/003_005.png"] }, - { "timestamp": 1689867000, "url": ["./_img/canvas/main-2/005.png", "./_img/canvas/main-2/004_005.png"] }, - { "timestamp": 1689868800, "url": ["./_img/canvas/main-2/005.png"] }, - { "timestamp": 1689870600, "url": ["./_img/canvas/main-2/005.png", "./_img/canvas/main-2/006_005.png"] }, - { "timestamp": 1689872400, "url": ["./_img/canvas/main-2/005.png", "./_img/canvas/main-2/007_005.png"] }, - { "timestamp": 1689874200, "url": ["./_img/canvas/main-2/005.png", "./_img/canvas/main-2/008_005.png"] }, - { "timestamp": 1689876000, "url": ["./_img/canvas/main-2/005.png", "./_img/canvas/main-2/009_005.png"] }, - { "timestamp": 1689877800, "url": ["./_img/canvas/main-2/016.png", "./_img/canvas/main-2/010_016.png"] }, - { "timestamp": 1689879600, "url": ["./_img/canvas/main-2/016.png", "./_img/canvas/main-2/011_016.png"] }, - { "timestamp": 1689881400, "url": ["./_img/canvas/main-2/016.png", "./_img/canvas/main-2/012_016.png"] }, - { "timestamp": 1689883200, "url": ["./_img/canvas/main-2/016.png", "./_img/canvas/main-2/013_016.png"] }, - { "timestamp": 1689885000, "url": ["./_img/canvas/main-2/016.png", "./_img/canvas/main-2/014_016.png"] }, - { "timestamp": 1689886800, "url": ["./_img/canvas/main-2/016.png", "./_img/canvas/main-2/015_016.png"] }, - { "timestamp": 1689888600, "url": ["./_img/canvas/main-2/016.png"] }, - { "timestamp": 1689890400, "url": ["./_img/canvas/main-2/016.png", "./_img/canvas/main-2/017_016.png"] }, - { "timestamp": 1689892200, "url": ["./_img/canvas/main-2/016.png", "./_img/canvas/main-2/018_016.png"] }, - { "timestamp": 1689894000, "url": ["./_img/canvas/main-2/016.png", "./_img/canvas/main-2/019_016.png"] }, - { "timestamp": 1689895800, "url": ["./_img/canvas/main-2/016.png", "./_img/canvas/main-2/020_016.png"] }, - { "timestamp": 1689897600, "url": ["./_img/canvas/main-2/016.png", "./_img/canvas/main-2/021_016.png"] }, - { "timestamp": 1689899400, "url": ["./_img/canvas/main-2/027.png", "./_img/canvas/main-2/022_027.png"] }, - { "timestamp": 1689901200, "url": ["./_img/canvas/main-2/027.png", "./_img/canvas/main-2/023_027.png"] }, - { "timestamp": 1689903000, "url": ["./_img/canvas/main-2/027.png", "./_img/canvas/main-2/024_027.png"] }, - { "timestamp": 1689904800, "url": ["./_img/canvas/main-2/027.png", "./_img/canvas/main-2/025_027.png"] }, - { "timestamp": 1689906600, "url": ["./_img/canvas/main-2/027.png", "./_img/canvas/main-2/026_027.png"] }, - { "timestamp": 1689908400, "url": ["./_img/canvas/main-2/027.png"] }, - { "timestamp": 1689910200, "url": ["./_img/canvas/main-2/027.png", "./_img/canvas/main-2/028_027.png"] }, - { "timestamp": 1689912000, "url": ["./_img/canvas/main-2/027.png", "./_img/canvas/main-2/029_027.png"] }, - { "timestamp": 1689913800, "url": ["./_img/canvas/main-2/027.png", "./_img/canvas/main-2/030_027.png"] }, - { "timestamp": 1689915600, "url": ["./_img/canvas/main-2/027.png", "./_img/canvas/main-2/031_027.png"] }, - { "timestamp": 1689917400, "url": ["./_img/canvas/main-2/027.png", "./_img/canvas/main-2/032_027.png"] }, - { "timestamp": 1689919200, "url": ["./_img/canvas/main-2/038.png", "./_img/canvas/main-2/033_038.png"] }, - { "timestamp": 1689921000, "url": ["./_img/canvas/main-2/038.png", "./_img/canvas/main-2/034_038.png"] }, - { "timestamp": 1689922800, "url": ["./_img/canvas/main-2/038.png", "./_img/canvas/main-2/035_038.png"] }, - { "timestamp": 1689924600, "url": ["./_img/canvas/main-2/038.png", "./_img/canvas/main-2/036_038.png"] }, - { "timestamp": 1689926400, "url": ["./_img/canvas/main-2/038.png", "./_img/canvas/main-2/037_038.png"] }, - { "timestamp": 1689928200, "url": ["./_img/canvas/main-2/038.png"] }, - { "timestamp": 1689930000, "url": ["./_img/canvas/main-2/038.png", "./_img/canvas/main-2/039_038.png"] }, - { "timestamp": 1689931800, "url": ["./_img/canvas/main-2/038.png", "./_img/canvas/main-2/040_038.png"] }, - { "timestamp": 1689933600, "url": ["./_img/canvas/main-2/038.png", "./_img/canvas/main-2/041_038.png"] }, - { "timestamp": 1689935400, "url": ["./_img/canvas/main-2/038.png", "./_img/canvas/main-2/042_038.png"] }, - { "timestamp": 1689937200, "url": ["./_img/canvas/main-2/038.png", "./_img/canvas/main-2/043_038.png"] }, - { "timestamp": 1689939000, "url": ["./_img/canvas/main-2/049.png", "./_img/canvas/main-2/044_049.png"] }, - { "timestamp": 1689940800, "url": ["./_img/canvas/main-2/049.png", "./_img/canvas/main-2/045_049.png"] }, - { "timestamp": 1689942600, "url": ["./_img/canvas/main-2/049.png", "./_img/canvas/main-2/046_049.png"] }, - { "timestamp": 1689944400, "url": ["./_img/canvas/main-2/049.png", "./_img/canvas/main-2/047_049.png"] }, - { "timestamp": 1689946200, "url": ["./_img/canvas/main-2/049.png", "./_img/canvas/main-2/048_049.png"] }, - { "timestamp": 1689948000, "url": ["./_img/canvas/main-2/049.png"] }, - { "timestamp": 1689949800, "url": ["./_img/canvas/main-2/049.png", "./_img/canvas/main-2/050_049.png"] }, - { "timestamp": 1689951600, "url": ["./_img/canvas/main-2/049.png", "./_img/canvas/main-2/051_049.png"] }, - { "timestamp": 1689953400, "url": ["./_img/canvas/main-2/049.png", "./_img/canvas/main-2/052_049.png"] }, - { "timestamp": 1689955200, "url": ["./_img/canvas/main-2/049.png", "./_img/canvas/main-2/053_049.png"] }, - { "timestamp": ['First Expansion', 1689957000], "url": ["./_img/canvas/main-2/049.png", "./_img/canvas/main-2/054_049.png"] }, - { "timestamp": 1689958800, "url": ["./_img/canvas/main-2/049.png", "./_img/canvas/main-2/055_049.png"] }, - { "timestamp": 1689960600, "url": ["./_img/canvas/main-2/060.png", "./_img/canvas/main-2/056_060.png"] }, - { "timestamp": 1689962400, "url": ["./_img/canvas/main-2/060.png", "./_img/canvas/main-2/057_060.png"] }, - { "timestamp": 1689964200, "url": ["./_img/canvas/main-2/060.png", "./_img/canvas/main-2/058_060.png"] }, - { "timestamp": 1689966000, "url": ["./_img/canvas/main-2/060.png", "./_img/canvas/main-2/059_060.png"] }, - { "timestamp": 1689967800, "url": ["./_img/canvas/main-2/060.png"] }, - { "timestamp": 1689969600, "url": ["./_img/canvas/main-2/060.png", "./_img/canvas/main-2/061_060.png"] }, - { "timestamp": 1689971400, "url": ["./_img/canvas/main-2/060.png", "./_img/canvas/main-2/062_060.png"] }, - { "timestamp": 1689973200, "url": ["./_img/canvas/main-2/060.png", "./_img/canvas/main-2/063_060.png"] }, - { "timestamp": 1689975000, "url": ["./_img/canvas/main-2/060.png", "./_img/canvas/main-2/064_060.png"] }, - { "timestamp": 1689976800, "url": ["./_img/canvas/main-2/060.png", "./_img/canvas/main-2/065_060.png"] }, - { "timestamp": 1689978600, "url": ["./_img/canvas/main-2/071.png", "./_img/canvas/main-2/066_071.png"] }, - { "timestamp": 1689980400, "url": ["./_img/canvas/main-2/071.png", "./_img/canvas/main-2/067_071.png"] }, - { "timestamp": 1689982200, "url": ["./_img/canvas/main-2/071.png", "./_img/canvas/main-2/068_071.png"] }, - { "timestamp": 1689984000, "url": ["./_img/canvas/main-2/071.png", "./_img/canvas/main-2/069_071.png"] }, - { "timestamp": 1689985800, "url": ["./_img/canvas/main-2/071.png", "./_img/canvas/main-2/070_071.png"] }, - { "timestamp": 1689987600, "url": ["./_img/canvas/main-2/071.png"] }, - { "timestamp": 1689989400, "url": ["./_img/canvas/main-2/071.png", "./_img/canvas/main-2/072_071.png"] }, - { "timestamp": 1689991200, "url": ["./_img/canvas/main-2/071.png", "./_img/canvas/main-2/073_071.png"] }, - { "timestamp": 1689993000, "url": ["./_img/canvas/main-2/071.png", "./_img/canvas/main-2/074_071.png"] }, - { "timestamp": 1689994800, "url": ["./_img/canvas/main-2/071.png", "./_img/canvas/main-2/075_071.png"] }, - { "timestamp": 1689996600, "url": ["./_img/canvas/main-2/071.png", "./_img/canvas/main-2/076_071.png"] }, - { "timestamp": 1689998400, "url": ["./_img/canvas/main-2/082.png", "./_img/canvas/main-2/077_082.png"] }, - { "timestamp": 1690000200, "url": ["./_img/canvas/main-2/082.png", "./_img/canvas/main-2/078_082.png"] }, - { "timestamp": 1690002000, "url": ["./_img/canvas/main-2/082.png", "./_img/canvas/main-2/079_082.png"] }, - { "timestamp": 1690003800, "url": ["./_img/canvas/main-2/082.png", "./_img/canvas/main-2/080_082.png"] }, - { "timestamp": 1690005600, "url": ["./_img/canvas/main-2/082.png", "./_img/canvas/main-2/081_082.png"] }, - { "timestamp": 1690007400, "url": ["./_img/canvas/main-2/082.png"] }, - { "timestamp": 1690009200, "url": ["./_img/canvas/main-2/082.png", "./_img/canvas/main-2/083_082.png"] }, - { "timestamp": 1690011000, "url": ["./_img/canvas/main-2/082.png", "./_img/canvas/main-2/084_082.png"] }, - { "timestamp": 1690012800, "url": ["./_img/canvas/main-2/082.png", "./_img/canvas/main-2/085_082.png"] }, - { "timestamp": ['Second Expansion', 1690014600], "url": ["./_img/canvas/main-2/082.png", "./_img/canvas/main-2/086_082.png"] }, - { "timestamp": 1690016400, "url": ["./_img/canvas/main-2/082.png", "./_img/canvas/main-2/087_082.png"] }, - { "timestamp": 1690018200, "url": ["./_img/canvas/main-2/093.png", "./_img/canvas/main-2/088_093.png"] }, - { "timestamp": 1690020000, "url": ["./_img/canvas/main-2/093.png", "./_img/canvas/main-2/089_093.png"] }, - { "timestamp": 1690021800, "url": ["./_img/canvas/main-2/093.png", "./_img/canvas/main-2/090_093.png"] }, - { "timestamp": 1690023600, "url": ["./_img/canvas/main-2/093.png", "./_img/canvas/main-2/091_093.png"] }, - { "timestamp": 1690025400, "url": ["./_img/canvas/main-2/093.png", "./_img/canvas/main-2/092_093.png"] }, - { "timestamp": 1690027200, "url": ["./_img/canvas/main-2/093.png"] }, - { "timestamp": 1690029000, "url": ["./_img/canvas/main-2/093.png", "./_img/canvas/main-2/094_093.png"] }, - { "timestamp": 1690030800, "url": ["./_img/canvas/main-2/093.png", "./_img/canvas/main-2/095_093.png"] }, - { "timestamp": 1690032600, "url": ["./_img/canvas/main-2/093.png", "./_img/canvas/main-2/096_093.png"] }, - { "timestamp": 1690034400, "url": ["./_img/canvas/main-2/093.png", "./_img/canvas/main-2/097_093.png"] }, - { "timestamp": 1690036200, "url": ["./_img/canvas/main-2/093.png", "./_img/canvas/main-2/098_093.png"] }, - { "timestamp": 1690038000, "url": ["./_img/canvas/main-2/104.png", "./_img/canvas/main-2/099_104.png"] }, - { "timestamp": 1690039800, "url": ["./_img/canvas/main-2/104.png", "./_img/canvas/main-2/100_104.png"] }, - { "timestamp": 1690041600, "url": ["./_img/canvas/main-2/104.png", "./_img/canvas/main-2/101_104.png"] }, - { "timestamp": 1690043400, "url": ["./_img/canvas/main-2/104.png", "./_img/canvas/main-2/102_104.png"] }, - { "timestamp": 1690045200, "url": ["./_img/canvas/main-2/104.png", "./_img/canvas/main-2/103_104.png"] }, - { "timestamp": 1690047000, "url": ["./_img/canvas/main-2/104.png"] }, - { "timestamp": 1690048800, "url": ["./_img/canvas/main-2/104.png", "./_img/canvas/main-2/105_104.png"] }, - { "timestamp": 1690050600, "url": ["./_img/canvas/main-2/104.png", "./_img/canvas/main-2/106_104.png"] }, - { "timestamp": 1690052400, "url": ["./_img/canvas/main-2/104.png", "./_img/canvas/main-2/107_104.png"] }, - { "timestamp": 1690054200, "url": ["./_img/canvas/main-2/104.png", "./_img/canvas/main-2/108_104.png"] }, - { "timestamp": 1690056000, "url": ["./_img/canvas/main-2/104.png", "./_img/canvas/main-2/109_104.png"] }, - { "timestamp": 1690057800, "url": ["./_img/canvas/main-2/115.png", "./_img/canvas/main-2/110_115.png"] }, - { "timestamp": 1690059600, "url": ["./_img/canvas/main-2/115.png", "./_img/canvas/main-2/111_115.png"] }, - { "timestamp": 1690061400, "url": ["./_img/canvas/main-2/115.png", "./_img/canvas/main-2/112_115.png"] }, - { "timestamp": 1690063200, "url": ["./_img/canvas/main-2/115.png", "./_img/canvas/main-2/113_115.png"] }, - { "timestamp": 1690065000, "url": ["./_img/canvas/main-2/115.png", "./_img/canvas/main-2/114_115.png"] }, - { "timestamp": 1690066800, "url": ["./_img/canvas/main-2/115.png"] }, - { "timestamp": ['Third Expansion', 1690068600], "url": ["./_img/canvas/main-2/115.png", "./_img/canvas/main-2/116_115.png"] }, - { "timestamp": 1690070400, "url": ["./_img/canvas/main-2/115.png", "./_img/canvas/main-2/117_115.png"] }, - { "timestamp": 1690072200, "url": ["./_img/canvas/main-2/115.png", "./_img/canvas/main-2/118_115.png"] }, - { "timestamp": 1690074000, "url": ["./_img/canvas/main-2/115.png", "./_img/canvas/main-2/119_115.png"] }, - { "timestamp": 1690075800, "url": ["./_img/canvas/main-2/115.png", "./_img/canvas/main-2/120_115.png"] }, - { "timestamp": 1690077600, "url": ["./_img/canvas/main-2/126.png", "./_img/canvas/main-2/121_126.png"] }, - { "timestamp": 1690079400, "url": ["./_img/canvas/main-2/126.png", "./_img/canvas/main-2/122_126.png"] }, - { "timestamp": 1690081200, "url": ["./_img/canvas/main-2/126.png", "./_img/canvas/main-2/123_126.png"] }, - { "timestamp": 1690083000, "url": ["./_img/canvas/main-2/126.png", "./_img/canvas/main-2/124_126.png"] }, - { "timestamp": 1690084800, "url": ["./_img/canvas/main-2/126.png", "./_img/canvas/main-2/125_126.png"] }, - { "timestamp": 1690086600, "url": ["./_img/canvas/main-2/126.png"] }, - { "timestamp": 1690088400, "url": ["./_img/canvas/main-2/126.png", "./_img/canvas/main-2/127_126.png"] }, - { "timestamp": 1690090200, "url": ["./_img/canvas/main-2/126.png", "./_img/canvas/main-2/128_126.png"] }, - { "timestamp": 1690092000, "url": ["./_img/canvas/main-2/126.png", "./_img/canvas/main-2/129_126.png"] }, - { "timestamp": 1690093800, "url": ["./_img/canvas/main-2/126.png", "./_img/canvas/main-2/130_126.png"] }, - { "timestamp": 1690095600, "url": ["./_img/canvas/main-2/126.png", "./_img/canvas/main-2/131_126.png"] }, - { "timestamp": 1690097400, "url": ["./_img/canvas/main-2/137.png", "./_img/canvas/main-2/132_137.png"] }, - { "timestamp": 1690099200, "url": ["./_img/canvas/main-2/137.png", "./_img/canvas/main-2/133_137.png"] }, - { "timestamp": 1690101000, "url": ["./_img/canvas/main-2/137.png", "./_img/canvas/main-2/134_137.png"] }, - { "timestamp": 1690102800, "url": ["./_img/canvas/main-2/137.png", "./_img/canvas/main-2/135_137.png"] }, - { "timestamp": 1690104600, "url": ["./_img/canvas/main-2/137.png", "./_img/canvas/main-2/136_137.png"] }, - { "timestamp": 1690106400, "url": ["./_img/canvas/main-2/137.png"] }, - { "timestamp": 1690108200, "url": ["./_img/canvas/main-2/137.png", "./_img/canvas/main-2/138_137.png"] }, - { "timestamp": 1690110000, "url": ["./_img/canvas/main-2/137.png", "./_img/canvas/main-2/139_137.png"] }, - { "timestamp": 1690111800, "url": ["./_img/canvas/main-2/137.png", "./_img/canvas/main-2/140_137.png"] }, - { "timestamp": 1690113600, "url": ["./_img/canvas/main-2/137.png", "./_img/canvas/main-2/141_137.png"] }, - { "timestamp": 1690115400, "url": ["./_img/canvas/main-2/137.png", "./_img/canvas/main-2/142_137.png"] }, - { "timestamp": 1690117200, "url": ["./_img/canvas/main-2/148.png", "./_img/canvas/main-2/143_148.png"] }, - { "timestamp": 1690119000, "url": ["./_img/canvas/main-2/148.png", "./_img/canvas/main-2/144_148.png"] }, - { "timestamp": 1690120800, "url": ["./_img/canvas/main-2/148.png", "./_img/canvas/main-2/145_148.png"] }, - { "timestamp": 1690122600, "url": ["./_img/canvas/main-2/148.png", "./_img/canvas/main-2/146_148.png"] }, - { "timestamp": 1690124400, "url": ["./_img/canvas/main-2/148.png", "./_img/canvas/main-2/147_148.png"] }, - { "timestamp": 1690126200, "url": ["./_img/canvas/main-2/148.png"] }, - { "timestamp": 1690128000, "url": ["./_img/canvas/main-2/148.png", "./_img/canvas/main-2/149_148.png"] }, - { "timestamp": 1690129800, "url": ["./_img/canvas/main-2/148.png", "./_img/canvas/main-2/150_148.png"] }, - { "timestamp": 1690131600, "url": ["./_img/canvas/main-2/148.png", "./_img/canvas/main-2/151_148.png"] }, - { "timestamp": 1690133400, "url": ["./_img/canvas/main-2/148.png", "./_img/canvas/main-2/152_148.png"] }, - { "timestamp": 1690135200, "url": ["./_img/canvas/main-2/148.png", "./_img/canvas/main-2/153_148.png"] }, - { "timestamp": ['Fourth Expansion', 1690137000], "url": ["./_img/canvas/main-2/159.png", "./_img/canvas/main-2/154_159.png"] }, - { "timestamp": 1690138800, "url": ["./_img/canvas/main-2/159.png", "./_img/canvas/main-2/155_159.png"] }, - { "timestamp": 1690140600, "url": ["./_img/canvas/main-2/159.png", "./_img/canvas/main-2/156_159.png"] }, - { "timestamp": 1690142400, "url": ["./_img/canvas/main-2/159.png", "./_img/canvas/main-2/157_159.png"] }, - { "timestamp": 1690144200, "url": ["./_img/canvas/main-2/159.png", "./_img/canvas/main-2/158_159.png"] }, - { "timestamp": 1690146000, "url": ["./_img/canvas/main-2/159.png"] }, - { "timestamp": 1690147800, "url": ["./_img/canvas/main-2/159.png", "./_img/canvas/main-2/160_159.png"] }, - { "timestamp": 1690149600, "url": ["./_img/canvas/main-2/159.png", "./_img/canvas/main-2/161_159.png"] }, - { "timestamp": 1690151400, "url": ["./_img/canvas/main-2/159.png", "./_img/canvas/main-2/162_159.png"] }, - { "timestamp": 1690153200, "url": ["./_img/canvas/main-2/159.png", "./_img/canvas/main-2/163_159.png"] }, - { "timestamp": 1690155000, "url": ["./_img/canvas/main-2/159.png", "./_img/canvas/main-2/164_159.png"] }, - { "timestamp": 1690156800, "url": ["./_img/canvas/main-2/159.png", "./_img/canvas/main-2/165_159.png"] }, - { "timestamp": 1690158600, "url": ["./_img/canvas/main-2/159.png", "./_img/canvas/main-2/166_159.png"] }, - { "timestamp": 1690160400, "url": ["./_img/canvas/main-2/159.png", "./_img/canvas/main-2/167_159.png"] }, - { "timestamp": 1690162200, "url": ["./_img/canvas/main-2/159.png", "./_img/canvas/main-2/168_159.png"] }, - { "timestamp": 1690164000, "url": ["./_img/canvas/main-2/159.png", "./_img/canvas/main-2/169_159.png"] }, - { "timestamp": ['Fifth Expansion', 1690165800], "url": ["./_img/canvas/main-2/170.png"] }, - { "timestamp": 1690167600, "url": ["./_img/canvas/main-2/170.png", "./_img/canvas/main-2/171_170.png"] }, - { "timestamp": 1690169400, "url": ["./_img/canvas/main-2/170.png", "./_img/canvas/main-2/172_170.png"] }, - { "timestamp": 1690171200, "url": ["./_img/canvas/main-2/170.png", "./_img/canvas/main-2/173_170.png"] }, - { "timestamp": 1690173000, "url": ["./_img/canvas/main-2/170.png", "./_img/canvas/main-2/174_170.png"] }, - { "timestamp": 1690174800, "url": ["./_img/canvas/main-2/181.png", "./_img/canvas/main-2/175_181.png"] }, - { "timestamp": 1690176600, "url": ["./_img/canvas/main-2/181.png", "./_img/canvas/main-2/176_181.png"] }, - { "timestamp": 1690178400, "url": ["./_img/canvas/main-2/181.png", "./_img/canvas/main-2/177_181.png"] }, - { "timestamp": 1690180200, "url": ["./_img/canvas/main-2/181.png", "./_img/canvas/main-2/178_181.png"] }, - { "timestamp": 1690182000, "url": ["./_img/canvas/main-2/181.png", "./_img/canvas/main-2/179_181.png"] }, - { "timestamp": 1690183800, "url": ["./_img/canvas/main-2/181.png", "./_img/canvas/main-2/180_181.png"] }, - { "timestamp": 1690185600, "url": ["./_img/canvas/main-2/181.png"] }, - { "timestamp": 1690187400, "url": ["./_img/canvas/main-2/181.png", "./_img/canvas/main-2/182_181.png"] }, - { "timestamp": 1690189200, "url": ["./_img/canvas/main-2/181.png", "./_img/canvas/main-2/183_181.png"] }, - { "timestamp": 1690191000, "url": ["./_img/canvas/main-2/181.png", "./_img/canvas/main-2/184_181.png"] }, - { "timestamp": 1690192800, "url": ["./_img/canvas/main-2/181.png", "./_img/canvas/main-2/185_181.png"] }, - { "timestamp": 1690194600, "url": ["./_img/canvas/main-2/181.png", "./_img/canvas/main-2/186_181.png"] }, - { "timestamp": 1690196400, "url": ["./_img/canvas/main-2/192.png", "./_img/canvas/main-2/187_192.png"] }, - { "timestamp": 1690198200, "url": ["./_img/canvas/main-2/192.png", "./_img/canvas/main-2/188_192.png"] }, - { "timestamp": 1690200000, "url": ["./_img/canvas/main-2/192.png", "./_img/canvas/main-2/189_192.png"] }, - { "timestamp": 1690201800, "url": ["./_img/canvas/main-2/192.png", "./_img/canvas/main-2/190_192.png"] }, - { "timestamp": 1690203600, "url": ["./_img/canvas/main-2/192.png", "./_img/canvas/main-2/191_192.png"] }, - { "timestamp": 1690205400, "url": ["./_img/canvas/main-2/192.png"] }, - { "timestamp": 1690207200, "url": ["./_img/canvas/main-2/192.png", "./_img/canvas/main-2/193_192.png"] }, - { "timestamp": 1690209000, "url": ["./_img/canvas/main-2/192.png", "./_img/canvas/main-2/194_192.png"] }, - { "timestamp": 1690210800, "url": ["./_img/canvas/main-2/192.png", "./_img/canvas/main-2/195_192.png"] }, - { "timestamp": 1690212600, "url": ["./_img/canvas/main-2/192.png", "./_img/canvas/main-2/196_192.png"] }, - { "timestamp": 1690214400, "url": ["./_img/canvas/main-2/192.png", "./_img/canvas/main-2/197_192.png"] }, - { "timestamp": 1690216200, "url": ["./_img/canvas/main-2/192.png", "./_img/canvas/main-2/198_192.png"] }, - { "timestamp": 1690218000, "url": ["./_img/canvas/main-2/192.png", "./_img/canvas/main-2/199_192.png"] }, - { "timestamp": 1690219800, "url": ["./_img/canvas/main-2/192.png", "./_img/canvas/main-2/200_192.png"] }, - { "timestamp": ['Sixth Expansion', 1690221600], "url": ["./_img/canvas/main-2/203.png", "./_img/canvas/main-2/201_203.png"] }, - { "timestamp": 1690223400, "url": ["./_img/canvas/main-2/203.png", "./_img/canvas/main-2/202_203.png"] }, - { "timestamp": 1690225200, "url": ["./_img/canvas/main-2/203.png"] }, - { "timestamp": 1690227000, "url": ["./_img/canvas/main-2/203.png", "./_img/canvas/main-2/204_203.png"] }, - { "timestamp": 1690228800, "url": ["./_img/canvas/main-2/203.png", "./_img/canvas/main-2/205_203.png"] }, - { "timestamp": 1690230600, "url": ["./_img/canvas/main-2/203.png", "./_img/canvas/main-2/206_203.png"] }, - { "timestamp": 1690232400, "url": ["./_img/canvas/main-2/203.png", "./_img/canvas/main-2/207_203.png"] }, - { "timestamp": 1690234200, "url": ["./_img/canvas/main-2/214.png", "./_img/canvas/main-2/208_214.png"] }, - { "timestamp": 1690236000, "url": ["./_img/canvas/main-2/214.png", "./_img/canvas/main-2/209_214.png"] }, - { "timestamp": 1690237800, "url": ["./_img/canvas/main-2/214.png", "./_img/canvas/main-2/210_214.png"] }, - { "timestamp": 1690239600, "url": ["./_img/canvas/main-2/214.png", "./_img/canvas/main-2/211_214.png"] }, - { "timestamp": 1690241400, "url": ["./_img/canvas/main-2/214.png", "./_img/canvas/main-2/212_214.png"] }, - { "timestamp": 1690243200, "url": ["./_img/canvas/main-2/214.png", "./_img/canvas/main-2/213_214.png"] }, - { "timestamp": 1690245000, "url": ["./_img/canvas/main-2/214.png"] }, - { "timestamp": 1690246800, "url": ["./_img/canvas/main-2/214.png", "./_img/canvas/main-2/215_214.png"] }, - { "timestamp": 1690248600, "url": ["./_img/canvas/main-2/214.png", "./_img/canvas/main-2/216_214.png"] }, - { "timestamp": 1690250400, "url": ["./_img/canvas/main-2/214.png", "./_img/canvas/main-2/217_214.png"] }, - { "timestamp": 1690252200, "url": ["./_img/canvas/main-2/214.png", "./_img/canvas/main-2/218_214.png"] }, - { "timestamp": 1690254000, "url": ["./_img/canvas/main-2/225.png", "./_img/canvas/main-2/219_225.png"] }, - { "timestamp": 1690255800, "url": ["./_img/canvas/main-2/225.png", "./_img/canvas/main-2/220_225.png"] }, - { "timestamp": 1690257600, "url": ["./_img/canvas/main-2/225.png", "./_img/canvas/main-2/221_225.png"] }, - { "timestamp": 1690259400, "url": ["./_img/canvas/main-2/225.png", "./_img/canvas/main-2/222_225.png"] }, - { "timestamp": 1690261200, "url": ["./_img/canvas/main-2/225.png", "./_img/canvas/main-2/223_225.png"] }, - { "timestamp": 1690263000, "url": ["./_img/canvas/main-2/225.png", "./_img/canvas/main-2/224_225.png"] }, - { "timestamp": 1690264800, "url": ["./_img/canvas/main-2/225.png"] }, - { "timestamp": 1690266600, "url": ["./_img/canvas/main-2/225.png", "./_img/canvas/main-2/226_225.png"] }, - { "timestamp": 1690268400, "url": ["./_img/canvas/main-2/225.png", "./_img/canvas/main-2/227_225.png"] }, - { "timestamp": 1690270200, "url": ["./_img/canvas/main-2/225.png", "./_img/canvas/main-2/228_225.png"] }, - { "timestamp": 1690272000, "url": ["./_img/canvas/main-2/225.png", "./_img/canvas/main-2/229_225.png"] }, - { "timestamp": 1690273800, "url": ["./_img/canvas/main-2/225.png", "./_img/canvas/main-2/230_225.png"] }, - { "timestamp": 1690275600, "url": ["./_img/canvas/main-2/236.png", "./_img/canvas/main-2/231_236.png"] }, - { "timestamp": 1690277400, "url": ["./_img/canvas/main-2/236.png", "./_img/canvas/main-2/232_236.png"] }, - { "timestamp": 1690279200, "url": ["./_img/canvas/main-2/236.png", "./_img/canvas/main-2/233_236.png"] }, - { "timestamp": 1690281000, "url": ["./_img/canvas/main-2/236.png", "./_img/canvas/main-2/234_236.png"] }, - { "timestamp": 1690282800, "url": ["./_img/canvas/main-2/236.png", "./_img/canvas/main-2/235_236.png"] }, - { "timestamp": 1690284600, "url": ["./_img/canvas/main-2/236.png"] }, - { "timestamp": 1690286400, "url": ["./_img/canvas/main-2/236.png", "./_img/canvas/main-2/237_236.png"] }, - { "timestamp": 1690288200, "url": ["./_img/canvas/main-2/236.png", "./_img/canvas/main-2/238_236.png"] }, - { "timestamp": 1690290000, "url": ["./_img/canvas/main-2/236.png", "./_img/canvas/main-2/239_236.png"] }, - { "timestamp": 1690291800, "url": ["./_img/canvas/main-2/236.png", "./_img/canvas/main-2/240_236.png"] }, - { "timestamp": 1690293600, "url": ["./_img/canvas/main-2/236.png", "./_img/canvas/main-2/241_236.png"] }, - { "timestamp": 1690295400, "url": ["./_img/canvas/main-2/247.png", "./_img/canvas/main-2/242_247.png"] }, - { "timestamp": 1690297200, "url": ["./_img/canvas/main-2/247.png", "./_img/canvas/main-2/243_247.png"] }, - { "timestamp": 1690299000, "url": ["./_img/canvas/main-2/247.png", "./_img/canvas/main-2/244_247.png"] }, - { "timestamp": 1690300800, "url": ["./_img/canvas/main-2/247.png", "./_img/canvas/main-2/245_247.png"] }, - { "timestamp": 1690302600, "url": ["./_img/canvas/main-2/247.png", "./_img/canvas/main-2/246_247.png"] }, - { "timestamp": 1690304400, "url": ["./_img/canvas/main-2/247.png"] }, - { "timestamp": 1690306200, "url": ["./_img/canvas/main-2/247.png", "./_img/canvas/main-2/248_247.png"] }, - { "timestamp": ["Reddit's Official Final Canvas", 1690308000], "url": ["./_img/canvas/main-ex/1690308000-reddit.png"] }, - { "timestamp": 1690309800, "url": ["./_img/canvas/main-2/247.png", "./_img/canvas/main-2/250_247.png"] }, - { "timestamp": 1690311600, "url": ["./_img/canvas/main-2/247.png", "./_img/canvas/main-2/251_247.png"] }, - { "timestamp": 1690313400, "url": ["./_img/canvas/main-2/247.png", "./_img/canvas/main-2/252_247.png"] }, - { "timestamp": ['True Final Canvas', 1690314219], "url": ["./_img/canvas/main-ex/1690314219.png"] }, - { "timestamp": ['Gray-out', 1690315200], "url": ["./_img/canvas/main-2/247.png", "./_img/canvas/main-2/253_247.png"] }, - { "timestamp": ['Gray-out', 1690317000], "url": ["./_img/canvas/main-2/247.png", "./_img/canvas/main-2/254_247.png"] }, - { "timestamp": ['Whiteout', 1690318800], "url": ["./_img/canvas/main-2/247.png", "./_img/canvas/main-2/255_247.png"] }, - { "timestamp": ['Whiteout', 1690320600], "url": ["./_img/canvas/main-2/256.png"] }, - { "timestamp": ['Whiteout', 1690320856], "url": ["./_img/canvas/main-ex/end.png"] }, - ], - icon: '' - }, - tfc: { - name: "The Final Clean", - code: "T", - default: 0, - drawablePeriods: [0, 0], - drawableRegions: [ - [[0, 0], [-1500, -1000, 1499, 999]], - ], - versions: [ - { - timestamp: "Final", - url: "./_img/canvas/tfc/base.png", - } - ], - icon: '' - }*/ } window.variationsConfig = variationsConfig @@ -364,6 +66,41 @@ const useNumericalId = true window.useNumericalId = useNumericalId const externalLinksConfig = [ + { + name: "Lemmy", + id: "lemmy", + generateLink: (link) => { + if (link.startsWith("@")) { + return "https://" + link + "/" + } else if (link.startsWith("!") && link.indexOf("@") !== -1) { + let community = link.substring(1).split("@")[0] + let host = link.split("@")[1] + return "https://" + host + "/c/" + community + } else { + return link + } + }, + listingClass: "bi-envelope", //TODO: canvas adaptation: actually put a lemmy icon + generateListingName: (link) => link, + placeholder: "!community@example.org", + configureInputField: (inputField) => { + inputField.placeholder = "!community@example.com" + inputField.title = "Lemmy link using the !community@example.com format, a Lemmy domain using the @example.com format or a post with it’s url" + }, + }, + { + name: "Matrix", + id: "matrix", + generateLink: (link) => "https://matrix.to/#/" + link, + listingClass: "bi-chat-dots", //TODO: canvas adaptation: actually put a Matrix, if any exist + generateListingName: (link) => link, + placeholder: "#example:example.com", + configureInputField: (inputField) => { + inputField.placeholder = "#example:example.com" + inputField.title = "Link to a Matrix room or space, in the form of #example:example.com" + inputField.pattern = "#.*:.*" + } + }, { name: "Website", id: "website", @@ -377,7 +114,6 @@ const externalLinksConfig = [ return "Website" } }, - displayHTML: "{urlid}", placeholder: "https://example.org", configureInputField: (inputField) => { inputField.type = "url" diff --git a/web/_js/favicon.js b/web/_js/favicon.js deleted file mode 100644 index 688e5f672e3bfc0345031d845cc987144895b147..0000000000000000000000000000000000000000 --- a/web/_js/favicon.js +++ /dev/null @@ -1,27 +0,0 @@ -// Based on GitHub's favicon switcher. Temporary(?) fix for Chromium based browsers that won't dynamically update embedded CSS media query inside of SVG -function updateFavicon(colorScheme) { - const favicon = document.head.querySelector('.js-site-favicon[type="image/svg+xml"]') - const faviconFallback = document.head.querySelector('.js-site-favicon[type="image/png"]') - if (favicon && faviconFallback) { - if (colorScheme || colorScheme === 'dark') { - favicon.href = '_img/favicon-dark.svg' - faviconFallback.href = '_img/favicon-dark.png' - } else { - favicon.href = '_img/favicon.svg' - faviconFallback.href = '_img/favicon.png' - } - } -} - -function prefersDarkColorScheme() { - return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches -} - -if (prefersDarkColorScheme()) { - // update favicon to dark on page load - updateFavicon('dark') -} - -window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => { - updateFavicon(prefersDarkColorScheme()) -}) diff --git a/web/_js/main/draw.js b/web/_js/main/draw.js index 9f72de722d1aa098726d5f547482b3ce011d7076..ebbb06c915538b5d1ffdf78c1ea9646735a3dbef 100644 --- a/web/_js/main/draw.js +++ b/web/_js/main/draw.js @@ -92,6 +92,7 @@ function slugify(text) { .normalize('NFKD') .toLowerCase() .trim() + .replace(' ', '_') .replace(/\s+/g, '-') .replace(/[^\w\-]+/g, '') .replace(/\-+/g, '-'); @@ -276,8 +277,9 @@ function initDraw() { }) function generateExportObject() { + //TODO: use an UUID? const exportObject = { - id: entry ? entry.id : -1, + id: entry ? entry.id : Math.floor(Math.random() * 9999999999), name: nameField.value, description: descriptionField.value, links: {}, @@ -342,55 +344,63 @@ function initDraw() { // Reddit - let redditPostJsonString = " " + prettyJsonString.split("\n").join("\n ") - let redditPostUrl = `https://www.reddit.com/r/${instanceSubreddit}/submit?selftext=true&title=` - if (exportObject.id === -1) redditPostUrl += `✨%20${encodeURIComponent(exportObject.name ?? entry.name)}` - else redditPostUrl += `✏%20${encodeURIComponent(exportObject.name ?? entry.name)}` - redditPostUrl += "&text=" + if (instanceSubreddit != null) { + let redditPostJsonString = " " + prettyJsonString.split("\n").join("\n ") + let redditPostUrl = `https://www.reddit.com/r/${instanceSubreddit}/submit?selftext=true&title=` + if (exportObject.id === -1) redditPostUrl += `✨%20${encodeURIComponent(exportObject.name ?? entry.name)}` + else redditPostUrl += `✏%20${encodeURIComponent(exportObject.name ?? entry.name)}` + redditPostUrl += "&text=" - if (encodeURIComponent(redditPostJsonString).length > 7579 - redditPostUrl.length) { - redditPostJsonString = " " + miniJsonString - } + if (encodeURIComponent(redditPostJsonString).length > 7579 - redditPostUrl.length) { + redditPostJsonString = " " + miniJsonString + } + + redditPostUrl += encodeURIComponent(redditPostJsonString) + if (encodeURIComponent(redditPostUrl).length > 7579) { + // redditPostButton.classList.add("disabled") + // redditPostButton.ariaDisabled = true + redditPostButton.dataset.bsToggle = "tooltip" + redditPostButton.dataset.bsTitle = "This may not work due to the length of the entry. If needed, please copy manually." + if (!redditPostTooltip) redditPostTooltip = new bootstrap.Tooltip(redditPostButton) + } else { + // redditPostButton.classList.remove("disabled") + // redditPostButton.ariaDisabled = false + redditPostButton.dataset.bsTitle = "" + } + redditPostButton.href = redditPostUrl - redditPostUrl += encodeURIComponent(redditPostJsonString) - if (encodeURIComponent(redditPostUrl).length > 7579) { - // redditPostButton.classList.add("disabled") - // redditPostButton.ariaDisabled = true - redditPostButton.dataset.bsToggle = "tooltip" - redditPostButton.dataset.bsTitle = "This may not work due to the length of the entry. If needed, please copy manually." - if (!redditPostTooltip) redditPostTooltip = new bootstrap.Tooltip(redditPostButton) + if (exportObject.id === -1) document.getElementById("redditFlair").textContent = "New Entry" + else document.getElementById("redditFlair").textContent = "Edit Entry" } else { - // redditPostButton.classList.remove("disabled") - // redditPostButton.ariaDisabled = false - redditPostButton.dataset.bsTitle = "" + redditPostButton.classList.add("collapse") } - redditPostButton.href = redditPostUrl - - if (exportObject.id === -1) document.getElementById("redditFlair").textContent = "New Entry" - else document.getElementById("redditFlair").textContent = "Edit Entry" // GitHub - let githubPostJsonString = prettyJsonString - let githubPostUrl = `${instanceRepo}/new/cleanup/data/patches?filename=gh-${[...Array(4)].map(() => Math.floor(Math.random() * 16).toString(16)).join('')}-${slugify(exportObject.name ?? entry.name)}.json&value=` + if (instanceRepo != null) { + let githubPostJsonString = prettyJsonString + let githubPostUrl = `${instanceRepo}/new/main/entries?filename=${slugify(exportObject.name ?? entry.name)}.json&value=` - if (encodeURIComponent(githubPostJsonString).length > 8192 - githubPostUrl.length) { - githubPostJsonString = miniJsonString - } + if (encodeURIComponent(githubPostJsonString).length > 8192 - githubPostUrl.length) { + githubPostJsonString = miniJsonString + } - githubPostUrl += encodeURIComponent(githubPostJsonString) - if (githubPostUrl.length > 8192) { - // githubPostButton.classList.add("disabled") - // githubPostButton.ariaDisabled = true - githubPostButton.dataset.bsToggle = "tooltip" - githubPostButton.dataset.bsTitle = "This may not work due to the length of the entry. If needed, please copy manually." - if (!githubPostTooltip) githubPostTooltip = new bootstrap.Tooltip(githubPostButton) + githubPostUrl += encodeURIComponent(githubPostJsonString) + if (githubPostUrl.length > 8192) { + // githubPostButton.classList.add("disabled") + // githubPostButton.ariaDisabled = true + githubPostButton.dataset.bsToggle = "tooltip" + githubPostButton.dataset.bsTitle = "This may not work due to the length of the entry. If needed, please copy manually." + if (!githubPostTooltip) githubPostTooltip = new bootstrap.Tooltip(githubPostButton) + } else { + // githubPostButton.classList.remove("disabled") + // githubPostButton.ariaDisabled = false + githubPostButton.dataset.bsTitle = "" + } + githubPostButton.href = githubPostUrl } else { - // githubPostButton.classList.remove("disabled") - // githubPostButton.ariaDisabled = false - githubPostButton.dataset.bsTitle = "" + githubPostButton.classList.add("collapse") } - githubPostButton.href = githubPostUrl exportModal.show() } @@ -693,7 +703,7 @@ function initDraw() { descriptionField.value = entry.description for (const linkConfig of externalLinksConfig) { - if (entry.links[linkConfig.id].length) { + if (linkConfig.id in entry.links && entry.links[linkConfig.id].length) { for (const link of entry.links[linkConfig.id]) { addFieldGeneric(link, linkConfig.id) } diff --git a/web/about.html b/web/about.html index 96805ba191eebe955200057630f006acb31bef39..4f82006d5eda817949e96ea43beb511808a7b008 100644 --- a/web/about.html +++ b/web/about.html @@ -38,15 +38,11 @@ - - - + - - @@ -54,8 +50,7 @@
- - + The 2023 r/place Atlas @@ -91,7 +86,8 @@
-

The 2023 r/place Atlas

+

The 2023 r/place Atlas (to do)

+

This page has not (yet) been adapted, and come from the original source. For information on this Fediverse Canvas Atlas, consult the project’s ReadMe instead.

This is an interactive map aiming to chart all the artworks created during the r/place April Fools event on Reddit in 2023. It is made with information to each artwork of the canvas provided by the community.

The original code was developed by Roland Rytz and is available under the free AGPL license on GitHub.

The currently maintained version of the website is managed by Place Atlas Initiative, led by Stefano Haagmans and is obtainable under the same license within a GitHub fork.

diff --git a/web/favicon.ico b/web/favicon.ico index c4c2de13a130f5420ccd5b9fae1e952dda80d867..14ff1f6004f454e6a66fe03f461004ded3b7a6d3 100644 Binary files a/web/favicon.ico and b/web/favicon.ico differ diff --git a/web/index.html b/web/index.html index cb8a5ffd998b02069b08fb4861c57c8adf3464db..fea8c0fb46a2b02f6ec635fd39f0534e58e6ab15 100644 --- a/web/index.html +++ b/web/index.html @@ -9,30 +9,28 @@ - The 2024 Fediverse Canvas Atlas + 2024 Fediverse Canvas Atlas - + - - + - - + + - - + + - - - - - - + + + + + @@ -40,76 +38,13 @@ - - - + - - - - - + @@ -262,7 +195,7 @@
Atlas Entries List
- +
@@ -322,11 +255,11 @@
Timeline

Click anywhere on the image to start drawing a shape. Switch between periods by adding a period, and/or seek through the timeline.

When you're happy with the result, click the "Finish" button above. You can then add more information about your object.


- - +

You can ask for help on the Matrix room.

+
@@ -362,7 +295,6 @@
Need Help?
Click the map to lock your selection
-