diff --git a/.github/workflows/build_site.yml b/.github/workflows/build_site.yml index 3870905eec..e4fce9cc1a 100644 --- a/.github/workflows/build_site.yml +++ b/.github/workflows/build_site.yml @@ -37,6 +37,11 @@ jobs: - name: Test example script resolution run: python -m unittest test_example_scripts.py + - name: Test author profiles and import boundaries + run: | + bundle exec ruby -I_plugins/defold-author-profiles/lib tests/test_author_profiles.rb + python -m unittest tests/test_update_imports.py + - name: Build Jekyll site run: bundle exec jekyll build diff --git a/.github/workflows/update_site.yml b/.github/workflows/update_site.yml index 0b24c31bf7..bc20d0196d 100644 --- a/.github/workflows/update_site.yml +++ b/.github/workflows/update_site.yml @@ -64,27 +64,27 @@ jobs: - if: env.ACTION == 'asset-portal' name: Update assets - run: python update.py --download asset-portal commit + run: python update.py --download asset-portal - if: env.ACTION == 'games-showcase' name: Update games - run: python update.py --download games-showcase commit + run: python update.py --download games-showcase - if: env.ACTION == 'docs' name: Update docs - run: python update.py --download docs commit + run: python update.py --download docs - if: env.ACTION == 'refdoc' name: Update refdoc - run: python update.py --download refdoc commit + run: python update.py --download refdoc - if: env.ACTION == 'examples' name: Update examples - run: python update.py --download --examples-ref "$EXAMPLES_REF" examples commit + run: python update.py --download --examples-ref "$EXAMPLES_REF" examples - if: env.ACTION == 'codepad' name: Update codepad - run: python update.py --download codepad commit + run: python update.py --download codepad - if: env.ACTION == 'all' name: Update everything @@ -92,7 +92,7 @@ jobs: - if: startsWith(env.ACTION, 'extension-') name: Update extension - run: python update.py --download --extension "$ACTION" extensions refdoc commit + run: python update.py --download --extension "$ACTION" extensions refdoc - name: Build Jekyll site run: bundle exec jekyll build @@ -103,6 +103,9 @@ jobs: - name: Index site with Pagefind run: python3 -m pagefind + - name: Commit generated site + run: python update.py commit + - if: github.ref == 'refs/heads/master' name: Upload Pages artifact uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 diff --git a/Gemfile b/Gemfile index 8efbe741c1..7fe684ba5d 100644 --- a/Gemfile +++ b/Gemfile @@ -10,4 +10,9 @@ gem "jekyll" gem "liquid-c" gem "csv" gem "logger" -gem 'github-pages', group: :jekyll_plugins +group :jekyll_plugins do + gem 'github-pages' + # GitHub Pages forces safe mode and disables repository-local _plugins. + # Loading this path gem through Bundler keeps the build-time generator active. + gem 'defold-author-profiles', path: '_plugins/defold-author-profiles' +end diff --git a/Gemfile.lock b/Gemfile.lock index 4dfb1c97d1..51fc50a81a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,3 +1,9 @@ +PATH + remote: _plugins/defold-author-profiles + specs: + defold-author-profiles (1.0.0) + jekyll (>= 3.9, < 5) + GEM remote: https://rubygems.org/ specs: @@ -277,6 +283,7 @@ PLATFORMS DEPENDENCIES bundler csv + defold-author-profiles! github-pages jekyll liquid-c diff --git a/README.md b/README.md index 4ba39250e5..1f22a787cc 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,6 @@ The script accepts the following commands: * `games-showcase` - Import Showcase content from github.com/defold/games-showcase * `commit` - Commit changes to GitHub (for CI use) - # HOW TO TEST THE SITE LOCALLY It is recommended that you generate and test the site locally before pushing the changes to the repository. You generate and test the site locally by running `serve.sh`. @@ -195,6 +194,16 @@ The site search is powered by [Pagefind](https://pagefind.app), a static site se ## Page search Functionality for searching and marking within a single page using [Mark.js](https://markjs.io/). +# Author profiles + +All website-owned author information lives in: `_data/authors.json`. + +You can change a contributor's canonical name, GitHub account, aliases, bio, avatar, links, or support links. Asset and example attribution remains in the upstream `defold/asset-portal` and `defold/examples` repositories. + +Running either the `asset-portal` or `examples` update resolves those upstream names through `_data/authors.json`, writes the canonical name and id into the generated asset and example data, and rebuilds the lightweight pages under `authors/`. Author pages read their asset and example cards from the existing generated catalogs at Jekyll build time, so no contribution lists are copied into author profile data. + +Aliases are accepted only while importing upstream attribution. They preserve old author URLs and let renamed contributors resolve to one canonical profile; they are not emitted as public author names. An optional `id` should only be used when a renamed profile must retain an existing hash URL; normally the id is derived automatically from `name`. + # Credits diff --git a/_config.yml b/_config.yml index 3190d9fa80..5d065af15d 100644 --- a/_config.yml +++ b/_config.yml @@ -6,8 +6,6 @@ permalink: /:categories/:year/:month/:day/:title/ collections: assets: output: true - authors: - output: true tags: output: true kramdown: diff --git a/_data/assets/2dcollisions.json b/_data/assets/2dcollisions.json index 3e0e1eace3..f2c5845e9d 100644 --- a/_data/assets/2dcollisions.json +++ b/_data/assets/2dcollisions.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/2dcollisions.json", - "author": "d954mas", - "author_id": "54d0fe81953befa10aaa9d1194a9d2d7", + "author_id": "d954mas", "description": "Efficiently find collisions between rects and circles", "id": "2dcollisions", "images": { diff --git a/_data/assets/3deforms.json b/_data/assets/3deforms.json index fc876ada49..9235c5bccd 100644 --- a/_data/assets/3deforms.json +++ b/_data/assets/3deforms.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/3deforms.json", - "author": "Visionaire", - "author_id": "11d886e31f6a413bdbd7b4f30142d995", + "author_id": "visionaire", "description": "This project contains 3D meshes in their simplest shapes and prototype textures in basic colors that will help you model your next 3D video game.", "forum_url": "https://forum.defold.com/t/3deforms/78008", "images": { diff --git a/_data/assets/3dglass.json b/_data/assets/3dglass.json index d4cafc7f6d..a5f7ebf9b1 100644 --- a/_data/assets/3dglass.json +++ b/_data/assets/3dglass.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/3dglass.json", - "author": "Agustin R.", - "author_id": "3d50d039c078a00ce00628af22d57540", + "author_id": "agustin-r", "description": "3d Glass rendering sample project", "forum_url": "https://forum.defold.com/t/3d-glass-rendering/80496", "images": { diff --git a/_data/assets/acidrain.json b/_data/assets/acidrain.json index b215cdebfc..6678add0d9 100644 --- a/_data/assets/acidrain.json +++ b/_data/assets/acidrain.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/acidrain.json", - "author": "approboGames", - "author_id": "50e4e1bab82fe6b1f6ac6bf07a578126", + "author_id": "approbogames", "description": "A single file pure Lua particle system for Defold.", "forum_url": "https://forum.defold.com/t/acid-rain-a-single-file-pure-lua-particle-system-for-defold/66912", "id": "acidrain", diff --git a/_data/assets/adinfo.json b/_data/assets/adinfo.json index d71e7d0fb2..893d90433d 100644 --- a/_data/assets/adinfo.json +++ b/_data/assets/adinfo.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/adinfo.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "Retrieve an advertising identifier for a device or user. Advertisers use this to id so they can deliver customized advertising. The id is used for tracking and identifying a user (without revealing personal information). On iOS this extension also supports the App Tracking Transparency framework.", "forum_url": "", "images": { diff --git a/_data/assets/adjustsdk.json b/_data/assets/adjustsdk.json index c6c5f1255c..c1c61b3f8c 100644 --- a/_data/assets/adjustsdk.json +++ b/_data/assets/adjustsdk.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/adjustsdk.json", - "author": "Sergey Lerg", - "author_id": "1c2d3ba1c59d40a609cc44f1ca42b65c", + "author_id": "sergey-lerg", "description": "Defold extension for Adjust SDK.", "id": "adjustsdk", "images": { diff --git a/_data/assets/admob-defold.json b/_data/assets/admob-defold.json index ecb199c4f5..faefbf7a53 100644 --- a/_data/assets/admob-defold.json +++ b/_data/assets/admob-defold.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/admob-defold.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "Monetize your mobile app with innovative and engaging in-app ads.", "description_long": "As one of the largest global ad networks, AdMob works with millions of advertisers to compete for your ad space, while you stay in full control of the process. Maximize your earnings, enjoy high fill rates, and get all the ad formats you need to grow your game.", "id": "admob-defold", diff --git a/_data/assets/admob.json b/_data/assets/admob.json index f3deda0f8c..88273a1341 100644 --- a/_data/assets/admob.json +++ b/_data/assets/admob.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/admob.json", - "author": "Sergey Lerg", - "author_id": "1c2d3ba1c59d40a609cc44f1ca42b65c", + "author_id": "sergey-lerg", "description": "AdMob extension.", "id": "admob", "images": { diff --git a/_data/assets/adpf.json b/_data/assets/adpf.json index 7c7adc017a..c8358973f5 100644 --- a/_data/assets/adpf.json +++ b/_data/assets/adpf.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/adpf.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "Android Dynamic Performance Framework (ADPF) is a set of APIs that allow games and to interact more directly with power and thermal systems of Android devices. It is possible to monitor the dynamic behavior on Android systems and optimize game performance at a sustainable level that doesn’t overheat devices.", "id": "adpf", "images": { diff --git a/_data/assets/adswrapper.json b/_data/assets/adswrapper.json index 627192afe2..37fdf447ed 100644 --- a/_data/assets/adswrapper.json +++ b/_data/assets/adswrapper.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/adswrapper.json", - "author": "Potato Jam", - "author_id": "11c82c413b6b734538717e72c53dc60e", + "author_id": "potato-jam", "description": "Ads Wrapper is a wrapper for advertising services. It allows you to use one interface for different services and show ads from different sources. Supports various services such as Admob, Unity Ads, Poki, Yandex, Vk Bridge, Applovin Max", "forum_url": "https://forum.defold.com/t/ads-wrapper/70718", "images": { diff --git a/_data/assets/alienworld.json b/_data/assets/alienworld.json index 05530f997d..7ded34d678 100644 --- a/_data/assets/alienworld.json +++ b/_data/assets/alienworld.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/alienworld.json", - "author": "Luis Zuno", - "author_id": "24d76290ca8a440e066f809678097ee8", + "author_id": "luis-zuno", "description": "Alien World is a complete game art pack to make a fantastic sci-fi platform metroidvania game in the style of the 16-bit console era.", "id": "alienworld", "images": { diff --git a/_data/assets/apathfinding.json b/_data/assets/apathfinding.json index 9ea40b4a09..34f18a765e 100644 --- a/_data/assets/apathfinding.json +++ b/_data/assets/apathfinding.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/apathfinding.json", - "author": "Selim Anaç", - "author_id": "6100d3b33dfe49f042484ab76af0781e", + "author_id": "selim-anac", "description": "Pathfinder and A* solver native extension for Defold Engine build on MicroPather.", "external_actions": [ { diff --git a/_data/assets/apkverifier.json b/_data/assets/apkverifier.json index e7ba9cabca..8e7bdbccc4 100644 --- a/_data/assets/apkverifier.json +++ b/_data/assets/apkverifier.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/apkverifier.json", - "author": "Moon Active", - "author_id": "98a13e15bcbbfaaad8049cd6b09e87f1", + "author_id": "moon-active", "description": "This Extension allows check APK install source (Google play or not) and get APK bundle id to compare with project bundle id (case, when APK is hacked)", "id": "apkverifier", "images": { diff --git a/_data/assets/apkx.json b/_data/assets/apkx.json index 75d6e40af4..f55da8a2af 100644 --- a/_data/assets/apkx.json +++ b/_data/assets/apkx.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/apkx.json", - "author": "Marius Petcu", - "author_id": "bd277866e2bc8a45ebdddc0c39cfbeb9", + "author_id": "marius-petcu", "description": "This extension tries to solve the problem of the 100MB APK size limit on Google Play by using APK Expansion files (OBBs) and LiveUpdate", "id": "apkx", "images": { diff --git a/_data/assets/applovin-max.json b/_data/assets/applovin-max.json index 7a59d40fcb..b214370300 100644 --- a/_data/assets/applovin-max.json +++ b/_data/assets/applovin-max.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/applovin-max.json", - "author": "AppLovin", - "author_id": "098c6efcd92b27c4736da2b5693aa7e2", + "author_id": "applovin", "description": "AppLovin MAX Defold Plugin for Android and iOS.", "id": "applovin-max", "images": { diff --git a/_data/assets/asefold.json b/_data/assets/asefold.json index 01d36bb235..4509c7156f 100644 --- a/_data/assets/asefold.json +++ b/_data/assets/asefold.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/asefold.json", - "author": "kags", - "author_id": "0eb9b01e53c095b7d4f991eb6db064a3", + "author_id": "kags", "description": "Aseprite extension for Defold Artist and Devs. Converts Aseprite file format .ase or .aseprite into .tilesource files for Defold usage.", "forum_url": "https://forum.defold.com/t/if-you-use-aseprite-try-this-one-click-exporter", "images": { diff --git a/_data/assets/asobi.json b/_data/assets/asobi.json index ecb908f7ca..50609b94e5 100644 --- a/_data/assets/asobi.json +++ b/_data/assets/asobi.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/asobi.json", - "author": "Daniel Widgren", - "author_id": "4653d481f2a825de61fa892997ab47fe", + "author_id": "daniel-widgren", "description": "Asobi is an open source, server-authoritative multiplayer game backend built on Erlang/OTP with a Defold Lua SDK. The SDK provides REST APIs and realtime WebSocket integration for authentication, worlds, matchmaking, leaderboards, economy, inventory, chat, presence, storage, and entity sync.", "forum_url": "https://forum.defold.com/t/asobi-open-source-multiplayer-game-backend-for-defold/82612", "images": { diff --git a/_data/assets/asset-store.json b/_data/assets/asset-store.json index 78e1d0add6..198e084385 100644 --- a/_data/assets/asset-store.json +++ b/_data/assets/asset-store.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/asset-store.json", - "author": "Insality", - "author_id": "fdec556e51a2ad846db08b8ba0ae3b86", + "author_id": "insality", "description": "Defold In-Editor Asset Store. Allows to browse and download dependencies directly from the editor.", "external_actions": [ { diff --git a/_data/assets/automation-bridge.json b/_data/assets/automation-bridge.json index 1be7655f07..0e87bf3944 100644 --- a/_data/assets/automation-bridge.json +++ b/_data/assets/automation-bridge.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/automation-bridge.json", - "author": "Defold", - "author_id": "7a2340205545b175e20f44488bd30a49", + "author_id": "defold-foundation", "description": "Official debug-only extension for inspecting and controlling a running Defold game from local automation clients such as Codex. It provides an HTTP API and Python helpers for scene queries, deterministic input, screenshots, application synchronization, diagnostics and profiling, with native desktop video recording and Metal GPU capture where supported.", "images": { "hero": "automation_bridge.webp", diff --git a/_data/assets/batterystatus.json b/_data/assets/batterystatus.json index 1142bd6fe5..e63e5df09b 100644 --- a/_data/assets/batterystatus.json +++ b/_data/assets/batterystatus.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/batterystatus.json", - "author": "Ahmed Maawy", - "author_id": "0eb87b8023f0ff260617b83e0e116a80", + "author_id": "ahmed-maawy", "description": "Allows the developer to get Battery Percentage & Charging Status on Android.", "forum_url": "", "images": { diff --git a/_data/assets/biplanar-mapping.json b/_data/assets/biplanar-mapping.json index 3e328454da..35b83f9a8b 100644 --- a/_data/assets/biplanar-mapping.json +++ b/_data/assets/biplanar-mapping.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/biplanar-mapping.json", - "author": "Selim Anaç", - "author_id": "6100d3b33dfe49f042484ab76af0781e", + "author_id": "selim-anac", "description": "World-space biplanar texture mapping shader for Defold. Applies textures based on world position and surface normals — no UV unwrapping required. Ideal for terrain, rocks, and organic geometry. ", "external_actions": [ { diff --git a/_data/assets/bit46.json b/_data/assets/bit46.json index 532e6f6b28..35292e4791 100644 --- a/_data/assets/bit46.json +++ b/_data/assets/bit46.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/bit46.json", - "author": "haruka", - "author_id": "b450788dc032917ae79b28cd5423ff68", + "author_id": "haruka", "description": "bit46 is a module for 46bit bitwise operations.", "id": "bit46", "images": { diff --git a/_data/assets/blip.json b/_data/assets/blip.json index 8f98e8e53c..c33add0a51 100644 --- a/_data/assets/blip.json +++ b/_data/assets/blip.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/blip.json", - "author": "Björn Ritzl", - "author_id": "6c8581f7da8da7a5c9bb6ffe85f56420", + "author_id": "bjorn-ritzl", "description": "Procedurally generate and play sound effects.", "id": "blip", "images": { diff --git a/_data/assets/blurshader.json b/_data/assets/blurshader.json index df7f02afe2..eb26ea0576 100644 --- a/_data/assets/blurshader.json +++ b/_data/assets/blurshader.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/blurshader.json", - "author": "Vincent Lagerros", - "author_id": "9a30c4b73c59839a52d1790f9fa5fa6b", + "author_id": "vincent-lagerros", "description": "Blur shader.", "id": "blurshader", "images": { diff --git a/_data/assets/cafebazaar.json b/_data/assets/cafebazaar.json index c414c97ec8..8d1216a2f0 100644 --- a/_data/assets/cafebazaar.json +++ b/_data/assets/cafebazaar.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/cafebazaar.json", - "author": "dev-masih", - "author_id": "229b615876d51ca68b90827670796509", + "author_id": "dev-masih", "description": "Defold native extension which provides access to In-app purchase functionality on Cafebazaar Android app store.", "forum_url": "https://forum.defold.com/t/cafebazaar-in-app-purchases/63756", "images": { diff --git a/_data/assets/camera.json b/_data/assets/camera.json index 835c63dbba..6e73964fb0 100644 --- a/_data/assets/camera.json +++ b/_data/assets/camera.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/camera.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "Capture images and show a live camera preview using the native camera APIs.", "id": "camera", "images": { diff --git a/_data/assets/cards-fx-kit.json b/_data/assets/cards-fx-kit.json index c77181a5f6..c3f360a962 100644 --- a/_data/assets/cards-fx-kit.json +++ b/_data/assets/cards-fx-kit.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/cards-fx-kit.json", - "author": "Igor Suntsev", - "author_id": "8e8dcfd8ab030ee46c9efee57f492a9b", + "author_id": "igor-suntsev", "description": "A small kit of scripts and shaders for card games made with Defold.", "forum_url": "", "images": { diff --git a/_data/assets/cas-ai.json b/_data/assets/cas-ai.json index 7451acde03..35569a5a7b 100644 --- a/_data/assets/cas-ai.json +++ b/_data/assets/cas-ai.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/cas-ai.json", - "author": "Sergey Lerg", - "author_id": "1c2d3ba1c59d40a609cc44f1ca42b65c", + "author_id": "sergey-lerg", "description": "Ad mediation. Supports many ad networks.", "forum_url": "", "images": { diff --git a/_data/assets/chipsounds.json b/_data/assets/chipsounds.json index 69f798e36d..df5f6705ed 100644 --- a/_data/assets/chipsounds.json +++ b/_data/assets/chipsounds.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/chipsounds.json", - "author": "Brian Kramer", - "author_id": "4e5137947a2d2210327998871d8dd3c7", + "author_id": "brian-kramer", "description": "A collection of lowfi retro like sound effects.", "id": "chipsounds", "images": { diff --git a/_data/assets/chrono.json b/_data/assets/chrono.json index d2d4a448e0..6583787c95 100644 --- a/_data/assets/chrono.json +++ b/_data/assets/chrono.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/chrono.json", - "author": "Brian Kramer", - "author_id": "4e5137947a2d2210327998871d8dd3c7", + "author_id": "brian-kramer", "description": "Reliable server based time.", "id": "chrono", "images": { diff --git a/_data/assets/cjson.json b/_data/assets/cjson.json index 4946caa8a2..c9d5fa4dc8 100644 --- a/_data/assets/cjson.json +++ b/_data/assets/cjson.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/cjson.json", - "author": "Moon Active", - "author_id": "98a13e15bcbbfaaad8049cd6b09e87f1", + "author_id": "moon-active", "description": "This extension allow you encode lua table to JSON and decode JSON to lua table in native part", "id": "cjson", "images": { diff --git a/_data/assets/cleanexporter.json b/_data/assets/cleanexporter.json index b74a3afc51..ce56a26854 100644 --- a/_data/assets/cleanexporter.json +++ b/_data/assets/cleanexporter.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/cleanexporter.json", - "author": "Agustin R.", - "author_id": "3d50d039c078a00ce00628af22d57540", + "author_id": "agustin-r", "description": "Blender Addon - game asset exporter for defold mesh components.", "id": "cleanexporter", "images": { diff --git a/_data/assets/clipboard.json b/_data/assets/clipboard.json index f27b15c093..189a8b332a 100644 --- a/_data/assets/clipboard.json +++ b/_data/assets/clipboard.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/clipboard.json", - "author": "Björn Ritzl", - "author_id": "6c8581f7da8da7a5c9bb6ffe85f56420", + "author_id": "bjorn-ritzl", "description": "Clipboard access to enable copy / paste operations.", "id": "clipboard", "images": { diff --git a/_data/assets/colorlib.json b/_data/assets/colorlib.json index 1d73766a1c..183bba3f20 100644 --- a/_data/assets/colorlib.json +++ b/_data/assets/colorlib.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/colorlib.json", - "author": "y444", - "author_id": "9b081cd04d07b9aced2fe1b2d46126d9", + "author_id": "y444", "description": "Enable defining colors in a more traditional hex format. Has presets of all the named web colors. Allows to create your own named colors.", "forum_url": "", "images": { diff --git a/_data/assets/colorpicker.json b/_data/assets/colorpicker.json index a147c20785..7e870ad9dc 100644 --- a/_data/assets/colorpicker.json +++ b/_data/assets/colorpicker.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/colorpicker.json", - "author": "Ross Grams", - "author_id": "63e41bd0ba1158bf35505bf42ff56a4b", + "author_id": "ross-grams", "description": "A pretty basic HSV and RGB colorpicker that outputs the 0-1 vector4s that Defold uses for colors.", "id": "colorpicker", "images": { diff --git a/_data/assets/colyseus.json b/_data/assets/colyseus.json index a02b516b35..79f5fa2baa 100644 --- a/_data/assets/colyseus.json +++ b/_data/assets/colyseus.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/colyseus.json", - "author": "Endel Dreyer", - "author_id": "085a9f543a79fedde455435ad7ed63cd", + "author_id": "endel-dreyer", "description": "Open-source Multiplayer Framework. Run your game servers on Node.js and connect to them via the Defold SDK.", "id": "colyseus", "images": { diff --git a/_data/assets/compat53.json b/_data/assets/compat53.json index 09234f4b15..beabf73728 100644 --- a/_data/assets/compat53.json +++ b/_data/assets/compat53.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/compat53.json", - "author": "Aleksandr Derbenev", - "author_id": "c7251be54930f3b6f39decf5e95250b3", + "author_id": "aleksandr-derbenev", "description": "This is a small module that aims to make it easier to write code in a Lua-5.3-style. This does not make Lua 5.2 (or even Lua 5.1) entirely compatible with Lua 5.3, but it brings the API closer to that of Lua 5.3.", "forum_url": "", "images": { diff --git a/_data/assets/coolmathgames-sdk.json b/_data/assets/coolmathgames-sdk.json index 6f6eb6517c..2e7797b5af 100644 --- a/_data/assets/coolmathgames-sdk.json +++ b/_data/assets/coolmathgames-sdk.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/coolmathgames-sdk.json", - "author": "Fabtjar", - "author_id": "8fd8c1acf56f912e176589db86628f2d", + "author_id": "fabtjar", "description": "Coolmath Games SDK native extension for Defold.", "id": "coolmathgames-sdk", "images": { diff --git a/_data/assets/crazygames.json b/_data/assets/crazygames.json index 1a5dd61911..3ba917d5dc 100644 --- a/_data/assets/crazygames.json +++ b/_data/assets/crazygames.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/crazygames.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "CrazyGames SDK native extension for Defold game engine", "images": { "hero": "crazygames-hero.jpg", diff --git a/_data/assets/crowd-runner-defold.json b/_data/assets/crowd-runner-defold.json index 7a68770aaa..a0efc1e206 100644 --- a/_data/assets/crowd-runner-defold.json +++ b/_data/assets/crowd-runner-defold.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/crowd-runner-defold.json", - "author": "Insality", - "author_id": "fdec556e51a2ad846db08b8ba0ae3b86", + "author_id": "insality", "description": "Defold example with up to 32765 entities support with simple physics", "external_actions": [ { diff --git a/_data/assets/crypto_iap.json b/_data/assets/crypto_iap.json index 94172caee8..17e81b4831 100644 --- a/_data/assets/crypto_iap.json +++ b/_data/assets/crypto_iap.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/crypto_iap.json", - "author": "bdshahab", - "author_id": "f9682e1dc393197965796f698ae8002b", + "author_id": "bdshahab", "description": "A sample project showing how to enable in-app purchases using cryptocurrencies.", "forum_url": "", "images": { diff --git a/_data/assets/daabbcc.json b/_data/assets/daabbcc.json index 46a7a95309..a811e69eca 100644 --- a/_data/assets/daabbcc.json +++ b/_data/assets/daabbcc.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/daabbcc.json", - "author": "Selim Anaç", - "author_id": "6100d3b33dfe49f042484ab76af0781e", + "author_id": "selim-anac", "description": "DAABBCC is a fast Dynamic AABB Tree that lets you quickly perform overlap checks and raycasts without using a full physics engine.", "external_actions": [ { diff --git a/_data/assets/daabbcc3d.json b/_data/assets/daabbcc3d.json index eba103d76f..cf57ea0305 100644 --- a/_data/assets/daabbcc3d.json +++ b/_data/assets/daabbcc3d.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/daabbcc3d.json", - "author": "Selim Anaç", - "author_id": "6100d3b33dfe49f042484ab76af0781e", + "author_id": "selim-anac", "description": "DAABBCC3D is a fast Dynamic AABB Tree that lets you quickly perform overlap checks and raycasts without using a full physics engine.", "external_actions": [ { diff --git a/_data/assets/dashdocsetfordefold.json b/_data/assets/dashdocsetfordefold.json index 734a381007..4ac8ecfd41 100644 --- a/_data/assets/dashdocsetfordefold.json +++ b/_data/assets/dashdocsetfordefold.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/dashdocsetfordefold.json", - "author": "Björn Ritzl", - "author_id": "6c8581f7da8da7a5c9bb6ffe85f56420", + "author_id": "bjorn-ritzl", "description": "Dash is an API Documentation Browser and Code Snippet Manager with support for Defold.", "id": "dashdocsetfordefold", "images": { diff --git a/_data/assets/dear-imgui.json b/_data/assets/dear-imgui.json index 0b7ff4045b..042ffe2fb0 100644 --- a/_data/assets/dear-imgui.json +++ b/_data/assets/dear-imgui.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/dear-imgui.json", - "author": "Björn Ritzl", - "author_id": "6c8581f7da8da7a5c9bb6ffe85f56420", + "author_id": "bjorn-ritzl", "description": "Dear ImGui is a bloat-free graphical user interface library.", "id": "dear-imgui", "images": { diff --git a/_data/assets/debeat.json b/_data/assets/debeat.json index 559bb2f2ea..bd3b89f797 100644 --- a/_data/assets/debeat.json +++ b/_data/assets/debeat.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/debeat.json", - "author": "Adam Westman", - "author_id": "54dcd706c9cc3c34734699ce83e2d6c2", + "author_id": "adam-westman", "description": "Debeat, a simple but effective library for audio support.", "id": "debeat", "images": { diff --git a/_data/assets/decodeogg.json b/_data/assets/decodeogg.json index 27c0ef2899..3371444ae1 100644 --- a/_data/assets/decodeogg.json +++ b/_data/assets/decodeogg.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/decodeogg.json", - "author": "Denis Makhortov", - "author_id": "ed8d3d9c99bf62c05dc414c77cedb123", + "author_id": "denis-makhortov", "description": "Native extension for decoding ogg files in wav.", "forum_url": "https://forum.defold.com/t/decodeogg-native-extension/64048", "images": { diff --git a/_data/assets/def-behavior-tree.json b/_data/assets/def-behavior-tree.json index ca24e71dcd..1b4ba82174 100644 --- a/_data/assets/def-behavior-tree.json +++ b/_data/assets/def-behavior-tree.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/def-behavior-tree.json", - "author": "s-kania", - "author_id": "d0f7e63ec16f418380817dad3b769718", + "author_id": "s-kania", "description": "Library for creating behavioral trees that allow you to easily manage advanced NPC behaviors in your game. It is functional and event-driven, which means you can easily save and load any node in any moment.", "forum_url": "https://forum.defold.com/t/def-behavior-tree-library-for-creating-complex-ai-behaviors/77488", "images": { diff --git a/_data/assets/def_usercentrics.json b/_data/assets/def_usercentrics.json index 92049790e6..e1b51933fb 100644 --- a/_data/assets/def_usercentrics.json +++ b/_data/assets/def_usercentrics.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/def_usercentrics.json", - "author": "HGPoint", - "author_id": "df43ce0658a20ceebcdfab1b6e54c9aa", + "author_id": "hgpoint", "description": "Defold Usercentrics CMP is a native extension for integrating the Usercentrics Consent Management Platform on Android and iOS. It lets Lua code configure a ruleset, initialize the SDK, show the consent banner, and receive callbacks with readiness and consent data.", "forum_url": "", "images": { diff --git a/_data/assets/defarc.json b/_data/assets/defarc.json index 70048d98e7..4abee77489 100644 --- a/_data/assets/defarc.json +++ b/_data/assets/defarc.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defarc.json", - "author": "Paweł Jarosz", - "author_id": "d54cdc4bc377adc6a3233368cc304107", + "author_id": "pawel-jarosz", "description": "DefArc is an Arcweave runtime for Defold, a toolset to easily create branching, interactive narratives in your games!", "forum_url": "https://forum.defold.com/t/defarc-defold-arcweave-tool-for-branching-conversations-and-narrative/70832", "images": { diff --git a/_data/assets/defarmy.json b/_data/assets/defarmy.json index b378a2b17f..66dd8e909f 100644 --- a/_data/assets/defarmy.json +++ b/_data/assets/defarmy.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defarmy.json", - "author": "dev-masih", - "author_id": "229b615876d51ca68b90827670796509", + "author_id": "dev-masih", "description": "This module helps you to create groups (army) of game objects (soldiers) and organize them in several different patterns or your customized pattern and manage moving and rotating game objects as a customizable group.", "forum_url": "https://forum.defold.com/t/defarmy/63818", "images": { diff --git a/_data/assets/defblend.json b/_data/assets/defblend.json index 3c2cc4e3b8..02acfb7228 100644 --- a/_data/assets/defblend.json +++ b/_data/assets/defblend.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defblend.json", - "author": "Brian Kramer", - "author_id": "4e5137947a2d2210327998871d8dd3c7", + "author_id": "brian-kramer", "description": "Blend solid colors with your sprites using various blending modes.", "id": "defblend", "images": { diff --git a/_data/assets/defbuild.json b/_data/assets/defbuild.json index 5597b8d448..a70b91aa09 100644 --- a/_data/assets/defbuild.json +++ b/_data/assets/defbuild.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defbuild.json", - "author": "Jerakin", - "author_id": "3b89011fffbcab1dac524ed65dbfa3ec", + "author_id": "jerakin", "description": "DefBuild enables you to easily build, install, uninstall and more for both Android and iOS (if you are using macOS) with a simple unified CL interface. You can easily switch which Defold version you are building on to easily test a new versions.", "forum_url": "", "images": { diff --git a/_data/assets/defcon.json b/_data/assets/defcon.json index a67c4ff81e..fab4994f98 100644 --- a/_data/assets/defcon.json +++ b/_data/assets/defcon.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defcon.json", - "author": "Björn Ritzl", - "author_id": "6c8581f7da8da7a5c9bb6ffe85f56420", + "author_id": "bjorn-ritzl", "description": "Defold developer console. The console allows you to interact with a running game (locally or on device) through a browser.", "id": "defcon", "images": { diff --git a/_data/assets/defdiags.json b/_data/assets/defdiags.json index 9c4fd1cf1a..06bf9dbd45 100644 --- a/_data/assets/defdiags.json +++ b/_data/assets/defdiags.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defdiags.json", - "author": "Sven Andersson", - "author_id": "426b550486c4b42b6b3d530c54102e24", + "author_id": "sven-andersson", "description": "Simpe cross-platform (OSX, Windows, Linux) native open and save dialogs.", "id": "defdiags", "images": { diff --git a/_data/assets/defdragon.json b/_data/assets/defdragon.json index 463643f618..f7f7308384 100644 --- a/_data/assets/defdragon.json +++ b/_data/assets/defdragon.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defdragon.json", - "author": "Ronald K Bett", - "author_id": "a9dacc35f6115f2be87eae7838a930b4", + "author_id": "ronald-k-bett", "description": "Defold native extension for DragonBones 2D skeletal animation with DragonBones Pro 5.5 runtime support.", "description_long": "Defold Native Extension for DragonBones - 2D Skeleton animation software. Supports DragonBones Pro 5.5 runtimes. The Editor is old but really stable. Features of this extension includes: play and stop animations with blending, get timeline events, apply basic transformation such move, scale, resize and flip the character armature, show/hide image slots, transform bones, rotate and position. Mesh based rendering with fast rendering. 1 draw call with Batch mode.", "forum_url": "https://forum.defold.com/t/defdragon/82624", diff --git a/_data/assets/defglot.json b/_data/assets/defglot.json index d459bb3858..34cd2304c0 100644 --- a/_data/assets/defglot.json +++ b/_data/assets/defglot.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defglot.json", - "author": "Brian Kramer", - "author_id": "4e5137947a2d2210327998871d8dd3c7", + "author_id": "brian-kramer", "description": "A localization module. Easily support multiple translations of your game.", "id": "defglot", "images": { diff --git a/_data/assets/defgraph.json b/_data/assets/defgraph.json index 05243af10d..8039d76ae5 100644 --- a/_data/assets/defgraph.json +++ b/_data/assets/defgraph.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defgraph.json", - "author": "dev-masih", - "author_id": "229b615876d51ca68b90827670796509", + "author_id": "dev-masih", "description": "This module contains functions to create a world map as a shape of a graph and the ability to manipulate it at any time, easily see debug drawing of this graph and move game objects inside of this graph with utilizing auto pathfinder.", "forum_url": "https://forum.defold.com/t/defgraph/63617", "images": { diff --git a/_data/assets/define.json b/_data/assets/define.json index d08de43c11..3d609a5d88 100644 --- a/_data/assets/define.json +++ b/_data/assets/define.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/define.json", - "author": "Adam Westman", - "author_id": "54dcd706c9cc3c34734699ce83e2d6c2", + "author_id": "adam-westman", "description": "A UI/UX library providing fundamental components to build a rich graphical user interface in no time.", "id": "define", "images": { diff --git a/_data/assets/defkit.json b/_data/assets/defkit.json index 67002f3fbd..704485f44b 100644 --- a/_data/assets/defkit.json +++ b/_data/assets/defkit.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defkit.json", - "author": "Adam Westman", - "author_id": "54dcd706c9cc3c34734699ce83e2d6c2", + "author_id": "adam-westman", "description": "A Component based scripts library for Defold engine inspired by the Game Maker studio visual scripting.", "id": "defkit", "images": { diff --git a/_data/assets/defluid.json b/_data/assets/defluid.json index 9d0cb18efc..f1459c8394 100644 --- a/_data/assets/defluid.json +++ b/_data/assets/defluid.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defluid.json", - "author": "Paweł Jarosz", - "author_id": "d54cdc4bc377adc6a3233368cc304107", + "author_id": "pawel-jarosz", "description": "Create 2D fluid simulations based on metaballs.", "id": "defluid", "images": { diff --git a/_data/assets/defmath.json b/_data/assets/defmath.json index 6c30618ea9..72bf89df01 100644 --- a/_data/assets/defmath.json +++ b/_data/assets/defmath.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defmath.json", - "author": "Brian Kramer", - "author_id": "4e5137947a2d2210327998871d8dd3c7", + "author_id": "brian-kramer", "description": "A set of math functions.", "id": "defmath", "images": { diff --git a/_data/assets/defmnu.json b/_data/assets/defmnu.json index 1fe388a050..434f2b0746 100644 --- a/_data/assets/defmnu.json +++ b/_data/assets/defmnu.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defmnu.json", - "author": "Sven Andersson", - "author_id": "426b550486c4b42b6b3d530c54102e24", + "author_id": "sven-andersson", "description": "Simpe cross-platform (OSX + Windows) native context and app menu library.", "id": "defmnu", "images": { diff --git a/_data/assets/defold-3D-outline-shader.json b/_data/assets/defold-3D-outline-shader.json index fba82ebd44..73d487a4ac 100644 --- a/_data/assets/defold-3D-outline-shader.json +++ b/_data/assets/defold-3D-outline-shader.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-3D-outline-shader.json", - "author": "Selim Anaç", - "author_id": "6100d3b33dfe49f042484ab76af0781e", + "author_id": "selim-anac", "description": "Simple outline shader for 3D models using STENCIL and INVERTED HULL techniques.", "external_actions": [ { diff --git a/_data/assets/defold-api-emmylua.json b/_data/assets/defold-api-emmylua.json index 43ce13d35c..c71b5a8293 100644 --- a/_data/assets/defold-api-emmylua.json +++ b/_data/assets/defold-api-emmylua.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-api-emmylua.json", - "author": "d954mas", - "author_id": "54d0fe81953befa10aaa9d1194a9d2d7", + "author_id": "d954mas", "description": "Defold api headers for emmylua plugin", "id": "defold-api-emmylua", "images": { diff --git a/_data/assets/defold-box2d.json b/_data/assets/defold-box2d.json index b4271f7ed8..32cbbbb85e 100644 --- a/_data/assets/defold-box2d.json +++ b/_data/assets/defold-box2d.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-box2d.json", - "author": "d954mas", - "author_id": "54d0fe81953befa10aaa9d1194a9d2d7", + "author_id": "d954mas", "description": "Box2D Lua bindings for Defold Game Engine.", "forum_url": "https://forum.defold.com/t/defold-box2d-box2d-extension/68720", "images": { diff --git a/_data/assets/defold-cairo.json b/_data/assets/defold-cairo.json index d43d563735..1356b5e997 100644 --- a/_data/assets/defold-cairo.json +++ b/_data/assets/defold-cairo.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-cairo.json", - "author": "David Lannan", - "author_id": "f55f5a24b15caa21479706c219beb4ae", + "author_id": "david-lannan", "description": "Cairo extension for Defold for developing UI widgets. Many widgets included already.", "forum_url": "", "images": { diff --git a/_data/assets/defold-cognito.json b/_data/assets/defold-cognito.json index e8fc1cc69e..39196401ef 100644 --- a/_data/assets/defold-cognito.json +++ b/_data/assets/defold-cognito.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-cognito.json", - "author": "willemt", - "author_id": "019919956e53d2da2f37be4778c7dabe", + "author_id": "willemt", "description": "Defold native extension which provides access to AWS Cognito. Useful for user signup/login.", "forum_url": "", "images": { diff --git a/_data/assets/defold-colors.json b/_data/assets/defold-colors.json index 8cd58c4542..d2e26e7ec9 100644 --- a/_data/assets/defold-colors.json +++ b/_data/assets/defold-colors.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-colors.json", - "author": "White Box Dev", - "author_id": "38d31b3a0e8a01a9cdbda9ded357efbc", + "author_id": "white-box-dev", "description": "Defold Colors provides customizable palettes and color utility features in a Defold game engine project.", "forum_url": "https://forum.defold.com/t/defold-colors/65855", "images": { diff --git a/_data/assets/defold-depth-of-field-shader.json b/_data/assets/defold-depth-of-field-shader.json index ca9de1f1c7..e136ea88b6 100644 --- a/_data/assets/defold-depth-of-field-shader.json +++ b/_data/assets/defold-depth-of-field-shader.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-depth-of-field-shader.json", - "author": "Selim Anaç", - "author_id": "6100d3b33dfe49f042484ab76af0781e", + "author_id": "selim-anac", "description": "Depth of Field shader", "external_actions": [ { diff --git a/_data/assets/defold-detour.json b/_data/assets/defold-detour.json index bb350d2582..9a29ad51f8 100644 --- a/_data/assets/defold-detour.json +++ b/_data/assets/defold-detour.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-detour.json", - "author": "ktulhusolutions", - "author_id": "18061e0ac86cd3a873b6d2ab7901e044", + "author_id": "ktulhusolutions", "description": "Defold native extension for recast navigation.", "forum_url": "https://forum.defold.com/t/navigation-mesh-native-extension/79341", "images": { diff --git a/_data/assets/defold-event.json b/_data/assets/defold-event.json index 4f18b80bb8..42e0534b64 100644 --- a/_data/assets/defold-event.json +++ b/_data/assets/defold-event.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-event.json", - "author": "Insality", - "author_id": "fdec556e51a2ad846db08b8ba0ae3b86", + "author_id": "insality", "description": "Cross-Context Defold Event System. Allows to create and subscribe to events between different contexts (game objects, gui elements, etc.)", "external_actions": [ { diff --git a/_data/assets/defold-fmod.json b/_data/assets/defold-fmod.json index 89cce07de9..bda42d7821 100644 --- a/_data/assets/defold-fmod.json +++ b/_data/assets/defold-fmod.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-fmod.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "Official Defold native extension for FMOD sound engine bindings. FMOD is a proprietary sound effects engine and authoring tool for video games and applications, that play and mix sounds of diverse formats on many operating systems. Defold FMOD exposes FMOD Studio and Core API to Lua for events, banks, buses, VCAs, runtime parameters, low-level audio, and 3D spatial audio. Commercial usage of FMOD products may require a separate license directly with Firelight Technologies. For details refer to fmod.com/resources/eula. According to the FMOD license, you must credit FMOD in your project's documentation, or in an on screen format. The text should include at least the words \"FMOD\" (OR \"FMOD STUDIO\" IF APPLICABLE) AND \"FIRELIGHT TECHNOLOGIES\".", "forum_url": "", "images": { diff --git a/_data/assets/defold-graph-pathfinder.json b/_data/assets/defold-graph-pathfinder.json index 4caedde15a..3613deb383 100644 --- a/_data/assets/defold-graph-pathfinder.json +++ b/_data/assets/defold-graph-pathfinder.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-graph-pathfinder.json", - "author": "Selim Anaç", - "author_id": "6100d3b33dfe49f042484ab76af0781e", + "author_id": "selim-anac", "description": "A high-performance A* pathfinding library written in C++11 for real-time games and simulations. It is free for personal, educational, experimental, and completely non-monetized projects. Any monetized use requires at least a one-time $10 USD GitHub Sponsors payment per product title and providing project details to the author; monthly sponsorship is also accepted. The software is closed-source under a custom license.", "external_actions": [ { diff --git a/_data/assets/defold-index.json b/_data/assets/defold-index.json index b567cb4f04..8bba4dba47 100644 --- a/_data/assets/defold-index.json +++ b/_data/assets/defold-index.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-index.json", - "author": "Halfstar", - "author_id": "68ed918a501621d514774348f2d99f90", + "author_id": "halfstar", "description": "This extension automatically creates an index of all your custom resources before building a game using an editor script, and provides a module for easy access to that index.", "forum_url": "", "images": { diff --git a/_data/assets/defold-ink.json b/_data/assets/defold-ink.json index 312897887e..f3801e50bd 100644 --- a/_data/assets/defold-ink.json +++ b/_data/assets/defold-ink.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-ink.json", - "author": "ktulhusolutions", - "author_id": "18061e0ac86cd3a873b6d2ab7901e044", + "author_id": "ktulhusolutions", "description": "The Ink language runtime implementation, an alternative to Narrator, based on parsing ink JSON files.", "forum_url": "", "images": { diff --git a/_data/assets/defold-lang.json b/_data/assets/defold-lang.json index 1195d02231..c6d5592404 100644 --- a/_data/assets/defold-lang.json +++ b/_data/assets/defold-lang.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-lang.json", - "author": "Insality", - "author_id": "fdec556e51a2ad846db08b8ba0ae3b86", + "author_id": "insality", "description": "Defold Localization Helper. Load and manage translations for your game. Supports Lua, JSON and CSV formats.", "external_actions": [ { diff --git a/_data/assets/defold-log.json b/_data/assets/defold-log.json index a8f812b538..4d7ec6f2ad 100644 --- a/_data/assets/defold-log.json +++ b/_data/assets/defold-log.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-log.json", - "author": "Insality", - "author_id": "fdec556e51a2ad846db08b8ba0ae3b86", + "author_id": "insality", "description": "Context logger with performance metrics for Defold", "external_actions": [ { diff --git a/_data/assets/defold-mic.json b/_data/assets/defold-mic.json index b174e81a10..4efad01870 100644 --- a/_data/assets/defold-mic.json +++ b/_data/assets/defold-mic.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-mic.json", - "author": "Halfstar", - "author_id": "68ed918a501621d514774348f2d99f90", + "author_id": "halfstar", "description": "Defold-Mic is a miniaudio-based native extension for recording microphone input in Defold. It can capture WAV data, list input devices, monitor peak and RMS volume, track recording duration, and request microphone permissions on Apple platforms.", "forum_url": "https://forum.defold.com/t/defold-mic-microphone-input-extension/82575", "images": { diff --git a/_data/assets/defold-mobilehtml5-typing.json b/_data/assets/defold-mobilehtml5-typing.json index 2e20e4f6d7..f14f36959a 100644 --- a/_data/assets/defold-mobilehtml5-typing.json +++ b/_data/assets/defold-mobilehtml5-typing.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-mobilehtml5-typing.json", - "author": "Mchlkpng", - "author_id": "2a9db510c79dbac3b63c104f789c9661", + "author_id": "mchlkpng", "description": "A Lua module to get text input on mobile browsers for Defold projects.\n", "forum_url": "https://forum.defold.com/t/html5-mobile-keyboard-text-input/73406", "images": { diff --git a/_data/assets/defold-neovim.json b/_data/assets/defold-neovim.json index 2536e5aa98..88afd9f568 100644 --- a/_data/assets/defold-neovim.json +++ b/_data/assets/defold-neovim.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-neovim.json", - "author": "monkoose", - "author_id": "0dac38eeed40bb14150a1c7bc5858f22", + "author_id": "monkoose", "description": "Use Neovim with Defold to write code with autocomplete and to build and run your project.", "forum_url": "https://forum.defold.com/t/done-neovim-editor-plugin-for-better-defold-experience/78017", "id": "defold-neovim", diff --git a/_data/assets/defold-nuklear.json b/_data/assets/defold-nuklear.json index a8dd5ffecf..3a521cf1f9 100644 --- a/_data/assets/defold-nuklear.json +++ b/_data/assets/defold-nuklear.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-nuklear.json", - "author": "David Lannan", - "author_id": "f55f5a24b15caa21479706c219beb4ae", + "author_id": "david-lannan", "description": "Nuklear is a minimal-state, immediate-mode graphical user interface toolkit.", "forum_url": "https://forum.defold.com/t/defold-gui-using-nuklear/76400", "images": { diff --git a/_data/assets/defold-nvim.json b/_data/assets/defold-nvim.json index dc32fcc2bd..bf8f5360c3 100644 --- a/_data/assets/defold-nvim.json +++ b/_data/assets/defold-nvim.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-nvim.json", - "author": "atomicptr", - "author_id": "fcf9836120114ee7a976df4a4b3ae5c4", + "author_id": "atomicptr", "description": "Batteries-included development environment for the Defold game engine, powered by Neovim", "forum_url": "https://forum.defold.com/t/defold-nvim-batteries-included-development-environment-for-the-defold-game-engine-powered-by-neovim/81605", "images": { diff --git a/_data/assets/defold-oop.json b/_data/assets/defold-oop.json index f9748ff4a5..ae0ba4bd47 100644 --- a/_data/assets/defold-oop.json +++ b/_data/assets/defold-oop.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-oop.json", - "author": "xiyoo0812@163.com", - "author_id": "5d6dddec191d19aff834cd5ab30f570c", + "author_id": "xiyoo0812-163-com", "description": "Defold Ext for work with lua Object Oriented Programming!", "forum_url": "", "images": { diff --git a/_data/assets/defold-parser.json b/_data/assets/defold-parser.json index 356355e87a..333cb91b2a 100644 --- a/_data/assets/defold-parser.json +++ b/_data/assets/defold-parser.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-parser.json", - "author": "Insality", - "author_id": "fdec556e51a2ad846db08b8ba0ae3b86", + "author_id": "insality", "description": "Parse Defold files to JSON and back", "external_actions": [ { diff --git a/_data/assets/defold-pbr.json b/_data/assets/defold-pbr.json index e64607f8fa..b0b22cc784 100644 --- a/_data/assets/defold-pbr.json +++ b/_data/assets/defold-pbr.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-pbr.json", - "author": "Defold Foundation", - "author_id": "f0ed797e86f7025f8ba5455479852ca5", + "author_id": "defold-foundation", "description": "Defold PBR adds physically based rendering materials and shaders for Defold model rendering. PBR simulates how light interacts with surfaces, making 3D models respond more naturally to material properties such as base color, metallic, roughness, normal, occlusion and emissive data. The library supports common glTF texture samplers, alpha cutoff and unlit flags, plus Defold directional, point and spot light components.", "forum_url": "", "images": { diff --git a/_data/assets/defold-persist.json b/_data/assets/defold-persist.json index 69e36676fe..ccae0a8f3e 100644 --- a/_data/assets/defold-persist.json +++ b/_data/assets/defold-persist.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-persist.json", - "author": "White Box Dev", - "author_id": "38d31b3a0e8a01a9cdbda9ded357efbc", + "author_id": "white-box-dev", "description": "Defold Persist provides a simple interface for saving and loading data in a Defold game engine project.", "forum_url": "https://forum.defold.com/t/defold-persist/75796", "images": { diff --git a/_data/assets/defold-pixelart-shader.json b/_data/assets/defold-pixelart-shader.json index a31399e640..e6fd0e3dba 100644 --- a/_data/assets/defold-pixelart-shader.json +++ b/_data/assets/defold-pixelart-shader.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-pixelart-shader.json", - "author": "Selim Anaç", - "author_id": "6100d3b33dfe49f042484ab76af0781e", + "author_id": "selim-anac", "description": "Pixelart shader", "external_actions": [ { diff --git a/_data/assets/defold-polyglot.json b/_data/assets/defold-polyglot.json index 27d5e3b6b4..ec49a979e2 100644 --- a/_data/assets/defold-polyglot.json +++ b/_data/assets/defold-polyglot.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-polyglot.json", - "author": "Paweł Jarosz", - "author_id": "d54cdc4bc377adc6a3233368cc304107", + "author_id": "pawel-jarosz", "description": "Defold Polyglot is a simple Polyglot to Defold Tool for game localisations. Polyglot is one of many community-driven open-source localisation projects available online.", "forum_url": "https://forum.defold.com/t/defold-polyglot/69144", "images": { diff --git a/_data/assets/defold-proto.json b/_data/assets/defold-proto.json index 7e932421de..3c9b8831c4 100644 --- a/_data/assets/defold-proto.json +++ b/_data/assets/defold-proto.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-proto.json", - "author": "Insality", - "author_id": "fdec556e51a2ad846db08b8ba0ae3b86", + "author_id": "insality", "description": "Defold Protobuf Library to encode, decode and verifying messages", "external_actions": [ { diff --git a/_data/assets/defold-quest.json b/_data/assets/defold-quest.json index ee0e87f43a..040b9846f8 100644 --- a/_data/assets/defold-quest.json +++ b/_data/assets/defold-quest.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-quest.json", - "author": "Insality", - "author_id": "fdec556e51a2ad846db08b8ba0ae3b86", + "author_id": "insality", "description": "Quest system library for Defold games. Manage quests, objectives, and quest progression. Track events and customize behavior.", "external_actions": [ { diff --git a/_data/assets/defold-rendy.json b/_data/assets/defold-rendy.json index e4dd90a710..1f16584937 100644 --- a/_data/assets/defold-rendy.json +++ b/_data/assets/defold-rendy.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-rendy.json", - "author": "White Box Dev", - "author_id": "38d31b3a0e8a01a9cdbda9ded357efbc", + "author_id": "white-box-dev", "description": "Defold Rendy provides a versatile camera suite and render pipeline in a Defold game engine project.", "forum_url": "https://forum.defold.com/t/defold-rendy/76000", "images": { diff --git a/_data/assets/defold-rng.json b/_data/assets/defold-rng.json index 5bdf48c80a..2d22e0433f 100644 --- a/_data/assets/defold-rng.json +++ b/_data/assets/defold-rng.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-rng.json", - "author": "Alchimystic", - "author_id": "793ee11171e32960b2768562a8deaf21", + "author_id": "alchimystic", "description": "Defold RNG is a native random number generator extension with instance-based generators for deterministic procedural generation. It supports multiple algorithms, including PCG32 and TinyMT32.", "forum_url": "https://forum.defold.com/t/random-number-generator-native-multi-algorithm-and-instance-based/74532", "images": { diff --git a/_data/assets/defold-runtime-atlas.json b/_data/assets/defold-runtime-atlas.json index 8afa8b7899..f0266ce84b 100644 --- a/_data/assets/defold-runtime-atlas.json +++ b/_data/assets/defold-runtime-atlas.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-runtime-atlas.json", - "author": "Jerakin", - "author_id": "3b89011fffbcab1dac524ed65dbfa3ec", + "author_id": "jerakin", "description": "Runtime creation of an atlas from a set of images.", "forum_url": "https://forum.defold.com/t/packing-an-atlas-at-runtime/72736", "id": "defold-runtime-atlas", diff --git a/_data/assets/defold-saver.json b/_data/assets/defold-saver.json index b8d639e01c..6b4d429d57 100644 --- a/_data/assets/defold-saver.json +++ b/_data/assets/defold-saver.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-saver.json", - "author": "Insality", - "author_id": "fdec556e51a2ad846db08b8ba0ae3b86", + "author_id": "insality", "description": "Defold Save File Manager. Manage your game save state with easy to use API", "external_actions": [ { diff --git a/_data/assets/defold-sublime-text.json b/_data/assets/defold-sublime-text.json index b4bcfce773..f64ce95b7b 100644 --- a/_data/assets/defold-sublime-text.json +++ b/_data/assets/defold-sublime-text.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-sublime-text.json", - "author": "Selim Anaç", - "author_id": "6100d3b33dfe49f042484ab76af0781e", + "author_id": "selim-anac", "description": "A Sublime Text package for controlling the Defold Editor using its HTTP API and Defold Lua API annotations.", "external_actions": [ { diff --git a/_data/assets/defold-tile-raycast.json b/_data/assets/defold-tile-raycast.json index 77cd437c2e..c5da220a4d 100644 --- a/_data/assets/defold-tile-raycast.json +++ b/_data/assets/defold-tile-raycast.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-tile-raycast.json", - "author": "Selim Anaç", - "author_id": "6100d3b33dfe49f042484ab76af0781e", + "author_id": "selim-anac", "description": "Ray Casting in tiled worlds using DDA algorithm. It is very effective solution for tile based worlds like platformers or any top-down games.", "external_actions": [ { diff --git a/_data/assets/defold-timer.json b/_data/assets/defold-timer.json index d3348bc9e5..4f95b953e5 100644 --- a/_data/assets/defold-timer.json +++ b/_data/assets/defold-timer.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-timer.json", - "author": "White Box Dev", - "author_id": "38d31b3a0e8a01a9cdbda9ded357efbc", + "author_id": "white-box-dev", "description": "Defold Timer provides a visual timer widget in a Defold game engine project.", "forum_url": "https://forum.defold.com/t/defold-timer/70332", "images": { diff --git a/_data/assets/defold-token.json b/_data/assets/defold-token.json index 2cb95a08d2..44a51658bf 100644 --- a/_data/assets/defold-token.json +++ b/_data/assets/defold-token.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-token.json", - "author": "Insality", - "author_id": "fdec556e51a2ad846db08b8ba0ae3b86", + "author_id": "insality", "description": "Defold Countable Items Container. Manage countable items in your game inside containers. Apply restoration logic or infinite usage timers, react on token changes.", "external_actions": [ { diff --git a/_data/assets/defold-toon-shader.json b/_data/assets/defold-toon-shader.json index 27cb8c2f7b..9b39c5406a 100644 --- a/_data/assets/defold-toon-shader.json +++ b/_data/assets/defold-toon-shader.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-toon-shader.json", - "author": "Selim Anaç", - "author_id": "6100d3b33dfe49f042484ab76af0781e", + "author_id": "selim-anac", "description": "Toon shader for 3D models.", "external_actions": [ { diff --git a/_data/assets/defold-tweener.json b/_data/assets/defold-tweener.json index 552431013f..30f5b623b0 100644 --- a/_data/assets/defold-tweener.json +++ b/_data/assets/defold-tweener.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-tweener.json", - "author": "Insality", - "author_id": "fdec556e51a2ad846db08b8ba0ae3b86", + "author_id": "insality", "description": "Timer Based Defold Tween Library. Allows you to create and control tween animations for any action in your game.", "external_actions": [ { diff --git a/_data/assets/defold-typewriter.json b/_data/assets/defold-typewriter.json index 86a1573e9c..2268558dea 100644 --- a/_data/assets/defold-typewriter.json +++ b/_data/assets/defold-typewriter.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-typewriter.json", - "author": "White Box Dev", - "author_id": "38d31b3a0e8a01a9cdbda9ded357efbc", + "author_id": "white-box-dev", "description": "Defold Typewriter provides text scrolling and styling in a Defold game engine project.", "forum_url": "https://forum.defold.com/t/defold-typewriter/72078", "images": { diff --git a/_data/assets/defold-uuid4.json b/_data/assets/defold-uuid4.json index 40a7cb01e7..3ccace1522 100644 --- a/_data/assets/defold-uuid4.json +++ b/_data/assets/defold-uuid4.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-uuid4.json", - "author": "Selim Anaç", - "author_id": "6100d3b33dfe49f042484ab76af0781e", + "author_id": "selim-anac", "description": "UUID4 generator native extension.", "external_actions": [ { diff --git a/_data/assets/defold-wrap.json b/_data/assets/defold-wrap.json index 39c35ff185..bd7e2bacc6 100644 --- a/_data/assets/defold-wrap.json +++ b/_data/assets/defold-wrap.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defold-wrap.json", - "author": "Chung Xa", - "author_id": "b6cf80bbb897b02ad11260ccfb89e0a2", + "author_id": "chung-xa", "description": "This library aims to help you change the way you write code on Defold.", "forum_url": "", "images": { diff --git a/_data/assets/defoldandroidpermissions.json b/_data/assets/defoldandroidpermissions.json index 8ed374bf88..71762575f6 100644 --- a/_data/assets/defoldandroidpermissions.json +++ b/_data/assets/defoldandroidpermissions.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defoldandroidpermissions.json", - "author": "Andrey Panchenko", - "author_id": "757d04efa06c859ff9983a6c3bdeb3c2", + "author_id": "andrey-panchenko", "description": "This is Native Extension that adds support for Android Runtime Permissions", "id": "defoldandroidpermissions", "images": { diff --git a/_data/assets/defoldapiforsublimetext3.json b/_data/assets/defoldapiforsublimetext3.json index f3b8f8bf88..a9bbc683ac 100644 --- a/_data/assets/defoldapiforsublimetext3.json +++ b/_data/assets/defoldapiforsublimetext3.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defoldapiforsublimetext3.json", - "author": "Igor Suntsev", - "author_id": "8e8dcfd8ab030ee46c9efee57f492a9b", + "author_id": "igor-suntsev", "description": "Defold API for Sublime Text 3", "id": "defoldapiforsublimetext3", "images": { diff --git a/_data/assets/defoldgridengine.json b/_data/assets/defoldgridengine.json index fe6b05dda9..f62ccb4bbc 100644 --- a/_data/assets/defoldgridengine.json +++ b/_data/assets/defoldgridengine.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defoldgridengine.json", - "author": "White Box Dev", - "author_id": "38d31b3a0e8a01a9cdbda9ded357efbc", + "author_id": "white-box-dev", "description": "Defold Grid Engine provides grid-based movement, interactions, and utility features in a Defold game engine project.", "forum_url": "https://forum.defold.com/t/defold-grid-engine/65358", "images": { diff --git a/_data/assets/defoldinput.json b/_data/assets/defoldinput.json index 8964a135b3..ddebf8a0e4 100644 --- a/_data/assets/defoldinput.json +++ b/_data/assets/defoldinput.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defoldinput.json", - "author": "Björn Ritzl", - "author_id": "6c8581f7da8da7a5c9bb6ffe85f56420", + "author_id": "bjorn-ritzl", "description": "Lua modules and scripts to simplify input related operations such as gestures detection, user configurable key bindings, input state handling and dragging/clicking game objects.", "id": "defoldinput", "images": { diff --git a/_data/assets/defoldpng.json b/_data/assets/defoldpng.json index 79d99c9f36..36168b68b1 100644 --- a/_data/assets/defoldpng.json +++ b/_data/assets/defoldpng.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defoldpng.json", - "author": "Björn Ritzl", - "author_id": "6c8581f7da8da7a5c9bb6ffe85f56420", + "author_id": "bjorn-ritzl", "description": "Decode and encode PNG images.", "id": "defoldpng", "images": { diff --git a/_data/assets/defoldpolygoneditor.json b/_data/assets/defoldpolygoneditor.json index 7d84a4e007..e80a8966db 100644 --- a/_data/assets/defoldpolygoneditor.json +++ b/_data/assets/defoldpolygoneditor.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defoldpolygoneditor.json", - "author": "Ross Grams", - "author_id": "63e41bd0ba1158bf35505bf42ff56a4b", + "author_id": "ross-grams", "description": "Create and edit convex polygon collision shapes.", "id": "defoldpolygoneditor", "images": { diff --git a/_data/assets/defork.json b/_data/assets/defork.json index aa5a12ae0a..95b9926bfb 100644 --- a/_data/assets/defork.json +++ b/_data/assets/defork.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defork.json", - "author": "Paweł Jarosz", - "author_id": "d54cdc4bc377adc6a3233368cc304107", + "author_id": "pawel-jarosz", "description": "Easily and conveniently create different, interactive, intriguing, branched, non-linear conversations using json data.", "id": "defork", "images": { diff --git a/_data/assets/defos.json b/_data/assets/defos.json index ea9773be79..2b00a6f7b2 100644 --- a/_data/assets/defos.json +++ b/_data/assets/defos.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defos.json", - "author": "Brian Kramer", - "author_id": "4e5137947a2d2210327998871d8dd3c7", + "author_id": "brian-kramer", "description": "Extra native OS functions.", "id": "defos", "images": { diff --git a/_data/assets/defpfd.json b/_data/assets/defpfd.json index f0a9e252be..0a4a806945 100644 --- a/_data/assets/defpfd.json +++ b/_data/assets/defpfd.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defpfd.json", - "author": "AsakuraMizu", - "author_id": "7189ed9feae9804bd2a0b642b81d85fb", + "author_id": "asakuramizu", "description": "Portable File Dialogs for Defold", "forum_url": "", "images": { diff --git a/_data/assets/defpro.json b/_data/assets/defpro.json index f608df393a..d62192159e 100644 --- a/_data/assets/defpro.json +++ b/_data/assets/defpro.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defpro.json", - "author": "Björn Ritzl", - "author_id": "6c8581f7da8da7a5c9bb6ffe85f56420", + "author_id": "bjorn-ritzl", "description": "Interact with the profiler using Lua", "id": "defpro", "images": { diff --git a/_data/assets/defquest.json b/_data/assets/defquest.json index 8dbb5d5518..95da5d733b 100644 --- a/_data/assets/defquest.json +++ b/_data/assets/defquest.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defquest.json", - "author": "Brian Kramer", - "author_id": "4e5137947a2d2210327998871d8dd3c7", + "author_id": "brian-kramer", "description": "Setup, track, and check real world time countdowns based on OS or server time", "id": "defquest", "images": { diff --git a/_data/assets/defsave.json b/_data/assets/defsave.json index 1649917fd1..2b1f39a058 100644 --- a/_data/assets/defsave.json +++ b/_data/assets/defsave.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defsave.json", - "author": "Brian Kramer", - "author_id": "4e5137947a2d2210327998871d8dd3c7", + "author_id": "brian-kramer", "description": "A module to help you save / load config and player data between session.", "id": "defsave", "images": { diff --git a/_data/assets/defstring.json b/_data/assets/defstring.json index b556968fe2..718b5b432b 100644 --- a/_data/assets/defstring.json +++ b/_data/assets/defstring.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defstring.json", - "author": "Brian Kramer", - "author_id": "4e5137947a2d2210327998871d8dd3c7", + "author_id": "brian-kramer", "description": "A module with a set of extra string functions.", "id": "defstring", "images": { diff --git a/_data/assets/deftable.json b/_data/assets/deftable.json index 4c133d9b65..808c82392b 100644 --- a/_data/assets/deftable.json +++ b/_data/assets/deftable.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/deftable.json", - "author": "Robert Gardner", - "author_id": "c30011ac4245e2089d77c366e0775634", + "author_id": "robert-gardner", "description": "A whole bunch of useful table manipulation functions", "id": "deftable", "images": { diff --git a/_data/assets/deftest.json b/_data/assets/deftest.json index 45ad15fb8e..a93daacac5 100644 --- a/_data/assets/deftest.json +++ b/_data/assets/deftest.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/deftest.json", - "author": "Björn Ritzl", - "author_id": "6c8581f7da8da7a5c9bb6ffe85f56420", + "author_id": "bjorn-ritzl", "description": "Run unit tests using the Telescope unit testing framework.", "id": "deftest", "images": { diff --git a/_data/assets/deftimeline.json b/_data/assets/deftimeline.json index 0ced34b3dd..7aef377244 100644 --- a/_data/assets/deftimeline.json +++ b/_data/assets/deftimeline.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/deftimeline.json", - "author": "Allan Douglas", - "author_id": "0255bd7862bdbac8b99b0d24dc0ceb0b", + "author_id": "allan-douglas", "description": "Easy way to make animations play in sequence.", "id": "deftimeline", "images": { diff --git a/_data/assets/defunico.json b/_data/assets/defunico.json index 8c3ba00cfa..9a5f2fb0c3 100644 --- a/_data/assets/defunico.json +++ b/_data/assets/defunico.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defunico.json", - "author": "Yuichiro Kumagai", - "author_id": "fc0f2ca1bb97818c5922a389c671edca", + "author_id": "yuichiro-kumagai", "description": "DefUniCo is a coroutine library", "id": "defunico", "images": { diff --git a/_data/assets/defvideoads.json b/_data/assets/defvideoads.json index e46a37e7ec..9bfceb933a 100644 --- a/_data/assets/defvideoads.json +++ b/_data/assets/defvideoads.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defvideoads.json", - "author": "Alexey Gulev", - "author_id": "70ac2d222a9f2f33cab587a655c69601", + "author_id": "alexey-gulev", "description": "Show UnityAds.", "id": "defvideoads", "images": { diff --git a/_data/assets/defvungle.json b/_data/assets/defvungle.json index 1a684c9e07..7da8dd330c 100644 --- a/_data/assets/defvungle.json +++ b/_data/assets/defvungle.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defvungle.json", - "author": "SkaterDad", - "author_id": "8c381310a001a941e61e2093e69ad950", + "author_id": "skaterdad", "description": "Vungle interstitial and rewarded video ads support for Android & Amazon.", "forum_url": "", "images": { diff --git a/_data/assets/defwin.json b/_data/assets/defwin.json index 52c43355fc..eb0a0967c9 100644 --- a/_data/assets/defwin.json +++ b/_data/assets/defwin.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defwin.json", - "author": "Halfstar", - "author_id": "68ed918a501621d514774348f2d99f90", + "author_id": "halfstar", "description": "A native extension for advanced Windows window controls, including custom shapes and transparency, dark mode, resize constraints, close handling, taskbar flashing and progress, and window dragging.", "forum_url": "", "images": { diff --git a/_data/assets/defwindow.json b/_data/assets/defwindow.json index aa8007a5e1..a812207e57 100644 --- a/_data/assets/defwindow.json +++ b/_data/assets/defwindow.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/defwindow.json", - "author": "Brian Kramer", - "author_id": "4e5137947a2d2210327998871d8dd3c7", + "author_id": "brian-kramer", "description": "Extra functionality for the Window API.", "id": "defwindow", "images": { diff --git a/_data/assets/deployer.json b/_data/assets/deployer.json index 2887edd99e..9f2ec628df 100644 --- a/_data/assets/deployer.json +++ b/_data/assets/deployer.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/deployer.json", - "author": "Insality", - "author_id": "fdec556e51a2ad846db08b8ba0ae3b86", + "author_id": "insality", "description": "Deployer - Universal build && deploy script for Defold projects.", "external_actions": [ { diff --git a/_data/assets/derez.json b/_data/assets/derez.json index 406c238bde..6825da15cd 100644 --- a/_data/assets/derez.json +++ b/_data/assets/derez.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/derez.json", - "author": "Baron Wittman", - "author_id": "5ef914d2d8f88bf981967ec7c596813d", + "author_id": "baron-wittman", "description": "This render script draws a low-resolution view of the world to a game object, in either 2D or 3D. It handles resizing the window by maintaining an internal vertical resolution. This technique is also known as downsampling.", "forum_url": "https://forum.defold.com/t/derez-low-resolution-render-script/76384", "images": { diff --git a/_data/assets/detiled.json b/_data/assets/detiled.json index b62184be9c..4280024ab3 100644 --- a/_data/assets/detiled.json +++ b/_data/assets/detiled.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/detiled.json", - "author": "Insality", - "author_id": "fdec556e51a2ad846db08b8ba0ae3b86", + "author_id": "insality", "description": "Tiled to Defold Map Parser.", "external_actions": [ { diff --git a/_data/assets/dicebag.json b/_data/assets/dicebag.json index caa68b0451..e7d570d3e8 100644 --- a/_data/assets/dicebag.json +++ b/_data/assets/dicebag.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/dicebag.json", - "author": "8BitSkull", - "author_id": "f4ecd22ca7133c183d7f46be9c2d848b", + "author_id": "8bitskull", "description": "A module of probability functions designed specifically for games.", "forum_url": "https://forum.defold.com/t/dicebag-probability-for-games/67169", "images": { diff --git a/_data/assets/dirtylarry.json b/_data/assets/dirtylarry.json index c19a0c8517..dcc9631be6 100644 --- a/_data/assets/dirtylarry.json +++ b/_data/assets/dirtylarry.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/dirtylarry.json", - "author": "Sven Andersson", - "author_id": "426b550486c4b42b6b3d530c54102e24", + "author_id": "sven-andersson", "description": "A quick and dirty GUI library.", "id": "dirtylarry", "images": { diff --git a/_data/assets/discordrich.json b/_data/assets/discordrich.json index c812fe3564..ac45b5b2da 100644 --- a/_data/assets/discordrich.json +++ b/_data/assets/discordrich.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/discordrich.json", - "author": "Brian Kramer", - "author_id": "4e5137947a2d2210327998871d8dd3c7", + "author_id": "brian-kramer", "description": "Rich Presence for games on Discord.", "id": "discordrich", "images": { diff --git a/_data/assets/dissolve-fx.json b/_data/assets/dissolve-fx.json index 2689881b6a..df670cdccf 100644 --- a/_data/assets/dissolve-fx.json +++ b/_data/assets/dissolve-fx.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/dissolve-fx.json", - "author": "Indiesoft LLC", - "author_id": "a0bfc7430b840873f242085ed47277c8", + "author_id": "indiesoft-llc", "description": "Dissolve effect for sprites.", "images": { "hero": "https://github.com/indiesoftby/defold-dissolve-fx/raw/main/cover.jpg", diff --git a/_data/assets/drawpixels.json b/_data/assets/drawpixels.json index 1c6a6d94db..baf84c3eb0 100644 --- a/_data/assets/drawpixels.json +++ b/_data/assets/drawpixels.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/drawpixels.json", - "author": "Alexey Gulev", - "author_id": "70ac2d222a9f2f33cab587a655c69601", + "author_id": "alexey-gulev", "description": "Drawing pixels and simple geometry into texture buffer.", "id": "drawpixels", "images": { diff --git a/_data/assets/druid.json b/_data/assets/druid.json index 73a74936be..1ca176c37e 100644 --- a/_data/assets/druid.json +++ b/_data/assets/druid.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/druid.json", - "author": "Insality", - "author_id": "fdec556e51a2ad846db08b8ba0ae3b86", + "author_id": "insality", "description": "Druid - Powerful Defold UI component framework. Allows to create and manage UI components for your game. Contains a wide range of components and tools for building your own UI.", "external_actions": [ { diff --git a/_data/assets/dsfonts.json b/_data/assets/dsfonts.json index 5357b09beb..decbf21d66 100644 --- a/_data/assets/dsfonts.json +++ b/_data/assets/dsfonts.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/dsfonts.json", - "author": "Sergey Sinyavsky", - "author_id": "82d93681cd4c0bccafd3c3274ac5f33a", + "author_id": "sergey-sinyavsky", "description": "This is a set of shaders and materials for distance field fonts.", "forum_url": "https://forum.defold.com/t/dsfonts-shader-set/65066", "images": { diff --git a/_data/assets/editor-script-align.json b/_data/assets/editor-script-align.json index e4e252b1bf..f46601cb7c 100644 --- a/_data/assets/editor-script-align.json +++ b/_data/assets/editor-script-align.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/editor-script-align.json", - "author": "Jerakin", - "author_id": "3b89011fffbcab1dac524ed65dbfa3ec", + "author_id": "jerakin", "description": "Adds a menu items under Edit to align GUI nodes. Currently only supports root items due to Defold limitations.", "forum_url": "https://forum.defold.com/t/jerakins-editor-scripts/63840", "images": { diff --git a/_data/assets/editor-script-check-dependencies-versions.json b/_data/assets/editor-script-check-dependencies-versions.json index f2088ac154..367ead22f6 100644 --- a/_data/assets/editor-script-check-dependencies-versions.json +++ b/_data/assets/editor-script-check-dependencies-versions.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/editor-script-check-dependencies-versions.json", - "author": "Jerakin", - "author_id": "3b89011fffbcab1dac524ed65dbfa3ec", + "author_id": "jerakin", "description": "Checks your dependencies against github releases to see if there are any updates.", "forum_url": "https://forum.defold.com/t/jerakins-editor-scripts/63840", "images": { diff --git a/_data/assets/editor-script-cleanup.json b/_data/assets/editor-script-cleanup.json index a8853bda2b..4f09d4e2fc 100644 --- a/_data/assets/editor-script-cleanup.json +++ b/_data/assets/editor-script-cleanup.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/editor-script-cleanup.json", - "author": "Jerakin", - "author_id": "3b89011fffbcab1dac524ed65dbfa3ec", + "author_id": "jerakin", "description": "Editor script that adds clean up functionallity.", "forum_url": "https://forum.defold.com/t/jerakins-editor-scripts/63840", "images": { diff --git a/_data/assets/editor-script-components.json b/_data/assets/editor-script-components.json index b10b119fb7..68cd32a12e 100644 --- a/_data/assets/editor-script-components.json +++ b/_data/assets/editor-script-components.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/editor-script-components.json", - "author": "Jerakin", - "author_id": "3b89011fffbcab1dac524ed65dbfa3ec", + "author_id": "jerakin", "description": "This script adds a menu items in the outline to create new resources depending on your selection. ", "forum_url": "https://forum.defold.com/t/jerakins-editor-scripts/63840", "images": { diff --git a/_data/assets/editor-script-distribute.json b/_data/assets/editor-script-distribute.json index 07d35ce248..85435aa5b4 100644 --- a/_data/assets/editor-script-distribute.json +++ b/_data/assets/editor-script-distribute.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/editor-script-distribute.json", - "author": "Jerakin", - "author_id": "3b89011fffbcab1dac524ed65dbfa3ec", + "author_id": "jerakin", "description": "Adds a menu items under Edit to evenly distribute GUI nodes. Currently only supports root items due to Defold limitations.", "forum_url": "https://forum.defold.com/t/jerakins-editor-scripts/63840", "images": { diff --git a/_data/assets/editor-script-extra-locations.json b/_data/assets/editor-script-extra-locations.json index dc634ea016..722f165f1e 100644 --- a/_data/assets/editor-script-extra-locations.json +++ b/_data/assets/editor-script-extra-locations.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/editor-script-extra-locations.json", - "author": "Jerakin", - "author_id": "3b89011fffbcab1dac524ed65dbfa3ec", + "author_id": "jerakin", "description": "Editor script to open the finder/explorer at different important locations.", "forum_url": "https://forum.defold.com/t/jerakins-editor-scripts/63840", "images": { diff --git a/_data/assets/editor-script-templates.json b/_data/assets/editor-script-templates.json index 608a8f7f55..eefd30c116 100644 --- a/_data/assets/editor-script-templates.json +++ b/_data/assets/editor-script-templates.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/editor-script-templates.json", - "author": "Jerakin", - "author_id": "3b89011fffbcab1dac524ed65dbfa3ec", + "author_id": "jerakin", "description": "Create files from your own defined templates.", "forum_url": "https://forum.defold.com/t/jerakins-editor-scripts/63840", "images": { diff --git a/_data/assets/editorscriptatlas.json b/_data/assets/editorscriptatlas.json index a819c92ed6..c5acec5700 100644 --- a/_data/assets/editorscriptatlas.json +++ b/_data/assets/editorscriptatlas.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/editorscriptatlas.json", - "author": "Jerakin", - "author_id": "3b89011fffbcab1dac524ed65dbfa3ec", + "author_id": "jerakin", "description": "Editor script to add images to an atlas as well as create a new one from selected images.", "forum_url": "https://forum.defold.com/t/jerakins-editor-scripts/63840", "id": "editorscriptatlas", diff --git a/_data/assets/emthree.json b/_data/assets/emthree.json index d0743d8ee1..e4a0f15455 100644 --- a/_data/assets/emthree.json +++ b/_data/assets/emthree.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/emthree.json", - "author": "Björn Ritzl", - "author_id": "6c8581f7da8da7a5c9bb6ffe85f56420", + "author_id": "bjorn-ritzl", "description": "A match three engine.", "id": "emthree", "images": { diff --git a/_data/assets/endlessrunner.json b/_data/assets/endlessrunner.json index 1e6f2464d7..eaf325d385 100644 --- a/_data/assets/endlessrunner.json +++ b/_data/assets/endlessrunner.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/endlessrunner.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "A barebones runner game where the goal is to jump on platforms and collect as many coins as possible.", "id": "endlessrunner", "images": { diff --git a/_data/assets/err.json b/_data/assets/err.json index 08fd87af59..13b9554575 100644 --- a/_data/assets/err.json +++ b/_data/assets/err.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/err.json", - "author": "Brian Kramer", - "author_id": "4e5137947a2d2210327998871d8dd3c7", + "author_id": "brian-kramer", "description": "Error logging helper.", "id": "err", "images": { diff --git a/_data/assets/extensiondirectories.json b/_data/assets/extensiondirectories.json index dfaa9dc329..a8e369fd6d 100644 --- a/_data/assets/extensiondirectories.json +++ b/_data/assets/extensiondirectories.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/extensiondirectories.json", - "author": "Sergey Lerg", - "author_id": "1c2d3ba1c59d40a609cc44f1ca42b65c", + "author_id": "sergey-lerg", "description": "Provides path to various system directories.", "id": "extensiondirectories", "images": { diff --git a/_data/assets/facebook.json b/_data/assets/facebook.json index 92755c1a1f..67ba6c86bd 100644 --- a/_data/assets/facebook.json +++ b/_data/assets/facebook.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/facebook.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "Track installs and app opens, give people the ability to share content, or support the ability to Login with Facebook.", "id": "facebook", "images": { diff --git a/_data/assets/facebookads.json b/_data/assets/facebookads.json index 3043bf6bde..50498db8db 100644 --- a/_data/assets/facebookads.json +++ b/_data/assets/facebookads.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/facebookads.json", - "author": "MrZak-dev", - "author_id": "6331bc20c15e788dc7c1239038f4d88b", + "author_id": "mrzak-dev", "description": "Facebook Audience Network Android Android extension", "forum_url": "https://forum.defold.com/t/facebook-ads-audience-network-extension/", "images": { diff --git a/_data/assets/facebookinstantgames.json b/_data/assets/facebookinstantgames.json index a62f2693a0..6f4415e737 100644 --- a/_data/assets/facebookinstantgames.json +++ b/_data/assets/facebookinstantgames.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/facebookinstantgames.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "Instant Games let people play games on any device, mobile or desktop, right in the Facebook News Feed. There is no download time, the games are highly social, and it’s easy to invite friends.", "id": "facebookinstantgames", "images": { diff --git a/_data/assets/fastnoise.json b/_data/assets/fastnoise.json index 384ffa6a32..b94ab95604 100644 --- a/_data/assets/fastnoise.json +++ b/_data/assets/fastnoise.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/fastnoise.json", - "author": "menaechmi", - "author_id": "28db562bee3ab583ad5d7e595cf9d523", + "author_id": "menaechmi", "description": "Fast, configurable library to create 2D, 3D, and fractal noise. Can make Perlin, OpenSimplex2, OpenSimplex2S, Cellular (Voronoi), Value, and Cubic Value noise. It also supports domain warping for all procedural generation needs. Come make some noise.", "forum_url": "https://forum.defold.com/t/fastnoise-native-extension-for-noise-generation/80435", "images": { diff --git a/_data/assets/feat.json b/_data/assets/feat.json index ed7edc974b..586b9fd268 100644 --- a/_data/assets/feat.json +++ b/_data/assets/feat.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/feat.json", - "author": "Brian Kramer", - "author_id": "4e5137947a2d2210327998871d8dd3c7", + "author_id": "brian-kramer", "description": "Achievement and stat tracking for use with DefSave and DefSteam", "id": "feat", "images": { diff --git a/_data/assets/fire-glow-shader.json b/_data/assets/fire-glow-shader.json index 3d47f4be8a..4d4b4f252b 100644 --- a/_data/assets/fire-glow-shader.json +++ b/_data/assets/fire-glow-shader.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/fire-glow-shader.json", - "author": "Alexander Bulatov", - "author_id": "767b929084b257a4b4b42bfa5dfbb614", + "author_id": "alexander-bulatov", "description": "Fire Glow shader effect for Defold.", "forum_url": "https://forum.defold.com/t/fire-glow-shader/78829", "images": { diff --git a/_data/assets/firebase-crashlytics.json b/_data/assets/firebase-crashlytics.json index e95271741b..c46f1be4a3 100644 --- a/_data/assets/firebase-crashlytics.json +++ b/_data/assets/firebase-crashlytics.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/firebase-crashlytics.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "Firebase Crashlytics extension for reporting native crashes on Android, iOS, and macOS.", "forum_url": "https://forum.defold.com/t/firebase-crashlytics-for-defold/82884", "id": "firebase-crashlytics", diff --git a/_data/assets/firebase-remoteconfig.json b/_data/assets/firebase-remoteconfig.json index 66c13126f2..542bd2f0fd 100644 --- a/_data/assets/firebase-remoteconfig.json +++ b/_data/assets/firebase-remoteconfig.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/firebase-remoteconfig.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "Firebase Remote Config is a cloud service that lets you change the behavior and appearance of your app without requiring users to download an app update. When using Remote Config, you create in-app default values that control the behavior and appearance of your app. Then, you can later use the Firebase console or the Remote Config backend APIs to override in-app default values for all app users or for segments of your user base. Your app controls when updates are applied, and it can frequently check for updates and apply them with a negligible impact on performance.", "id": "firebase-remoteconfig", "images": { diff --git a/_data/assets/flow.json b/_data/assets/flow.json index 531c2d9faf..87f4288ea8 100644 --- a/_data/assets/flow.json +++ b/_data/assets/flow.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/flow.json", - "author": "Pause Games", - "author_id": "fb725749047f9c600b9967b29ff81b27", + "author_id": "pause-games", "description": "Flow is a pure Lua Flexbox-style UI library for Defold, with declarative components, stack-based navigation, markdown rendering, and runtime-built GUI nodes.", "forum_url": "", "images": { diff --git a/_data/assets/fmod.json b/_data/assets/fmod.json index 662db69842..6d64e92ad8 100644 --- a/_data/assets/fmod.json +++ b/_data/assets/fmod.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/fmod.json", - "author": "Marius Petcu", - "author_id": "bd277866e2bc8a45ebdddc0c39cfbeb9", + "author_id": "marius-petcu", "description": "FMOD sound engine bindings. FMOD is a proprietary sound effects engine and authoring tool for video games and applications, that play and mix sounds of diverse formats on many operating systems.", "id": "fmod", "images": { diff --git a/_data/assets/fontgen.json b/_data/assets/fontgen.json index 1c546cd395..bc1b63ce17 100644 --- a/_data/assets/fontgen.json +++ b/_data/assets/fontgen.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/fontgen.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "This extension allows for extending an existing Defold font with more glyphs at runtime.", "description_long": "This extension allows for extending an existing Defold font with more glyphs at runtime. It allows for smaller package sizes, as well as less runtime memory footprint.", "id": "fontgen", diff --git a/_data/assets/fontscale.json b/_data/assets/fontscale.json index aebb58875b..2f47b9bfd0 100644 --- a/_data/assets/fontscale.json +++ b/_data/assets/fontscale.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/fontscale.json", - "author": "Myopic Design", - "author_id": "d37df7cd894e82ea661f79015ae00bb0", + "author_id": "myopic-design", "description": "Get the user's preferred font scaling factor.", "forum_url": "", "images": { diff --git a/_data/assets/gameanalytics.json b/_data/assets/gameanalytics.json index 814d737175..f60e72eb23 100644 --- a/_data/assets/gameanalytics.json +++ b/_data/assets/gameanalytics.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/gameanalytics.json", - "author": "GameAnalytics ApS", - "author_id": "2af98531aba19ec072200b2931dc4285", + "author_id": "gameanalytics-aps", "description": "GameAnalytics SDK", "id": "gameanalytics", "images": { diff --git a/_data/assets/gamedistribution.json b/_data/assets/gamedistribution.json index 9d047072f5..501d73adad 100644 --- a/_data/assets/gamedistribution.json +++ b/_data/assets/gamedistribution.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/gamedistribution.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "GameDistribution is the biggest broker of high quality, cross-platform games. The GameDistribution network serves over 300M users a month with top HTML5 content. With over 2,000 web publishers on the platform, GameDistribution connects the best game developers to the biggest web publishers.", "id": "gamedistribution", "images": { diff --git a/_data/assets/gamekit.json b/_data/assets/gamekit.json index 828179a768..e3c98a1590 100644 --- a/_data/assets/gamekit.json +++ b/_data/assets/gamekit.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/gamekit.json", - "author": "Warren Fuller", - "author_id": "6fa4e9eb497a853ac0d93bc60a44131b", + "author_id": "warren-fuller", "description": "Apple GameKit Game Center extension.", "forum_url": "https://forum.defold.com/t/apple-gamekit-game-center-extension/64372", "images": { diff --git a/_data/assets/gamescore.json b/_data/assets/gamescore.json index 899eab5505..71874f4a85 100644 --- a/_data/assets/gamescore.json +++ b/_data/assets/gamescore.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/gamescore.json", - "author": "Megalanthus", - "author_id": "9983a0fce4cbeae6bb93e228d277cb31", + "author_id": "megalanthus", "description": "GamePush (previously GameScore) is the GamePush SDK implementation for the Defold game engine.", "forum_url": "https://forum.defold.com/t/gamepush-sdk-native-extension-for-defold/70246", "images": { diff --git a/_data/assets/geneticalneuralnetwork.json b/_data/assets/geneticalneuralnetwork.json index bdd39b2305..51213d6e24 100644 --- a/_data/assets/geneticalneuralnetwork.json +++ b/_data/assets/geneticalneuralnetwork.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/geneticalneuralnetwork.json", - "author": "Nathan Wersinger", - "author_id": "3e71e661d329e5317371a8146fff04ce", + "author_id": "nathan-wersinger", "description": "How to create a simple Neural Network with genetical renforcement", "id": "geneticalneuralnetwork", "images": { diff --git a/_data/assets/gog-galaxy.json b/_data/assets/gog-galaxy.json index be2af59e55..952b1c1d21 100644 --- a/_data/assets/gog-galaxy.json +++ b/_data/assets/gog-galaxy.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/gog-galaxy.json", - "author": "Marius Petcu", - "author_id": "bd277866e2bc8a45ebdddc0c39cfbeb9", + "author_id": "marius-petcu", "description": "Extension that implements achievements using GOG Galaxy SDK.", "id": "gog-galaxy", "images": { diff --git a/_data/assets/gooey.json b/_data/assets/gooey.json index 5a60d36df0..d8ccf39e4d 100644 --- a/_data/assets/gooey.json +++ b/_data/assets/gooey.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/gooey.json", - "author": "Björn Ritzl", - "author_id": "6c8581f7da8da7a5c9bb6ffe85f56420", + "author_id": "bjorn-ritzl", "description": "Gooey is a GUI system with buttons, checkbox, radio button, text input and list support.", "id": "gooey", "images": { diff --git a/_data/assets/googleanalytics.json b/_data/assets/googleanalytics.json index d3be85e8ea..47edd822e9 100644 --- a/_data/assets/googleanalytics.json +++ b/_data/assets/googleanalytics.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/googleanalytics.json", - "author": "Björn Ritzl", - "author_id": "6c8581f7da8da7a5c9bb6ffe85f56420", + "author_id": "bjorn-ritzl", "description": "A Lua implementation of Google Analytics using the Google Analytics Measurement Protocol.", "id": "googleanalytics", "images": { diff --git a/_data/assets/googleanalyticsforfirebase.json b/_data/assets/googleanalyticsforfirebase.json index bc7efa78f5..75c634c2a9 100644 --- a/_data/assets/googleanalyticsforfirebase.json +++ b/_data/assets/googleanalyticsforfirebase.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/googleanalyticsforfirebase.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "Google Analytics for Firebase provides free, unlimited reporting on distinct events. The SDK automatically captures certain key events and user properties, and you can define your own custom events to measure the things that uniquely matter to your game.", "id": "googleanalyticsforfirebase", "images": { diff --git a/_data/assets/googleplaygameservices.json b/_data/assets/googleplaygameservices.json index b2fc1f6b6f..20915bb849 100644 --- a/_data/assets/googleplaygameservices.json +++ b/_data/assets/googleplaygameservices.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/googleplaygameservices.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "Google Play games services provide a seamless zero-click sign-in system for players and a range of other ready-to-use features. This extension supports Achievements, Authentication, Cloud save, Events and Leaderboards", "id": "googleplaygameservices", "images": { diff --git a/_data/assets/googleplayinstant.json b/_data/assets/googleplayinstant.json index a59a83671c..f3973e0b0b 100644 --- a/_data/assets/googleplayinstant.json +++ b/_data/assets/googleplayinstant.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/googleplayinstant.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "With Google Play Instant, people can use your game without installing it first.", "id": "googleplayinstant", "images": { diff --git a/_data/assets/graphics-angle.json b/_data/assets/graphics-angle.json index 94e1de5d16..690637dba0 100644 --- a/_data/assets/graphics-angle.json +++ b/_data/assets/graphics-angle.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/graphics-angle.json", - "author": "Indiesoft LLC", - "author_id": "a0bfc7430b840873f242085ed47277c8", + "author_id": "indiesoft-llc", "description": "Windows-only graphics adapter that replaces OpenGL with ANGLE (OpenGL ES → Direct3D 9/11) to maximize compatibility and stability on legacy GPUs and problematic drivers.", "forum_url": "", "images": { diff --git a/_data/assets/gunit.json b/_data/assets/gunit.json index 35dc32defa..1e4d0b278f 100644 --- a/_data/assets/gunit.json +++ b/_data/assets/gunit.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/gunit.json", - "author": "Matt van der Westhuizen", - "author_id": "80565c2c453d9a250100fdc7fe0ceeba", + "author_id": "matt-van-der-westhuizen", "description": "Gunit is a unit testing framework for games.", "forum_url": "https://forum.defold.com/t/gunit-test-framework/80678", "images": { diff --git a/_data/assets/gyro.json b/_data/assets/gyro.json index ef9c97cb23..636ac948a4 100644 --- a/_data/assets/gyro.json +++ b/_data/assets/gyro.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/gyro.json", - "author": "Björn Ritzl", - "author_id": "6c8581f7da8da7a5c9bb6ffe85f56420", + "author_id": "bjorn-ritzl", "description": "Read gyroscope data", "id": "gyro", "images": { diff --git a/_data/assets/haxesupport.json b/_data/assets/haxesupport.json index a2ae8bcd26..6c9fb59fda 100644 --- a/_data/assets/haxesupport.json +++ b/_data/assets/haxesupport.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/haxesupport.json", - "author": "Dan Korostelev", - "author_id": "89f1bb284adf2936575f2378410be407", + "author_id": "dan-korostelev", "description": "This library allows writing beautiful Haxe code for the Defold game engine \\o/", "id": "haxesupport", "images": { diff --git a/_data/assets/horrifold.json b/_data/assets/horrifold.json index 56fd183c9b..0df05c76f8 100644 --- a/_data/assets/horrifold.json +++ b/_data/assets/horrifold.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/horrifold.json", - "author": "TheKing0x9", - "author_id": "911ae62ac524a12980cfceb44ad0f30d", + "author_id": "theking0x9", "description": "A Lo-Fi Horror shader.", "forum_url": "https://forum.defold.com/t/horri-fold-a-lo-fi-horror-shader-for-defold/70090", "images": { diff --git a/_data/assets/hypertrails.json b/_data/assets/hypertrails.json index fb61564457..74f5a31488 100644 --- a/_data/assets/hypertrails.json +++ b/_data/assets/hypertrails.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/hypertrails.json", - "author": "Indiesoft LLC", - "author_id": "a0bfc7430b840873f242085ed47277c8", + "author_id": "indiesoft-llc", "description": "Easy to use and customizable trail effect.", "id": "hypertrails", "images": { diff --git a/_data/assets/i18n-defold.json b/_data/assets/i18n-defold.json index 2908a600fd..c92bced933 100644 --- a/_data/assets/i18n-defold.json +++ b/_data/assets/i18n-defold.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/i18n-defold.json", - "author": "Chung Xa", - "author_id": "b6cf80bbb897b02ad11260ccfb89e0a2", + "author_id": "chung-xa", "description": "i18n for Defold", "forum_url": "", "images": { diff --git a/_data/assets/iac.json b/_data/assets/iac.json index 9a36f09ed7..054580e12c 100644 --- a/_data/assets/iac.json +++ b/_data/assets/iac.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/iac.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "Defold provides a unified, simple to use interface to get application invocation information such as deep links and install referrer.", "forum_url": "", "images": { diff --git a/_data/assets/iap.json b/_data/assets/iap.json index 1662e44728..227bc6f1a8 100644 --- a/_data/assets/iap.json +++ b/_data/assets/iap.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/iap.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "Defold provides a unified, simple to use interface to Apple’s iOS Appstore 'in-app purchases' and Google Play’s or Amazon’s 'in-app billing' on Android devices. Facebook Canvas 'game payments' are supported for Facebook Canvas.", "forum_url": "", "images": { diff --git a/_data/assets/illumination.json b/_data/assets/illumination.json index 6bbd6f9946..6cde1d0208 100644 --- a/_data/assets/illumination.json +++ b/_data/assets/illumination.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/illumination.json", - "author": "Roman Silin", - "author_id": "82dec81b3353206316cb7c95e847450f", + "author_id": "roman-silin", "description": "Ready-to-use forward shading lighting for 3D games. Just set the provided material to your mesh and place light sources on the scene.", "forum_url": "https://forum.defold.com/t/illumination-ready-to-use-forward-shading-lighting-for-3d-games/71465", "images": { diff --git a/_data/assets/imageloader.json b/_data/assets/imageloader.json index c600c6dfb0..668ff2d359 100644 --- a/_data/assets/imageloader.json +++ b/_data/assets/imageloader.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/imageloader.json", - "author": "Sergey Lerg", - "author_id": "1c2d3ba1c59d40a609cc44f1ca42b65c", + "author_id": "sergey-lerg", "description": "Loads JPG, PNG and other images efficiently into Buffer object.", "id": "imageloader", "images": { diff --git a/_data/assets/immutable.json b/_data/assets/immutable.json index de6f7e1eda..a2c459cdd9 100644 --- a/_data/assets/immutable.json +++ b/_data/assets/immutable.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/immutable.json", - "author": "Paweł Jarosz", - "author_id": "d54cdc4bc377adc6a3233368cc304107", + "author_id": "pawel-jarosz", "description": "Makes any Lua table runtime immutable (read-only).", "forum_url": "https://forum.defold.com/t/immutable-tables-open-source-lua-module/78221", "images": { diff --git a/_data/assets/imp.json b/_data/assets/imp.json index 199c0a919e..6a014b440f 100644 --- a/_data/assets/imp.json +++ b/_data/assets/imp.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/imp.json", - "author": "Björn Ritzl", - "author_id": "6c8581f7da8da7a5c9bb6ffe85f56420", + "author_id": "bjorn-ritzl", "description": "Image processing via convolution between a kernel and the image.", "id": "imp", "images": { diff --git a/_data/assets/ironsource.json b/_data/assets/ironsource.json index 7876d0c673..9b27123ab9 100644 --- a/_data/assets/ironsource.json +++ b/_data/assets/ironsource.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/ironsource.json", - "author": "Marat Gilyazov", - "author_id": "dd20e1afac0de345aeb2422a2f9743fd", + "author_id": "marat-gilyazov", "description": "Native extension with a partial implementation of the IronSource SDK", "id": "ironsource", "images": { diff --git a/_data/assets/kenney.json b/_data/assets/kenney.json index 60a260628d..e6c50a7f0c 100644 --- a/_data/assets/kenney.json +++ b/_data/assets/kenney.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/kenney.json", - "author": "Kenney Vleugels", - "author_id": "7e350361d86157dee7b4b2c60a3d1a9b", + "author_id": "kenney-vleugels", "description": "Over 30,000 game assets, all free to use in any project!", "id": "kenney", "images": { diff --git a/_data/assets/kinematicwalker.json b/_data/assets/kinematicwalker.json index 2c04b1d570..b311a79142 100644 --- a/_data/assets/kinematicwalker.json +++ b/_data/assets/kinematicwalker.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/kinematicwalker.json", - "author": "Roman Silin", - "author_id": "82dec81b3353206316cb7c95e847450f", + "author_id": "roman-silin", "description": "Kinematic character controller for 3D games. Tweakable, smooth and functional.", "forum_url": "https://forum.defold.com/t/kinematic-walker-character-movement-controller-for-3d-games/71160", "images": { diff --git a/_data/assets/levelplay.json b/_data/assets/levelplay.json index 8631f616bf..e2fd921c3e 100644 --- a/_data/assets/levelplay.json +++ b/_data/assets/levelplay.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/levelplay.json", - "author": "Defold", - "author_id": "7a2340205545b175e20f44488bd30a49", + "author_id": "defold-foundation", "description": "Official Defold native extension for Unity LevelPlay, an ad mediation and monetization platform for Android and iOS. It exposes an object-based Lua API for rewarded, interstitial and banner ads, supports multiple ad units, and provides configurable adapters for networks including Unity Ads, Google AdMob, AppLovin, Meta Audience Network, Pangle and Mintegral. LevelPlay combines real-time bidding and waterfall mediation with reporting, A/B testing and revenue-optimization tools. Version 2.0.0 replaces the legacy ironSource API with Unity LevelPlay SDK 9 and requires existing integrations to migrate to the levelplay namespace and [levelplay] configuration. Learn more about LevelPlay at https://unity.com/products/levelplay.", "forum_url": "https://forum.defold.com/t/unity-levelplay-native-extension-for-defold/83078", "id": "levelplay", diff --git a/_data/assets/library-defold-checkpoint.json b/_data/assets/library-defold-checkpoint.json index c8d3885e6e..2d50064dbf 100644 --- a/_data/assets/library-defold-checkpoint.json +++ b/_data/assets/library-defold-checkpoint.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/library-defold-checkpoint.json", - "author": "Klaleus", - "author_id": "7db5ded5ce8543616d6753f6ee8bf2b7", + "author_id": "klaleus", "description": "Checkpoint is a simple library for writing and reading data to and from files in a Defold game engine project.", "images": { "hero": "library-defold-checkpoint.png", diff --git a/_data/assets/lightandshadows.json b/_data/assets/lightandshadows.json index 92135252d9..0140bcceef 100644 --- a/_data/assets/lightandshadows.json +++ b/_data/assets/lightandshadows.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/lightandshadows.json", - "author": "Igor Suntsev", - "author_id": "8e8dcfd8ab030ee46c9efee57f492a9b", + "author_id": "igor-suntsev", "description": "Pack of shaders and scene setup examples.", "forum_url": "", "images": { diff --git a/_data/assets/live-unbundler.json b/_data/assets/live-unbundler.json index 9cf6964139..a4b0c6f970 100644 --- a/_data/assets/live-unbundler.json +++ b/_data/assets/live-unbundler.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/live-unbundler.json", - "author": "HGPoint", - "author_id": "df43ce0658a20ceebcdfab1b6e54c9aa", + "author_id": "hgpoint", "description": "Defold Live Unbundler is a Live Update helper for splitting large archives into smaller dependency-aware chunks, hosting them alongside an HTML5 build, and downloading and mounting them dynamically at runtime.", "forum_url": "", "images": { diff --git a/_data/assets/log.json b/_data/assets/log.json index 0ff13f6a52..45b96799d5 100644 --- a/_data/assets/log.json +++ b/_data/assets/log.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/log.json", - "author": "Brian Kramer", - "author_id": "4e5137947a2d2210327998871d8dd3c7", + "author_id": "brian-kramer", "description": "General purpose logging.", "id": "log", "images": { diff --git a/_data/assets/lowrezjamtemplate.json b/_data/assets/lowrezjamtemplate.json index 3f866d54c7..0cffec04d5 100644 --- a/_data/assets/lowrezjamtemplate.json +++ b/_data/assets/lowrezjamtemplate.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/lowrezjamtemplate.json", - "author": "Björn Ritzl", - "author_id": "6c8581f7da8da7a5c9bb6ffe85f56420", + "author_id": "bjorn-ritzl", "description": "Template project for creation of low-res pixel art games", "id": "lowrezjamtemplate", "images": { diff --git a/_data/assets/lpeg.json b/_data/assets/lpeg.json index e20c5f3447..95923b55f1 100644 --- a/_data/assets/lpeg.json +++ b/_data/assets/lpeg.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/lpeg.json", - "author": "Roman Silin", - "author_id": "82dec81b3353206316cb7c95e847450f", + "author_id": "roman-silin", "description": "LPeg is a pattern-matching library by Roberto Ierusalimschy based on Parsing Expression Grammars (PEGs).", "forum_url": "https://forum.defold.com/t/lpeg-a-pattern-matching-library/65654", "images": { diff --git a/_data/assets/lua-language-server.json b/_data/assets/lua-language-server.json index 7b8b3ea9f9..418685d726 100644 --- a/_data/assets/lua-language-server.json +++ b/_data/assets/lua-language-server.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/lua-language-server.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "Lua language server for integration with the Defold editor. Adds syntax checking, workspace diagnostics and more.", "id": "lua-language-server", "images": { diff --git a/_data/assets/luafilesystemlfs.json b/_data/assets/luafilesystemlfs.json index 9fe00b783d..efec12579f 100644 --- a/_data/assets/luafilesystemlfs.json +++ b/_data/assets/luafilesystemlfs.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/luafilesystemlfs.json", - "author": "Björn Ritzl", - "author_id": "6c8581f7da8da7a5c9bb6ffe85f56420", + "author_id": "bjorn-ritzl", "description": "LuaFileSystem offers a portable way to access the underlying directory structure and file attributes.", "id": "luafilesystemlfs", "images": { diff --git a/_data/assets/lualocade.json b/_data/assets/lualocade.json index 3ca0540777..6d9a447dbc 100644 --- a/_data/assets/lualocade.json +++ b/_data/assets/lualocade.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/lualocade.json", - "author": "Mantyi Studio (Nava)", - "author_id": "319329842bb0b5c7721b7623d1e4fdd9", + "author_id": "mantyi-studio-nava", "description": "Localize your game/app on Defold using this autotranslator with convenient localization json files that supports entries.", "forum_url": "https://forum.defold.com/t/lualocade-auto-text-localizer/77818", "images": { diff --git a/_data/assets/luascriptinstance.json b/_data/assets/luascriptinstance.json index bdc8ae6c66..c70cac3218 100644 --- a/_data/assets/luascriptinstance.json +++ b/_data/assets/luascriptinstance.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/luascriptinstance.json", - "author": "Dan Engelbrecht", - "author_id": "37439e81e674b7c8578f8d767e8873c4", + "author_id": "dan-engelbrecht", "description": "Library to expose access for getting and setting the current script instance.", "id": "luascriptinstance", "images": { diff --git a/_data/assets/luasocket.json b/_data/assets/luasocket.json index 1ac96b0368..f3dc147355 100644 --- a/_data/assets/luasocket.json +++ b/_data/assets/luasocket.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/luasocket.json", - "author": "Björn Ritzl", - "author_id": "6c8581f7da8da7a5c9bb6ffe85f56420", + "author_id": "bjorn-ritzl", "description": "The missing LuaSocket .lua files, modified to play nicely with Defold.", "id": "luasocket", "images": { diff --git a/_data/assets/m.json b/_data/assets/m.json index ca47f5e076..0c0cb43550 100644 --- a/_data/assets/m.json +++ b/_data/assets/m.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/m.json", - "author": "wistpotion (Isabelle Fougner Axrup)", - "author_id": "821c90fb2ef546027b325a442d98de65", + "author_id": "wistpotion-isabelle-fougner-axrup", "description": "A module for creating hot-reloadable modules in Defold.", "forum_url": "", "images": { diff --git a/_data/assets/magiclinker.json b/_data/assets/magiclinker.json index da43a78bb3..58be703386 100644 --- a/_data/assets/magiclinker.json +++ b/_data/assets/magiclinker.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/magiclinker.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "Magic Link is a simple game where the goal is to connect a set of magic spheres.", "id": "magiclinker", "images": { diff --git a/_data/assets/matchanovel.json b/_data/assets/matchanovel.json index c44627a1fd..5d8a089168 100644 --- a/_data/assets/matchanovel.json +++ b/_data/assets/matchanovel.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/matchanovel.json", - "author": "Halfstar", - "author_id": "68ed918a501621d514774348f2d99f90", + "author_id": "halfstar", "description": "MatchaNovel is an open source multiplatform engine for narrative works, like visual novels and adventure games.", "forum_url": "https://forum.defold.com/t/matchanovel-visual-novel-engine-narration-framework/71473", "images": { diff --git a/_data/assets/md5.json b/_data/assets/md5.json index d6d799cf01..75b910d6c0 100644 --- a/_data/assets/md5.json +++ b/_data/assets/md5.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/md5.json", - "author": "Moon Active", - "author_id": "98a13e15bcbbfaaad8049cd6b09e87f1", + "author_id": "moon-active", "description": "This Extension allows you calculate MD5 in native from string", "id": "md5", "images": { diff --git a/_data/assets/minit-sdk.json b/_data/assets/minit-sdk.json index 5cd65f1f9f..eb9582ad6a 100644 --- a/_data/assets/minit-sdk.json +++ b/_data/assets/minit-sdk.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/minit-sdk.json", - "author": "Minit Games", - "author_id": "f7d71deae508c5b674dda314b6b6cbb8", + "author_id": "minit-games", "description": "Minit SDK for Defold\nIntegrate your Defold game with the Minit Games platform. Minit runs HTML5 games inside a mobile app WebView and on shareable play pages. This SDK is the thin Lua facade your game calls to talk to the Minit host: reveal the game when it's ready, report results, read per-game config, and persist player save data.", "forum_url": "", "images": { diff --git a/_data/assets/mirastate.json b/_data/assets/mirastate.json index a80ec0db4d..94d2477d05 100644 --- a/_data/assets/mirastate.json +++ b/_data/assets/mirastate.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/mirastate.json", - "author": "kazupon", - "author_id": "1a9bc458b6804251afef69c23d9bad95", + "author_id": "kazupon", "description": "Hierarchical State Machine.", "forum_url": "", "images": { diff --git a/_data/assets/moku.json b/_data/assets/moku.json index e8797746b0..4f9a003168 100644 --- a/_data/assets/moku.json +++ b/_data/assets/moku.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/moku.json", - "author": "Daka Sha", - "author_id": "aecd79718c652bcb46658715d4a7ae55", + "author_id": "daka-sha", "description": "Map utility/module for tilemaps", "id": "moku", "images": { diff --git a/_data/assets/monarch.json b/_data/assets/monarch.json index f4459d226d..52f31d925f 100644 --- a/_data/assets/monarch.json +++ b/_data/assets/monarch.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/monarch.json", - "author": "Björn Ritzl", - "author_id": "6c8581f7da8da7a5c9bb6ffe85f56420", + "author_id": "bjorn-ritzl", "description": "Advanced screen manager with popup and transition support.", "id": "monarch", "images": { diff --git a/_data/assets/nakama.json b/_data/assets/nakama.json index 4f0f06054d..7a3142cd68 100644 --- a/_data/assets/nakama.json +++ b/_data/assets/nakama.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/nakama.json", - "author": "Heroic Labs", - "author_id": "ffb80685a055de9b8d1c05bc9cfce024", + "author_id": "heroic-labs", "description": "Nakama is an open-source server designed to power modern games and apps. Features include user accounts, chat, social, matchmaker, realtime multiplayer, and much more. This client implements the full API and socket options with the server.", "id": "nakama", "images": { diff --git a/_data/assets/narrator.json b/_data/assets/narrator.json index 21b25758a4..6ccfaad10d 100644 --- a/_data/assets/narrator.json +++ b/_data/assets/narrator.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/narrator.json", - "author": "Roman Silin", - "author_id": "82dec81b3353206316cb7c95e847450f", + "author_id": "roman-silin", "description": "The Ink language runtime. Narrator allows to convert Ink scripts to the book and play it as a story. Suitable for interactive fiction games, dialogues and complex narrative stories. Requires the LPeg extension.", "forum_url": "https://forum.defold.com/t/narrator-the-ink-narrative-scripting-language-runtime/65653", "images": { diff --git a/_data/assets/nativetext.json b/_data/assets/nativetext.json index 01d6cf5ac8..c68242fe7d 100644 --- a/_data/assets/nativetext.json +++ b/_data/assets/nativetext.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/nativetext.json", - "author": "Sergey Lerg", - "author_id": "1c2d3ba1c59d40a609cc44f1ca42b65c", + "author_id": "sergey-lerg", "description": "Native Text Rendering extension for Defold.", "id": "extensionnativetext", "images": { diff --git a/_data/assets/navgo.json b/_data/assets/navgo.json index 549f5d133e..2f5dbb5eea 100644 --- a/_data/assets/navgo.json +++ b/_data/assets/navgo.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/navgo.json", - "author": "gameoffate2018", - "author_id": "dae099b9d61fe3947bfbc22568b31b21", + "author_id": "gameoffate2018", "description": "NavGO is an easy to use path finding tool meant for use when tile map based path finding is just not possible or is to complicated for the project at hand.", "forum_url": "", "images": { diff --git a/_data/assets/openal.json b/_data/assets/openal.json index 03e21f4f0b..e3c1202dfc 100644 --- a/_data/assets/openal.json +++ b/_data/assets/openal.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/openal.json", - "author": "Sergey Lerg", - "author_id": "1c2d3ba1c59d40a609cc44f1ca42b65c", + "author_id": "sergey-lerg", "description": "Provides 3D audio, pitch control and more.", "id": "openal", "images": { diff --git a/_data/assets/operator.json b/_data/assets/operator.json index 1cf8721b94..3c664a2ed3 100644 --- a/_data/assets/operator.json +++ b/_data/assets/operator.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/operator.json", - "author": "Roman Silin", - "author_id": "82dec81b3353206316cb7c95e847450f", + "author_id": "roman-silin", "description": "Camera movement controller for 3D games. Tweakable, smooth and cinematic.", "forum_url": "https://forum.defold.com/t/operator-camera-movement-controller-for-3d-games/71094", "images": { diff --git a/_data/assets/orthographic.json b/_data/assets/orthographic.json index 78b7222bed..13907ed9a6 100644 --- a/_data/assets/orthographic.json +++ b/_data/assets/orthographic.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/orthographic.json", - "author": "Björn Ritzl", - "author_id": "6c8581f7da8da7a5c9bb6ffe85f56420", + "author_id": "bjorn-ritzl", "description": "The Orthographic Camera API makes it super easy to convert screen to world coordinates, smoothly follow a game object and create a screen shake effect.", "id": "orthographic", "images": { diff --git a/_data/assets/pack.json b/_data/assets/pack.json index 8a359de23c..3fef76bade 100644 --- a/_data/assets/pack.json +++ b/_data/assets/pack.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/pack.json", - "author": "Brian Kramer", - "author_id": "4e5137947a2d2210327998871d8dd3c7", + "author_id": "brian-kramer", "description": "Compress, decompress, and obfuscate table data.", "id": "pack", "images": { diff --git a/_data/assets/page-visibility.json b/_data/assets/page-visibility.json index 2a1197cfdd..6df69963c8 100644 --- a/_data/assets/page-visibility.json +++ b/_data/assets/page-visibility.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/page-visibility.json", - "author": "Indiesoft LLC", - "author_id": "a0bfc7430b840873f242085ed47277c8", + "author_id": "indiesoft-llc", "description": "HTML5 extension that provides Page Visibility API integration for Defold games, allowing developers to detect when the page is visible or hidden and pause/resume game systems accordingly. This creates a better user experience compared to window focus/blur events, especially for games embedded in iframes.", "forum_url": "", "images": { diff --git a/_data/assets/panthera.json b/_data/assets/panthera.json index ffb1ba7714..eb0f1b7242 100644 --- a/_data/assets/panthera.json +++ b/_data/assets/panthera.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/panthera.json", - "author": "Insality", - "author_id": "fdec556e51a2ad846db08b8ba0ae3b86", + "author_id": "insality", "description": "Panthera Software - give you the huge speed up at Defold animation flow even with more accuracy! You not required to do animations via code and run the game every change to see the changes. Make animations and export it via code right into the game!", "external_actions": [ { diff --git a/_data/assets/panthera20.json b/_data/assets/panthera20.json index 01243a3688..6709a2f611 100644 --- a/_data/assets/panthera20.json +++ b/_data/assets/panthera20.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/panthera20.json", - "author": "Insality", - "author_id": "fdec556e51a2ad846db08b8ba0ae3b86", + "author_id": "insality", "description": "Panthera Animation Software Runtime for Defold Game Engine. Allows to play and conrol animations created with Panthera Editor for any part of your game.", "external_actions": [ { diff --git a/_data/assets/pcg-random.json b/_data/assets/pcg-random.json index e4996672a3..1b20a0e28d 100644 --- a/_data/assets/pcg-random.json +++ b/_data/assets/pcg-random.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/pcg-random.json", - "author": "Sergey Lerg", - "author_id": "1c2d3ba1c59d40a609cc44f1ca42b65c", + "author_id": "sergey-lerg", "description": "PCG Random Number Generator Extension for Defold wraps PCG, A Family of Better Random Number Generators. C implementation v0.98.", "forum_url": "", "images": { diff --git a/_data/assets/pcgrandom.json b/_data/assets/pcgrandom.json index c911d6b40b..9db62d714a 100644 --- a/_data/assets/pcgrandom.json +++ b/_data/assets/pcgrandom.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/pcgrandom.json", - "author": "Selim Anaç", - "author_id": "6100d3b33dfe49f042484ab76af0781e", + "author_id": "selim-anac", "description": "PCG Random Number Generator Native Extension for Defold. This extension allows you to generate random numbers using minimal C implementation of PCG (Permuted Congruential Generator) - a family of fast, space-efficient, and statistically high-quality pseudo-random number generators.", "external_actions": [ { diff --git a/_data/assets/perspectiveparallax.json b/_data/assets/perspectiveparallax.json index b6188b9d91..3f77177ed8 100644 --- a/_data/assets/perspectiveparallax.json +++ b/_data/assets/perspectiveparallax.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/perspectiveparallax.json", - "author": "Agustin R.", - "author_id": "3d50d039c078a00ce00628af22d57540", + "author_id": "agustin-r", "description": "Perspective parallax sample project.", "id": "perspectiveparallax", "images": { diff --git a/_data/assets/photon-realtime.json b/_data/assets/photon-realtime.json index 85af6f2ce1..c4e139c2ca 100644 --- a/_data/assets/photon-realtime.json +++ b/_data/assets/photon-realtime.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/photon-realtime.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "Photon Realtime offers powerful tools for creating multiplayer games and advanced networked experiences.", "description_long": "Photon Realtime offers powerful tools for creating multiplayer games and advanced networked experiences through the Photon Realtime SDK. It provides scalable solutions for essential features such as authentication, matchmaking, and fast, reliable communication.", "id": "photon-realtime", diff --git a/_data/assets/photoshopguiexporter.json b/_data/assets/photoshopguiexporter.json index c5c4f81187..7aab433275 100644 --- a/_data/assets/photoshopguiexporter.json +++ b/_data/assets/photoshopguiexporter.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/photoshopguiexporter.json", - "author": "Martin Dahlin", - "author_id": "632b18be12f2cbb244b078d81be741e3", + "author_id": "martin-dahlin", "description": "Take a GUI design and layout from Photoshop and turn it into a GUI scene (.gui) in Defold.", "id": "photoshopguiexporter", "images": { diff --git a/_data/assets/physics-tools.json b/_data/assets/physics-tools.json index ad0d0c67f9..288714dc87 100644 --- a/_data/assets/physics-tools.json +++ b/_data/assets/physics-tools.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/physics-tools.json", - "author": "Indiesoft LLC", - "author_id": "a0bfc7430b840873f242085ed47277c8", + "author_id": "indiesoft-llc", "description": "Editor scripts to generate Defold physics shapes from 2D images. Includes a convex hull generator (up to 16 vertices) and a concave silhouette chain generator (built from thin boxes).", "forum_url": "https://forum.defold.com/t/physics-tools-generate-convex-shapes-and-concave-silhouette-chains-of-boxes/82400", "images": { diff --git a/_data/assets/pigeon.json b/_data/assets/pigeon.json index 3e5bc07102..8722320b04 100644 --- a/_data/assets/pigeon.json +++ b/_data/assets/pigeon.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/pigeon.json", - "author": "Paweł Jarosz", - "author_id": "d54cdc4bc377adc6a3233368cc304107", + "author_id": "pawel-jarosz", "description": "Easily and safely manage posting messages in Defold.", "forum_url": "https://forum.defold.com/t/pigeon-easy-and-safe-messaging-library-for-defold/73187", "images": { diff --git a/_data/assets/platformertutorial.json b/_data/assets/platformertutorial.json index 63a8fd655a..2dfb6966d8 100644 --- a/_data/assets/platformertutorial.json +++ b/_data/assets/platformertutorial.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/platformertutorial.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "The complete code and assets for the official Platformer tutorial.", "id": "platformertutorial", "images": { diff --git a/_data/assets/platypus.json b/_data/assets/platypus.json index f40f8ffe3d..d3ddf80df6 100644 --- a/_data/assets/platypus.json +++ b/_data/assets/platypus.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/platypus.json", - "author": "Björn Ritzl", - "author_id": "6c8581f7da8da7a5c9bb6ffe85f56420", + "author_id": "bjorn-ritzl", "description": "2D Platformer engine", "id": "platypus", "images": { diff --git a/_data/assets/playable-ads.json b/_data/assets/playable-ads.json index e08f18248e..805a066372 100644 --- a/_data/assets/playable-ads.json +++ b/_data/assets/playable-ads.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/playable-ads.json", - "author": "Indiesoft LLC", - "author_id": "a0bfc7430b840873f242085ed47277c8", + "author_id": "indiesoft-llc", "description": "A ready-to-use tool to develop and build playable ads with Defold.", "forum_url": "https://forum.defold.com/t/defold-for-playable-ads/68689", "images": { diff --git a/_data/assets/player2.json b/_data/assets/player2.json index 68bc36c7b9..117f0298c1 100644 --- a/_data/assets/player2.json +++ b/_data/assets/player2.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/player2.json", - "author": "Elefant AI", - "author_id": "8705a019e13aba03ecb45fd3a24468e1", + "author_id": "elefant-ai", "description": "The Official Player2 AI NPC Plugin for Defold. The Player 2 AI NPC Defold plugin allows developers to easily create AI NPCs in their Defold projects.", "forum_url": "", "images": { diff --git a/_data/assets/playfabsdk.json b/_data/assets/playfabsdk.json index 6f1cff3ce7..151081fcf6 100644 --- a/_data/assets/playfabsdk.json +++ b/_data/assets/playfabsdk.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/playfabsdk.json", - "author": "PlayFab", - "author_id": "c3763cd89322b14d2e915429a74710c1", + "author_id": "playfab", "description": "PlayFab is a complete backend platform for live games.", "id": "playfabsdk", "images": { diff --git a/_data/assets/playgama-bridge.json b/_data/assets/playgama-bridge.json index 2a657a5d08..86d50d0430 100644 --- a/_data/assets/playgama-bridge.json +++ b/_data/assets/playgama-bridge.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/playgama-bridge.json", - "author": "Playgama", - "author_id": "fef042de4dda67920cac30094e5feaea", + "author_id": "playgama", "description": "Unified SDK for publishing HTML5 games across multiple platforms", "forum_url": "", "images": { diff --git a/_data/assets/pointer-lock.json b/_data/assets/pointer-lock.json index 53a76ce441..83abcc1653 100644 --- a/_data/assets/pointer-lock.json +++ b/_data/assets/pointer-lock.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/pointer-lock.json", - "author": "Indiesoft LLC", - "author_id": "a0bfc7430b840873f242085ed47277c8", + "author_id": "indiesoft-llc", "description": "Mouse locking, cursor UI and mouselook for first-person 3D games made with Defold.", "forum_url": "https://forum.defold.com/t/pointer-lock-for-defold/69423", "images": { diff --git a/_data/assets/poki.json b/_data/assets/poki.json index aeb3bf86e7..a440242aa8 100644 --- a/_data/assets/poki.json +++ b/_data/assets/poki.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/poki.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "Poki SDK native extension for Defold game engine", "forum_url": "https://forum.defold.com/t/poki-sdk-native-extension-for-defold/67019", "images": { diff --git a/_data/assets/pp.json b/_data/assets/pp.json index 99ed11d939..441cc774aa 100644 --- a/_data/assets/pp.json +++ b/_data/assets/pp.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/pp.json", - "author": "Planetary Processing Ltd", - "author_id": "865340fc7cff2508e3a694759d5e9732", + "author_id": "planetary-processing-ltd", "description": "A multiplayer toolkit, for creating and hosting online games. From MMOs, to team shooters, to party games!", "forum_url": "", "images": { diff --git a/_data/assets/printer.json b/_data/assets/printer.json index 5c840fc5dd..b4727ace5b 100644 --- a/_data/assets/printer.json +++ b/_data/assets/printer.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/printer.json", - "author": "Maxim Tuprikov", - "author_id": "1b1571ed4750bae48c69aa21ab265ef2", + "author_id": "insality", "description": "A symbol-by-symbol text writer for rich game dialogs.", "id": "printer", "images": { diff --git a/_data/assets/prometheus.json b/_data/assets/prometheus.json index a90f35ca41..cadc2f8e7d 100644 --- a/_data/assets/prometheus.json +++ b/_data/assets/prometheus.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/prometheus.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "Lua obfuscation using Prometheus.", "id": "prometheus", "images": { diff --git a/_data/assets/protobuf.json b/_data/assets/protobuf.json index 17bb3a083c..d69b3db534 100644 --- a/_data/assets/protobuf.json +++ b/_data/assets/protobuf.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/protobuf.json", - "author": "Moon Active", - "author_id": "98a13e15bcbbfaaad8049cd6b09e87f1", + "author_id": "moon-active", "description": "This extension allow you work with google protobuf protocol (files .proto), encode and decode them.", "id": "protobuf", "images": { diff --git a/_data/assets/push.json b/_data/assets/push.json index b1d6e0b5be..826c4f2a87 100644 --- a/_data/assets/push.json +++ b/_data/assets/push.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/push.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "Push notifications are available on iOS and Android (Google using Firebase Cloud Messaging) devices as a native extension and allow your game to inform the player about changes and updates.", "id": "push", "images": { diff --git a/_data/assets/qrcode.json b/_data/assets/qrcode.json index bd1b1b1b41..354c3f8b6e 100644 --- a/_data/assets/qrcode.json +++ b/_data/assets/qrcode.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/qrcode.json", - "author": "Mathias Westerdahl", - "author_id": "ef6d5c21d75557d414343ab7c1bd79da", + "author_id": "mathias-westerdahl", "description": "Encode and decode QR codes", "id": "qrcode", "images": { diff --git a/_data/assets/quickbutton.json b/_data/assets/quickbutton.json index a16acf1fef..3e411ab834 100644 --- a/_data/assets/quickbutton.json +++ b/_data/assets/quickbutton.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/quickbutton.json", - "author": "Gr. Scrits", - "author_id": "916199871deaf531dba29563cbf1ca2a", + "author_id": "gr-scrits", "description": "With QuickButton, you can simply send a single line message to have a button created", "id": "quickbutton", "images": { diff --git a/_data/assets/rand16.json b/_data/assets/rand16.json index 66bfe8e252..1d06ceaddd 100644 --- a/_data/assets/rand16.json +++ b/_data/assets/rand16.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/rand16.json", - "author": "haruka", - "author_id": "b450788dc032917ae79b28cd5423ff68", + "author_id": "haruka", "description": "rand16 is a 16bit pseudorandom number generator.", "id": "rand16", "images": { diff --git a/_data/assets/reforge.json b/_data/assets/reforge.json index fb37686135..ff4898ad16 100644 --- a/_data/assets/reforge.json +++ b/_data/assets/reforge.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/reforge.json", - "author": "Alexander Bulatov", - "author_id": "767b929084b257a4b4b42bfa5dfbb614", + "author_id": "alexander-bulatov", "description": "Blender add-on for exporting scenes into a Defold project.", "description_long": "Exports scenes to a Defold project as:\n\n.glb meshes\n.model files (supports multiple materials)\n.go prefabs (created once, never overwritten)\n.collection scene file (instances grouped under embedded root)", "forum_url": "https://forum.defold.com/t/reforge-defold-scene-exporter-blender-add-on/82254", diff --git a/_data/assets/resource-encryption.json b/_data/assets/resource-encryption.json index f5635918c8..18c755f790 100644 --- a/_data/assets/resource-encryption.json +++ b/_data/assets/resource-encryption.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/resource-encryption.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "Resource Encryption plugin which can be used as the starting point for your own encryption of game archives.", "id": "resource-encryption", "images": { diff --git a/_data/assets/reszip.json b/_data/assets/reszip.json index 2cc55811d3..dc309f85d7 100644 --- a/_data/assets/reszip.json +++ b/_data/assets/reszip.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/reszip.json", - "author": "Indiesoft LLC", - "author_id": "a0bfc7430b840873f242085ed47277c8", + "author_id": "indiesoft-llc", "description": "Use Defold's Live Update to improve the loading speed of the HTML5 games.", "forum_url": "https://forum.defold.com/t/use-live-update-to-improve-load-speed-of-html5-game/67686", "images": { diff --git a/_data/assets/review.json b/_data/assets/review.json index 43f804cb86..59f8961564 100644 --- a/_data/assets/review.json +++ b/_data/assets/review.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/review.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "Use native iOS and Android ratings and reviews window.", "id": "review", "images": { diff --git a/_data/assets/richtext.json b/_data/assets/richtext.json index c0800ddbfa..32c268cb33 100644 --- a/_data/assets/richtext.json +++ b/_data/assets/richtext.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/richtext.json", - "author": "Björn Ritzl", - "author_id": "6c8581f7da8da7a5c9bb6ffe85f56420", + "author_id": "bjorn-ritzl", "description": "A system to create styled text based on an HTML inspired markup language", "id": "richtext", "images": { diff --git a/_data/assets/rive.json b/_data/assets/rive.json index 20dd48ca15..ca94b4aa76 100644 --- a/_data/assets/rive.json +++ b/_data/assets/rive.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/rive.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "Rive is a real-time interactive design and animation tool by Rive Inc. Use Rive to create vector based motion graphics for use in Defold.", "id": "extension-rive", "images": { diff --git a/_data/assets/rustore-appupdate.json b/_data/assets/rustore-appupdate.json index 4aac4072e7..05437ae9f6 100644 --- a/_data/assets/rustore-appupdate.json +++ b/_data/assets/rustore-appupdate.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/rustore-appupdate.json", - "author": "RuStore", - "author_id": "4a486afa64c3d214a96ac7b81b50d17e", + "author_id": "rustore", "description": "RuStore Defold plugin for updating the application.", "forum_url": "", "images": { diff --git a/_data/assets/rustore-billing.json b/_data/assets/rustore-billing.json index 1357a37119..f3a9fa8f95 100644 --- a/_data/assets/rustore-billing.json +++ b/_data/assets/rustore-billing.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/rustore-billing.json", - "author": "RuStore", - "author_id": "4a486afa64c3d214a96ac7b81b50d17e", + "author_id": "rustore", "description": "RuStore Defold plugin for accepting payments through third-party applications.", "forum_url": "", "images": { diff --git a/_data/assets/rustore-push.json b/_data/assets/rustore-push.json index f1dbb5f4c1..a6e127d94f 100644 --- a/_data/assets/rustore-push.json +++ b/_data/assets/rustore-push.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/rustore-push.json", - "author": "RuStore", - "author_id": "4a486afa64c3d214a96ac7b81b50d17e", + "author_id": "rustore", "description": "Defold native extension for RuStore push notifications.", "forum_url": "", "images": { diff --git a/_data/assets/rustore-remoteconfig.json b/_data/assets/rustore-remoteconfig.json index 394989b68e..5ad0de9693 100644 --- a/_data/assets/rustore-remoteconfig.json +++ b/_data/assets/rustore-remoteconfig.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/rustore-remoteconfig.json", - "author": "RuStore", - "author_id": "4a486afa64c3d214a96ac7b81b50d17e", + "author_id": "rustore", "description": "RuStore Defold plugin for working with the application configuration cloud service.", "forum_url": "", "images": { diff --git a/_data/assets/rustore-review.json b/_data/assets/rustore-review.json index f152ad1e6d..0c7b241068 100644 --- a/_data/assets/rustore-review.json +++ b/_data/assets/rustore-review.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/rustore-review.json", - "author": "RuStore", - "author_id": "4a486afa64c3d214a96ac7b81b50d17e", + "author_id": "rustore", "description": "RuStore Defold plugin for ratings and reviews", "forum_url": "", "images": { diff --git a/_data/assets/safearea.json b/_data/assets/safearea.json index 47f2f900f1..aa3afd9e0d 100644 --- a/_data/assets/safearea.json +++ b/_data/assets/safearea.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/safearea.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "Safe Area helps you place your UI within the visible portion of the overall interface to avoid UI being obscured by the notch or interfere with the home status indicator or status bar.", "forum_url": "", "id": "safearea", diff --git a/_data/assets/scene3d.json b/_data/assets/scene3d.json index fe464e3550..27b4a0a60b 100644 --- a/_data/assets/scene3d.json +++ b/_data/assets/scene3d.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/scene3d.json", - "author": "Indiesoft LLC", - "author_id": "a0bfc7430b840873f242085ed47277c8", + "author_id": "indiesoft-llc", "description": "It's a collection of assets to help you developing 3D games with the Defold game engine. Use included prefabs to quickly prototype structures, levels, and to test game mechanics. Try out ideas quickly!", "images": { "hero": "https://github.com/indiesoftby/defold-scene3d/raw/main/cover.jpg", diff --git a/_data/assets/scml-parser.json b/_data/assets/scml-parser.json index a274f5949e..fa503ec2cd 100644 --- a/_data/assets/scml-parser.json +++ b/_data/assets/scml-parser.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/scml-parser.json", - "author": "Evandro Costa", - "author_id": "f48a4960505d289f004b2c92e00e482e", + "author_id": "evandro-costa", "description": "SCML Parser is a tool to import Spriter .scml animations directly into Defold as .collection files.", "forum_url": "https://forum.defold.com/t/release-scmlparser-spriter-scml-animation-support-for-defold/80673", "images": { diff --git a/_data/assets/screenshot.json b/_data/assets/screenshot.json index 9834b40b40..00c60eb21a 100644 --- a/_data/assets/screenshot.json +++ b/_data/assets/screenshot.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/screenshot.json", - "author": "Björn Ritzl", - "author_id": "6c8581f7da8da7a5c9bb6ffe85f56420", + "author_id": "bjorn-ritzl", "description": "Take full or partial screenshots as PNG, buffer or raw pixels.", "id": "screenshot", "images": { diff --git a/_data/assets/sentinel.json b/_data/assets/sentinel.json index 9cdb5d1eb4..9a7b90ce5b 100644 --- a/_data/assets/sentinel.json +++ b/_data/assets/sentinel.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/sentinel.json", - "author": "Indiesoft LLC", - "author_id": "a0bfc7430b840873f242085ed47277c8", + "author_id": "indiesoft-llc", "description": "Unofficial Sentry.io SDK for Defold to monitor and track Lua code errors.", "images": { "hero": "https://github.com/indiesoftby/defold-sentinel/raw/main/cover.jpg", diff --git a/_data/assets/sfmt.json b/_data/assets/sfmt.json index 28c23a2b9b..33538aad18 100644 --- a/_data/assets/sfmt.json +++ b/_data/assets/sfmt.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/sfmt.json", - "author": "Sergey Lerg", - "author_id": "1c2d3ba1c59d40a609cc44f1ca42b65c", + "author_id": "sergey-lerg", "description": "SFMT Random Number Generator Extension for Defold wraps SIMD-oriented Fast Mersenne Twister (SFMT) random number generator v1.5.1.", "forum_url": "", "images": { diff --git a/_data/assets/share.json b/_data/assets/share.json index efa61e6668..24527ac272 100644 --- a/_data/assets/share.json +++ b/_data/assets/share.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/share.json", - "author": "Björn Ritzl", - "author_id": "6c8581f7da8da7a5c9bb6ffe85f56420", + "author_id": "bjorn-ritzl", "description": "Share application data using native sharing dialogs.", "id": "share", "images": { diff --git a/_data/assets/sharpsprite.json b/_data/assets/sharpsprite.json index fba79bc027..1f5a93c875 100644 --- a/_data/assets/sharpsprite.json +++ b/_data/assets/sharpsprite.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/sharpsprite.json", - "author": "Indiesoft LLC", - "author_id": "a0bfc7430b840873f242085ed47277c8", + "author_id": "indiesoft-llc", "description": "Rotated Grid Super-Sampling (RGSS) for the Defold engine.", "forum_url": "https://forum.defold.com/t/sharp-sprite-rgss-for-defold/66840", "images": { diff --git a/_data/assets/sidescrollertutorialfromscratch.json b/_data/assets/sidescrollertutorialfromscratch.json index 4d4827ca75..103cdb0f6e 100644 --- a/_data/assets/sidescrollertutorialfromscratch.json +++ b/_data/assets/sidescrollertutorialfromscratch.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/sidescrollertutorialfromscratch.json", - "author": "Jérôme Barbier", - "author_id": "68009f7dd783cd9d10e1842e618d82e2", + "author_id": "jerome-barbier", "description": "This tutorial is a humble attempt to deconstruct the Side Scroller Tutorial.", "id": "sidescrollertutorialfromscratch", "images": { diff --git a/_data/assets/simplex-noise.json b/_data/assets/simplex-noise.json index 1d4009ef3d..ee625454a2 100644 --- a/_data/assets/simplex-noise.json +++ b/_data/assets/simplex-noise.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/simplex-noise.json", - "author": "Indiesoft LLC", - "author_id": "a0bfc7430b840873f242085ed47277c8", + "author_id": "indiesoft-llc", "description": "Functions to generate Simplex noise, a fast successor to Perlin noise, suitable for textures, animation, terrain generation, and more.", "forum_url": "", "images": { diff --git a/_data/assets/siwa.json b/_data/assets/siwa.json index 1cbcf29e61..50c1336870 100644 --- a/_data/assets/siwa.json +++ b/_data/assets/siwa.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/siwa.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "Sign in with Apple makes it easy for users to sign in to your apps and websites using their Apple ID.", "id": "siwa", "images": { diff --git a/_data/assets/slasherprototype.json b/_data/assets/slasherprototype.json index d86ad5f6b5..26cd52ca64 100644 --- a/_data/assets/slasherprototype.json +++ b/_data/assets/slasherprototype.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/slasherprototype.json", - "author": "Igor Suntsev", - "author_id": "8e8dcfd8ab030ee46c9efee57f492a9b", + "author_id": "igor-suntsev", "description": "Game prototype. 2.5D perspective view. Levels loader, the hero controller, monsters and basic AI logic.", "id": "slasherprototype", "images": { diff --git a/_data/assets/sparkle-shader.json b/_data/assets/sparkle-shader.json index 7dfbae7ad3..1a674461da 100644 --- a/_data/assets/sparkle-shader.json +++ b/_data/assets/sparkle-shader.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/sparkle-shader.json", - "author": "Alexander Bulatov", - "author_id": "767b929084b257a4b4b42bfa5dfbb614", + "author_id": "alexander-bulatov", "description": "Simple Sparkle Effect is Material for creating a sparkle or glare effect on the sprite. You can adjust parameters such as size, angle, and position in the material constants, as well as animate them via go.animate.", "forum_url": "https://forum.defold.com/t/simple-2d-sparkle-shader/78005", "id": "sparkleshader", diff --git a/_data/assets/spine.json b/_data/assets/spine.json index 6839c2fcbb..21048a194b 100644 --- a/_data/assets/spine.json +++ b/_data/assets/spine.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/spine.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "Official Defold extension for importing, rendering and controlling Spine skeletal animations in game objects and GUI scenes.", "id": "extension-spine", "images": { diff --git a/_data/assets/splitmix64.json b/_data/assets/splitmix64.json index 448e7123e1..90004f490e 100644 --- a/_data/assets/splitmix64.json +++ b/_data/assets/splitmix64.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/splitmix64.json", - "author": "Indiesoft LLC", - "author_id": "a0bfc7430b840873f242085ed47277c8", + "author_id": "indiesoft-llc", "description": "Get the same random numbers from the same seeds on all platforms supported by Defold.", "images": { "hero": "https://github.com/indiesoftby/defold-splitmix64/raw/main/cover.png", diff --git a/_data/assets/spritefusion.json b/_data/assets/spritefusion.json index 95f72d5fa3..ab8b2c0329 100644 --- a/_data/assets/spritefusion.json +++ b/_data/assets/spritefusion.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/spritefusion.json", - "author": "Hugo", - "author_id": "1b3840b0b70d91c17e70014c8537dbba", + "author_id": "hugo", "description": "A free, SUPER easy-to-use tilemap editor that exports maps to Defold Tilemap and Tilesource in one click.", "forum_url": "", "images": { diff --git a/_data/assets/squid.json b/_data/assets/squid.json index bd91bb5fda..505620fdbe 100644 --- a/_data/assets/squid.json +++ b/_data/assets/squid.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/squid.json", - "author": "Paweł Jarosz", - "author_id": "d54cdc4bc377adc6a3233368cc304107", + "author_id": "pawel-jarosz", "description": "Squid is a standalone injectable system for saveable logging of user logs, errors and crashes for Defold", "forum_url": "https://forum.defold.com/t/squid-saveable-logging-of-user-data-errors-and-crashes-for-defold/79296", "images": { diff --git a/_data/assets/starly.json b/_data/assets/starly.json index 1c90443ef6..a1827a0d18 100644 --- a/_data/assets/starly.json +++ b/_data/assets/starly.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/starly.json", - "author": "Vow Software", - "author_id": "b49809838a3668f44b96a178539eb58e", + "author_id": "vow-software", "description": "Starly is an orthographic camera library for Defold.", "forum_url": "https://forum.defold.com/t/starly/78351", "images": { diff --git a/_data/assets/steamworks.json b/_data/assets/steamworks.json index a6f2ae5bda..2ce8bab65a 100644 --- a/_data/assets/steamworks.json +++ b/_data/assets/steamworks.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/steamworks.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "Steamworks SDK provides a range of features which are designed to help ship your application or game on Steam in an efficient manner.", "id": "steamworks", "images": { diff --git a/_data/assets/stylized_water_shader.json b/_data/assets/stylized_water_shader.json index a3c85a4789..5b825423cd 100644 --- a/_data/assets/stylized_water_shader.json +++ b/_data/assets/stylized_water_shader.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/stylized_water_shader.json", - "author": "Selim Anaç", - "author_id": "6100d3b33dfe49f042484ab76af0781e", + "author_id": "selim-anac", "description": "A stylized water shader implementation for the Defold game engine, featuring animated wave surfaces, foam effects, sparkles, and customizable rendering parameters. ", "external_actions": [ { diff --git a/_data/assets/super-16-bit-sounds.json b/_data/assets/super-16-bit-sounds.json index d401315930..5ccca08a42 100644 --- a/_data/assets/super-16-bit-sounds.json +++ b/_data/assets/super-16-bit-sounds.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/super-16-bit-sounds.json", - "author": "Dylann Taylor", - "author_id": "61c731dc9a5612359ec177c4711567cc", + "author_id": "dylann-taylor", "description": "SNES-inspired music using the SPC700 sound chip. Includes loopable & full tracks—100% free, CC0 license.", "images": { "hero": "super-16-bit-sounds-thumb.webp", diff --git a/_data/assets/tactxstudios.json b/_data/assets/tactxstudios.json index 1d8b96dc25..d09b36b0e9 100644 --- a/_data/assets/tactxstudios.json +++ b/_data/assets/tactxstudios.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/tactxstudios.json", - "author": "Tactx Studios", - "author_id": "f4192276a8445076db3e40da4728878b", + "author_id": "tactx-studios", "description": "These tutorials illustrate several common features of the Defold Game Engine, such as a) Image Procedures, b) Dragging and Dropping Game Objects, c) various Game Object Movement Techniques, d) Preliminary use of 2d Physics based Collisions, e) Graphic User Interface, and f) an introduction to Defold Levels, Messaging and Menu Development.", "forum_url": "", "images": { diff --git a/_data/assets/tapticengine.json b/_data/assets/tapticengine.json index 258d020a5b..3624131c29 100644 --- a/_data/assets/tapticengine.json +++ b/_data/assets/tapticengine.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/tapticengine.json", - "author": "Marat Gilyazov", - "author_id": "dd20e1afac0de345aeb2422a2f9743fd", + "author_id": "marat-gilyazov", "description": "Native extension for the iOS Taptic Engine.", "id": "tapticengine", "images": { diff --git a/_data/assets/teal.json b/_data/assets/teal.json index 08e8433739..fa5e1b0626 100644 --- a/_data/assets/teal.json +++ b/_data/assets/teal.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/teal.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "Defold transpilation support for Teal.", "forum_url": "", "images": { diff --git a/_data/assets/tenjin.json b/_data/assets/tenjin.json index 53cfd58066..24019d7fcc 100644 --- a/_data/assets/tenjin.json +++ b/_data/assets/tenjin.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/tenjin.json", - "author": "Marat Gilyazov", - "author_id": "dd20e1afac0de345aeb2422a2f9743fd", + "author_id": "marat-gilyazov", "description": "Native extension for the Tenjin SDK", "id": "tenjinsdk", "images": { diff --git a/_data/assets/textadventuretemplate.json b/_data/assets/textadventuretemplate.json index 00ba0c0edc..ab5f31dec3 100644 --- a/_data/assets/textadventuretemplate.json +++ b/_data/assets/textadventuretemplate.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/textadventuretemplate.json", - "author": "ktulhusolutions", - "author_id": "18061e0ac86cd3a873b6d2ab7901e044", + "author_id": "ktulhusolutions", "description": "This template contains assets to build text adventure game with Defold and Ink.", "forum_url": "", "images": { diff --git a/_data/assets/texturepacker.json b/_data/assets/texturepacker.json index 3734e01501..0b41a3dd46 100644 --- a/_data/assets/texturepacker.json +++ b/_data/assets/texturepacker.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/texturepacker.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "Adds support for the TexturePacker atlas format.", "forum_url": "https://forum.defold.com/t/defold-now-has-texturepacker-support/76557", "id": "extension-texturepacker", diff --git a/_data/assets/tiled.json b/_data/assets/tiled.json index f2a39ce8ac..00c57b05ae 100644 --- a/_data/assets/tiled.json +++ b/_data/assets/tiled.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/tiled.json", - "author": "Thorbjørn Lindeijer", - "author_id": "e32e02d173ec863e5b26d85532f4cb99", + "author_id": "thorbjorn-lindeijer", "description": "Your free, easy to use and flexible level editor. Tiled has a Defold tilemap exporter plugin for direct import of maps into Defold.", "id": "tiled", "images": { diff --git a/_data/assets/tilemapanimator.json b/_data/assets/tilemapanimator.json index 52b880604d..a5bb743cc5 100644 --- a/_data/assets/tilemapanimator.json +++ b/_data/assets/tilemapanimator.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/tilemapanimator.json", - "author": "White Box Dev", - "author_id": "38d31b3a0e8a01a9cdbda9ded357efbc", + "author_id": "white-box-dev", "description": "Defold Tilemap Animator provides runtime tile animations in a Defold game engine project.", "forum_url": "https://forum.defold.com/t/defold-tilemap-animator/64603", "images": { diff --git a/_data/assets/tilesetter.json b/_data/assets/tilesetter.json index e9394f7c95..9b5b24b677 100644 --- a/_data/assets/tilesetter.json +++ b/_data/assets/tilesetter.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/tilesetter.json", - "author": "Led", - "author_id": "f20c27ccbec44441fc8f842fa6e0f23f", + "author_id": "led", "description": "Create your complete tileset instantly. Draw maps with it and export it all directly to Defold.", "forum_url": "", "images": { diff --git a/_data/assets/tinyecs.json b/_data/assets/tinyecs.json index 4acad7f0be..3ed470db2d 100644 --- a/_data/assets/tinyecs.json +++ b/_data/assets/tinyecs.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/tinyecs.json", - "author": "MegaCrab Games", - "author_id": "fd95d1ba0d327f337f2c09f181706488", + "author_id": "megacrab-games", "description": "The Tiny ECS library packaged as a Defold library.", "forum_url": "", "images": { diff --git a/_data/assets/tinyhttp.json b/_data/assets/tinyhttp.json index fc117dd9b6..c5535d6ad1 100644 --- a/_data/assets/tinyhttp.json +++ b/_data/assets/tinyhttp.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/tinyhttp.json", - "author": "Selim Anaç", - "author_id": "6100d3b33dfe49f042484ab76af0781e", + "author_id": "selim-anac", "description": "Simple http server and client native extension", "external_actions": [ { diff --git a/_data/assets/trenchbroom.json b/_data/assets/trenchbroom.json index 08fd9c6d46..0d6c539c4d 100644 --- a/_data/assets/trenchbroom.json +++ b/_data/assets/trenchbroom.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/trenchbroom.json", - "author": "Roman Silin", - "author_id": "82dec81b3353206316cb7c95e847450f", + "author_id": "roman-silin", "description": "TrenchBroom game configuration and the editor script for importing. Design your level with TrenchBroom and import it to Defold as the collection.", "forum_url": "https://forum.defold.com/t/trenchbroom-extension-for-defold/71284", "images": { diff --git a/_data/assets/trickortreat.json b/_data/assets/trickortreat.json index d9b3d8afde..e441b266d7 100644 --- a/_data/assets/trickortreat.json +++ b/_data/assets/trickortreat.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/trickortreat.json", - "author": "Agustin R.", - "author_id": "3d50d039c078a00ce00628af22d57540", + "author_id": "agustin-r", "description": "Fun and Free Halloween themed art asset pack.", "forum_url": "", "images": { diff --git a/_data/assets/trim_atlas.json b/_data/assets/trim_atlas.json index 0bd7a51e4d..8bc8e17bc4 100644 --- a/_data/assets/trim_atlas.json +++ b/_data/assets/trim_atlas.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/trim_atlas.json", - "author": "Denis Maltsev", - "author_id": "bf4446fc14e0dc76c2b42d95a140a489", + "author_id": "denis-maltsev", "description": "The Defold engine does not know how to trim sprites. Its trimming reduces the size of the sprite geometry, but the space occupied in the texture atlas remains the same. This script trims the images in the atlas and reduces the texture space.", "forum_url": "", "images": { diff --git a/_data/assets/truetilecollisions.json b/_data/assets/truetilecollisions.json index a9dd806e12..d4a4022df7 100644 --- a/_data/assets/truetilecollisions.json +++ b/_data/assets/truetilecollisions.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/truetilecollisions.json", - "author": "Agnis 'NeZvers' Aldins", - "author_id": "aa7f6024a73f11149dd20d757e1e83ef", + "author_id": "agnis-nezvers-aldins", "description": "Collision system that doesn’t use collision shapes.", "id": "truetilecollisions", "images": { diff --git a/_data/assets/ts-defold.json b/_data/assets/ts-defold.json index 9d034aaac4..e71d6a3673 100644 --- a/_data/assets/ts-defold.json +++ b/_data/assets/ts-defold.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/ts-defold.json", - "author": "Justin Walsh", - "author_id": "09bcec822d82ea12ddffb2c897c92c74", + "author_id": "justin-walsh", "description": "ts-defold is an awesome TypeScript toolkit that allows writing TypeScript code for the Defold game engine.", "id": "ts-defold", "images": { diff --git a/_data/assets/ump.json b/_data/assets/ump.json index ed7707341a..e28b890d09 100644 --- a/_data/assets/ump.json +++ b/_data/assets/ump.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/ump.json", - "author": "Toca (tc)", - "author_id": "65ce3e1d328e7986eb8c044411649c1f", + "author_id": "toca-tc", "description": "This Defold extension allows you to integrate Google's User Messaging Platform (UMP) into your Defold game to manage user consent for ads on Android. It helps you request consent information, show the consent form, and check the user's consent status", "forum_url": "https://forum.defold.com/t/defold-google-user-messaging-platform-ump-extension/78722", "images": { diff --git a/_data/assets/uptime.json b/_data/assets/uptime.json index fc43a94faa..663a74757b 100644 --- a/_data/assets/uptime.json +++ b/_data/assets/uptime.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/uptime.json", - "author": "Alexey Gulev", - "author_id": "70ac2d222a9f2f33cab587a655c69601", + "author_id": "alexey-gulev", "description": "Returns an operating system uptime", "forum_url": "https://forum.defold.com/t/uptime-native-extention/47917", "images": { diff --git a/_data/assets/vantage.json b/_data/assets/vantage.json index 7d1c3db0a4..7a94a9cc03 100644 --- a/_data/assets/vantage.json +++ b/_data/assets/vantage.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/vantage.json", - "author": "Jhonny Göransson", - "author_id": "20f5bdc6cc744915abe50983b5bb8509", + "author_id": "jhonny-goransson", "description": "Vantage is a small Defold camera controller for mouse, keyboard, and touch-driven 3D camera movement.", "images": { "hero": "", diff --git a/_data/assets/vibration.json b/_data/assets/vibration.json index 4d7af66af5..d7adf95ecd 100644 --- a/_data/assets/vibration.json +++ b/_data/assets/vibration.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/vibration.json", - "author": "Adam Westman", - "author_id": "54dcd706c9cc3c34734699ce83e2d6c2", + "author_id": "adam-westman", "description": "Adds support for device vibration service.", "id": "vibration", "images": { diff --git a/_data/assets/videoplayernative.json b/_data/assets/videoplayernative.json index cb9a6b9fda..962acf445d 100644 --- a/_data/assets/videoplayernative.json +++ b/_data/assets/videoplayernative.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/videoplayernative.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "A fullscreen video player extension for iOS, Android, HTML5 and Windows using native OS functionality and components for video playback.", "id": "videoplayernative", "images": { diff --git a/_data/assets/visual-novel-template-ink.json b/_data/assets/visual-novel-template-ink.json index 9053a049a5..426457b825 100644 --- a/_data/assets/visual-novel-template-ink.json +++ b/_data/assets/visual-novel-template-ink.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/visual-novel-template-ink.json", - "author": "ktulhusolutions", - "author_id": "18061e0ac86cd3a873b6d2ab7901e044", + "author_id": "ktulhusolutions", "description": "This project template is based on Ink scripting language and lua runtime defold-ink. Suitable for any VN style games.", "forum_url": "", "images": { diff --git a/_data/assets/vitahealthenergy.json b/_data/assets/vitahealthenergy.json index 378f398cfe..f87cb6ef5b 100644 --- a/_data/assets/vitahealthenergy.json +++ b/_data/assets/vitahealthenergy.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/vitahealthenergy.json", - "author": "Brian Kramer", - "author_id": "4e5137947a2d2210327998871d8dd3c7", + "author_id": "brian-kramer", "description": "A generic energy / life system.", "id": "vitahealthenergy", "images": { diff --git a/_data/assets/voronoi.json b/_data/assets/voronoi.json index 3724c2bc15..182ea4ce45 100644 --- a/_data/assets/voronoi.json +++ b/_data/assets/voronoi.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/voronoi.json", - "author": "Mathias Westerdahl", - "author_id": "ef6d5c21d75557d414343ab7c1bd79da", + "author_id": "mathias-westerdahl", "description": "2D voronoi functionality.", "id": "voronoi", "images": { diff --git a/_data/assets/vs-code-ide.json b/_data/assets/vs-code-ide.json index 2fa3bd71f6..92f897fc0a 100644 --- a/_data/assets/vs-code-ide.json +++ b/_data/assets/vs-code-ide.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/vs-code-ide.json", - "author": "Roman Silin", - "author_id": "82dec81b3353206316cb7c95e847450f", + "author_id": "roman-silin", "description": "A toolkit for Visual Studio Code to develop, build, launch, debug, bundle and deploy your game.", "forum_url": "https://forum.defold.com/t/defold-kit-visual-studio-code-extension/74119", "id": "vs-code-ide", diff --git a/_data/assets/warbattlesassetpack.json b/_data/assets/warbattlesassetpack.json index 7dc0a0f216..a6ebd18720 100644 --- a/_data/assets/warbattlesassetpack.json +++ b/_data/assets/warbattlesassetpack.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/warbattlesassetpack.json", - "author": "Luis Zuno", - "author_id": "24d76290ca8a440e066f809678097ee8", + "author_id": "luis-zuno", "description": "War Battles is a complete game art pack to make a sci-fi RTS game in the style of the 16-bit console era.", "id": "warbattlesassetpack", "images": { diff --git a/_data/assets/wave_native.json b/_data/assets/wave_native.json index 433eaf5ebc..fc1ec2a6cf 100644 --- a/_data/assets/wave_native.json +++ b/_data/assets/wave_native.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/wave_native.json", - "author": "Selim Anaç", - "author_id": "6100d3b33dfe49f042484ab76af0781e", + "author_id": "selim-anac", "description": "A native C++ extension for Defold that simulates waves for floating game objects. \n\n defold-wave is primarily designed as the floating-objects companion to the defold-stylized-water-shader. The shader renders the water surface; this extension drives the waves so that objects float, pitch, and roll on that surface in sync. \n\n It can also be used as a standalone extension, any Defold project that needs wave-driven floating objects can integrate it without the stylized water shader. ", "external_actions": [ { diff --git a/_data/assets/wavedash.json b/_data/assets/wavedash.json index 9105a71588..470d6dfac3 100644 --- a/_data/assets/wavedash.json +++ b/_data/assets/wavedash.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/wavedash.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "Wavedash SDK native extension for Defold game engine", "images": { "hero": "wavedash-hero.jpg", diff --git a/_data/assets/webgl-memory.json b/_data/assets/webgl-memory.json index e0ed13bc2d..e5c84f4c30 100644 --- a/_data/assets/webgl-memory.json +++ b/_data/assets/webgl-memory.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/webgl-memory.json", - "author": "Indiesoft LLC", - "author_id": "a0bfc7430b840873f242085ed47277c8", + "author_id": "indiesoft-llc", "description": "A quick and easy way to find out the memory usage of your Defold game on HTML5 platform.", "images": { "hero": "https://github.com/indiesoftby/defold-webgl-memory/raw/main/cover.jpg", diff --git a/_data/assets/webmonetization.json b/_data/assets/webmonetization.json index 405de1ae79..8c85bc1456 100644 --- a/_data/assets/webmonetization.json +++ b/_data/assets/webmonetization.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/webmonetization.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "Web Monetization is a JavaScript browser API which allows the creation of a payment stream from the user agent to the website. This extension allows game developers to detect if a player has an active payment stream or not and offer additional content or perks to paying players.", "id": "webmonetization", "images": { diff --git a/_data/assets/webp.json b/_data/assets/webp.json index 223aa2e37a..f89e4bbb9e 100644 --- a/_data/assets/webp.json +++ b/_data/assets/webp.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/webp.json", - "author": "Halfstar", - "author_id": "68ed918a501621d514774348f2d99f90", + "author_id": "halfstar", "description": "Decode and encode external WebP image files.", "forum_url": "https://forum.defold.com/t/defold-webp-decode-and-encode-external-webp-image-files/82515", "images": { diff --git a/_data/assets/webrtc.json b/_data/assets/webrtc.json index ab9f59acd1..2271e7c363 100644 --- a/_data/assets/webrtc.json +++ b/_data/assets/webrtc.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/webrtc.json", - "author": "vitopigno", - "author_id": "6bfb050b88dba339e0f954b4969bfe4a", + "author_id": "vitopigno", "description": "A quick and easy library that adds support for WebRTC", "forum_url": "https://forum.defold.com/t/webrtc-extension", "images": { diff --git a/_data/assets/websocket.json b/_data/assets/websocket.json index 29e3ad851a..e43b9673a5 100644 --- a/_data/assets/websocket.json +++ b/_data/assets/websocket.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/websocket.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "A native WebSocket implementation for Defold. The implementation provides the API for creating and managing a WebSocket connection to a server, as well as for sending and receiving data on the connection.", "id": "websocket", "images": { diff --git a/_data/assets/whdefrouter.json b/_data/assets/whdefrouter.json index cab06be2cf..de3d783ad1 100644 --- a/_data/assets/whdefrouter.json +++ b/_data/assets/whdefrouter.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/whdefrouter.json", - "author": "Roman Petrov", - "author_id": "dcd0deade37ce7d99d938f70fa49dee1", + "author_id": "roman-petrov", "description": "A powerful screen manager.", "id": "whdefrouter", "images": { diff --git a/_data/assets/whquestdef.json b/_data/assets/whquestdef.json index 88d9e68a08..2088e5bdbe 100644 --- a/_data/assets/whquestdef.json +++ b/_data/assets/whquestdef.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/whquestdef.json", - "author": "Roman Petrov", - "author_id": "dcd0deade37ce7d99d938f70fa49dee1", + "author_id": "roman-petrov", "description": "A little helper library for quest games.", "id": "whquestdef", "images": { diff --git a/_data/assets/wortal.json b/_data/assets/wortal.json index ca75efb5fb..b671861853 100644 --- a/_data/assets/wortal.json +++ b/_data/assets/wortal.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/wortal.json", - "author": "Digital Will Inc.", - "author_id": "4ec47174008deea10fb66bbdc2ce1ef1", + "author_id": "digital-will-inc", "description": "Wortal SDK native extension for Defold.", "forum_url": "", "images": { diff --git a/_data/assets/xmath.json b/_data/assets/xmath.json index e83d1fa599..eeca56cca9 100644 --- a/_data/assets/xmath.json +++ b/_data/assets/xmath.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/xmath.json", - "author": "Justin Walsh", - "author_id": "09bcec822d82ea12ddffb2c897c92c74", + "author_id": "justin-walsh", "description": "Allocation-free math helpers for Defold vectors, quaternions, matrices, and common game math operations. A re-imagining of vmath functions that avoid allocations by taking the output as the first argument instead of returning a new Vector3, Vector4, or Quat requiring an allocation.", "forum_url": "", "images": { diff --git a/_data/assets/xoshiro256.json b/_data/assets/xoshiro256.json index 23984b430c..bbceb47490 100644 --- a/_data/assets/xoshiro256.json +++ b/_data/assets/xoshiro256.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/xoshiro256.json", - "author": "Glorius Silver", - "author_id": "37923b716e32140d8422412dcc7ab78c", + "author_id": "glorius-silver", "description": "A fast, high-quality PRNG for Defold based on the xoshiro256++ algorithm, seeded via splitmix64. xoshiro256++ has a 256-bit state, passes known statistical tests, and avoids systematic bias in floating-point output.", "images": { "hero": "xoshiro256.webp", diff --git a/_data/assets/xplevelupsystem.json b/_data/assets/xplevelupsystem.json index 68c83e14b8..f2ad677516 100644 --- a/_data/assets/xplevelupsystem.json +++ b/_data/assets/xplevelupsystem.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/xplevelupsystem.json", - "author": "Brian Kramer", - "author_id": "4e5137947a2d2210327998871d8dd3c7", + "author_id": "brian-kramer", "description": "A generic leveling up system.", "id": "xplevelupsystem", "images": { diff --git a/_data/assets/xsolla.json b/_data/assets/xsolla.json index 2a61d01e9e..7908d037cb 100644 --- a/_data/assets/xsolla.json +++ b/_data/assets/xsolla.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/xsolla.json", - "author": "The Defold Foundation", - "author_id": "41055a22bd3f5b94c6182d496d7083e7", + "author_id": "defold-foundation", "description": "This extension provides an integration with the Xsolla services for Defold", "images": { "hero": "xsolla-hero.jpg", diff --git a/_data/assets/yagames.json b/_data/assets/yagames.json index dc13a69096..29556e78df 100644 --- a/_data/assets/yagames.json +++ b/_data/assets/yagames.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/yagames.json", - "author": "Indiesoft LLC", - "author_id": "a0bfc7430b840873f242085ed47277c8", + "author_id": "indiesoft-llc", "description": "YaGames is the Yandex.Games SDK extension for the Defold game engine.", "forum_url": "https://forum.defold.com/t/yagames-yandex-games-sdk-for-defold/66810", "images": { diff --git a/_data/assets/yametrica.json b/_data/assets/yametrica.json index 7e70479e7c..dae4d72a81 100644 --- a/_data/assets/yametrica.json +++ b/_data/assets/yametrica.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/yametrica.json", - "author": "Indiesoft LLC", - "author_id": "a0bfc7430b840873f242085ed47277c8", + "author_id": "indiesoft-llc", "description": "The asset helps to use Yandex.Metrica to track the stats of your HTML5 game.", "images": { "hero": "https://github.com/indiesoftby/defold-yametrica/raw/main/cover.jpg", diff --git a/_data/assets/yoga.json b/_data/assets/yoga.json index a9af12d530..04714fd7c8 100644 --- a/_data/assets/yoga.json +++ b/_data/assets/yoga.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/yoga.json", - "author": "Faris Mustafa", - "author_id": "742dbf61e2cf2fe6cefc26e302aa6d6c", + "author_id": "faris-mustafa", "description": "A Defold native extension exposing Facebook's Yoga layout library via a Lua wrapper.", "forum_url": "", "images": { diff --git a/_data/assets/zstd.json b/_data/assets/zstd.json index ce1066c663..db1293b0bb 100644 --- a/_data/assets/zstd.json +++ b/_data/assets/zstd.json @@ -1,7 +1,6 @@ { "asset_url": "https://github.com/defold/asset-portal/blob/master/assets/zstd.json", - "author": "Indiesoft LLC", - "author_id": "a0bfc7430b840873f242085ed47277c8", + "author_id": "indiesoft-llc", "description": "Use Zstandard fast compression library to compress and decompress strings in your Lua code.", "forum_url": "", "images": { diff --git a/_data/authorindex.json b/_data/authorindex.json deleted file mode 100644 index 8df4c562fa..0000000000 --- a/_data/authorindex.json +++ /dev/null @@ -1,1938 +0,0 @@ -[ - { - "assets": [ - { - "id": "dicebag", - "stars": 40 - } - ], - "id": "f4ecd22ca7133c183d7f46be9c2d848b", - "name": "8BitSkull" - }, - { - "assets": [ - { - "id": "debeat", - "stars": 28 - }, - { - "id": "define", - "stars": 20 - }, - { - "id": "defkit", - "stars": 23 - }, - { - "id": "vibration", - "stars": 20 - } - ], - "id": "54dcd706c9cc3c34734699ce83e2d6c2", - "name": "Adam Westman" - }, - { - "assets": [ - { - "id": "truetilecollisions", - "stars": 16 - } - ], - "id": "aa7f6024a73f11149dd20d757e1e83ef", - "name": "Agnis 'NeZvers' Aldins" - }, - { - "assets": [ - { - "id": "3dglass", - "stars": 8 - }, - { - "id": "cleanexporter", - "stars": 12 - }, - { - "id": "perspectiveparallax", - "stars": 21 - }, - { - "id": "trickortreat", - "stars": 2 - } - ], - "id": "3d50d039c078a00ce00628af22d57540", - "name": "Agustin R." - }, - { - "assets": [ - { - "id": "batterystatus", - "stars": 7 - } - ], - "id": "0eb87b8023f0ff260617b83e0e116a80", - "name": "Ahmed Maawy" - }, - { - "assets": [ - { - "id": "defold-rng", - "stars": 13 - } - ], - "id": "793ee11171e32960b2768562a8deaf21", - "name": "Alchimystic" - }, - { - "assets": [ - { - "id": "compat53", - "stars": 6 - } - ], - "id": "c7251be54930f3b6f39decf5e95250b3", - "name": "Aleksandr Derbenev" - }, - { - "assets": [ - { - "id": "fire-glow-shader", - "stars": 22 - }, - { - "id": "reforge", - "stars": 24 - }, - { - "id": "sparkle-shader", - "stars": 14 - } - ], - "id": "767b929084b257a4b4b42bfa5dfbb614", - "name": "Alexander Bulatov" - }, - { - "assets": [ - { - "id": "defvideoads", - "stars": 38 - }, - { - "id": "drawpixels", - "stars": 94 - }, - { - "id": "uptime", - "stars": 6 - } - ], - "id": "70ac2d222a9f2f33cab587a655c69601", - "name": "Alexey Gulev" - }, - { - "assets": [ - { - "id": "deftimeline", - "stars": 7 - } - ], - "id": "0255bd7862bdbac8b99b0d24dc0ceb0b", - "name": "Allan Douglas" - }, - { - "assets": [ - { - "id": "defoldandroidpermissions", - "stars": 5 - } - ], - "id": "757d04efa06c859ff9983a6c3bdeb3c2", - "name": "Andrey Panchenko" - }, - { - "assets": [ - { - "id": "applovin-max", - "stars": 17 - } - ], - "id": "098c6efcd92b27c4736da2b5693aa7e2", - "name": "AppLovin" - }, - { - "assets": [ - { - "id": "acidrain", - "stars": 16 - } - ], - "id": "50e4e1bab82fe6b1f6ac6bf07a578126", - "name": "approboGames" - }, - { - "assets": [ - { - "id": "defpfd", - "stars": 9 - } - ], - "id": "7189ed9feae9804bd2a0b642b81d85fb", - "name": "AsakuraMizu" - }, - { - "assets": [ - { - "id": "defold-nvim", - "stars": 33 - } - ], - "id": "fcf9836120114ee7a976df4a4b3ae5c4", - "name": "atomicptr" - }, - { - "assets": [ - { - "id": "derez", - "stars": 17 - } - ], - "id": "5ef914d2d8f88bf981967ec7c596813d", - "name": "Baron Wittman" - }, - { - "assets": [ - { - "id": "crypto_iap", - "stars": 3 - } - ], - "id": "f9682e1dc393197965796f698ae8002b", - "name": "bdshahab" - }, - { - "assets": [ - { - "id": "blip", - "stars": 23 - }, - { - "id": "clipboard", - "stars": 21 - }, - { - "id": "dashdocsetfordefold", - "stars": 2 - }, - { - "id": "dear-imgui", - "stars": 82 - }, - { - "id": "defcon", - "stars": 63 - }, - { - "id": "defoldinput", - "stars": 166 - }, - { - "id": "defoldpng", - "stars": 22 - }, - { - "id": "defpro", - "stars": 29 - }, - { - "id": "deftest", - "stars": 52 - }, - { - "id": "emthree", - "stars": 43 - }, - { - "id": "gooey", - "stars": 165 - }, - { - "id": "googleanalytics", - "stars": 22 - }, - { - "id": "gyro", - "stars": 11 - }, - { - "id": "imp", - "stars": 3 - }, - { - "id": "lowrezjamtemplate", - "stars": 44 - }, - { - "id": "luafilesystemlfs", - "stars": 14 - }, - { - "id": "luasocket", - "stars": 14 - }, - { - "id": "monarch", - "stars": 217 - }, - { - "id": "orthographic", - "stars": 222 - }, - { - "id": "platypus", - "stars": 74 - }, - { - "id": "richtext", - "stars": 82 - }, - { - "id": "screenshot", - "stars": 40 - }, - { - "id": "share", - "stars": 24 - } - ], - "id": "6c8581f7da8da7a5c9bb6ffe85f56420", - "name": "Björn Ritzl" - }, - { - "assets": [ - { - "id": "chipsounds", - "stars": 14 - }, - { - "id": "chrono", - "stars": 16 - }, - { - "id": "defblend", - "stars": 26 - }, - { - "id": "defglot", - "stars": 27 - }, - { - "id": "defmath", - "stars": 26 - }, - { - "id": "defos", - "stars": 166 - }, - { - "id": "defquest", - "stars": 7 - }, - { - "id": "defsave", - "stars": 98 - }, - { - "id": "defstring", - "stars": 6 - }, - { - "id": "defwindow", - "stars": 3 - }, - { - "id": "discordrich", - "stars": 16 - }, - { - "id": "err", - "stars": 5 - }, - { - "id": "feat", - "stars": 6 - }, - { - "id": "log", - "stars": 12 - }, - { - "id": "pack", - "stars": 12 - }, - { - "id": "vitahealthenergy", - "stars": 9 - }, - { - "id": "xplevelupsystem", - "stars": 14 - } - ], - "id": "4e5137947a2d2210327998871d8dd3c7", - "name": "Brian Kramer" - }, - { - "assets": [ - { - "id": "defold-wrap", - "stars": 6 - }, - { - "id": "i18n-defold", - "stars": 9 - } - ], - "id": "b6cf80bbb897b02ad11260ccfb89e0a2", - "name": "Chung Xa" - }, - { - "assets": [ - { - "id": "2dcollisions", - "stars": 3 - }, - { - "id": "defold-api-emmylua", - "stars": 41 - }, - { - "id": "defold-box2d", - "stars": 42 - } - ], - "id": "54d0fe81953befa10aaa9d1194a9d2d7", - "name": "d954mas" - }, - { - "assets": [ - { - "id": "moku", - "stars": 47 - } - ], - "id": "aecd79718c652bcb46658715d4a7ae55", - "name": "Daka Sha" - }, - { - "assets": [ - { - "id": "luascriptinstance", - "stars": 12 - } - ], - "id": "37439e81e674b7c8578f8d767e8873c4", - "name": "Dan Engelbrecht" - }, - { - "assets": [ - { - "id": "haxesupport", - "stars": 233 - } - ], - "id": "89f1bb284adf2936575f2378410be407", - "name": "Dan Korostelev" - }, - { - "assets": [ - { - "id": "asobi", - "stars": 4 - } - ], - "id": "4653d481f2a825de61fa892997ab47fe", - "name": "Daniel Widgren" - }, - { - "assets": [ - { - "id": "defold-cairo", - "stars": 5 - }, - { - "id": "defold-nuklear", - "stars": 18 - } - ], - "id": "f55f5a24b15caa21479706c219beb4ae", - "name": "David Lannan" - }, - { - "assets": [ - { - "id": "automation-bridge", - "stars": 21 - }, - { - "id": "levelplay", - "stars": 17 - } - ], - "id": "7a2340205545b175e20f44488bd30a49", - "name": "Defold" - }, - { - "assets": [ - { - "id": "defold-pbr", - "stars": 3 - } - ], - "id": "f0ed797e86f7025f8ba5455479852ca5", - "name": "Defold Foundation" - }, - { - "assets": [ - { - "id": "decodeogg", - "stars": 9 - } - ], - "id": "ed8d3d9c99bf62c05dc414c77cedb123", - "name": "Denis Makhortov" - }, - { - "assets": [ - { - "id": "trim_atlas", - "stars": 18 - } - ], - "id": "bf4446fc14e0dc76c2b42d95a140a489", - "name": "Denis Maltsev" - }, - { - "assets": [ - { - "id": "cafebazaar", - "stars": 8 - }, - { - "id": "defarmy", - "stars": 52 - }, - { - "id": "defgraph", - "stars": 44 - } - ], - "id": "229b615876d51ca68b90827670796509", - "name": "dev-masih" - }, - { - "assets": [ - { - "id": "wortal", - "stars": 2 - } - ], - "id": "4ec47174008deea10fb66bbdc2ce1ef1", - "name": "Digital Will Inc." - }, - { - "assets": [ - { - "id": "super-16-bit-sounds", - "stars": 0 - } - ], - "id": "61c731dc9a5612359ec177c4711567cc", - "name": "Dylann Taylor" - }, - { - "assets": [ - { - "id": "player2", - "stars": 4 - } - ], - "id": "8705a019e13aba03ecb45fd3a24468e1", - "name": "Elefant AI" - }, - { - "assets": [ - { - "id": "colyseus", - "stars": 70 - } - ], - "id": "085a9f543a79fedde455435ad7ed63cd", - "name": "Endel Dreyer" - }, - { - "assets": [ - { - "id": "scml-parser", - "stars": 13 - } - ], - "id": "f48a4960505d289f004b2c92e00e482e", - "name": "Evandro Costa" - }, - { - "assets": [ - { - "id": "coolmathgames-sdk", - "stars": 4 - } - ], - "id": "8fd8c1acf56f912e176589db86628f2d", - "name": "Fabtjar" - }, - { - "assets": [ - { - "id": "yoga", - "stars": 17 - } - ], - "id": "742dbf61e2cf2fe6cefc26e302aa6d6c", - "name": "Faris Mustafa" - }, - { - "assets": [ - { - "id": "gameanalytics", - "stars": 18 - } - ], - "id": "2af98531aba19ec072200b2931dc4285", - "name": "GameAnalytics ApS" - }, - { - "assets": [ - { - "id": "navgo", - "stars": 15 - } - ], - "id": "dae099b9d61fe3947bfbc22568b31b21", - "name": "gameoffate2018" - }, - { - "assets": [ - { - "id": "xoshiro256", - "stars": 9 - } - ], - "id": "37923b716e32140d8422412dcc7ab78c", - "name": "Glorius Silver" - }, - { - "assets": [ - { - "id": "quickbutton", - "stars": 0 - } - ], - "id": "916199871deaf531dba29563cbf1ca2a", - "name": "Gr. Scrits" - }, - { - "assets": [ - { - "id": "defold-index", - "stars": 6 - }, - { - "id": "defold-mic", - "stars": 6 - }, - { - "id": "defwin", - "stars": 13 - }, - { - "id": "matchanovel", - "stars": 68 - }, - { - "id": "webp", - "stars": 8 - } - ], - "id": "68ed918a501621d514774348f2d99f90", - "name": "Halfstar" - }, - { - "assets": [ - { - "id": "bit46", - "stars": 2 - }, - { - "id": "rand16", - "stars": 2 - } - ], - "id": "b450788dc032917ae79b28cd5423ff68", - "name": "haruka" - }, - { - "assets": [ - { - "id": "nakama", - "stars": 103 - } - ], - "id": "ffb80685a055de9b8d1c05bc9cfce024", - "name": "Heroic Labs" - }, - { - "assets": [ - { - "id": "def_usercentrics", - "stars": 3 - }, - { - "id": "live-unbundler", - "stars": 10 - } - ], - "id": "df43ce0658a20ceebcdfab1b6e54c9aa", - "name": "HGPoint" - }, - { - "assets": [ - { - "id": "spritefusion", - "stars": 0 - } - ], - "id": "1b3840b0b70d91c17e70014c8537dbba", - "name": "Hugo" - }, - { - "assets": [ - { - "id": "cards-fx-kit", - "stars": 56 - }, - { - "id": "defoldapiforsublimetext3", - "stars": 11 - }, - { - "id": "lightandshadows", - "stars": 142 - }, - { - "id": "slasherprototype", - "stars": 175 - } - ], - "id": "8e8dcfd8ab030ee46c9efee57f492a9b", - "name": "Igor Suntsev" - }, - { - "assets": [ - { - "id": "dissolve-fx", - "stars": 33 - }, - { - "id": "graphics-angle", - "stars": 13 - }, - { - "id": "hypertrails", - "stars": 95 - }, - { - "id": "page-visibility", - "stars": 11 - }, - { - "id": "physics-tools", - "stars": 16 - }, - { - "id": "playable-ads", - "stars": 62 - }, - { - "id": "pointer-lock", - "stars": 23 - }, - { - "id": "reszip", - "stars": 39 - }, - { - "id": "scene3d", - "stars": 192 - }, - { - "id": "sentinel", - "stars": 21 - }, - { - "id": "sharpsprite", - "stars": 78 - }, - { - "id": "simplex-noise", - "stars": 9 - }, - { - "id": "splitmix64", - "stars": 24 - }, - { - "id": "webgl-memory", - "stars": 17 - }, - { - "id": "yagames", - "stars": 74 - }, - { - "id": "yametrica", - "stars": 14 - }, - { - "id": "zstd", - "stars": 9 - } - ], - "id": "a0bfc7430b840873f242085ed47277c8", - "name": "Indiesoft LLC" - }, - { - "assets": [ - { - "id": "asset-store", - "stars": 32 - }, - { - "id": "crowd-runner-defold", - "stars": 20 - }, - { - "id": "defold-event", - "stars": 74 - }, - { - "id": "defold-lang", - "stars": 40 - }, - { - "id": "defold-log", - "stars": 37 - }, - { - "id": "defold-parser", - "stars": 11 - }, - { - "id": "defold-proto", - "stars": 16 - }, - { - "id": "defold-quest", - "stars": 24 - }, - { - "id": "defold-saver", - "stars": 50 - }, - { - "id": "defold-token", - "stars": 18 - }, - { - "id": "defold-tweener", - "stars": 63 - }, - { - "id": "deployer", - "stars": 47 - }, - { - "id": "detiled", - "stars": 12 - }, - { - "id": "druid", - "stars": 581 - }, - { - "id": "panthera", - "stars": 103 - }, - { - "id": "panthera20", - "stars": 119 - } - ], - "id": "fdec556e51a2ad846db08b8ba0ae3b86", - "name": "Insality" - }, - { - "assets": [ - { - "id": "defbuild", - "stars": 4 - }, - { - "id": "defold-runtime-atlas", - "stars": 15 - }, - { - "id": "editor-script-align", - "stars": 8 - }, - { - "id": "editor-script-check-dependencies-versions", - "stars": 3 - }, - { - "id": "editor-script-cleanup", - "stars": 4 - }, - { - "id": "editor-script-components", - "stars": 4 - }, - { - "id": "editor-script-distribute", - "stars": 3 - }, - { - "id": "editor-script-extra-locations", - "stars": 2 - }, - { - "id": "editor-script-templates", - "stars": 6 - }, - { - "id": "editorscriptatlas", - "stars": 20 - } - ], - "id": "3b89011fffbcab1dac524ed65dbfa3ec", - "name": "Jerakin" - }, - { - "assets": [ - { - "id": "vantage", - "stars": 9 - } - ], - "id": "20f5bdc6cc744915abe50983b5bb8509", - "name": "Jhonny Göransson" - }, - { - "assets": [ - { - "id": "ts-defold", - "stars": 96 - }, - { - "id": "xmath", - "stars": 35 - } - ], - "id": "09bcec822d82ea12ddffb2c897c92c74", - "name": "Justin Walsh" - }, - { - "assets": [ - { - "id": "sidescrollertutorialfromscratch", - "stars": 13 - } - ], - "id": "68009f7dd783cd9d10e1842e618d82e2", - "name": "Jérôme Barbier" - }, - { - "assets": [ - { - "id": "asefold", - "stars": 28 - } - ], - "id": "0eb9b01e53c095b7d4f991eb6db064a3", - "name": "kags" - }, - { - "assets": [ - { - "id": "mirastate", - "stars": 4 - } - ], - "id": "1a9bc458b6804251afef69c23d9bad95", - "name": "kazupon" - }, - { - "assets": [ - { - "id": "kenney", - "stars": 0 - } - ], - "id": "7e350361d86157dee7b4b2c60a3d1a9b", - "name": "Kenney Vleugels" - }, - { - "assets": [ - { - "id": "library-defold-checkpoint", - "stars": 11 - } - ], - "id": "7db5ded5ce8543616d6753f6ee8bf2b7", - "name": "Klaleus" - }, - { - "assets": [ - { - "id": "defold-detour", - "stars": 22 - }, - { - "id": "defold-ink", - "stars": 34 - }, - { - "id": "textadventuretemplate", - "stars": 14 - }, - { - "id": "visual-novel-template-ink", - "stars": 15 - } - ], - "id": "18061e0ac86cd3a873b6d2ab7901e044", - "name": "ktulhusolutions" - }, - { - "assets": [ - { - "id": "tilesetter", - "stars": 0 - } - ], - "id": "f20c27ccbec44441fc8f842fa6e0f23f", - "name": "Led" - }, - { - "assets": [ - { - "id": "alienworld", - "stars": 174 - }, - { - "id": "warbattlesassetpack", - "stars": 174 - } - ], - "id": "24d76290ca8a440e066f809678097ee8", - "name": "Luis Zuno" - }, - { - "assets": [ - { - "id": "lualocade", - "stars": 1 - } - ], - "id": "319329842bb0b5c7721b7623d1e4fdd9", - "name": "Mantyi Studio (Nava)" - }, - { - "assets": [ - { - "id": "ironsource", - "stars": 6 - }, - { - "id": "tapticengine", - "stars": 14 - }, - { - "id": "tenjin", - "stars": 1 - } - ], - "id": "dd20e1afac0de345aeb2422a2f9743fd", - "name": "Marat Gilyazov" - }, - { - "assets": [ - { - "id": "apkx", - "stars": 8 - }, - { - "id": "fmod", - "stars": 34 - }, - { - "id": "gog-galaxy", - "stars": 8 - } - ], - "id": "bd277866e2bc8a45ebdddc0c39cfbeb9", - "name": "Marius Petcu" - }, - { - "assets": [ - { - "id": "photoshopguiexporter", - "stars": 20 - } - ], - "id": "632b18be12f2cbb244b078d81be741e3", - "name": "Martin Dahlin" - }, - { - "assets": [ - { - "id": "qrcode", - "stars": 7 - }, - { - "id": "voronoi", - "stars": 15 - } - ], - "id": "ef6d5c21d75557d414343ab7c1bd79da", - "name": "Mathias Westerdahl" - }, - { - "assets": [ - { - "id": "gunit", - "stars": 0 - } - ], - "id": "80565c2c453d9a250100fdc7fe0ceeba", - "name": "Matt van der Westhuizen" - }, - { - "assets": [ - { - "id": "printer", - "stars": 58 - } - ], - "id": "1b1571ed4750bae48c69aa21ab265ef2", - "name": "Maxim Tuprikov" - }, - { - "assets": [ - { - "id": "defold-mobilehtml5-typing", - "stars": 4 - } - ], - "id": "2a9db510c79dbac3b63c104f789c9661", - "name": "Mchlkpng" - }, - { - "assets": [ - { - "id": "tinyecs", - "stars": 10 - } - ], - "id": "fd95d1ba0d327f337f2c09f181706488", - "name": "MegaCrab Games" - }, - { - "assets": [ - { - "id": "gamescore", - "stars": 13 - } - ], - "id": "9983a0fce4cbeae6bb93e228d277cb31", - "name": "Megalanthus" - }, - { - "assets": [ - { - "id": "fastnoise", - "stars": 0 - } - ], - "id": "28db562bee3ab583ad5d7e595cf9d523", - "name": "menaechmi" - }, - { - "assets": [ - { - "id": "minit-sdk", - "stars": 0 - } - ], - "id": "f7d71deae508c5b674dda314b6b6cbb8", - "name": "Minit Games" - }, - { - "assets": [ - { - "id": "defold-neovim", - "stars": 38 - } - ], - "id": "0dac38eeed40bb14150a1c7bc5858f22", - "name": "monkoose" - }, - { - "assets": [ - { - "id": "apkverifier", - "stars": 7 - }, - { - "id": "cjson", - "stars": 26 - }, - { - "id": "md5", - "stars": 6 - }, - { - "id": "protobuf", - "stars": 17 - } - ], - "id": "98a13e15bcbbfaaad8049cd6b09e87f1", - "name": "Moon Active" - }, - { - "assets": [ - { - "id": "facebookads", - "stars": 8 - } - ], - "id": "6331bc20c15e788dc7c1239038f4d88b", - "name": "MrZak-dev" - }, - { - "assets": [ - { - "id": "fontscale", - "stars": 11 - } - ], - "id": "d37df7cd894e82ea661f79015ae00bb0", - "name": "Myopic Design" - }, - { - "assets": [ - { - "id": "geneticalneuralnetwork", - "stars": 14 - } - ], - "id": "3e71e661d329e5317371a8146fff04ce", - "name": "Nathan Wersinger" - }, - { - "assets": [ - { - "id": "flow", - "stars": 44 - } - ], - "id": "fb725749047f9c600b9967b29ff81b27", - "name": "Pause Games" - }, - { - "assets": [ - { - "id": "defarc", - "stars": 34 - }, - { - "id": "defluid", - "stars": 11 - }, - { - "id": "defold-polyglot", - "stars": 11 - }, - { - "id": "defork", - "stars": 29 - }, - { - "id": "immutable", - "stars": 9 - }, - { - "id": "pigeon", - "stars": 63 - }, - { - "id": "squid", - "stars": 9 - } - ], - "id": "d54cdc4bc377adc6a3233368cc304107", - "name": "Paweł Jarosz" - }, - { - "assets": [ - { - "id": "pp", - "stars": 6 - } - ], - "id": "865340fc7cff2508e3a694759d5e9732", - "name": "Planetary Processing Ltd" - }, - { - "assets": [ - { - "id": "playfabsdk", - "stars": 42 - } - ], - "id": "c3763cd89322b14d2e915429a74710c1", - "name": "PlayFab" - }, - { - "assets": [ - { - "id": "playgama-bridge", - "stars": 33 - } - ], - "id": "fef042de4dda67920cac30094e5feaea", - "name": "Playgama" - }, - { - "assets": [ - { - "id": "adswrapper", - "stars": 21 - } - ], - "id": "11c82c413b6b734538717e72c53dc60e", - "name": "Potato Jam" - }, - { - "assets": [ - { - "id": "deftable", - "stars": 12 - } - ], - "id": "c30011ac4245e2089d77c366e0775634", - "name": "Robert Gardner" - }, - { - "assets": [ - { - "id": "whdefrouter", - "stars": 28 - }, - { - "id": "whquestdef", - "stars": 10 - } - ], - "id": "dcd0deade37ce7d99d938f70fa49dee1", - "name": "Roman Petrov" - }, - { - "assets": [ - { - "id": "illumination", - "stars": 58 - }, - { - "id": "kinematicwalker", - "stars": 62 - }, - { - "id": "lpeg", - "stars": 10 - }, - { - "id": "narrator", - "stars": 167 - }, - { - "id": "operator", - "stars": 61 - }, - { - "id": "trenchbroom", - "stars": 77 - }, - { - "id": "vs-code-ide", - "stars": 215 - } - ], - "id": "82dec81b3353206316cb7c95e847450f", - "name": "Roman Silin" - }, - { - "assets": [ - { - "id": "defdragon", - "stars": 6 - } - ], - "id": "a9dacc35f6115f2be87eae7838a930b4", - "name": "Ronald K Bett" - }, - { - "assets": [ - { - "id": "colorpicker", - "stars": 5 - }, - { - "id": "defoldpolygoneditor", - "stars": 39 - } - ], - "id": "63e41bd0ba1158bf35505bf42ff56a4b", - "name": "Ross Grams" - }, - { - "assets": [ - { - "id": "rustore-appupdate", - "stars": 0 - }, - { - "id": "rustore-billing", - "stars": 0 - }, - { - "id": "rustore-push", - "stars": 0 - }, - { - "id": "rustore-remoteconfig", - "stars": 0 - }, - { - "id": "rustore-review", - "stars": 0 - } - ], - "id": "4a486afa64c3d214a96ac7b81b50d17e", - "name": "RuStore" - }, - { - "assets": [ - { - "id": "def-behavior-tree", - "stars": 25 - } - ], - "id": "d0f7e63ec16f418380817dad3b769718", - "name": "s-kania" - }, - { - "assets": [ - { - "id": "apathfinding", - "stars": 108 - }, - { - "id": "biplanar-mapping", - "stars": 3 - }, - { - "id": "daabbcc", - "stars": 93 - }, - { - "id": "daabbcc3d", - "stars": 11 - }, - { - "id": "defold-3D-outline-shader", - "stars": 25 - }, - { - "id": "defold-depth-of-field-shader", - "stars": 9 - }, - { - "id": "defold-graph-pathfinder", - "stars": 35 - }, - { - "id": "defold-pixelart-shader", - "stars": 14 - }, - { - "id": "defold-sublime-text", - "stars": 8 - }, - { - "id": "defold-tile-raycast", - "stars": 21 - }, - { - "id": "defold-toon-shader", - "stars": 14 - }, - { - "id": "defold-uuid4", - "stars": 11 - }, - { - "id": "pcgrandom", - "stars": 34 - }, - { - "id": "stylized_water_shader", - "stars": 11 - }, - { - "id": "tinyhttp", - "stars": 11 - }, - { - "id": "wave_native", - "stars": 9 - } - ], - "id": "6100d3b33dfe49f042484ab76af0781e", - "name": "Selim Anaç" - }, - { - "assets": [ - { - "id": "adjustsdk", - "stars": 3 - }, - { - "id": "admob", - "stars": 19 - }, - { - "id": "cas-ai", - "stars": 3 - }, - { - "id": "extensiondirectories", - "stars": 13 - }, - { - "id": "imageloader", - "stars": 24 - }, - { - "id": "nativetext", - "stars": 12 - }, - { - "id": "openal", - "stars": 24 - }, - { - "id": "pcg-random", - "stars": 7 - }, - { - "id": "sfmt", - "stars": 7 - } - ], - "id": "1c2d3ba1c59d40a609cc44f1ca42b65c", - "name": "Sergey Lerg" - }, - { - "assets": [ - { - "id": "dsfonts", - "stars": 9 - } - ], - "id": "82d93681cd4c0bccafd3c3274ac5f33a", - "name": "Sergey Sinyavsky" - }, - { - "assets": [ - { - "id": "defvungle", - "stars": 2 - } - ], - "id": "8c381310a001a941e61e2093e69ad950", - "name": "SkaterDad" - }, - { - "assets": [ - { - "id": "defdiags", - "stars": 16 - }, - { - "id": "defmnu", - "stars": 9 - }, - { - "id": "dirtylarry", - "stars": 76 - } - ], - "id": "426b550486c4b42b6b3d530c54102e24", - "name": "Sven Andersson" - }, - { - "assets": [ - { - "id": "tactxstudios", - "stars": 0 - } - ], - "id": "f4192276a8445076db3e40da4728878b", - "name": "Tactx Studios" - }, - { - "assets": [ - { - "id": "adinfo", - "stars": 2 - }, - { - "id": "admob-defold", - "stars": 55 - }, - { - "id": "adpf", - "stars": 4 - }, - { - "id": "camera", - "stars": 10 - }, - { - "id": "crazygames", - "stars": 15 - }, - { - "id": "defold-fmod", - "stars": 13 - }, - { - "id": "endlessrunner", - "stars": 174 - }, - { - "id": "facebook", - "stars": 12 - }, - { - "id": "facebookinstantgames", - "stars": 40 - }, - { - "id": "firebase-crashlytics", - "stars": 5 - }, - { - "id": "firebase-remoteconfig", - "stars": 6 - }, - { - "id": "fontgen", - "stars": 8 - }, - { - "id": "gamedistribution", - "stars": 11 - }, - { - "id": "googleanalyticsforfirebase", - "stars": 21 - }, - { - "id": "googleplaygameservices", - "stars": 32 - }, - { - "id": "googleplayinstant", - "stars": 4 - }, - { - "id": "iac", - "stars": 7 - }, - { - "id": "iap", - "stars": 25 - }, - { - "id": "lua-language-server", - "stars": 19 - }, - { - "id": "magiclinker", - "stars": 174 - }, - { - "id": "photon-realtime", - "stars": 8 - }, - { - "id": "platformertutorial", - "stars": 16 - }, - { - "id": "poki", - "stars": 37 - }, - { - "id": "prometheus", - "stars": 36 - }, - { - "id": "push", - "stars": 23 - }, - { - "id": "resource-encryption", - "stars": 15 - }, - { - "id": "review", - "stars": 15 - }, - { - "id": "rive", - "stars": 73 - }, - { - "id": "safearea", - "stars": 30 - }, - { - "id": "siwa", - "stars": 6 - }, - { - "id": "spine", - "stars": 45 - }, - { - "id": "steamworks", - "stars": 46 - }, - { - "id": "teal", - "stars": 55 - }, - { - "id": "texturepacker", - "stars": 22 - }, - { - "id": "videoplayernative", - "stars": 15 - }, - { - "id": "wavedash", - "stars": 4 - }, - { - "id": "webmonetization", - "stars": 5 - }, - { - "id": "websocket", - "stars": 49 - }, - { - "id": "xsolla", - "stars": 3 - } - ], - "id": "41055a22bd3f5b94c6182d496d7083e7", - "name": "The Defold Foundation" - }, - { - "assets": [ - { - "id": "horrifold", - "stars": 51 - } - ], - "id": "911ae62ac524a12980cfceb44ad0f30d", - "name": "TheKing0x9" - }, - { - "assets": [ - { - "id": "tiled", - "stars": 12796 - } - ], - "id": "e32e02d173ec863e5b26d85532f4cb99", - "name": "Thorbjørn Lindeijer" - }, - { - "assets": [ - { - "id": "ump", - "stars": 8 - } - ], - "id": "65ce3e1d328e7986eb8c044411649c1f", - "name": "Toca (tc)" - }, - { - "assets": [ - { - "id": "blurshader", - "stars": 9 - } - ], - "id": "9a30c4b73c59839a52d1790f9fa5fa6b", - "name": "Vincent Lagerros" - }, - { - "assets": [ - { - "id": "3deforms", - "stars": 4 - } - ], - "id": "11d886e31f6a413bdbd7b4f30142d995", - "name": "Visionaire" - }, - { - "assets": [ - { - "id": "webrtc", - "stars": 7 - } - ], - "id": "6bfb050b88dba339e0f954b4969bfe4a", - "name": "vitopigno" - }, - { - "assets": [ - { - "id": "starly", - "stars": 36 - } - ], - "id": "b49809838a3668f44b96a178539eb58e", - "name": "Vow Software" - }, - { - "assets": [ - { - "id": "gamekit", - "stars": 19 - } - ], - "id": "6fa4e9eb497a853ac0d93bc60a44131b", - "name": "Warren Fuller" - }, - { - "assets": [ - { - "id": "defold-colors", - "stars": 21 - }, - { - "id": "defold-persist", - "stars": 16 - }, - { - "id": "defold-rendy", - "stars": 77 - }, - { - "id": "defold-timer", - "stars": 20 - }, - { - "id": "defold-typewriter", - "stars": 29 - }, - { - "id": "defoldgridengine", - "stars": 54 - }, - { - "id": "tilemapanimator", - "stars": 42 - } - ], - "id": "38d31b3a0e8a01a9cdbda9ded357efbc", - "name": "White Box Dev" - }, - { - "assets": [ - { - "id": "defold-cognito", - "stars": 4 - } - ], - "id": "019919956e53d2da2f37be4778c7dabe", - "name": "willemt" - }, - { - "assets": [ - { - "id": "m", - "stars": 6 - } - ], - "id": "821c90fb2ef546027b325a442d98de65", - "name": "wistpotion (Isabelle Fougner Axrup)" - }, - { - "assets": [ - { - "id": "defold-oop", - "stars": 3 - } - ], - "id": "5d6dddec191d19aff834cd5ab30f570c", - "name": "xiyoo0812@163.com" - }, - { - "assets": [ - { - "id": "colorlib", - "stars": 13 - } - ], - "id": "9b081cd04d07b9aced2fe1b2d46126d9", - "name": "y444" - }, - { - "assets": [ - { - "id": "defunico", - "stars": 11 - } - ], - "id": "fc0f2ca1bb97818c5922a389c671edca", - "name": "Yuichiro Kumagai" - } -] \ No newline at end of file diff --git a/_data/authors.json b/_data/authors.json new file mode 100644 index 0000000000..1b9d5fdede --- /dev/null +++ b/_data/authors.json @@ -0,0 +1,712 @@ +[ + { + "id": "8bitskull", + "github": "8bitskull", + "name": "8BitSkull" + }, + { + "id": "adam-westman", + "name": "Adam Westman", + "github": "adamwestman" + }, + { + "id": "agnis-nezvers-aldins", + "name": "Agnis 'NeZvers' Aldins", + "github": "nezvers" + }, + { + "id": "agustin-r", + "name": "Agustin R.", + "github": "FlexYourBrain" + }, + { + "id": "ahmed-maawy", + "name": "Ahmed Maawy", + "github": "ahmedmaawy" + }, + { + "id": "alchimystic", + "name": "Alchimystic", + "github": "alchimystic" + }, + { + "id": "aleksandr-derbenev", + "name": "Aleksandr Derbenev", + "github": "alex-ac" + }, + { + "id": "alexander-bulatov", + "name": "Alexander Bulatov", + "github": "ufgo" + }, + { + "id": "alexey-gulev", + "name": "Alexey Gulev", + "github": "AGulev" + }, + { + "id": "allan-douglas", + "name": "Allan Douglas", + "github": "AllanDouglas" + }, + { + "id": "andrey-panchenko", + "name": "Andrey Panchenko", + "github": "asfdfdfd" + }, + { + "id": "applovin", + "name": "AppLovin", + "github": "AppLovin" + }, + { + "id": "asakuramizu", + "name": "AsakuraMizu", + "github": "AsakuraMizu" + }, + { + "id": "artsiom-trubchyk", + "name": "Artsiom Trubchyk", + "github": "aglitchman", + "links": [ + { + "type": "x", + "url": "https://x.com/aglitchman" + } + ] + }, + { + "id": "baron-wittman", + "name": "Baron Wittman", + "github": "Wolfe2x7" + }, + { + "id": "bjorn-ritzl", + "name": "Björn Ritzl", + "github": "britzl", + "bio": "Product owner and developer of Defold. Co-founder of Refold games studio.", + "links": [ + { + "label": "Refold Games", + "type": "website", + "url": "https://www.refold.io/" + }, + { + "type": "x", + "url": "https://x.com/bjornritzl" + } + ] + }, + { + "id": "brian-kramer", + "name": "Brian Kramer", + "github": "subsoap" + }, + { + "id": "chung-xa", + "name": "Chung Xa", + "github": "baochungit" + }, + { + "id": "daka-sha", + "name": "Daka Sha", + "github": "Jrayp" + }, + { + "id": "dan-engelbrecht", + "name": "Dan Engelbrecht", + "github": "DanEngelbrecht" + }, + { + "id": "dan-korostelev", + "name": "Dan Korostelev", + "github": "hxdefold" + }, + { + "id": "daniel-widgren", + "name": "Daniel Widgren", + "github": "widgrensit" + }, + { + "id": "david-lannan", + "name": "David Lannan", + "github": "dlannan" + }, + { + "id": "defold-foundation", + "name": "The Defold Foundation", + "github": "defold", + "bio": "The Defold Foundation develops and maintains Defold, the free cross-platform game engine, together with its official extensions, examples, documentation, and community services.", + "links": [ + { + "label": "Defold website", + "type": "website", + "url": "https://defold.com" + } + ] + }, + { + "id": "denis-makhortov", + "name": "Denis Makhortov", + "github": "JAlHund" + }, + { + "id": "denis-maltsev", + "name": "Denis Maltsev", + "github": "maltsevda" + }, + { + "id": "digital-will-inc", + "name": "Digital Will Inc.", + "github": "Digital-Will-Inc" + }, + { + "id": "dylann-taylor", + "name": "Dylann Taylor" + }, + { + "id": "elefant-ai", + "name": "Elefant AI", + "github": "elefant-ai" + }, + { + "id": "endel-dreyer", + "name": "Endel Dreyer", + "github": "colyseus" + }, + { + "id": "evandro-costa", + "name": "Evandro Costa", + "github": "EVEVGames" + }, + { + "id": "fabtjar", + "name": "Fabtjar", + "github": "fabtjar" + }, + { + "id": "moon-active", + "name": "Moon Active", + "github": "Melsoft-Games", + "bio": "Moon Active is a fast-growing mobile game development company and is an official Defold partner. Melsoft Games that created Family Island with Defold and the great assets below was acquired by Moon Active in 2020.", + "links": [ + { + "label": "Moon Active website", + "type": "website", + "url": "https://www.moonactive.com" + } + ] + }, + { + "id": "faris-mustafa", + "name": "Faris Mustafa", + "github": "farism" + }, + { + "id": "fysx", + "name": "fysx" + }, + { + "id": "gameanalytics-aps", + "name": "GameAnalytics ApS", + "github": "GameAnalytics" + }, + { + "id": "glorius-silver", + "name": "Glorius Silver", + "github": "glorius-silver" + }, + { + "id": "gr-scrits", + "name": "Gr. Scrits", + "github": "GamingBud" + }, + { + "id": "hgpoint", + "name": "HGPoint", + "github": "HGPoint" + }, + { + "id": "halfstar", + "name": "Halfstar", + "github": "HalfstarDev", + "links": [ + { + "label": "Halfstar website", + "type": "website", + "url": "https://www.halfstaratelier.com/" + }, + { + "type": "x", + "url": "https://x.com/HalfstarA" + } + ], + "support": [ + { + "type": "patreon", + "url": "https://www.patreon.com/profile/creators?u=51234461" + } + ] + }, + { + "id": "heroic-labs", + "name": "Heroic Labs", + "github": "heroiclabs", + "bio": "Heroic Labs is a technology company that builds server software and cloud tools for online video games. They give game creators ready-made systems for multiplayer matches, user accounts, and live game updates so teams do not have to build everything from scratch. They are an official partner of Defold.", + "links": [ + { + "label": "Heroic Labs website", + "type": "website", + "url": "https://www.heroiclabs.com" + } + ] + }, + { + "id": "hugo", + "name": "Hugo" + }, + { + "id": "igor-suntsev", + "name": "Igor Suntsev", + "github": "Dragosha", + "bio": "Solo game developer, web designer, art director. Started on ZX Spectrum, made lots of flash games and now makes games with Defold.", + "links": [ + { + "label": "Dragosha website", + "type": "website", + "url": "https://dragosha.com/" + }, + { + "type": "x", + "url": "https://x.com/dragosha" + } + ] + }, + { + "id": "indiesoft-llc", + "name": "Indiesoft LLC", + "github": "indiesoftby" + }, + { + "id": "insality", + "name": "Insality", + "github": "Insality", + "bio": "Game developer and open-source Defold tools author focused on UI, workflows, and reusable community libraries.", + "support": [ + { + "type": "github_sponsors", + "url": "https://github.com/sponsors/insality" + }, + { + "type": "ko_fi", + "url": "https://ko-fi.com/insality" + } + ] + }, + { + "id": "jerakin", + "name": "Jerakin", + "github": "Jerakin" + }, + { + "id": "jhonny-goransson", + "name": "Jhonny Göransson", + "github": "Jhonnyg" + }, + { + "id": "justin-walsh", + "name": "Justin Walsh" + }, + { + "id": "jerome-barbier", + "name": "Jérôme Barbier", + "github": "flashjaysan" + }, + { + "id": "julongzhilu", + "name": "JuLongZhiLu(巨龙之路)" + }, + { + "id": "kenney-vleugels", + "name": "Kenney Vleugels" + }, + { + "id": "klaleus", + "name": "Klaleus", + "github": "Klaleus" + }, + { + "id": "led", + "name": "Led" + }, + { + "id": "luis-zuno", + "name": "Luis Zuno" + }, + { + "id": "mantyi-studio-nava", + "name": "Mantyi Studio (Nava)", + "github": "Mantyi-Studio" + }, + { + "id": "marat-gilyazov", + "name": "Marat Gilyazov", + "github": "MaratGilyazov" + }, + { + "id": "marius-petcu", + "name": "Marius Petcu", + "github": "dapetcu21" + }, + { + "id": "martin-dahlin", + "name": "Martin Dahlin", + "github": "AxelHammarback" + }, + { + "id": "mathias-westerdahl", + "name": "Mathias Westerdahl" + }, + { + "id": "matt-van-der-westhuizen", + "name": "Matt van der Westhuizen" + }, + { + "id": "mchlkpng", + "name": "Mchlkpng", + "github": "mchlkpng" + }, + { + "id": "megacrab-games", + "name": "MegaCrab Games", + "github": "ivanquirino" + }, + { + "id": "megalanthus", + "name": "Megalanthus", + "github": "megalanthus" + }, + { + "id": "mikatuo", + "name": "mikatuo" + }, + { + "id": "minit-games", + "name": "Minit Games", + "github": "Minit-Games" + }, + { + "id": "mrzak-dev", + "name": "MrZak-dev", + "github": "MrZak-dev" + }, + { + "id": "myopic-design", + "name": "Myopic Design", + "github": "myopic-design" + }, + { + "id": "nathan-wersinger", + "name": "Nathan Wersinger", + "github": "nathan68560" + }, + { + "id": "pause-games", + "name": "Pause Games", + "github": "Pause-Games" + }, + { + "id": "pawel-jarosz", + "name": "Paweł Jarosz", + "github": "paweljarosz", + "bio": "Game developer, youtuber, Community and Content Manager at Defold.", + "links": [ + { + "label": "Website", + "type": "website", + "url": "https://paweljarosz.pl/" + }, + { + "label": "Witchcrafter: Empire Legends", + "type": "website", + "url": "https://store.steampowered.com/app/1374370/Witchcrafter_Empire_Legends/" + }, + { + "label": "Unfolding Gamedev", + "type": "youtube", + "url": "https://www.youtube.com/@unfolding_gamedev" + }, + { + "type": "x", + "url": "https://x.com/pawel_developer" + } + ], + "support": [ + { + "type": "patreon", + "url": "https://www.patreon.com/cw/witchcrafter_rpg" + }, + { + "type": "github_sponsors", + "url": "https://github.com/sponsors/paweljarosz" + }, + { + "type": "ko_fi", + "url": "https://ko-fi.com/witchcrafter" + } + ] + }, + { + "id": "planetary-processing-ltd", + "name": "Planetary Processing Ltd", + "github": "planetary-Processing" + }, + { + "id": "playfab", + "name": "PlayFab", + "github": "PlayFab" + }, + { + "id": "playgama", + "name": "Playgama", + "github": "playgama" + }, + { + "id": "potato-jam", + "name": "Potato Jam", + "github": "potatojam", + "bio": "Potato Jam is an indie game development studio creating web and mobile titles with Defold", + "links": [ + { + "label": "Potato Jam website", + "type": "website", + "url": "https://potatojam.com/" + } + ] + }, + { + "id": "robert-gardner", + "name": "Robert Gardner", + "github": "shriekbob" + }, + { + "id": "roman-petrov", + "name": "Roman Petrov", + "github": "Megus" + }, + { + "id": "roman-silin", + "name": "Roman Silin", + "github": "astrochili", + "bio": "Develops various things like apps, games, tools.", + "links": [ + { + "label": "Roman Silin website", + "type": "website", + "url": "https://romansilin.com/" + } + ] + }, + { + "id": "ronald-k-bett", + "name": "Ronald K Bett", + "github": "wraplord" + }, + { + "id": "ross-grams", + "name": "Ross Grams", + "github": "rgrams" + }, + { + "id": "rustore", + "name": "RuStore" + }, + { + "id": "selim-anac", + "name": "Selim Anaç", + "github": "selimanac", + "bio": "Kind of a developer, designer, junk stuff builder. Loves cycling 🚴🏽‍♂️", + "links": [ + { + "type": "x", + "url": "https://x.com/selimanac" + } + ], + "support": [ + { + "type": "github_sponsors", + "url": "https://github.com/sponsors/selimanac" + } + ] + }, + { + "id": "sergey-lerg", + "name": "Sergey Lerg", + "github": "Lerg", + "bio": "Game developer. Mainly working with Defold and Godot game engines. Creates gamedev content on a YouTube channel.", + "links": [ + { + "label": "Sergey Lerg Youtube", + "type": "youtube", + "url": "https://www.youtube.com/c/SergeyLergDev" + }, + { + "type": "x", + "url": "https://x.com/SergeyLerg" + } + ] + }, + { + "id": "sergey-sinyavsky", + "name": "Sergey Sinyavsky", + "github": "sergeysinyavsky" + }, + { + "id": "skaterdad", + "name": "SkaterDad", + "github": "SkaterDad" + }, + { + "id": "sven-andersson", + "name": "Sven Andersson", + "github": "andsve" + }, + { + "id": "tactx-studios", + "name": "Tactx Studios" + }, + { + "id": "theking0x9", + "name": "TheKing0x9", + "github": "TheKing0x9" + }, + { + "id": "thorbjorn-lindeijer", + "name": "Thorbjørn Lindeijer", + "github": "bjorn" + }, + { + "id": "toca-tc", + "name": "Toca (tc)", + "github": "tocaRepo" + }, + { + "id": "vincent-lagerros", + "name": "Vincent Lagerros", + "github": "VincentLagerros" + }, + { + "id": "visionaire", + "name": "Visionaire", + "github": "Thevisionaire1" + }, + { + "id": "vow-software", + "name": "Vow Software", + "github": "VowSoftware" + }, + { + "id": "warren-fuller", + "name": "Warren Fuller", + "github": "animonger" + }, + { + "id": "white-box-dev", + "name": "White Box Dev", + "github": "whiteboxdev" + }, + { + "id": "yuichiro-kumagai", + "name": "Yuichiro Kumagai", + "github": "u16kuma" + }, + { + "id": "approbogames", + "name": "approboGames", + "github": "approboGames" + }, + { + "id": "atomicptr", + "name": "atomicptr", + "github": "atomicptr" + }, + { + "id": "bdshahab", + "name": "bdshahab", + "github": "bdshahab" + }, + { + "id": "d954mas", + "name": "d954mas", + "github": "d954mas" + }, + { + "id": "dev-masih", + "name": "dev-masih", + "github": "dev-masih" + }, + { + "id": "gameoffate2018", + "name": "gameoffate2018", + "github": "DrCampbell2017" + }, + { + "id": "haruka", + "name": "haruka", + "github": "wmc7n" + }, + { + "id": "kags", + "name": "kags", + "github": "Kaiqgs" + }, + { + "id": "kazupon", + "name": "kazupon", + "github": "stepism" + }, + { + "id": "ktulhusolutions", + "name": "ktulhusolutions", + "github": "abadonna" + }, + { + "id": "menaechmi", + "name": "menaechmi" + }, + { + "id": "monkoose", + "name": "monkoose", + "github": "monkoose" + }, + { + "id": "s-kania", + "name": "s-kania", + "github": "s-kania" + }, + { + "id": "vitopigno", + "name": "vitopigno", + "github": "VitusVeit" + }, + { + "id": "willemt", + "name": "willemt", + "github": "willemt" + }, + { + "id": "wistpotion-isabelle-fougner-axrup", + "name": "wistpotion (Isabelle Fougner Axrup)", + "github": "wistpotion" + }, + { + "id": "xiyoo0812-163-com", + "name": "xiyoo0812@163.com", + "github": "xiyoo0812" + }, + { + "id": "y444", + "name": "y444", + "github": "y444" + } +] diff --git a/_data/authors/019919956e53d2da2f37be4778c7dabe.json b/_data/authors/019919956e53d2da2f37be4778c7dabe.json deleted file mode 100644 index ae85f42c61..0000000000 --- a/_data/authors/019919956e53d2da2f37be4778c7dabe.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "defold-cognito", - "stars": 4 - } - ], - "id": "019919956e53d2da2f37be4778c7dabe", - "name": "willemt" -} \ No newline at end of file diff --git a/_data/authors/0255bd7862bdbac8b99b0d24dc0ceb0b.json b/_data/authors/0255bd7862bdbac8b99b0d24dc0ceb0b.json deleted file mode 100644 index 7d246a9ad4..0000000000 --- a/_data/authors/0255bd7862bdbac8b99b0d24dc0ceb0b.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "deftimeline", - "stars": 7 - } - ], - "id": "0255bd7862bdbac8b99b0d24dc0ceb0b", - "name": "Allan Douglas" -} \ No newline at end of file diff --git a/_data/authors/085a9f543a79fedde455435ad7ed63cd.json b/_data/authors/085a9f543a79fedde455435ad7ed63cd.json deleted file mode 100644 index 0858796c99..0000000000 --- a/_data/authors/085a9f543a79fedde455435ad7ed63cd.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "colyseus", - "stars": 70 - } - ], - "id": "085a9f543a79fedde455435ad7ed63cd", - "name": "Endel Dreyer" -} \ No newline at end of file diff --git a/_data/authors/098c6efcd92b27c4736da2b5693aa7e2.json b/_data/authors/098c6efcd92b27c4736da2b5693aa7e2.json deleted file mode 100644 index 184744f764..0000000000 --- a/_data/authors/098c6efcd92b27c4736da2b5693aa7e2.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "applovin-max", - "stars": 17 - } - ], - "id": "098c6efcd92b27c4736da2b5693aa7e2", - "name": "AppLovin" -} \ No newline at end of file diff --git a/_data/authors/09bcec822d82ea12ddffb2c897c92c74.json b/_data/authors/09bcec822d82ea12ddffb2c897c92c74.json deleted file mode 100644 index 8887f819a3..0000000000 --- a/_data/authors/09bcec822d82ea12ddffb2c897c92c74.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "assets": [ - { - "id": "ts-defold", - "stars": 96 - }, - { - "id": "xmath", - "stars": 35 - } - ], - "id": "09bcec822d82ea12ddffb2c897c92c74", - "name": "Justin Walsh" -} \ No newline at end of file diff --git a/_data/authors/0dac38eeed40bb14150a1c7bc5858f22.json b/_data/authors/0dac38eeed40bb14150a1c7bc5858f22.json deleted file mode 100644 index d93736ff47..0000000000 --- a/_data/authors/0dac38eeed40bb14150a1c7bc5858f22.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "defold-neovim", - "stars": 38 - } - ], - "id": "0dac38eeed40bb14150a1c7bc5858f22", - "name": "monkoose" -} \ No newline at end of file diff --git a/_data/authors/0eb87b8023f0ff260617b83e0e116a80.json b/_data/authors/0eb87b8023f0ff260617b83e0e116a80.json deleted file mode 100644 index 98ea0aca99..0000000000 --- a/_data/authors/0eb87b8023f0ff260617b83e0e116a80.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "batterystatus", - "stars": 7 - } - ], - "id": "0eb87b8023f0ff260617b83e0e116a80", - "name": "Ahmed Maawy" -} \ No newline at end of file diff --git a/_data/authors/0eb9b01e53c095b7d4f991eb6db064a3.json b/_data/authors/0eb9b01e53c095b7d4f991eb6db064a3.json deleted file mode 100644 index 368e6cef1a..0000000000 --- a/_data/authors/0eb9b01e53c095b7d4f991eb6db064a3.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "asefold", - "stars": 28 - } - ], - "id": "0eb9b01e53c095b7d4f991eb6db064a3", - "name": "kags" -} \ No newline at end of file diff --git a/_data/authors/11c82c413b6b734538717e72c53dc60e.json b/_data/authors/11c82c413b6b734538717e72c53dc60e.json deleted file mode 100644 index 24e7717bf8..0000000000 --- a/_data/authors/11c82c413b6b734538717e72c53dc60e.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "adswrapper", - "stars": 21 - } - ], - "id": "11c82c413b6b734538717e72c53dc60e", - "name": "Potato Jam" -} \ No newline at end of file diff --git a/_data/authors/11d886e31f6a413bdbd7b4f30142d995.json b/_data/authors/11d886e31f6a413bdbd7b4f30142d995.json deleted file mode 100644 index 0321ad4aeb..0000000000 --- a/_data/authors/11d886e31f6a413bdbd7b4f30142d995.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "3deforms", - "stars": 4 - } - ], - "id": "11d886e31f6a413bdbd7b4f30142d995", - "name": "Visionaire" -} \ No newline at end of file diff --git a/_data/authors/18061e0ac86cd3a873b6d2ab7901e044.json b/_data/authors/18061e0ac86cd3a873b6d2ab7901e044.json deleted file mode 100644 index a4818e52c9..0000000000 --- a/_data/authors/18061e0ac86cd3a873b6d2ab7901e044.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "assets": [ - { - "id": "defold-detour", - "stars": 22 - }, - { - "id": "defold-ink", - "stars": 34 - }, - { - "id": "textadventuretemplate", - "stars": 14 - }, - { - "id": "visual-novel-template-ink", - "stars": 15 - } - ], - "id": "18061e0ac86cd3a873b6d2ab7901e044", - "name": "ktulhusolutions" -} \ No newline at end of file diff --git a/_data/authors/1a9bc458b6804251afef69c23d9bad95.json b/_data/authors/1a9bc458b6804251afef69c23d9bad95.json deleted file mode 100644 index 94d88fa3c9..0000000000 --- a/_data/authors/1a9bc458b6804251afef69c23d9bad95.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "mirastate", - "stars": 4 - } - ], - "id": "1a9bc458b6804251afef69c23d9bad95", - "name": "kazupon" -} \ No newline at end of file diff --git a/_data/authors/1b1571ed4750bae48c69aa21ab265ef2.json b/_data/authors/1b1571ed4750bae48c69aa21ab265ef2.json deleted file mode 100644 index 416b12b622..0000000000 --- a/_data/authors/1b1571ed4750bae48c69aa21ab265ef2.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "printer", - "stars": 58 - } - ], - "id": "1b1571ed4750bae48c69aa21ab265ef2", - "name": "Maxim Tuprikov" -} \ No newline at end of file diff --git a/_data/authors/1b3840b0b70d91c17e70014c8537dbba.json b/_data/authors/1b3840b0b70d91c17e70014c8537dbba.json deleted file mode 100644 index 69f322a6e1..0000000000 --- a/_data/authors/1b3840b0b70d91c17e70014c8537dbba.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "spritefusion", - "stars": 0 - } - ], - "id": "1b3840b0b70d91c17e70014c8537dbba", - "name": "Hugo" -} \ No newline at end of file diff --git a/_data/authors/1c2d3ba1c59d40a609cc44f1ca42b65c.json b/_data/authors/1c2d3ba1c59d40a609cc44f1ca42b65c.json deleted file mode 100644 index 18c1011cad..0000000000 --- a/_data/authors/1c2d3ba1c59d40a609cc44f1ca42b65c.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "assets": [ - { - "id": "adjustsdk", - "stars": 3 - }, - { - "id": "admob", - "stars": 19 - }, - { - "id": "cas-ai", - "stars": 3 - }, - { - "id": "extensiondirectories", - "stars": 13 - }, - { - "id": "imageloader", - "stars": 24 - }, - { - "id": "nativetext", - "stars": 12 - }, - { - "id": "openal", - "stars": 24 - }, - { - "id": "pcg-random", - "stars": 7 - }, - { - "id": "sfmt", - "stars": 7 - } - ], - "id": "1c2d3ba1c59d40a609cc44f1ca42b65c", - "name": "Sergey Lerg" -} \ No newline at end of file diff --git a/_data/authors/20f5bdc6cc744915abe50983b5bb8509.json b/_data/authors/20f5bdc6cc744915abe50983b5bb8509.json deleted file mode 100644 index a148347aa8..0000000000 --- a/_data/authors/20f5bdc6cc744915abe50983b5bb8509.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "vantage", - "stars": 9 - } - ], - "id": "20f5bdc6cc744915abe50983b5bb8509", - "name": "Jhonny Göransson" -} \ No newline at end of file diff --git a/_data/authors/229b615876d51ca68b90827670796509.json b/_data/authors/229b615876d51ca68b90827670796509.json deleted file mode 100644 index 1861dd4e9a..0000000000 --- a/_data/authors/229b615876d51ca68b90827670796509.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "assets": [ - { - "id": "cafebazaar", - "stars": 8 - }, - { - "id": "defarmy", - "stars": 52 - }, - { - "id": "defgraph", - "stars": 44 - } - ], - "id": "229b615876d51ca68b90827670796509", - "name": "dev-masih" -} \ No newline at end of file diff --git a/_data/authors/24d76290ca8a440e066f809678097ee8.json b/_data/authors/24d76290ca8a440e066f809678097ee8.json deleted file mode 100644 index f0eaa7a2cc..0000000000 --- a/_data/authors/24d76290ca8a440e066f809678097ee8.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "assets": [ - { - "id": "alienworld", - "stars": 174 - }, - { - "id": "warbattlesassetpack", - "stars": 174 - } - ], - "id": "24d76290ca8a440e066f809678097ee8", - "name": "Luis Zuno" -} \ No newline at end of file diff --git a/_data/authors/28db562bee3ab583ad5d7e595cf9d523.json b/_data/authors/28db562bee3ab583ad5d7e595cf9d523.json deleted file mode 100644 index d4de7f7721..0000000000 --- a/_data/authors/28db562bee3ab583ad5d7e595cf9d523.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "fastnoise", - "stars": 0 - } - ], - "id": "28db562bee3ab583ad5d7e595cf9d523", - "name": "menaechmi" -} \ No newline at end of file diff --git a/_data/authors/2a9db510c79dbac3b63c104f789c9661.json b/_data/authors/2a9db510c79dbac3b63c104f789c9661.json deleted file mode 100644 index b1bc3985e4..0000000000 --- a/_data/authors/2a9db510c79dbac3b63c104f789c9661.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "defold-mobilehtml5-typing", - "stars": 4 - } - ], - "id": "2a9db510c79dbac3b63c104f789c9661", - "name": "Mchlkpng" -} \ No newline at end of file diff --git a/_data/authors/2af98531aba19ec072200b2931dc4285.json b/_data/authors/2af98531aba19ec072200b2931dc4285.json deleted file mode 100644 index 5b1a5d19ab..0000000000 --- a/_data/authors/2af98531aba19ec072200b2931dc4285.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "gameanalytics", - "stars": 18 - } - ], - "id": "2af98531aba19ec072200b2931dc4285", - "name": "GameAnalytics ApS" -} \ No newline at end of file diff --git a/_data/authors/319329842bb0b5c7721b7623d1e4fdd9.json b/_data/authors/319329842bb0b5c7721b7623d1e4fdd9.json deleted file mode 100644 index e0564f58f2..0000000000 --- a/_data/authors/319329842bb0b5c7721b7623d1e4fdd9.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "lualocade", - "stars": 1 - } - ], - "id": "319329842bb0b5c7721b7623d1e4fdd9", - "name": "Mantyi Studio (Nava)" -} \ No newline at end of file diff --git a/_data/authors/37439e81e674b7c8578f8d767e8873c4.json b/_data/authors/37439e81e674b7c8578f8d767e8873c4.json deleted file mode 100644 index 910b91932b..0000000000 --- a/_data/authors/37439e81e674b7c8578f8d767e8873c4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "luascriptinstance", - "stars": 12 - } - ], - "id": "37439e81e674b7c8578f8d767e8873c4", - "name": "Dan Engelbrecht" -} \ No newline at end of file diff --git a/_data/authors/37923b716e32140d8422412dcc7ab78c.json b/_data/authors/37923b716e32140d8422412dcc7ab78c.json deleted file mode 100644 index 52ccf7ba94..0000000000 --- a/_data/authors/37923b716e32140d8422412dcc7ab78c.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "xoshiro256", - "stars": 9 - } - ], - "id": "37923b716e32140d8422412dcc7ab78c", - "name": "Glorius Silver" -} \ No newline at end of file diff --git a/_data/authors/38d31b3a0e8a01a9cdbda9ded357efbc.json b/_data/authors/38d31b3a0e8a01a9cdbda9ded357efbc.json deleted file mode 100644 index ef2c40950a..0000000000 --- a/_data/authors/38d31b3a0e8a01a9cdbda9ded357efbc.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "assets": [ - { - "id": "defold-colors", - "stars": 21 - }, - { - "id": "defold-persist", - "stars": 16 - }, - { - "id": "defold-rendy", - "stars": 77 - }, - { - "id": "defold-timer", - "stars": 20 - }, - { - "id": "defold-typewriter", - "stars": 29 - }, - { - "id": "defoldgridengine", - "stars": 54 - }, - { - "id": "tilemapanimator", - "stars": 42 - } - ], - "id": "38d31b3a0e8a01a9cdbda9ded357efbc", - "name": "White Box Dev" -} \ No newline at end of file diff --git a/_data/authors/3b89011fffbcab1dac524ed65dbfa3ec.json b/_data/authors/3b89011fffbcab1dac524ed65dbfa3ec.json deleted file mode 100644 index 46bb5edb09..0000000000 --- a/_data/authors/3b89011fffbcab1dac524ed65dbfa3ec.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "assets": [ - { - "id": "defbuild", - "stars": 4 - }, - { - "id": "defold-runtime-atlas", - "stars": 15 - }, - { - "id": "editor-script-align", - "stars": 8 - }, - { - "id": "editor-script-check-dependencies-versions", - "stars": 3 - }, - { - "id": "editor-script-cleanup", - "stars": 4 - }, - { - "id": "editor-script-components", - "stars": 4 - }, - { - "id": "editor-script-distribute", - "stars": 3 - }, - { - "id": "editor-script-extra-locations", - "stars": 2 - }, - { - "id": "editor-script-templates", - "stars": 6 - }, - { - "id": "editorscriptatlas", - "stars": 20 - } - ], - "id": "3b89011fffbcab1dac524ed65dbfa3ec", - "name": "Jerakin" -} \ No newline at end of file diff --git a/_data/authors/3d50d039c078a00ce00628af22d57540.json b/_data/authors/3d50d039c078a00ce00628af22d57540.json deleted file mode 100644 index 04be7ed475..0000000000 --- a/_data/authors/3d50d039c078a00ce00628af22d57540.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "assets": [ - { - "id": "3dglass", - "stars": 8 - }, - { - "id": "cleanexporter", - "stars": 12 - }, - { - "id": "perspectiveparallax", - "stars": 21 - }, - { - "id": "trickortreat", - "stars": 2 - } - ], - "id": "3d50d039c078a00ce00628af22d57540", - "name": "Agustin R." -} \ No newline at end of file diff --git a/_data/authors/3e71e661d329e5317371a8146fff04ce.json b/_data/authors/3e71e661d329e5317371a8146fff04ce.json deleted file mode 100644 index 171fa8153a..0000000000 --- a/_data/authors/3e71e661d329e5317371a8146fff04ce.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "geneticalneuralnetwork", - "stars": 14 - } - ], - "id": "3e71e661d329e5317371a8146fff04ce", - "name": "Nathan Wersinger" -} \ No newline at end of file diff --git a/_data/authors/41055a22bd3f5b94c6182d496d7083e7.json b/_data/authors/41055a22bd3f5b94c6182d496d7083e7.json deleted file mode 100644 index 276ff9ebd9..0000000000 --- a/_data/authors/41055a22bd3f5b94c6182d496d7083e7.json +++ /dev/null @@ -1,162 +0,0 @@ -{ - "assets": [ - { - "id": "adinfo", - "stars": 2 - }, - { - "id": "admob-defold", - "stars": 55 - }, - { - "id": "adpf", - "stars": 4 - }, - { - "id": "camera", - "stars": 10 - }, - { - "id": "crazygames", - "stars": 15 - }, - { - "id": "defold-fmod", - "stars": 13 - }, - { - "id": "endlessrunner", - "stars": 174 - }, - { - "id": "facebook", - "stars": 12 - }, - { - "id": "facebookinstantgames", - "stars": 40 - }, - { - "id": "firebase-crashlytics", - "stars": 5 - }, - { - "id": "firebase-remoteconfig", - "stars": 6 - }, - { - "id": "fontgen", - "stars": 8 - }, - { - "id": "gamedistribution", - "stars": 11 - }, - { - "id": "googleanalyticsforfirebase", - "stars": 21 - }, - { - "id": "googleplaygameservices", - "stars": 32 - }, - { - "id": "googleplayinstant", - "stars": 4 - }, - { - "id": "iac", - "stars": 7 - }, - { - "id": "iap", - "stars": 25 - }, - { - "id": "lua-language-server", - "stars": 19 - }, - { - "id": "magiclinker", - "stars": 174 - }, - { - "id": "photon-realtime", - "stars": 8 - }, - { - "id": "platformertutorial", - "stars": 16 - }, - { - "id": "poki", - "stars": 37 - }, - { - "id": "prometheus", - "stars": 36 - }, - { - "id": "push", - "stars": 23 - }, - { - "id": "resource-encryption", - "stars": 15 - }, - { - "id": "review", - "stars": 15 - }, - { - "id": "rive", - "stars": 73 - }, - { - "id": "safearea", - "stars": 30 - }, - { - "id": "siwa", - "stars": 6 - }, - { - "id": "spine", - "stars": 45 - }, - { - "id": "steamworks", - "stars": 46 - }, - { - "id": "teal", - "stars": 55 - }, - { - "id": "texturepacker", - "stars": 22 - }, - { - "id": "videoplayernative", - "stars": 15 - }, - { - "id": "wavedash", - "stars": 4 - }, - { - "id": "webmonetization", - "stars": 5 - }, - { - "id": "websocket", - "stars": 49 - }, - { - "id": "xsolla", - "stars": 3 - } - ], - "id": "41055a22bd3f5b94c6182d496d7083e7", - "name": "The Defold Foundation" -} \ No newline at end of file diff --git a/_data/authors/426b550486c4b42b6b3d530c54102e24.json b/_data/authors/426b550486c4b42b6b3d530c54102e24.json deleted file mode 100644 index 366d391bea..0000000000 --- a/_data/authors/426b550486c4b42b6b3d530c54102e24.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "assets": [ - { - "id": "defdiags", - "stars": 16 - }, - { - "id": "defmnu", - "stars": 9 - }, - { - "id": "dirtylarry", - "stars": 76 - } - ], - "id": "426b550486c4b42b6b3d530c54102e24", - "name": "Sven Andersson" -} \ No newline at end of file diff --git a/_data/authors/4653d481f2a825de61fa892997ab47fe.json b/_data/authors/4653d481f2a825de61fa892997ab47fe.json deleted file mode 100644 index b901e58bcc..0000000000 --- a/_data/authors/4653d481f2a825de61fa892997ab47fe.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "asobi", - "stars": 4 - } - ], - "id": "4653d481f2a825de61fa892997ab47fe", - "name": "Daniel Widgren" -} \ No newline at end of file diff --git a/_data/authors/4a486afa64c3d214a96ac7b81b50d17e.json b/_data/authors/4a486afa64c3d214a96ac7b81b50d17e.json deleted file mode 100644 index e70775da1f..0000000000 --- a/_data/authors/4a486afa64c3d214a96ac7b81b50d17e.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "assets": [ - { - "id": "rustore-appupdate", - "stars": 0 - }, - { - "id": "rustore-billing", - "stars": 0 - }, - { - "id": "rustore-push", - "stars": 0 - }, - { - "id": "rustore-remoteconfig", - "stars": 0 - }, - { - "id": "rustore-review", - "stars": 0 - } - ], - "id": "4a486afa64c3d214a96ac7b81b50d17e", - "name": "RuStore" -} \ No newline at end of file diff --git a/_data/authors/4e5137947a2d2210327998871d8dd3c7.json b/_data/authors/4e5137947a2d2210327998871d8dd3c7.json deleted file mode 100644 index 8d54bb76c9..0000000000 --- a/_data/authors/4e5137947a2d2210327998871d8dd3c7.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "assets": [ - { - "id": "chipsounds", - "stars": 14 - }, - { - "id": "chrono", - "stars": 16 - }, - { - "id": "defblend", - "stars": 26 - }, - { - "id": "defglot", - "stars": 27 - }, - { - "id": "defmath", - "stars": 26 - }, - { - "id": "defos", - "stars": 166 - }, - { - "id": "defquest", - "stars": 7 - }, - { - "id": "defsave", - "stars": 98 - }, - { - "id": "defstring", - "stars": 6 - }, - { - "id": "defwindow", - "stars": 3 - }, - { - "id": "discordrich", - "stars": 16 - }, - { - "id": "err", - "stars": 5 - }, - { - "id": "feat", - "stars": 6 - }, - { - "id": "log", - "stars": 12 - }, - { - "id": "pack", - "stars": 12 - }, - { - "id": "vitahealthenergy", - "stars": 9 - }, - { - "id": "xplevelupsystem", - "stars": 14 - } - ], - "id": "4e5137947a2d2210327998871d8dd3c7", - "name": "Brian Kramer" -} \ No newline at end of file diff --git a/_data/authors/4ec47174008deea10fb66bbdc2ce1ef1.json b/_data/authors/4ec47174008deea10fb66bbdc2ce1ef1.json deleted file mode 100644 index cbb8b72ab6..0000000000 --- a/_data/authors/4ec47174008deea10fb66bbdc2ce1ef1.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "wortal", - "stars": 2 - } - ], - "id": "4ec47174008deea10fb66bbdc2ce1ef1", - "name": "Digital Will Inc." -} \ No newline at end of file diff --git a/_data/authors/50e4e1bab82fe6b1f6ac6bf07a578126.json b/_data/authors/50e4e1bab82fe6b1f6ac6bf07a578126.json deleted file mode 100644 index 4c959bb5e8..0000000000 --- a/_data/authors/50e4e1bab82fe6b1f6ac6bf07a578126.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "acidrain", - "stars": 16 - } - ], - "id": "50e4e1bab82fe6b1f6ac6bf07a578126", - "name": "approboGames" -} \ No newline at end of file diff --git a/_data/authors/54d0fe81953befa10aaa9d1194a9d2d7.json b/_data/authors/54d0fe81953befa10aaa9d1194a9d2d7.json deleted file mode 100644 index 6c85dfa3b0..0000000000 --- a/_data/authors/54d0fe81953befa10aaa9d1194a9d2d7.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "assets": [ - { - "id": "2dcollisions", - "stars": 3 - }, - { - "id": "defold-api-emmylua", - "stars": 41 - }, - { - "id": "defold-box2d", - "stars": 42 - } - ], - "id": "54d0fe81953befa10aaa9d1194a9d2d7", - "name": "d954mas" -} \ No newline at end of file diff --git a/_data/authors/54dcd706c9cc3c34734699ce83e2d6c2.json b/_data/authors/54dcd706c9cc3c34734699ce83e2d6c2.json deleted file mode 100644 index fbe28e30e9..0000000000 --- a/_data/authors/54dcd706c9cc3c34734699ce83e2d6c2.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "assets": [ - { - "id": "debeat", - "stars": 28 - }, - { - "id": "define", - "stars": 20 - }, - { - "id": "defkit", - "stars": 23 - }, - { - "id": "vibration", - "stars": 20 - } - ], - "id": "54dcd706c9cc3c34734699ce83e2d6c2", - "name": "Adam Westman" -} \ No newline at end of file diff --git a/_data/authors/5d6dddec191d19aff834cd5ab30f570c.json b/_data/authors/5d6dddec191d19aff834cd5ab30f570c.json deleted file mode 100644 index 62b7ee83c6..0000000000 --- a/_data/authors/5d6dddec191d19aff834cd5ab30f570c.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "defold-oop", - "stars": 3 - } - ], - "id": "5d6dddec191d19aff834cd5ab30f570c", - "name": "xiyoo0812@163.com" -} \ No newline at end of file diff --git a/_data/authors/5ef914d2d8f88bf981967ec7c596813d.json b/_data/authors/5ef914d2d8f88bf981967ec7c596813d.json deleted file mode 100644 index 30a7f0ac98..0000000000 --- a/_data/authors/5ef914d2d8f88bf981967ec7c596813d.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "derez", - "stars": 17 - } - ], - "id": "5ef914d2d8f88bf981967ec7c596813d", - "name": "Baron Wittman" -} \ No newline at end of file diff --git a/_data/authors/6100d3b33dfe49f042484ab76af0781e.json b/_data/authors/6100d3b33dfe49f042484ab76af0781e.json deleted file mode 100644 index 665f95f0d8..0000000000 --- a/_data/authors/6100d3b33dfe49f042484ab76af0781e.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "assets": [ - { - "id": "apathfinding", - "stars": 108 - }, - { - "id": "biplanar-mapping", - "stars": 3 - }, - { - "id": "daabbcc", - "stars": 93 - }, - { - "id": "daabbcc3d", - "stars": 11 - }, - { - "id": "defold-3D-outline-shader", - "stars": 25 - }, - { - "id": "defold-depth-of-field-shader", - "stars": 9 - }, - { - "id": "defold-graph-pathfinder", - "stars": 35 - }, - { - "id": "defold-pixelart-shader", - "stars": 14 - }, - { - "id": "defold-sublime-text", - "stars": 8 - }, - { - "id": "defold-tile-raycast", - "stars": 21 - }, - { - "id": "defold-toon-shader", - "stars": 14 - }, - { - "id": "defold-uuid4", - "stars": 11 - }, - { - "id": "pcgrandom", - "stars": 34 - }, - { - "id": "stylized_water_shader", - "stars": 11 - }, - { - "id": "tinyhttp", - "stars": 11 - }, - { - "id": "wave_native", - "stars": 9 - } - ], - "id": "6100d3b33dfe49f042484ab76af0781e", - "name": "Selim Anaç" -} \ No newline at end of file diff --git a/_data/authors/61c731dc9a5612359ec177c4711567cc.json b/_data/authors/61c731dc9a5612359ec177c4711567cc.json deleted file mode 100644 index 9081dba4d6..0000000000 --- a/_data/authors/61c731dc9a5612359ec177c4711567cc.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "super-16-bit-sounds", - "stars": 0 - } - ], - "id": "61c731dc9a5612359ec177c4711567cc", - "name": "Dylann Taylor" -} \ No newline at end of file diff --git a/_data/authors/632b18be12f2cbb244b078d81be741e3.json b/_data/authors/632b18be12f2cbb244b078d81be741e3.json deleted file mode 100644 index 34b2cd2670..0000000000 --- a/_data/authors/632b18be12f2cbb244b078d81be741e3.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "photoshopguiexporter", - "stars": 20 - } - ], - "id": "632b18be12f2cbb244b078d81be741e3", - "name": "Martin Dahlin" -} \ No newline at end of file diff --git a/_data/authors/6331bc20c15e788dc7c1239038f4d88b.json b/_data/authors/6331bc20c15e788dc7c1239038f4d88b.json deleted file mode 100644 index 8aa11e88e3..0000000000 --- a/_data/authors/6331bc20c15e788dc7c1239038f4d88b.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "facebookads", - "stars": 8 - } - ], - "id": "6331bc20c15e788dc7c1239038f4d88b", - "name": "MrZak-dev" -} \ No newline at end of file diff --git a/_data/authors/63e41bd0ba1158bf35505bf42ff56a4b.json b/_data/authors/63e41bd0ba1158bf35505bf42ff56a4b.json deleted file mode 100644 index 721982a094..0000000000 --- a/_data/authors/63e41bd0ba1158bf35505bf42ff56a4b.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "assets": [ - { - "id": "colorpicker", - "stars": 5 - }, - { - "id": "defoldpolygoneditor", - "stars": 39 - } - ], - "id": "63e41bd0ba1158bf35505bf42ff56a4b", - "name": "Ross Grams" -} \ No newline at end of file diff --git a/_data/authors/65ce3e1d328e7986eb8c044411649c1f.json b/_data/authors/65ce3e1d328e7986eb8c044411649c1f.json deleted file mode 100644 index 8458a4ace3..0000000000 --- a/_data/authors/65ce3e1d328e7986eb8c044411649c1f.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "ump", - "stars": 8 - } - ], - "id": "65ce3e1d328e7986eb8c044411649c1f", - "name": "Toca (tc)" -} \ No newline at end of file diff --git a/_data/authors/68009f7dd783cd9d10e1842e618d82e2.json b/_data/authors/68009f7dd783cd9d10e1842e618d82e2.json deleted file mode 100644 index 009df604af..0000000000 --- a/_data/authors/68009f7dd783cd9d10e1842e618d82e2.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "sidescrollertutorialfromscratch", - "stars": 13 - } - ], - "id": "68009f7dd783cd9d10e1842e618d82e2", - "name": "Jérôme Barbier" -} \ No newline at end of file diff --git a/_data/authors/68ed918a501621d514774348f2d99f90.json b/_data/authors/68ed918a501621d514774348f2d99f90.json deleted file mode 100644 index 2e5d030405..0000000000 --- a/_data/authors/68ed918a501621d514774348f2d99f90.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "assets": [ - { - "id": "defold-index", - "stars": 6 - }, - { - "id": "defold-mic", - "stars": 6 - }, - { - "id": "defwin", - "stars": 13 - }, - { - "id": "matchanovel", - "stars": 68 - }, - { - "id": "webp", - "stars": 8 - } - ], - "id": "68ed918a501621d514774348f2d99f90", - "name": "Halfstar" -} \ No newline at end of file diff --git a/_data/authors/6bfb050b88dba339e0f954b4969bfe4a.json b/_data/authors/6bfb050b88dba339e0f954b4969bfe4a.json deleted file mode 100644 index 0607fbdcf8..0000000000 --- a/_data/authors/6bfb050b88dba339e0f954b4969bfe4a.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "webrtc", - "stars": 7 - } - ], - "id": "6bfb050b88dba339e0f954b4969bfe4a", - "name": "vitopigno" -} \ No newline at end of file diff --git a/_data/authors/6c8581f7da8da7a5c9bb6ffe85f56420.json b/_data/authors/6c8581f7da8da7a5c9bb6ffe85f56420.json deleted file mode 100644 index b86294519f..0000000000 --- a/_data/authors/6c8581f7da8da7a5c9bb6ffe85f56420.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "assets": [ - { - "id": "blip", - "stars": 23 - }, - { - "id": "clipboard", - "stars": 21 - }, - { - "id": "dashdocsetfordefold", - "stars": 2 - }, - { - "id": "dear-imgui", - "stars": 82 - }, - { - "id": "defcon", - "stars": 63 - }, - { - "id": "defoldinput", - "stars": 166 - }, - { - "id": "defoldpng", - "stars": 22 - }, - { - "id": "defpro", - "stars": 29 - }, - { - "id": "deftest", - "stars": 52 - }, - { - "id": "emthree", - "stars": 43 - }, - { - "id": "gooey", - "stars": 165 - }, - { - "id": "googleanalytics", - "stars": 22 - }, - { - "id": "gyro", - "stars": 11 - }, - { - "id": "imp", - "stars": 3 - }, - { - "id": "lowrezjamtemplate", - "stars": 44 - }, - { - "id": "luafilesystemlfs", - "stars": 14 - }, - { - "id": "luasocket", - "stars": 14 - }, - { - "id": "monarch", - "stars": 217 - }, - { - "id": "orthographic", - "stars": 222 - }, - { - "id": "platypus", - "stars": 74 - }, - { - "id": "richtext", - "stars": 82 - }, - { - "id": "screenshot", - "stars": 40 - }, - { - "id": "share", - "stars": 24 - } - ], - "id": "6c8581f7da8da7a5c9bb6ffe85f56420", - "name": "Björn Ritzl" -} \ No newline at end of file diff --git a/_data/authors/6fa4e9eb497a853ac0d93bc60a44131b.json b/_data/authors/6fa4e9eb497a853ac0d93bc60a44131b.json deleted file mode 100644 index 67183a7637..0000000000 --- a/_data/authors/6fa4e9eb497a853ac0d93bc60a44131b.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "gamekit", - "stars": 19 - } - ], - "id": "6fa4e9eb497a853ac0d93bc60a44131b", - "name": "Warren Fuller" -} \ No newline at end of file diff --git a/_data/authors/70ac2d222a9f2f33cab587a655c69601.json b/_data/authors/70ac2d222a9f2f33cab587a655c69601.json deleted file mode 100644 index 1e062d5961..0000000000 --- a/_data/authors/70ac2d222a9f2f33cab587a655c69601.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "assets": [ - { - "id": "defvideoads", - "stars": 38 - }, - { - "id": "drawpixels", - "stars": 94 - }, - { - "id": "uptime", - "stars": 6 - } - ], - "id": "70ac2d222a9f2f33cab587a655c69601", - "name": "Alexey Gulev" -} \ No newline at end of file diff --git a/_data/authors/7189ed9feae9804bd2a0b642b81d85fb.json b/_data/authors/7189ed9feae9804bd2a0b642b81d85fb.json deleted file mode 100644 index 0159965551..0000000000 --- a/_data/authors/7189ed9feae9804bd2a0b642b81d85fb.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "defpfd", - "stars": 9 - } - ], - "id": "7189ed9feae9804bd2a0b642b81d85fb", - "name": "AsakuraMizu" -} \ No newline at end of file diff --git a/_data/authors/742dbf61e2cf2fe6cefc26e302aa6d6c.json b/_data/authors/742dbf61e2cf2fe6cefc26e302aa6d6c.json deleted file mode 100644 index 4e300a1454..0000000000 --- a/_data/authors/742dbf61e2cf2fe6cefc26e302aa6d6c.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "yoga", - "stars": 17 - } - ], - "id": "742dbf61e2cf2fe6cefc26e302aa6d6c", - "name": "Faris Mustafa" -} \ No newline at end of file diff --git a/_data/authors/757d04efa06c859ff9983a6c3bdeb3c2.json b/_data/authors/757d04efa06c859ff9983a6c3bdeb3c2.json deleted file mode 100644 index 257be55a59..0000000000 --- a/_data/authors/757d04efa06c859ff9983a6c3bdeb3c2.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "defoldandroidpermissions", - "stars": 5 - } - ], - "id": "757d04efa06c859ff9983a6c3bdeb3c2", - "name": "Andrey Panchenko" -} \ No newline at end of file diff --git a/_data/authors/767b929084b257a4b4b42bfa5dfbb614.json b/_data/authors/767b929084b257a4b4b42bfa5dfbb614.json deleted file mode 100644 index dbb94a8749..0000000000 --- a/_data/authors/767b929084b257a4b4b42bfa5dfbb614.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "assets": [ - { - "id": "fire-glow-shader", - "stars": 22 - }, - { - "id": "reforge", - "stars": 24 - }, - { - "id": "sparkle-shader", - "stars": 14 - } - ], - "id": "767b929084b257a4b4b42bfa5dfbb614", - "name": "Alexander Bulatov" -} \ No newline at end of file diff --git a/_data/authors/793ee11171e32960b2768562a8deaf21.json b/_data/authors/793ee11171e32960b2768562a8deaf21.json deleted file mode 100644 index 57c7f45e20..0000000000 --- a/_data/authors/793ee11171e32960b2768562a8deaf21.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "defold-rng", - "stars": 13 - } - ], - "id": "793ee11171e32960b2768562a8deaf21", - "name": "Alchimystic" -} \ No newline at end of file diff --git a/_data/authors/7a2340205545b175e20f44488bd30a49.json b/_data/authors/7a2340205545b175e20f44488bd30a49.json deleted file mode 100644 index d99d2f4a45..0000000000 --- a/_data/authors/7a2340205545b175e20f44488bd30a49.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "assets": [ - { - "id": "automation-bridge", - "stars": 21 - }, - { - "id": "levelplay", - "stars": 17 - } - ], - "id": "7a2340205545b175e20f44488bd30a49", - "name": "Defold" -} \ No newline at end of file diff --git a/_data/authors/7db5ded5ce8543616d6753f6ee8bf2b7.json b/_data/authors/7db5ded5ce8543616d6753f6ee8bf2b7.json deleted file mode 100644 index cb4f61353a..0000000000 --- a/_data/authors/7db5ded5ce8543616d6753f6ee8bf2b7.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "library-defold-checkpoint", - "stars": 11 - } - ], - "id": "7db5ded5ce8543616d6753f6ee8bf2b7", - "name": "Klaleus" -} \ No newline at end of file diff --git a/_data/authors/7e350361d86157dee7b4b2c60a3d1a9b.json b/_data/authors/7e350361d86157dee7b4b2c60a3d1a9b.json deleted file mode 100644 index 6017ba6059..0000000000 --- a/_data/authors/7e350361d86157dee7b4b2c60a3d1a9b.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "kenney", - "stars": 0 - } - ], - "id": "7e350361d86157dee7b4b2c60a3d1a9b", - "name": "Kenney Vleugels" -} \ No newline at end of file diff --git a/_data/authors/80565c2c453d9a250100fdc7fe0ceeba.json b/_data/authors/80565c2c453d9a250100fdc7fe0ceeba.json deleted file mode 100644 index a529d54e2f..0000000000 --- a/_data/authors/80565c2c453d9a250100fdc7fe0ceeba.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "gunit", - "stars": 0 - } - ], - "id": "80565c2c453d9a250100fdc7fe0ceeba", - "name": "Matt van der Westhuizen" -} \ No newline at end of file diff --git a/_data/authors/821c90fb2ef546027b325a442d98de65.json b/_data/authors/821c90fb2ef546027b325a442d98de65.json deleted file mode 100644 index 32872364b7..0000000000 --- a/_data/authors/821c90fb2ef546027b325a442d98de65.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "m", - "stars": 6 - } - ], - "id": "821c90fb2ef546027b325a442d98de65", - "name": "wistpotion (Isabelle Fougner Axrup)" -} \ No newline at end of file diff --git a/_data/authors/82d93681cd4c0bccafd3c3274ac5f33a.json b/_data/authors/82d93681cd4c0bccafd3c3274ac5f33a.json deleted file mode 100644 index 0baf9bf4e8..0000000000 --- a/_data/authors/82d93681cd4c0bccafd3c3274ac5f33a.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "dsfonts", - "stars": 9 - } - ], - "id": "82d93681cd4c0bccafd3c3274ac5f33a", - "name": "Sergey Sinyavsky" -} \ No newline at end of file diff --git a/_data/authors/82dec81b3353206316cb7c95e847450f.json b/_data/authors/82dec81b3353206316cb7c95e847450f.json deleted file mode 100644 index 4191521904..0000000000 --- a/_data/authors/82dec81b3353206316cb7c95e847450f.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "assets": [ - { - "id": "illumination", - "stars": 58 - }, - { - "id": "kinematicwalker", - "stars": 62 - }, - { - "id": "lpeg", - "stars": 10 - }, - { - "id": "narrator", - "stars": 167 - }, - { - "id": "operator", - "stars": 61 - }, - { - "id": "trenchbroom", - "stars": 77 - }, - { - "id": "vs-code-ide", - "stars": 215 - } - ], - "id": "82dec81b3353206316cb7c95e847450f", - "name": "Roman Silin" -} \ No newline at end of file diff --git a/_data/authors/865340fc7cff2508e3a694759d5e9732.json b/_data/authors/865340fc7cff2508e3a694759d5e9732.json deleted file mode 100644 index 48b6dce4bb..0000000000 --- a/_data/authors/865340fc7cff2508e3a694759d5e9732.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "pp", - "stars": 6 - } - ], - "id": "865340fc7cff2508e3a694759d5e9732", - "name": "Planetary Processing Ltd" -} \ No newline at end of file diff --git a/_data/authors/8705a019e13aba03ecb45fd3a24468e1.json b/_data/authors/8705a019e13aba03ecb45fd3a24468e1.json deleted file mode 100644 index 87c17b487c..0000000000 --- a/_data/authors/8705a019e13aba03ecb45fd3a24468e1.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "player2", - "stars": 4 - } - ], - "id": "8705a019e13aba03ecb45fd3a24468e1", - "name": "Elefant AI" -} \ No newline at end of file diff --git a/_data/authors/89f1bb284adf2936575f2378410be407.json b/_data/authors/89f1bb284adf2936575f2378410be407.json deleted file mode 100644 index 1b2206e6b3..0000000000 --- a/_data/authors/89f1bb284adf2936575f2378410be407.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "haxesupport", - "stars": 233 - } - ], - "id": "89f1bb284adf2936575f2378410be407", - "name": "Dan Korostelev" -} \ No newline at end of file diff --git a/_data/authors/8c381310a001a941e61e2093e69ad950.json b/_data/authors/8c381310a001a941e61e2093e69ad950.json deleted file mode 100644 index 850d34c3d9..0000000000 --- a/_data/authors/8c381310a001a941e61e2093e69ad950.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "defvungle", - "stars": 2 - } - ], - "id": "8c381310a001a941e61e2093e69ad950", - "name": "SkaterDad" -} \ No newline at end of file diff --git a/_data/authors/8e8dcfd8ab030ee46c9efee57f492a9b.json b/_data/authors/8e8dcfd8ab030ee46c9efee57f492a9b.json deleted file mode 100644 index acf212a385..0000000000 --- a/_data/authors/8e8dcfd8ab030ee46c9efee57f492a9b.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "assets": [ - { - "id": "cards-fx-kit", - "stars": 56 - }, - { - "id": "defoldapiforsublimetext3", - "stars": 11 - }, - { - "id": "lightandshadows", - "stars": 142 - }, - { - "id": "slasherprototype", - "stars": 175 - } - ], - "id": "8e8dcfd8ab030ee46c9efee57f492a9b", - "name": "Igor Suntsev" -} \ No newline at end of file diff --git a/_data/authors/8fd8c1acf56f912e176589db86628f2d.json b/_data/authors/8fd8c1acf56f912e176589db86628f2d.json deleted file mode 100644 index 7d9febe90e..0000000000 --- a/_data/authors/8fd8c1acf56f912e176589db86628f2d.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "coolmathgames-sdk", - "stars": 4 - } - ], - "id": "8fd8c1acf56f912e176589db86628f2d", - "name": "Fabtjar" -} \ No newline at end of file diff --git a/_data/authors/911ae62ac524a12980cfceb44ad0f30d.json b/_data/authors/911ae62ac524a12980cfceb44ad0f30d.json deleted file mode 100644 index 51d6753702..0000000000 --- a/_data/authors/911ae62ac524a12980cfceb44ad0f30d.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "horrifold", - "stars": 51 - } - ], - "id": "911ae62ac524a12980cfceb44ad0f30d", - "name": "TheKing0x9" -} \ No newline at end of file diff --git a/_data/authors/916199871deaf531dba29563cbf1ca2a.json b/_data/authors/916199871deaf531dba29563cbf1ca2a.json deleted file mode 100644 index bd52992448..0000000000 --- a/_data/authors/916199871deaf531dba29563cbf1ca2a.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "quickbutton", - "stars": 0 - } - ], - "id": "916199871deaf531dba29563cbf1ca2a", - "name": "Gr. Scrits" -} \ No newline at end of file diff --git a/_data/authors/98a13e15bcbbfaaad8049cd6b09e87f1.json b/_data/authors/98a13e15bcbbfaaad8049cd6b09e87f1.json deleted file mode 100644 index b295a45ee7..0000000000 --- a/_data/authors/98a13e15bcbbfaaad8049cd6b09e87f1.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "assets": [ - { - "id": "apkverifier", - "stars": 7 - }, - { - "id": "cjson", - "stars": 26 - }, - { - "id": "md5", - "stars": 6 - }, - { - "id": "protobuf", - "stars": 17 - } - ], - "id": "98a13e15bcbbfaaad8049cd6b09e87f1", - "name": "Moon Active" -} \ No newline at end of file diff --git a/_data/authors/9983a0fce4cbeae6bb93e228d277cb31.json b/_data/authors/9983a0fce4cbeae6bb93e228d277cb31.json deleted file mode 100644 index 4fe17e1002..0000000000 --- a/_data/authors/9983a0fce4cbeae6bb93e228d277cb31.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "gamescore", - "stars": 13 - } - ], - "id": "9983a0fce4cbeae6bb93e228d277cb31", - "name": "Megalanthus" -} \ No newline at end of file diff --git a/_data/authors/9a30c4b73c59839a52d1790f9fa5fa6b.json b/_data/authors/9a30c4b73c59839a52d1790f9fa5fa6b.json deleted file mode 100644 index 4bab2afb90..0000000000 --- a/_data/authors/9a30c4b73c59839a52d1790f9fa5fa6b.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "blurshader", - "stars": 9 - } - ], - "id": "9a30c4b73c59839a52d1790f9fa5fa6b", - "name": "Vincent Lagerros" -} \ No newline at end of file diff --git a/_data/authors/9b081cd04d07b9aced2fe1b2d46126d9.json b/_data/authors/9b081cd04d07b9aced2fe1b2d46126d9.json deleted file mode 100644 index 80760aff20..0000000000 --- a/_data/authors/9b081cd04d07b9aced2fe1b2d46126d9.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "colorlib", - "stars": 13 - } - ], - "id": "9b081cd04d07b9aced2fe1b2d46126d9", - "name": "y444" -} \ No newline at end of file diff --git a/_data/authors/a0bfc7430b840873f242085ed47277c8.json b/_data/authors/a0bfc7430b840873f242085ed47277c8.json deleted file mode 100644 index 82b930d686..0000000000 --- a/_data/authors/a0bfc7430b840873f242085ed47277c8.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "assets": [ - { - "id": "dissolve-fx", - "stars": 33 - }, - { - "id": "graphics-angle", - "stars": 13 - }, - { - "id": "hypertrails", - "stars": 95 - }, - { - "id": "page-visibility", - "stars": 11 - }, - { - "id": "physics-tools", - "stars": 16 - }, - { - "id": "playable-ads", - "stars": 62 - }, - { - "id": "pointer-lock", - "stars": 23 - }, - { - "id": "reszip", - "stars": 39 - }, - { - "id": "scene3d", - "stars": 192 - }, - { - "id": "sentinel", - "stars": 21 - }, - { - "id": "sharpsprite", - "stars": 78 - }, - { - "id": "simplex-noise", - "stars": 9 - }, - { - "id": "splitmix64", - "stars": 24 - }, - { - "id": "webgl-memory", - "stars": 17 - }, - { - "id": "yagames", - "stars": 74 - }, - { - "id": "yametrica", - "stars": 14 - }, - { - "id": "zstd", - "stars": 9 - } - ], - "id": "a0bfc7430b840873f242085ed47277c8", - "name": "Indiesoft LLC" -} \ No newline at end of file diff --git a/_data/authors/a9dacc35f6115f2be87eae7838a930b4.json b/_data/authors/a9dacc35f6115f2be87eae7838a930b4.json deleted file mode 100644 index 25188234ff..0000000000 --- a/_data/authors/a9dacc35f6115f2be87eae7838a930b4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "defdragon", - "stars": 6 - } - ], - "id": "a9dacc35f6115f2be87eae7838a930b4", - "name": "Ronald K Bett" -} \ No newline at end of file diff --git a/_data/authors/aa7f6024a73f11149dd20d757e1e83ef.json b/_data/authors/aa7f6024a73f11149dd20d757e1e83ef.json deleted file mode 100644 index 250519306a..0000000000 --- a/_data/authors/aa7f6024a73f11149dd20d757e1e83ef.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "truetilecollisions", - "stars": 16 - } - ], - "id": "aa7f6024a73f11149dd20d757e1e83ef", - "name": "Agnis 'NeZvers' Aldins" -} \ No newline at end of file diff --git a/_data/authors/aecd79718c652bcb46658715d4a7ae55.json b/_data/authors/aecd79718c652bcb46658715d4a7ae55.json deleted file mode 100644 index eb3b436060..0000000000 --- a/_data/authors/aecd79718c652bcb46658715d4a7ae55.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "moku", - "stars": 47 - } - ], - "id": "aecd79718c652bcb46658715d4a7ae55", - "name": "Daka Sha" -} \ No newline at end of file diff --git a/_data/authors/b450788dc032917ae79b28cd5423ff68.json b/_data/authors/b450788dc032917ae79b28cd5423ff68.json deleted file mode 100644 index e51e918979..0000000000 --- a/_data/authors/b450788dc032917ae79b28cd5423ff68.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "assets": [ - { - "id": "bit46", - "stars": 2 - }, - { - "id": "rand16", - "stars": 2 - } - ], - "id": "b450788dc032917ae79b28cd5423ff68", - "name": "haruka" -} \ No newline at end of file diff --git a/_data/authors/b49809838a3668f44b96a178539eb58e.json b/_data/authors/b49809838a3668f44b96a178539eb58e.json deleted file mode 100644 index b3bef046b7..0000000000 --- a/_data/authors/b49809838a3668f44b96a178539eb58e.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "starly", - "stars": 36 - } - ], - "id": "b49809838a3668f44b96a178539eb58e", - "name": "Vow Software" -} \ No newline at end of file diff --git a/_data/authors/b6cf80bbb897b02ad11260ccfb89e0a2.json b/_data/authors/b6cf80bbb897b02ad11260ccfb89e0a2.json deleted file mode 100644 index d74191d340..0000000000 --- a/_data/authors/b6cf80bbb897b02ad11260ccfb89e0a2.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "assets": [ - { - "id": "defold-wrap", - "stars": 6 - }, - { - "id": "i18n-defold", - "stars": 9 - } - ], - "id": "b6cf80bbb897b02ad11260ccfb89e0a2", - "name": "Chung Xa" -} \ No newline at end of file diff --git a/_data/authors/bd277866e2bc8a45ebdddc0c39cfbeb9.json b/_data/authors/bd277866e2bc8a45ebdddc0c39cfbeb9.json deleted file mode 100644 index f78f9e00a9..0000000000 --- a/_data/authors/bd277866e2bc8a45ebdddc0c39cfbeb9.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "assets": [ - { - "id": "apkx", - "stars": 8 - }, - { - "id": "fmod", - "stars": 34 - }, - { - "id": "gog-galaxy", - "stars": 8 - } - ], - "id": "bd277866e2bc8a45ebdddc0c39cfbeb9", - "name": "Marius Petcu" -} \ No newline at end of file diff --git a/_data/authors/bf4446fc14e0dc76c2b42d95a140a489.json b/_data/authors/bf4446fc14e0dc76c2b42d95a140a489.json deleted file mode 100644 index 1727fdb165..0000000000 --- a/_data/authors/bf4446fc14e0dc76c2b42d95a140a489.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "trim_atlas", - "stars": 18 - } - ], - "id": "bf4446fc14e0dc76c2b42d95a140a489", - "name": "Denis Maltsev" -} \ No newline at end of file diff --git a/_data/authors/c30011ac4245e2089d77c366e0775634.json b/_data/authors/c30011ac4245e2089d77c366e0775634.json deleted file mode 100644 index 0bbe8e37db..0000000000 --- a/_data/authors/c30011ac4245e2089d77c366e0775634.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "deftable", - "stars": 12 - } - ], - "id": "c30011ac4245e2089d77c366e0775634", - "name": "Robert Gardner" -} \ No newline at end of file diff --git a/_data/authors/c3763cd89322b14d2e915429a74710c1.json b/_data/authors/c3763cd89322b14d2e915429a74710c1.json deleted file mode 100644 index be9b2f6d97..0000000000 --- a/_data/authors/c3763cd89322b14d2e915429a74710c1.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "playfabsdk", - "stars": 42 - } - ], - "id": "c3763cd89322b14d2e915429a74710c1", - "name": "PlayFab" -} \ No newline at end of file diff --git a/_data/authors/c7251be54930f3b6f39decf5e95250b3.json b/_data/authors/c7251be54930f3b6f39decf5e95250b3.json deleted file mode 100644 index 588fbfb15e..0000000000 --- a/_data/authors/c7251be54930f3b6f39decf5e95250b3.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "compat53", - "stars": 6 - } - ], - "id": "c7251be54930f3b6f39decf5e95250b3", - "name": "Aleksandr Derbenev" -} \ No newline at end of file diff --git a/_data/authors/d0f7e63ec16f418380817dad3b769718.json b/_data/authors/d0f7e63ec16f418380817dad3b769718.json deleted file mode 100644 index c6675422e2..0000000000 --- a/_data/authors/d0f7e63ec16f418380817dad3b769718.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "def-behavior-tree", - "stars": 25 - } - ], - "id": "d0f7e63ec16f418380817dad3b769718", - "name": "s-kania" -} \ No newline at end of file diff --git a/_data/authors/d37df7cd894e82ea661f79015ae00bb0.json b/_data/authors/d37df7cd894e82ea661f79015ae00bb0.json deleted file mode 100644 index ee65655e52..0000000000 --- a/_data/authors/d37df7cd894e82ea661f79015ae00bb0.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "fontscale", - "stars": 11 - } - ], - "id": "d37df7cd894e82ea661f79015ae00bb0", - "name": "Myopic Design" -} \ No newline at end of file diff --git a/_data/authors/d54cdc4bc377adc6a3233368cc304107.json b/_data/authors/d54cdc4bc377adc6a3233368cc304107.json deleted file mode 100644 index cca03c3fb5..0000000000 --- a/_data/authors/d54cdc4bc377adc6a3233368cc304107.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "assets": [ - { - "id": "defarc", - "stars": 34 - }, - { - "id": "defluid", - "stars": 11 - }, - { - "id": "defold-polyglot", - "stars": 11 - }, - { - "id": "defork", - "stars": 29 - }, - { - "id": "immutable", - "stars": 9 - }, - { - "id": "pigeon", - "stars": 63 - }, - { - "id": "squid", - "stars": 9 - } - ], - "id": "d54cdc4bc377adc6a3233368cc304107", - "name": "Paweł Jarosz" -} \ No newline at end of file diff --git a/_data/authors/dae099b9d61fe3947bfbc22568b31b21.json b/_data/authors/dae099b9d61fe3947bfbc22568b31b21.json deleted file mode 100644 index e609f510bf..0000000000 --- a/_data/authors/dae099b9d61fe3947bfbc22568b31b21.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "navgo", - "stars": 15 - } - ], - "id": "dae099b9d61fe3947bfbc22568b31b21", - "name": "gameoffate2018" -} \ No newline at end of file diff --git a/_data/authors/dcd0deade37ce7d99d938f70fa49dee1.json b/_data/authors/dcd0deade37ce7d99d938f70fa49dee1.json deleted file mode 100644 index 63345531f9..0000000000 --- a/_data/authors/dcd0deade37ce7d99d938f70fa49dee1.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "assets": [ - { - "id": "whdefrouter", - "stars": 28 - }, - { - "id": "whquestdef", - "stars": 10 - } - ], - "id": "dcd0deade37ce7d99d938f70fa49dee1", - "name": "Roman Petrov" -} \ No newline at end of file diff --git a/_data/authors/dd20e1afac0de345aeb2422a2f9743fd.json b/_data/authors/dd20e1afac0de345aeb2422a2f9743fd.json deleted file mode 100644 index 6b66e9edee..0000000000 --- a/_data/authors/dd20e1afac0de345aeb2422a2f9743fd.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "assets": [ - { - "id": "ironsource", - "stars": 6 - }, - { - "id": "tapticengine", - "stars": 14 - }, - { - "id": "tenjin", - "stars": 1 - } - ], - "id": "dd20e1afac0de345aeb2422a2f9743fd", - "name": "Marat Gilyazov" -} \ No newline at end of file diff --git a/_data/authors/df43ce0658a20ceebcdfab1b6e54c9aa.json b/_data/authors/df43ce0658a20ceebcdfab1b6e54c9aa.json deleted file mode 100644 index 82f1a4ad1f..0000000000 --- a/_data/authors/df43ce0658a20ceebcdfab1b6e54c9aa.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "assets": [ - { - "id": "def_usercentrics", - "stars": 3 - }, - { - "id": "live-unbundler", - "stars": 10 - } - ], - "id": "df43ce0658a20ceebcdfab1b6e54c9aa", - "name": "HGPoint" -} \ No newline at end of file diff --git a/_data/authors/e32e02d173ec863e5b26d85532f4cb99.json b/_data/authors/e32e02d173ec863e5b26d85532f4cb99.json deleted file mode 100644 index 722e4cae58..0000000000 --- a/_data/authors/e32e02d173ec863e5b26d85532f4cb99.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "tiled", - "stars": 12796 - } - ], - "id": "e32e02d173ec863e5b26d85532f4cb99", - "name": "Thorbjørn Lindeijer" -} \ No newline at end of file diff --git a/_data/authors/ed8d3d9c99bf62c05dc414c77cedb123.json b/_data/authors/ed8d3d9c99bf62c05dc414c77cedb123.json deleted file mode 100644 index 0bc9e23ca1..0000000000 --- a/_data/authors/ed8d3d9c99bf62c05dc414c77cedb123.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "decodeogg", - "stars": 9 - } - ], - "id": "ed8d3d9c99bf62c05dc414c77cedb123", - "name": "Denis Makhortov" -} \ No newline at end of file diff --git a/_data/authors/ef6d5c21d75557d414343ab7c1bd79da.json b/_data/authors/ef6d5c21d75557d414343ab7c1bd79da.json deleted file mode 100644 index bbb608804f..0000000000 --- a/_data/authors/ef6d5c21d75557d414343ab7c1bd79da.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "assets": [ - { - "id": "qrcode", - "stars": 7 - }, - { - "id": "voronoi", - "stars": 15 - } - ], - "id": "ef6d5c21d75557d414343ab7c1bd79da", - "name": "Mathias Westerdahl" -} \ No newline at end of file diff --git a/_data/authors/f0ed797e86f7025f8ba5455479852ca5.json b/_data/authors/f0ed797e86f7025f8ba5455479852ca5.json deleted file mode 100644 index d6bb568ac1..0000000000 --- a/_data/authors/f0ed797e86f7025f8ba5455479852ca5.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "defold-pbr", - "stars": 3 - } - ], - "id": "f0ed797e86f7025f8ba5455479852ca5", - "name": "Defold Foundation" -} \ No newline at end of file diff --git a/_data/authors/f20c27ccbec44441fc8f842fa6e0f23f.json b/_data/authors/f20c27ccbec44441fc8f842fa6e0f23f.json deleted file mode 100644 index 74b67de80e..0000000000 --- a/_data/authors/f20c27ccbec44441fc8f842fa6e0f23f.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "tilesetter", - "stars": 0 - } - ], - "id": "f20c27ccbec44441fc8f842fa6e0f23f", - "name": "Led" -} \ No newline at end of file diff --git a/_data/authors/f4192276a8445076db3e40da4728878b.json b/_data/authors/f4192276a8445076db3e40da4728878b.json deleted file mode 100644 index b55c3aa978..0000000000 --- a/_data/authors/f4192276a8445076db3e40da4728878b.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "tactxstudios", - "stars": 0 - } - ], - "id": "f4192276a8445076db3e40da4728878b", - "name": "Tactx Studios" -} \ No newline at end of file diff --git a/_data/authors/f48a4960505d289f004b2c92e00e482e.json b/_data/authors/f48a4960505d289f004b2c92e00e482e.json deleted file mode 100644 index 6bd76538dc..0000000000 --- a/_data/authors/f48a4960505d289f004b2c92e00e482e.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "scml-parser", - "stars": 13 - } - ], - "id": "f48a4960505d289f004b2c92e00e482e", - "name": "Evandro Costa" -} \ No newline at end of file diff --git a/_data/authors/f4ecd22ca7133c183d7f46be9c2d848b.json b/_data/authors/f4ecd22ca7133c183d7f46be9c2d848b.json deleted file mode 100644 index ffdb7c5616..0000000000 --- a/_data/authors/f4ecd22ca7133c183d7f46be9c2d848b.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "dicebag", - "stars": 40 - } - ], - "id": "f4ecd22ca7133c183d7f46be9c2d848b", - "name": "8BitSkull" -} \ No newline at end of file diff --git a/_data/authors/f55f5a24b15caa21479706c219beb4ae.json b/_data/authors/f55f5a24b15caa21479706c219beb4ae.json deleted file mode 100644 index 938cdf091d..0000000000 --- a/_data/authors/f55f5a24b15caa21479706c219beb4ae.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "assets": [ - { - "id": "defold-cairo", - "stars": 5 - }, - { - "id": "defold-nuklear", - "stars": 18 - } - ], - "id": "f55f5a24b15caa21479706c219beb4ae", - "name": "David Lannan" -} \ No newline at end of file diff --git a/_data/authors/f7d71deae508c5b674dda314b6b6cbb8.json b/_data/authors/f7d71deae508c5b674dda314b6b6cbb8.json deleted file mode 100644 index 4ce5be324a..0000000000 --- a/_data/authors/f7d71deae508c5b674dda314b6b6cbb8.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "minit-sdk", - "stars": 0 - } - ], - "id": "f7d71deae508c5b674dda314b6b6cbb8", - "name": "Minit Games" -} \ No newline at end of file diff --git a/_data/authors/f9682e1dc393197965796f698ae8002b.json b/_data/authors/f9682e1dc393197965796f698ae8002b.json deleted file mode 100644 index 868c8c2c5f..0000000000 --- a/_data/authors/f9682e1dc393197965796f698ae8002b.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "crypto_iap", - "stars": 3 - } - ], - "id": "f9682e1dc393197965796f698ae8002b", - "name": "bdshahab" -} \ No newline at end of file diff --git a/_data/authors/fb725749047f9c600b9967b29ff81b27.json b/_data/authors/fb725749047f9c600b9967b29ff81b27.json deleted file mode 100644 index c7dda574bf..0000000000 --- a/_data/authors/fb725749047f9c600b9967b29ff81b27.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "flow", - "stars": 44 - } - ], - "id": "fb725749047f9c600b9967b29ff81b27", - "name": "Pause Games" -} \ No newline at end of file diff --git a/_data/authors/fc0f2ca1bb97818c5922a389c671edca.json b/_data/authors/fc0f2ca1bb97818c5922a389c671edca.json deleted file mode 100644 index f955f4ee07..0000000000 --- a/_data/authors/fc0f2ca1bb97818c5922a389c671edca.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "defunico", - "stars": 11 - } - ], - "id": "fc0f2ca1bb97818c5922a389c671edca", - "name": "Yuichiro Kumagai" -} \ No newline at end of file diff --git a/_data/authors/fcf9836120114ee7a976df4a4b3ae5c4.json b/_data/authors/fcf9836120114ee7a976df4a4b3ae5c4.json deleted file mode 100644 index 92348b031b..0000000000 --- a/_data/authors/fcf9836120114ee7a976df4a4b3ae5c4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "defold-nvim", - "stars": 33 - } - ], - "id": "fcf9836120114ee7a976df4a4b3ae5c4", - "name": "atomicptr" -} \ No newline at end of file diff --git a/_data/authors/fd95d1ba0d327f337f2c09f181706488.json b/_data/authors/fd95d1ba0d327f337f2c09f181706488.json deleted file mode 100644 index 965893536f..0000000000 --- a/_data/authors/fd95d1ba0d327f337f2c09f181706488.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "tinyecs", - "stars": 10 - } - ], - "id": "fd95d1ba0d327f337f2c09f181706488", - "name": "MegaCrab Games" -} \ No newline at end of file diff --git a/_data/authors/fdec556e51a2ad846db08b8ba0ae3b86.json b/_data/authors/fdec556e51a2ad846db08b8ba0ae3b86.json deleted file mode 100644 index 22157d095d..0000000000 --- a/_data/authors/fdec556e51a2ad846db08b8ba0ae3b86.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "assets": [ - { - "id": "asset-store", - "stars": 32 - }, - { - "id": "crowd-runner-defold", - "stars": 20 - }, - { - "id": "defold-event", - "stars": 74 - }, - { - "id": "defold-lang", - "stars": 40 - }, - { - "id": "defold-log", - "stars": 37 - }, - { - "id": "defold-parser", - "stars": 11 - }, - { - "id": "defold-proto", - "stars": 16 - }, - { - "id": "defold-quest", - "stars": 24 - }, - { - "id": "defold-saver", - "stars": 50 - }, - { - "id": "defold-token", - "stars": 18 - }, - { - "id": "defold-tweener", - "stars": 63 - }, - { - "id": "deployer", - "stars": 47 - }, - { - "id": "detiled", - "stars": 12 - }, - { - "id": "druid", - "stars": 581 - }, - { - "id": "panthera", - "stars": 103 - }, - { - "id": "panthera20", - "stars": 119 - } - ], - "id": "fdec556e51a2ad846db08b8ba0ae3b86", - "name": "Insality" -} \ No newline at end of file diff --git a/_data/authors/fef042de4dda67920cac30094e5feaea.json b/_data/authors/fef042de4dda67920cac30094e5feaea.json deleted file mode 100644 index c14eee4dac..0000000000 --- a/_data/authors/fef042de4dda67920cac30094e5feaea.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "playgama-bridge", - "stars": 33 - } - ], - "id": "fef042de4dda67920cac30094e5feaea", - "name": "Playgama" -} \ No newline at end of file diff --git a/_data/authors/ffb80685a055de9b8d1c05bc9cfce024.json b/_data/authors/ffb80685a055de9b8d1c05bc9cfce024.json deleted file mode 100644 index 766b3007d6..0000000000 --- a/_data/authors/ffb80685a055de9b8d1c05bc9cfce024.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "assets": [ - { - "id": "nakama", - "stars": 103 - } - ], - "id": "ffb80685a055de9b8d1c05bc9cfce024", - "name": "Heroic Labs" -} \ No newline at end of file diff --git a/_data/examplesindex.json b/_data/examplesindex.json index eab86662e2..a6524a554e 100644 --- a/_data/examplesindex.json +++ b/_data/examplesindex.json @@ -1,6 +1,8 @@ [ { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "Learn how to play 3D animations from a GLB model using skinned model material.", "category": "animation", "layout": "example", @@ -13,7 +15,9 @@ "twitter_image": "https://www.defold.com/examples/animation/3d_animations/thumbnail.webp" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to use the delay parameter of `go.animate()` to create a wave effect.", "category": "animation", "layout": "example", @@ -26,7 +30,9 @@ "twitter_image": "https://www.defold.com/examples/animation/animation_delay/thumbnail.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "Shows how to build a small Finite State Machine module and use it to control character and animation states.", "category": "animation", "layout": "example", @@ -39,7 +45,9 @@ "twitter_image": "https://www.defold.com/examples/animation/animation_states/thumbnail.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to tween animate the position of a game object.", "category": "animation", "layout": "example", @@ -52,7 +60,9 @@ "twitter_image": "https://www.defold.com/examples/animation/basic_tween/basic_tween.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to use `go.cancel_animations()` to stop a running animation and start a new one.", "category": "animation", "layout": "example", @@ -65,7 +75,9 @@ "twitter_image": "https://www.defold.com/examples/animation/cancel_animation/setup.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to chain two tween animations of the position of a game object. In addition, the scale and tint is animated separately.", "category": "animation", "layout": "example", @@ -78,7 +90,9 @@ "twitter_image": "https://www.defold.com/examples/animation/chained_tween/chained_tween.png" }, { - "author": "Pawe\u0142 Jarosz", + "author_ids": [ + "pawel-jarosz" + ], "brief": "This example shows how to set and animate the normalized cursor value.", "category": "animation", "layout": "example", @@ -91,7 +105,9 @@ "twitter_image": "https://www.defold.com/examples/animation/cursor/cursor.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to define a custom easing curve and use it when animating with `go.animate()` instead of a built-in easing constant.", "category": "animation", "layout": "example", @@ -104,9 +120,9 @@ "twitter_image": "https://www.defold.com/examples/animation/custom_easing/setup.png" }, { - "authors": [ + "author_ids": [ "mikatuo", - "Defold Foundation" + "defold-foundation" ], "brief": "Demonstrates different easing functions available in Defold.", "category": "animation", @@ -120,7 +136,9 @@ "twitter_image": "https://www.defold.com/examples/animation/easing/thumbnail.webp" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "Shows how to animate Euler rotation.", "category": "animation", "layout": "example", @@ -133,6 +151,9 @@ "twitter_image": "https://www.defold.com/examples/animation/euler_rotation/thumbnail.png" }, { + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to use a flipbook animation in a sprite", "category": "animation", "layout": "example", @@ -144,7 +165,9 @@ "twitter_image": "https://www.defold.com/examples/animation/flipbook/flipbook.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows Spine bone animation that blends when animation switches.", "category": "animation", "layout": "example", @@ -157,7 +180,9 @@ "twitter_image": "https://www.defold.com/examples/animation/spine/spine.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how a game object is rotated in discrete steps, matching the graphics of the progress spinner.", "category": "animation", "layout": "example", @@ -170,7 +195,9 @@ "twitter_image": "https://www.defold.com/examples/animation/spinner/spinner.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to communicate between two script components in two separate game objects.", "category": "basics", "layout": "example", @@ -183,7 +210,9 @@ "twitter_image": "https://www.defold.com/examples/basics/message_passing/message_passing.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to child a game object to a parent.", "category": "basics", "layout": "example", @@ -196,7 +225,9 @@ "twitter_image": "https://www.defold.com/examples/basics/parent_child/parent_child.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to generate pseudo-random numbers in Defold using built-in math API.", "category": "basics", "layout": "example", @@ -209,7 +240,9 @@ "twitter_image": "https://www.defold.com/examples/basics/random_numbers/thumbnail.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to put sprites in front and behind of eachother", "category": "basics", "layout": "example", @@ -222,7 +255,9 @@ "twitter_image": "https://www.defold.com/examples/basics/z_order/z_order.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to use collection proxies to load and unload collections.", "category": "collection", "layout": "example", @@ -235,7 +270,9 @@ "twitter_image": "https://www.defold.com/examples/collection/proxy/proxy.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to use collection proxies to show a splash screen while loading a game menu.", "category": "collection", "layout": "example", @@ -248,7 +285,9 @@ "twitter_image": "https://www.defold.com/examples/collection/splash/splash.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to speed up or slow down animations in a collection proxy by changing the time step of the collection proxy.", "category": "collection", "layout": "example", @@ -261,7 +300,9 @@ "twitter_image": "https://www.defold.com/examples/collection/timestep/thumbnail.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example allows you to toggle physics debug visualization as well as changing the time step so the simulation runs at one tenth of the speed.", "category": "debug", "layout": "example", @@ -274,7 +315,9 @@ "twitter_image": "https://www.defold.com/examples/debug/physics/thumbnail.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows the on-screen profiler. It displays useful runtime information.", "category": "debug", "layout": "example", @@ -287,7 +330,9 @@ "twitter_image": "https://www.defold.com/examples/debug/profile/profile.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to dynamically spawn game objects with a factory component.", "category": "factory", "layout": "example", @@ -300,7 +345,9 @@ "twitter_image": "https://www.defold.com/examples/factory/basic/basic.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to dynamically spawn bullet game objects using a factory component.", "category": "factory", "layout": "example", @@ -310,7 +357,9 @@ "title": "Shoot bullets" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to change the prototype game object used by a factory component.", "category": "factory", "layout": "example", @@ -323,7 +372,9 @@ "twitter_image": "https://www.defold.com/examples/factory/dynamic/bullets_collection.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to spawn enemy game objects using a factory component and use a central manager to control movement and behavior of all enemies.", "category": "factory", "layout": "example", @@ -336,7 +387,9 @@ "twitter_image": "https://www.defold.com/examples/factory/spawn_manager/thumbnail.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to spawn enemy game objects using a factory component with different properties.", "category": "factory", "layout": "example", @@ -349,7 +402,9 @@ "twitter_image": "https://www.defold.com/examples/factory/spawn_properties/thumbnail.png" }, { - "author": "Jerakin", + "author_ids": [ + "jerakin" + ], "brief": "This example shows how to load json data using sys.load_resource().", "category": "file", "layout": "example", @@ -362,7 +417,9 @@ "twitter_image": "https://www.defold.com/examples/file/json_load/set_custom_resource.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to save and load data using sys.save() and sys.load()", "category": "file", "layout": "example", @@ -372,7 +429,9 @@ "title": "Save and Load" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "A GUI box node with an image texture and a script to make it act as a button.", "category": "gui", "layout": "example", @@ -385,7 +444,9 @@ "twitter_image": "https://www.defold.com/examples/gui/button/button.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how change the color of GUI nodes at run-time", "category": "gui", "layout": "example", @@ -398,7 +459,9 @@ "twitter_image": "https://www.defold.com/examples/gui/color/color1.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to drag a GUI box node.", "category": "gui", "layout": "example", @@ -408,7 +471,9 @@ "title": "Drag" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to get and set a font resource on a gui component.", "category": "gui", "layout": "example", @@ -418,7 +483,9 @@ "title": "Get and set a gui font resource" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to get and set a material resource on a gui component.", "category": "gui", "layout": "example", @@ -428,7 +495,9 @@ "title": "Get and set a gui material resource" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to get and set a texture resource on a gui component.", "category": "gui", "layout": "example", @@ -438,7 +507,9 @@ "title": "Get and set a gui texture resource" }, { - "author": "Pawe\u0142 Jarosz", + "author_ids": [ + "pawel-jarosz" + ], "brief": "This example demonstrates how to add different health bars.", "category": "gui", "layout": "example", @@ -451,7 +522,9 @@ "twitter_image": "https://www.defold.com/examples/gui/healthbar/healthbar.png" }, { - "author": "Alexey Gulev", + "author_ids": [ + "alexey-gulev" + ], "brief": "This example demonstrates the use of layouts.", "category": "gui", "layout": "example", @@ -464,7 +537,9 @@ "twitter_image": "https://www.defold.com/examples/gui/layouts/outline.png" }, { - "author": "Alexey Gulev", + "author_ids": [ + "alexey-gulev" + ], "brief": "This example shows how to load and set a dynamic texture on a gui box node.", "category": "gui", "layout": "example", @@ -477,7 +552,9 @@ "twitter_image": "https://www.defold.com/examples/gui/load_texture/load_texture.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example demonstrates how to handle localization in games, Unicode text layout, RTL rendering, and runtime font switching for localization.", "category": "gui", "layout": "example", @@ -490,7 +567,9 @@ "twitter_image": "https://www.defold.com/examples/gui/localization/thumbnail.png" }, { - "author": "Alexey Gulev", + "author_ids": [ + "alexey-gulev" + ], "brief": "A GUI box node with an image texture and a script that react when pointer over this node.", "category": "gui", "layout": "example", @@ -503,7 +582,9 @@ "twitter_image": "https://www.defold.com/examples/gui/pointer_over/button.jpg" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to create various types of progress indicators", "category": "gui", "layout": "example", @@ -516,7 +597,9 @@ "twitter_image": "https://www.defold.com/examples/gui/progress/progress.png" }, { - "author": "Agustin R.", + "author_ids": [ + "agustin-r" + ], "brief": "This example demonstrates slice-9 scaling gui box node.", "category": "gui", "layout": "example", @@ -529,7 +612,9 @@ "twitter_image": "https://www.defold.com/examples/gui/slice9/slice9.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "A GUI box node with \"Clipping mode\" set to \"STENCIL\". This makes it mask its child node (which is called \"bunny\").", "category": "gui", "layout": "example", @@ -542,7 +627,9 @@ "twitter_image": "https://www.defold.com/examples/gui/stencil/stencil.png" }, { - "author": "Alexey Gulev", + "author_ids": [ + "alexey-gulev" + ], "brief": "Listens to input trigger \"touch\" and count mouse down duration in update method.", "category": "input", "layout": "example", @@ -555,7 +642,9 @@ "twitter_image": "https://www.defold.com/examples/input/down_duration/input_binding.png" }, { - "author": "Artsiom Trubchyk", + "author_ids": [ + "artsiom-trubchyk" + ], "brief": "This example demonstrates how to pick a game object from the 3D scene.", "category": "input", "layout": "example", @@ -565,7 +654,9 @@ "title": "Entity Picking" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "Shows how to read mouse and/or touch movement and mouse button/touch state.", "category": "input", "layout": "example", @@ -578,7 +669,9 @@ "twitter_image": "https://www.defold.com/examples/input/mouse_and_touch/thumbnail.webp" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "A very simple 8 ways movement setup with a single game object and a script that listens to input and updates the game object position accordingly.", "category": "input", "layout": "example", @@ -591,7 +684,9 @@ "twitter_image": "https://www.defold.com/examples/input/move/input_bindings.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "Listens to text input trigger \"type\" and modifies the game object label with the alien's speech according to input. A \"backspace\" key trigger has also been added.", "category": "input", "layout": "example", @@ -601,7 +696,9 @@ "title": "Text input" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to make sprites and particle sprites face the camera using a custom vertex shader.", "category": "material", "layout": "example", @@ -614,7 +711,9 @@ "twitter_image": "https://www.defold.com/examples/material/billboarding/thumbnail.png" }, { - "author": "Agustin R.", + "author_ids": [ + "agustin-r" + ], "brief": "This example demonstrates a simple way to create and apply a custom sprite shader for changing colors and customizing an outline.", "category": "material", "layout": "example", @@ -625,7 +724,9 @@ "title": "Custom Sprite" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to use a noise function to generate clouds, smoke or similar effect using a shader.", "category": "material", "layout": "example", @@ -638,7 +739,9 @@ "twitter_image": "https://www.defold.com/examples/material/noise/stretched-mesh.png" }, { - "author": "Artsiom Trubchyk", + "author_ids": [ + "artsiom-trubchyk" + ], "brief": "Create a full-screen scrolling background using a repeated texture on a glTF quad.", "category": "material", "layout": "example", @@ -651,7 +754,9 @@ "twitter_image": "https://www.defold.com/examples/material/repeating_background/thumbnail.webp" }, { - "author": "Artsiom Trubchyk", + "author_ids": [ + "artsiom-trubchyk" + ], "brief": "This example shows how to create a custom material with two textures that blend together to create a pattern effect using screen space coordinates.", "category": "material", "layout": "example", @@ -662,7 +767,9 @@ "title": "Screenspace" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to get local UV coordinates of a sprite regardless of sprite size", "category": "material", "layout": "example", @@ -675,7 +782,9 @@ "twitter_image": "https://www.defold.com/examples/material/sprite_local_uv/example.png" }, { - "author": "Artsiom Trubchyk", + "author_ids": [ + "artsiom-trubchyk" + ], "brief": "This example shows how to create and apply an unlit material to a 3D model.", "category": "material", "layout": "example", @@ -689,7 +798,9 @@ "twitter_image": "https://www.defold.com/examples/material/unlit/thumbnail.webp" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to apply a basic shader to a full screen quad.", "category": "material", "layout": "example", @@ -702,7 +813,9 @@ "twitter_image": "https://www.defold.com/examples/material/uvgradient/stretched-mesh.png" }, { - "author": "Mathias Westerdahl", + "author_ids": [ + "mathias-westerdahl" + ], "brief": "This example shows how to set and animate a vertex attribute", "category": "material", "layout": "example", @@ -715,9 +828,9 @@ "twitter_image": "https://www.defold.com/examples/material/vertexcolor/vertexcolor-material.png" }, { - "authors": [ - "JuLongZhiLu(\u5de8\u9f99\u4e4b\u8def)", - "Brian Kramer" + "author_ids": [ + "julongzhilu", + "brian-kramer" ], "brief": "Shows how to use a Time shader constant to achieve a moving wave effect", "category": "material", @@ -731,7 +844,9 @@ "twitter_image": "https://www.defold.com/examples/material/wave_background/thumbnail.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to create a textured mesh component in the shape of a rectangle.", "category": "mesh", "layout": "example", @@ -741,7 +856,9 @@ "title": "Textured Mesh" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to create a basic mesh component in the shape of a triangle.", "category": "mesh", "layout": "example", @@ -751,7 +868,9 @@ "title": "Mesh" }, { - "author": "Artsiom Trubchyk", + "author_ids": [ + "artsiom-trubchyk" + ], "brief": "This example shows how to use `model.get_aabb()` to frame moving 3D objects with a camera.", "category": "model", "layout": "example", @@ -764,7 +883,9 @@ "twitter_image": "https://www.defold.com/examples/model/aabb/thumbnail.webp" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to play skeletal animations on a glTF character model and trigger them from GUI buttons.", "category": "model", "layout": "example", @@ -777,7 +898,9 @@ "twitter_image": "https://www.defold.com/examples/model/character/thumbnail.webp" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "Shows how to sample a cubemap in a model shader to create environment reflections.", "category": "model", "layout": "example", @@ -790,7 +913,9 @@ "twitter_image": "https://www.defold.com/examples/model/cubemap/thumbnail.webp" }, { - "author": "Artsiom Trubchyk", + "author_ids": [ + "artsiom-trubchyk" + ], "brief": "This example shows how to use glTF models to build an infinite scrolling track.", "category": "model", "layout": "example", @@ -803,7 +928,9 @@ "twitter_image": "https://www.defold.com/examples/model/gltf/thumbnail.webp" }, { - "author": "Agustin R.", + "author_ids": [ + "agustin-r" + ], "brief": "This example demonstrates how to apply a vertex color shader using exported attributes from a 3D model.", "category": "model", "layout": "example", @@ -814,7 +941,9 @@ "title": "Model Vertex Color" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "Shows how to play glTF morph target animations with a morph-capable model material.", "category": "model", "layout": "example", @@ -827,7 +956,9 @@ "twitter_image": "https://www.defold.com/examples/model/morph-target/thumbnail.webp" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "Shows how to override morph target weights on a Model component with `model.set_blend_weights()`.", "category": "model", "layout": "example", @@ -840,7 +971,9 @@ "twitter_image": "https://www.defold.com/examples/model/morph-target-weights/thumbnail.webp" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example demonstrates GPU skinning.", "category": "model", "layout": "example", @@ -853,7 +986,9 @@ "twitter_image": "https://www.defold.com/examples/model/skinning/skinning_thumb.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to create a skybox using a cubemap texture.", "category": "model", "layout": "example", @@ -866,7 +1001,9 @@ "twitter_image": "https://www.defold.com/examples/model/skybox/skybox.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "Control a first-person camera using WASD and mouse to look with cursor lock.", "category": "movement", "layout": "example", @@ -879,7 +1016,9 @@ "twitter_image": "https://www.defold.com/examples/movement/3d_fps/collection.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to make a game object continuously follow the mouse.", "category": "movement", "layout": "example", @@ -892,7 +1031,9 @@ "twitter_image": "https://www.defold.com/examples/movement/follow/follow.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to rotate a game object to look at the mouse cursor", "category": "movement", "layout": "example", @@ -903,7 +1044,9 @@ "title": "Look at" }, { - "author": "Artsiom Trubchyk", + "author_ids": [ + "artsiom-trubchyk" + ], "brief": "This example shows how to rotate a game object to look at the object in 3D space.", "category": "movement", "layout": "example", @@ -914,7 +1057,9 @@ "title": "Look rotation" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to move a game object in the direction it is rotated/facing.", "category": "movement", "layout": "example", @@ -924,7 +1069,9 @@ "title": "Move forward" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to make a game object move to the position the user clicks.", "category": "movement", "layout": "example", @@ -937,7 +1084,9 @@ "twitter_image": "https://www.defold.com/examples/movement/move_to/move_to.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to move a game object with accelerating speed.", "category": "movement", "layout": "example", @@ -947,7 +1096,9 @@ "title": "Movement speed" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to move a game object.", "category": "movement", "layout": "example", @@ -960,7 +1111,9 @@ "twitter_image": "https://www.defold.com/examples/movement/simple_move/simple_move.png" }, { - "author": "Artsiom Trubchyk", + "author_ids": [ + "artsiom-trubchyk" + ], "brief": "This example shows a simple particle effect to imitate confetti with multiple emitters and global multipliers for all of them.", "category": "particles", "layout": "example", @@ -973,7 +1126,9 @@ "twitter_image": "https://www.defold.com/examples/particles/confetti/thumbnail.png" }, { - "author": "Pawe\u0142 Jarosz", + "author_ids": [ + "pawel-jarosz" + ], "brief": "This example shows a simple particle effect for imitating fire and smoke using two emitters and 3 modifiers in a single particlefx component.", "category": "particles", "layout": "example", @@ -986,9 +1141,9 @@ "twitter_image": "https://www.defold.com/examples/particles/fire_and_smoke/thumbnail.png" }, { - "authors": [ + "author_ids": [ "fysx", - "Defold Foundation" + "defold-foundation" ], "brief": "This example shows how to spawn firework rockets with separate trail and burst particle effects, including a small dip before the burst.", "category": "particles", @@ -1002,7 +1157,9 @@ "twitter_image": "https://www.defold.com/examples/particles/fireworks/thumbnail.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows particle effect modifiers. Modifiers are used to alter the path of emitted particles.", "category": "particles", "layout": "example", @@ -1015,7 +1172,9 @@ "twitter_image": "https://www.defold.com/examples/particles/modifiers/modifiers.jpg" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows a simple particle effect. The particlefx component has all the values at default, except the image and animation used.", "category": "particles", "layout": "example", @@ -1028,7 +1187,9 @@ "twitter_image": "https://www.defold.com/examples/particles/particlefx/particlefx.jpg" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example demonstrates the difference between local and world particle emission spaces. Two UFO objects move up and down, showing how particles behave differently when emitted in emitter space versus world space.", "category": "particles", "layout": "example", @@ -1041,7 +1202,9 @@ "twitter_image": "https://www.defold.com/examples/particles/particlefx_emission_space/thumbnail.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to get and set ParticleFX emitter image, animation, and material at runtime.", "category": "particles", "layout": "example", @@ -1054,7 +1217,9 @@ "twitter_image": "https://www.defold.com/examples/particles/particlefx_set_get/thumbnail.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how the Start Delay emitter property can be used to sequence two emitters inside a single ParticleFX and create a simple fountain effect.", "category": "particles", "layout": "example", @@ -1067,6 +1232,9 @@ "twitter_image": "https://www.defold.com/examples/particles/particlefx_start_delay/thumbnail.png" }, { + "author_ids": [ + "defold-foundation" + ], "brief": "This example demonstrates how to apply directional force to all dynamic blocks on touch/click and draws debug direction lines.", "category": "physics", "layout": "example", @@ -1079,7 +1247,9 @@ "twitter_image": "https://www.defold.com/examples/physics/apply_force/thumbnail.png" }, { - "author": "JuLongZhiLu(\u5de8\u9f99\u4e4b\u8def)", + "author_ids": [ + "julongzhilu" + ], "brief": "Apply a linear impulse to a dynamic physics body on click or touch.", "category": "physics", "layout": "example", @@ -1092,7 +1262,9 @@ "twitter_image": "https://www.defold.com/examples/physics/apply_linear_impulse/thumbnail.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "Create Box2D chain terrain from script using Box2D V2 legacy and Box2D V3.", "category": "physics", "layout": "example", @@ -1105,7 +1277,9 @@ "twitter_image": "https://www.defold.com/examples/physics/box2d_chain_terrain/thumbnail.webp" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "Resize dynamic Box2D collision shapes at runtime and recalculate body mass.", "category": "physics", "layout": "example", @@ -1118,7 +1292,9 @@ "twitter_image": "https://www.defold.com/examples/physics/box2d_dynamic_scale/thumbnail.webp" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "Tune Box2D density, friction, and restitution from script using Box2D V2 legacy and Box2D V3.", "category": "physics", "layout": "example", @@ -1131,7 +1307,9 @@ "twitter_image": "https://www.defold.com/examples/physics/box2d_material_tuning/thumbnail.webp" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "Create and control a motorized Box2D joint from script using Box2D V2 and V3.", "category": "physics", "layout": "example", @@ -1144,7 +1322,9 @@ "twitter_image": "https://www.defold.com/examples/physics/box2d_motor_joint/thumbnail.webp" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "Create a mouse joint that pulls dynamic bodies toward a moving target.", "category": "physics", "layout": "example", @@ -1157,7 +1337,9 @@ "twitter_image": "https://www.defold.com/examples/physics/box2d_mouse_joint/thumbnail.webp" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "Create a motorized Box2D prismatic joint with translation limits from script using Box2D.", "category": "physics", "layout": "example", @@ -1170,7 +1352,9 @@ "twitter_image": "https://www.defold.com/examples/physics/box2d_prismatic_joint/thumbnail.webp" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to use Box2D world overlap and raycast queries.", "category": "physics", "layout": "example", @@ -1183,7 +1367,9 @@ "twitter_image": "https://www.defold.com/examples/physics/box2d_queries/thumbnail.webp" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "Create a bridge from revolute joints between existing Defold collision objects.", "category": "physics", "layout": "example", @@ -1196,7 +1382,9 @@ "twitter_image": "https://www.defold.com/examples/physics/box2d_revolute_bridge/thumbnail.webp" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "Create Box2D sensors from static collision shapes.", "category": "physics", "layout": "example", @@ -1209,7 +1397,9 @@ "twitter_image": "https://www.defold.com/examples/physics/box2d_sensor_toggle/thumbnail.webp" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "Create Box2D weld joints from script so separate dynamic bodies behave like one rigid assembly.", "category": "physics", "layout": "example", @@ -1222,6 +1412,9 @@ "twitter_image": "https://www.defold.com/examples/physics/box2d_weld_joint/thumbnail.webp" }, { + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows a simple setup with dynamic physics objects.", "category": "physics", "layout": "example", @@ -1233,7 +1426,9 @@ "twitter_image": "https://www.defold.com/examples/physics/dynamic/dynamic.png" }, { - "author": "Pawe\u0142 Jarosz", + "author_ids": [ + "pawel-jarosz" + ], "brief": "This example shows a simple setup with a dynamic body physics object and two dynamic wheel physics object joined together with a joint of type \"hinge\". The hinge joint can simulate an axle or a pin on which other object is rotating in respect to the base. The example shows how to create, destroy and change properties of the joints.", "category": "physics", "layout": "example", @@ -1246,7 +1441,9 @@ "twitter_image": "https://www.defold.com/examples/physics/hinge_joint/hinge_joint.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to smooth physics motion in fixed update mode by interpolating a visual sprite while keeping the physics body fixed-step.", "category": "physics", "layout": "example", @@ -1259,7 +1456,9 @@ "twitter_image": "https://www.defold.com/examples/physics/interpolation/thumbnail.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows a simple setup with a kinematic physics objects. The difference between dynamic objects, simulated by the physics engine, and kinematic objects, that are user controlled, is clearly seen here.", "category": "physics", "layout": "example", @@ -1272,7 +1471,9 @@ "twitter_image": "https://www.defold.com/examples/physics/kinematic/kinematic.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to create a knockback effect when hit.", "category": "physics", "layout": "example", @@ -1285,7 +1486,9 @@ "twitter_image": "https://www.defold.com/examples/physics/knockback/knockback_thumb.png" }, { - "author": "Pawe\u0142 Jarosz", + "author_ids": [ + "pawel-jarosz" + ], "brief": "This example shows a simple setup with a static pivot and two dynamic weights - physics objects joined together with a joint of type \"fixed\" and \"spring\". The fixed joint can simulate a rope and spring joint a spring. The example shows how to create the joints and change the gravity to affect the pendulums.", "category": "physics", "layout": "example", @@ -1298,7 +1501,9 @@ "twitter_image": "https://www.defold.com/examples/physics/pendulum/pendulum.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to use physics raycasts to detect collisions along a straight line from a start point to an end point.", "category": "physics", "layout": "example", @@ -1311,7 +1516,9 @@ "twitter_image": "https://www.defold.com/examples/physics/raycast/raycast.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how a physics trigger is used to trigger an event. In this case the bunny sprite is disabled and enabled.", "category": "physics", "layout": "example", @@ -1324,7 +1531,9 @@ "twitter_image": "https://www.defold.com/examples/physics/trigger/trigger.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to make sprites respond to Defold Light components with a custom material in a basic setup.", "category": "render", "layout": "example", @@ -1337,7 +1546,9 @@ "twitter_image": "https://www.defold.com/examples/render/basic_lights_2d/thumbnail.webp" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how ambient, directional, point, and spot lights affect 3D models that use built-in lit materials.", "category": "render", "layout": "example", @@ -1351,7 +1562,9 @@ "twitter_image": "https://www.defold.com/examples/render/basic_lights_3d/thumbnail.webp" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to use a camera component and have it follow a game object. Click to toggle between following the game object and staying stationary.", "category": "render", "layout": "example", @@ -1364,7 +1577,9 @@ "twitter_image": "https://www.defold.com/examples/render/camera/camera.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to implement a configurable, PCF-filtered shadow map for a directional light.", "category": "render", "layout": "example", @@ -1377,7 +1592,9 @@ "twitter_image": "https://www.defold.com/examples/render/directional_light_shadows/thumbnail.webp" }, { - "author": "Artsiom Trubchyk", + "author_ids": [ + "artsiom-trubchyk" + ], "brief": "This example demonstrates how to create script to control a 3D camera with the mouse. Scroll wheel is used to zoom in and out.", "category": "render", "layout": "example", @@ -1388,7 +1605,9 @@ "title": "Orbit Camera" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to zoom an orthographic camera in and out by changing Orthographic Zoom while the camera is in Fixed mode.", "category": "render", "layout": "example", @@ -1401,7 +1620,9 @@ "twitter_image": "https://www.defold.com/examples/render/orthographic_zoom/thumbnail.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to apply a post-processing effect by drawing to a render target and then to a fullscreen quad using a post processing shader.", "category": "render", "layout": "example", @@ -1414,7 +1635,9 @@ "twitter_image": "https://www.defold.com/examples/render/post_processing/postprocess_thumb.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to convert from screen to world coordinates while using a camera.", "category": "render", "layout": "example", @@ -1424,7 +1647,9 @@ "title": "Screen to World" }, { - "author": "Artsiom Trubchyk", + "author_ids": [ + "artsiom-trubchyk" + ], "brief": "This example demonstrates how to convert 3D world coordinates to 2D screen coordinates using camera transformations.", "category": "render", "layout": "example", @@ -1437,7 +1662,9 @@ "twitter_image": "https://www.defold.com/examples/render/world_to_screen/thumbnail.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to create an atlas with two images and use it on a sprite and in a gui", "category": "resource", "layout": "example", @@ -1447,7 +1674,9 @@ "title": "Create atlas" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to replace an image in an atlas", "category": "resource", "layout": "example", @@ -1457,7 +1686,9 @@ "title": "Modify atlas" }, { - "author": "Alexey Gulev", + "author_ids": [ + "alexey-gulev" + ], "brief": "This example shows how to make Fade-In and fade Fade-Out music.", "category": "sound", "layout": "example", @@ -1467,7 +1698,9 @@ "title": "Fade In-Out" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to change which sound a sound component plays", "category": "sound", "layout": "example", @@ -1480,7 +1713,9 @@ "twitter_image": "https://www.defold.com/examples/sound/get_set_sound/game_project.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to play a piece of music, stored as an .OGG file, with a sound component. The sound component is set to \"looping\" causing the music to never, ever stop.", "category": "sound", "layout": "example", @@ -1490,7 +1725,9 @@ "title": "Music" }, { - "author": "Agustin R.", + "author_ids": [ + "agustin-r" + ], "brief": "This example demonstrates how to pan a sound effect according to a GO's(game object) position on the screen.", "category": "sound", "layout": "example", @@ -1503,7 +1740,9 @@ "twitter_image": "https://www.defold.com/examples/sound/panning/panning.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This is a performance test for sprites", "category": "sprite", "layout": "example", @@ -1516,7 +1755,9 @@ "twitter_image": "https://www.defold.com/examples/sprite/bunnymark/bunnymark_thumb.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to change the image of a sprite", "category": "sprite", "layout": "example", @@ -1529,7 +1770,9 @@ "twitter_image": "https://www.defold.com/examples/sprite/changeimage/changeimage_thumb.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to use the sprite animation cursor and frame count to manually select a specific frame", "category": "sprite", "layout": "example", @@ -1542,7 +1785,9 @@ "twitter_image": "https://www.defold.com/examples/sprite/cursor/cursor_thumb.png" }, { - "author": "Agustin R.", + "author_ids": [ + "agustin-r" + ], "brief": "This example demonstrates flipping a sprite animation vertically and horizontally.", "category": "sprite", "layout": "example", @@ -1555,7 +1800,9 @@ "twitter_image": "https://www.defold.com/examples/sprite/flip/flip_thumb.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to sample from more than one image when drawing a sprite", "category": "sprite", "layout": "example", @@ -1568,7 +1815,9 @@ "twitter_image": "https://www.defold.com/examples/sprite/samplers/samplers_thumb.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to get the size of a sprite at run-time", "category": "sprite", "layout": "example", @@ -1581,7 +1830,9 @@ "twitter_image": "https://www.defold.com/examples/sprite/size/size_thumb.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how scroll the texture in the runtime using Texture Transform 2D Vertex Attribute, without using the sprite in the world space.", "category": "sprite", "layout": "example", @@ -1594,7 +1845,9 @@ "twitter_image": "https://www.defold.com/examples/sprite/texture_scrolling/thumbnail.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how tint a sprite at run-time", "category": "sprite", "layout": "example", @@ -1607,7 +1860,9 @@ "twitter_image": "https://www.defold.com/examples/sprite/tint/tint_thumb.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to detect collisions on tilemaps", "category": "tilemap", "layout": "example", @@ -1620,7 +1875,9 @@ "twitter_image": "https://www.defold.com/examples/tilemap/collisions/tilesource.png" }, { - "author": "Defold Foundation", + "author_ids": [ + "defold-foundation" + ], "brief": "This example shows how to get and set tiles of a tilemap", "category": "tilemap", "layout": "example", @@ -1630,7 +1887,9 @@ "title": "Get and set tiles" }, { - "author": "Pawe\u0142 Jarosz", + "author_ids": [ + "pawel-jarosz" + ], "brief": "This example shows how to create timer and cancel it anytime, using built-in timer API.", "category": "timer", "layout": "example", @@ -1643,7 +1902,9 @@ "twitter_image": "https://www.defold.com/examples/timer/cancel_timer/cancel_timer.png" }, { - "author": "Pawe\u0142 Jarosz", + "author_ids": [ + "pawel-jarosz" + ], "brief": "This example shows how to create timer that repeats endlessly every second", "category": "timer", "layout": "example", @@ -1656,7 +1917,9 @@ "twitter_image": "https://www.defold.com/examples/timer/repeating_timer/repeating_timer.png" }, { - "author": "Pawe\u0142 Jarosz", + "author_ids": [ + "pawel-jarosz" + ], "brief": "This example shows how to create timer that triggers counting every 1s and can be triggered manually and asynchronously as a reaction to user input.", "category": "timer", "layout": "example", @@ -1668,4 +1931,4 @@ "title": "Trigger timer example", "twitter_image": "https://www.defold.com/examples/timer/trigger_timer/trigger_timer.png" } -] \ No newline at end of file +] diff --git a/_includes/asset.html b/_includes/asset.html index bf3e466355..b11124f4c4 100644 --- a/_includes/asset.html +++ b/_includes/asset.html @@ -24,7 +24,7 @@ {%- assign external_action_badge_class = "paid" -%} {%- endunless -%} {%- elsif first_external_action_type == "support" or first_external_action_type == "donate" or first_external_action_type == "sponsor" -%} - {%- assign external_action_badge = "Support" -%} + {%- assign external_action_badge = "Sponsor" -%} {%- assign external_action_badge_icon = "heart" -%} {%- assign external_action_badge_class = "support" -%} {%- else -%} @@ -39,7 +39,7 @@ {%- endfor -%} {%- endcapture -%} {%- assign asset_description_preview = asset.description | strip_newlines | strip -%} -
+
+
{%- if include.image and include.image != "" -%}
+
{%- assign excluded_tag_slugs = include.exclude_tags | default: "" | downcase | split: "|" -%} {%- assign child_property = include.child_property | default: "" -%} {%- assign search_suffix = include.result_items | default: "resources" | slugify -%} diff --git a/_layouts/asset.html b/_layouts/asset.html index ab43d4e51d..38c6990537 100644 --- a/_layouts/asset.html +++ b/_layouts/asset.html @@ -9,6 +9,34 @@ {%- assign project_link = asset.project_url | default: "" -%} {%- assign website_link = asset.website_url | default: "" -%} {%- assign external_actions = asset.external_actions | default: empty -%} +{%- assign availability_badge = "Free" -%} +{%- assign availability_badge_icon = "gift" -%} +{%- assign availability_badge_class = "free" -%} +{%- if asset.paid_only -%} + {%- assign availability_badge = "Paid" -%} + {%- assign availability_badge_icon = "credit-card" -%} + {%- assign availability_badge_class = "paid" -%} +{%- endif -%} +{%- assign external_action_badge = "" -%} +{%- assign external_action_badge_icon = "link-external" -%} +{%- assign external_action_badge_class = "external" -%} +{%- if external_actions.size > 0 -%} + {%- assign first_external_action = external_actions | first -%} + {%- assign first_external_action_type = first_external_action.type | default: "external" | downcase -%} + {%- if first_external_action_type == "buy" -%} + {%- unless asset.paid_only -%} + {%- assign external_action_badge = "Paid" -%} + {%- assign external_action_badge_icon = "credit-card" -%} + {%- assign external_action_badge_class = "paid" -%} + {%- endunless -%} + {%- elsif first_external_action_type == "support" or first_external_action_type == "donate" or first_external_action_type == "sponsor" -%} + {%- assign external_action_badge = "Sponsor" -%} + {%- assign external_action_badge_icon = "heart" -%} + {%- assign external_action_badge_class = "support" -%} + {%- else -%} + {%- assign external_action_badge = "Creator link" -%} + {%- endif -%} +{%- endif -%} {%- assign primary_link = "" -%} {%- assign primary_link_text = "" -%} {%- assign primary_link_icon = "browser" -%} @@ -92,13 +120,14 @@ -
+
{{ asset.name }} preview image
- {%- if has_release_panel -%} -
+
- - {%- endif -%} + + {%- endif -%} + +
+ {%- if asset.stars.size > 0 -%} + + {% include site_icon.html name="star" class="asset-card-stars-icon" %} + {{ asset.stars }} + + {%- endif -%} + + {% include site_icon.html name=availability_badge_icon class="asset-card-status-icon" %} + {{ availability_badge }} + + {%- if external_action_badge.size > 0 -%} + + {% include site_icon.html name=external_action_badge_icon class="asset-card-status-icon" %} + {{ external_action_badge }} + + {%- endif -%} +
+ +

{{ asset.name }}

@@ -276,10 +326,6 @@

Update this entry

- - - - @@ -300,23 +346,18 @@

Update this entry

{%- for tag in asset.tags -%} {%- assign tag_slug = tag | downcase | remove: " " -%} {%- assign tag_entry = site.data.tagindex | where: "id", tag_slug | first -%} - {{ tag_entry.name | default: tag }}{% unless forloop.last %}
{% endunless %} + {{ tag_entry.name | default: tag }}{% unless forloop.last %}
{% endunless %} {%- endfor -%} - {%- if asset.stars.size > 0 -%} - - - - - {%- endif -%}
Author{{ asset.author }}
License {{ asset.license }}
Stars - {%- if project_link.size > 0 -%} - {{ asset.stars }} - {%- else -%} - {{ asset.stars }} - {%- endif -%} -
+ +
+
+

Author

+
+ {{ asset.author_profile.name }} +
diff --git a/_layouts/author.html b/_layouts/author.html index 590cd6bdca..14dd0d721a 100644 --- a/_layouts/author.html +++ b/_layouts/author.html @@ -2,17 +2,132 @@ layout: page nav: floating --- -{%- assign author = site.data.authors[page.author] -%} +{%- assign author = page.author_profile -%} +{%- assign author_name = author.name -%} +{%- assign author_avatar_url = author.avatar -%} +{%- unless author_avatar_url -%} + {%- if author.github -%} + {%- capture author_avatar_url -%}https://github.com/{{ author.github }}.png?size=240{%- endcapture -%} + {%- else -%} + {%- assign author_avatar_url = "/images/people/avatar_user_profile_male.png" -%} + {%- endif -%} +{%- endunless -%} +{%- assign asset_count = page.asset_count | default: 0 -%} +{%- assign example_count = page.example_count | default: 0 -%} +{%- assign total_count = asset_count | plus: example_count -%} -
+
-
-
Authors section icon
-
-

{{ author.name }}

+
+ + +
+
+
+

Show

+
+ + + +
+
+ +
+ +
+
+
+

Contributions

+

All contributions

+

Showing {{ total_count }} of {{ total_count }} contributions.

+
+
+ +
+ {%- for asset_id in page.asset_ids -%} + {% include asset.html id=asset_id contribution_type="assets" %} + {%- endfor -%} + {%- for example in page.examples -%} + {%- assign example_link = "/examples/" | append: example.path | append: "/" -%} + {%- assign example_author_names = example.author_profiles | map: "name" | join: ", " -%} + {%- assign example_image = "" -%} + {%- if example.thumbnail -%} + {%- assign example_image = example_link | append: example.thumbnail -%} + {%- endif -%} + {% include learn_card.html title=example.title description=example.brief link=example_link image=example_image author=example_author_names class="author-example-card" contribution_type="examples" %} + {%- endfor -%} +
+
-
- {%- assign assetids = author.assets | map: "id" -%} - {%- include assetgrid.html assetids=assetids title="Assets" -%} +
+
+ + diff --git a/_layouts/example.html b/_layouts/example.html index dfcdfcb9e1..e98761095e 100644 --- a/_layouts/example.html +++ b/_layouts/example.html @@ -87,7 +87,47 @@

Scripts

{% include learn_detail_languages.html locales=current_example.locales path=current_example_link %}
-

This example was created by {{ page.author }}.

+ {%- assign example_authors = current_example.author_profiles -%} + {%- assign example_tags_value = page.tags | default: current_example.tags | default: "" -%} + {%- assign example_tags = example_tags_value | replace: ", ", "," | split: "," -%} + {%- assign example_license = page.license | default: current_example.license | default: "CC0-1.0" -%} + {%- assign example_license_url = page.license_url -%} + {%- unless page.license -%} + {%- assign example_license_url = current_example.license_url -%} + {%- endunless -%} + {%- if example_license == "CC0-1.0" and example_license_url == nil -%} + {%- assign example_license_url = "https://creativecommons.org/publicdomain/zero/1.0/" -%} + {%- endif -%} +
+
+

Author

+ +
+
+

License

+ {%- if example_license_url -%} + {{ example_license }} ↗ + {%- else -%} + {{ example_license }} + {%- endif -%} +
+ {%- if example_tags.size > 0 -%} +
+

Tags

+ +
+ {%- endif -%} +
{% assign zip_name = page.path | replace: "/", "_" | append: ".zip" %} {% assign zip_url = "https://www.github.com/defold/examples/releases/latest/download/" | append: zip_name %} diff --git a/_layouts/learn_hub.html b/_layouts/learn_hub.html index 469fef5a3b..0cc860ddfd 100644 --- a/_layouts/learn_hub.html +++ b/_layouts/learn_hub.html @@ -36,7 +36,7 @@ {%- when "tutorials" -%} {% include learn_tag_filter.html label=filter_label result_items=result_items exclude_tags=exclude_tags items=site.data.learnindex.navigation.tutorials %} {%- when "examples" -%} - {% include learn_tag_filter.html label=filter_label filter_singular=filter_singular result_items=result_items items=site.data.examplesindex tag_property=tag_property %} + {% include learn_tag_filter.html label=filter_label filter_singular=filter_singular result_items=result_items items=site.data.examplesindex tag_property=tag_property force_generated_chips=true %} {%- when "videos" -%} {% include learn_tag_filter.html label=filter_label result_items=result_items exclude_tags=exclude_tags items=site.data.learnindex.navigation.videos %} {%- when "courses" -%} diff --git a/_plugins/defold-author-profiles/defold-author-profiles.gemspec b/_plugins/defold-author-profiles/defold-author-profiles.gemspec new file mode 100644 index 0000000000..52d6a701e9 --- /dev/null +++ b/_plugins/defold-author-profiles/defold-author-profiles.gemspec @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +Gem::Specification.new do |spec| + spec.name = "defold-author-profiles" + spec.version = "1.0.0" + spec.summary = "Build-time author profile pages for the Defold website" + spec.authors = ["Defold Foundation"] + spec.files = ["lib/defold-author-profiles.rb"] + spec.require_paths = ["lib"] + spec.add_dependency "jekyll", ">= 3.9", "< 5" +end diff --git a/_plugins/defold-author-profiles/lib/defold-author-profiles.rb b/_plugins/defold-author-profiles/lib/defold-author-profiles.rb new file mode 100644 index 0000000000..ea810524bd --- /dev/null +++ b/_plugins/defold-author-profiles/lib/defold-author-profiles.rb @@ -0,0 +1,264 @@ +# frozen_string_literal: true + +require "uri" + +module Defold + class AuthorProfileError < Jekyll::Errors::FatalException; end + + class AuthorRegistry + ID_PATTERN = /\A[a-z0-9]+(?:-[a-z0-9]+)*\z/ + GITHUB_PATTERN = /\A[A-Za-z0-9](?:[A-Za-z0-9-]{0,37}[A-Za-z0-9])?\z/ + MAX_BIO_LENGTH = 400 + PROFILE_FIELDS = %w[id name github bio avatar links support].freeze + LINK_TYPES = %w[website github external x bluesky mastodon linkedin youtube].freeze + SUPPORT_DESTINATIONS = { + "github_sponsors" => ["github.com", "/sponsors/"], + "ko_fi" => ["ko-fi.com", "/"], + "patreon" => ["patreon.com", "/"], + "buy_me_a_coffee" => ["buymeacoffee.com", "/"], + "paypal" => ["paypal.me", "/"] + }.freeze + + attr_reader :profiles + + def initialize(records) + fail_with("_data/authors.json must contain an array") unless records.is_a?(Array) + fail_with("_data/authors.json must contain at least one profile") if records.empty? + + @profiles = [] + @by_id = {} + records.each_with_index { |record, index| add_profile(record, index) } + end + + def fetch(author_id, context) + unless author_id.is_a?(String) && ID_PATTERN.match?(author_id) + fail_with("#{context}: author_id must use lowercase ASCII kebab-case") + end + profile = @by_id[author_id] + fail_with("#{context}: unknown author_id #{author_id.inspect}") unless profile + profile + end + + private + + def add_profile(record, index) + context = "_data/authors.json[#{index}]" + fail_with("#{context}: profile must be an object") unless record.is_a?(Hash) + + unknown_fields = record.keys.map(&:to_s) - PROFILE_FIELDS + fail_with("#{context}: unknown profile field(s): #{unknown_fields.sort.join(', ')}") unless unknown_fields.empty? + + profile = stringify_keys(record) + profile["id"] = clean_string(profile["id"], "#{context}: id") + profile["name"] = clean_string(profile["name"], "#{context}: name") + unless ID_PATTERN.match?(profile["id"]) + fail_with("#{profile['name']}: id must use lowercase ASCII kebab-case") + end + if @by_id.key?(profile["id"]) + fail_with("Duplicate author id #{profile['id'].inspect}") + end + + validate_github(profile) + validate_bio(profile) + validate_avatar(profile) + profile["links"] = validate_links(profile["links"], profile["name"]) + profile["support"] = validate_support(profile["support"], profile["name"]) + + @profiles << profile + @by_id[profile["id"]] = profile + end + + def validate_github(profile) + return unless profile.key?("github") + + profile["github"] = clean_string(profile["github"], "#{profile['name']}: github").delete_prefix("@") + fail_with("#{profile['name']}: malformed GitHub username") unless GITHUB_PATTERN.match?(profile["github"]) + end + + def validate_bio(profile) + return unless profile.key?("bio") + + profile["bio"] = clean_string(profile["bio"], "#{profile['name']}: bio") + if profile["bio"].length > MAX_BIO_LENGTH + fail_with("#{profile['name']}: bio must be at most #{MAX_BIO_LENGTH} characters") + end + end + + def validate_avatar(profile) + return unless profile.key?("avatar") + + avatar = clean_string(profile["avatar"], "#{profile['name']}: avatar") + if avatar.start_with?("/") && !avatar.start_with?("//") && !avatar.split("/").include?("..") + profile["avatar"] = avatar + else + profile["avatar"] = validate_https_url(avatar, "#{profile['name']}: avatar") + end + end + + def validate_links(value, profile_name) + return [] if value.nil? + fail_with("#{profile_name}: links must be an array") unless value.is_a?(Array) + + value.map.with_index do |raw_link, index| + context = "#{profile_name}: links[#{index}]" + fail_with("#{context} must be an object") unless raw_link.is_a?(Hash) + link = stringify_keys(raw_link) + unknown = link.keys - %w[type label url] + fail_with("#{context}: unknown field(s): #{unknown.sort.join(', ')}") unless unknown.empty? + fail_with("#{context}.type is invalid") unless LINK_TYPES.include?(link["type"]) + link["url"] = validate_https_url(link["url"], "#{context}.url") + link["label"] = clean_string(link["label"], "#{context}.label") if link.key?("label") + link + end + end + + def validate_support(value, profile_name) + return [] if value.nil? + fail_with("#{profile_name}: support must be an array") unless value.is_a?(Array) + fail_with("#{profile_name}: support allows at most three actions") if value.length > 3 + + value.map.with_index do |raw_support, index| + context = "#{profile_name}: support[#{index}]" + fail_with("#{context} must be an object") unless raw_support.is_a?(Hash) + support = stringify_keys(raw_support) + unknown = support.keys - %w[type label url] + fail_with("#{context}: unknown field(s): #{unknown.sort.join(', ')}") unless unknown.empty? + destination = SUPPORT_DESTINATIONS[support["type"]] + fail_with("#{context}.type is invalid") unless destination + support["url"] = validate_https_url(support["url"], "#{context}.url") + uri = URI.parse(support["url"]) + host = uri.host.to_s.downcase.delete_prefix("www.") + unless host == destination[0] && uri.path.start_with?(destination[1]) + fail_with("#{context}.url is not an allowed #{support['type']} destination") + end + support["label"] = clean_string(support["label"], "#{context}.label") if support.key?("label") + support + end + end + + def validate_https_url(value, context) + value = clean_string(value, context) + uri = URI.parse(value) + unless uri.is_a?(URI::HTTPS) && uri.host && !uri.userinfo + fail_with("#{context} must be an absolute https URL without credentials") + end + value + rescue URI::InvalidURIError + fail_with("#{context} must be an absolute https URL") + end + + def clean_string(value, context) + fail_with("#{context} must be a non-empty string") unless value.is_a?(String) + value = value.gsub(/\s+/, " ").strip + fail_with("#{context} must be a non-empty string") if value.empty? + value + end + + def stringify_keys(hash) + hash.each_with_object({}) { |(key, value), result| result[key.to_s] = value } + end + + def fail_with(message) + raise AuthorProfileError, message + end + end + + class AuthorPage < Jekyll::PageWithoutAFile + def initialize(site, profile, asset_ids, examples) + super(site, site.source, File.join("authors", profile["id"]), "index.html") + self.content = "" + self.data = { + "layout" => "author", + "title" => profile["name"], + "author_profile" => profile, + "author_id" => profile["id"], + "asset_ids" => asset_ids, + "examples" => examples, + "asset_count" => asset_ids.length, + "example_count" => examples.length + } + end + end + + class AuthorProfilesGenerator < Jekyll::Generator + safe true + priority :highest + + def generate(site) + registry = AuthorRegistry.new(site.data["authors"]) + assets_by_author = Hash.new { |hash, key| hash[key] = [] } + examples_by_author = Hash.new { |hash, key| hash[key] = [] } + + resolve_assets(site, registry, assets_by_author) + resolve_examples(site, registry, examples_by_author) + + referenced_ids = (assets_by_author.keys | examples_by_author.keys).sort + directory = referenced_ids.map do |author_id| + profile = registry.fetch(author_id, "author directory") + asset_ids = assets_by_author[author_id].uniq.sort + examples = examples_by_author[author_id].uniq { |example| example["path"] }.sort_by { |example| example["path"] } + site.pages << AuthorPage.new(site, profile, asset_ids, examples) + profile.merge( + "url" => "/authors/#{author_id}/", + "asset_count" => asset_ids.length, + "example_count" => examples.length + ) + end + site.data["author_directory"] = directory.sort_by { |profile| profile["name"].downcase } + rescue AuthorProfileError => error + Jekyll.logger.abort_with("Author profiles:", error.message) + end + + private + + def resolve_assets(site, registry, assets_by_author) + assets = site.data["assets"] + raise AuthorProfileError, "_data/assets must contain an object" unless assets.is_a?(Hash) + + assets.each do |asset_id, asset| + context = "asset #{asset_id}" + raise AuthorProfileError, "#{context}: record must be an object" unless asset.is_a?(Hash) + profile = resolve_profile(asset, registry, context) + asset["id"] = asset_id + asset["author_profile"] = profile + assets_by_author[profile["id"]] << asset_id + end + end + + def resolve_examples(site, registry, examples_by_author) + examples = site.data["examplesindex"] + raise AuthorProfileError, "_data/examplesindex.json must contain an array" unless examples.is_a?(Array) + + examples.each_with_index do |example, index| + context = "example #{example['path'] || index}" + raise AuthorProfileError, "#{context}: record must be an object" unless example.is_a?(Hash) + profiles = example_profiles(example, registry, context).uniq { |profile| profile["id"] } + raise AuthorProfileError, "#{context}: author_ids must not be empty" if profiles.empty? + example["author_profiles"] = profiles + profiles.each { |profile| examples_by_author[profile["id"]] << example } + end + end + + def resolve_profile(record, registry, context) + if record.key?("author") + raise AuthorProfileError, "#{context}: legacy author field is not supported" + end + registry.fetch(record["author_id"], context) + end + + def example_profiles(example, registry, context) + legacy_fields = %w[author authors].select { |field| example.key?(field) } + unless legacy_fields.empty? + raise AuthorProfileError, "#{context}: legacy #{legacy_fields.join(' and ')} field is not supported" + end + author_ids = example["author_ids"] + unless author_ids.is_a?(Array) && !author_ids.empty? + raise AuthorProfileError, "#{context}: author_ids must be a non-empty array" + end + if author_ids.length != author_ids.uniq.length + raise AuthorProfileError, "#{context}: author_ids must not contain duplicates" + end + author_ids.map.with_index { |author_id, index| registry.fetch(author_id, "#{context} author_ids[#{index}]") } + end + end +end diff --git a/_scss/asset-detail.scss b/_scss/asset-detail.scss index 86e47998d8..ca15b9c12e 100644 --- a/_scss/asset-detail.scss +++ b/_scss/asset-detail.scss @@ -50,11 +50,11 @@ min-width: 0; } -.asset-detail-layout-has-releases { +.asset-detail-layout-has-sidebar { grid-template-columns: minmax(240px, 320px) minmax(0, 1fr); grid-template-areas: "media main" - "releases main" + "sidebar main" "meta main"; } @@ -63,8 +63,8 @@ min-width: 0; } -.asset-detail-releases { - grid-area: releases; +.asset-detail-sidebar-card { + grid-area: sidebar; width: 100%; max-width: 100%; min-width: 0; @@ -295,6 +295,36 @@ line-height: 1.63; } +.asset-detail-badges { + display: flex; + align-items: center; + flex-wrap: wrap; + gap: 0.55rem; +} + +.asset-detail-badges-after-releases { + padding-top: 1.2rem; + margin-top: 1.2rem; + border-top: 1px solid var(--surface-border); +} + +.asset-sidebar-author-section { + padding-top: 1.2rem; + margin-top: 1.2rem; + border-top: 1px solid var(--surface-border); +} + +.asset-detail-author-button.button { + width: 100%; + min-height: 54px !important; + margin: 0; + padding: 0.95rem 1.05rem !important; + font-size: 1.42rem; + line-height: 1.23; + white-space: normal !important; + overflow-wrap: anywhere; +} + .asset-detail-meta table { margin: 0; width: 100%; @@ -340,10 +370,10 @@ gap: clamp(1.6rem, 4.8vw, 2.2rem); } - .asset-detail-layout-has-releases { + .asset-detail-layout-has-sidebar { grid-template-areas: "media" - "releases" + "sidebar" "main" "meta"; } diff --git a/_scss/catalog.scss b/_scss/catalog.scss index 2a3f4b8121..58fb745496 100644 --- a/_scss/catalog.scss +++ b/_scss/catalog.scss @@ -427,6 +427,323 @@ html.theme-dark .asset-hub-section.theme-page-bg-dark { } } +.author-profile-header { + display: grid; + grid-template-columns: 120px minmax(0, 1fr); + gap: clamp(1rem, 2.4vw, 1.6rem); + align-items: start; + padding: clamp(1rem, 2.4vw, 1.5rem); + border-radius: 13px; +} + +.author-profile-avatar { + display: block; + width: 120px; + aspect-ratio: 1; + border: 1px solid var(--surface-border-strong); + border-radius: 16px; + background: var(--media-surface-bg); + object-fit: cover; +} + +.author-profile-copy, +.author-profile-heading { + display: grid; + gap: 0.45rem; + min-width: 0; +} + +.author-profile-copy { + gap: 0.9rem; +} + +.author-profile-eyebrow { + margin: 0; + color: var(--catalog-label-color); + font-size: 0.82rem; + font-weight: 700; + letter-spacing: 0.08em; + line-height: 1.2; + text-transform: uppercase; +} + +.author-profile-heading h1 { + margin: 0; + color: var(--catalog-heading-color); + font-size: clamp(1.8rem, 4vw, 2.35rem); + line-height: 1.08; + overflow-wrap: anywhere; +} + +.author-profile-handle, +.author-profile-bio { + color: var(--catalog-copy-color); +} + +.author-profile-handle { + font-size: 1rem; + font-weight: 600; +} + +.author-profile-bio { + margin: 0; + font-size: var(--page-copy-size); + line-height: 1.55; +} + +.author-profile-actions { + display: flex; + flex-wrap: wrap; + gap: 0.65rem; +} + +.author-profile-action.button { + min-height: 44px !important; + padding: 0.7rem 1rem !important; + margin: 0; + border-radius: 9px !important; + font-size: 1rem; + line-height: 1.15; +} + +.author-profile-action .site-icon { + width: 1.2rem; + height: 1.2rem; +} + +.author-profile-action-support { + --button-border: rgba(239, 90, 91, 0.28); +} + +.author-contributions.asset-hub-catalog-layout, +.author-profile-sidebar, +.author-contribution-main { + min-width: 0; +} + +.author-contributions.asset-hub-catalog-layout { + margin-top: 0; +} + +.author-contribution-controls { + display: grid; + gap: 1rem; + align-items: end; + padding: clamp(1rem, 2vw, 1.35rem); + margin-top: 0; + border-radius: 13px; +} + +.author-contribution-filter-group, +.author-contribution-search { + display: grid; + gap: 0.65rem; + min-width: 0; +} + +.author-contribution-filters.asset-hub-filter-grid { + grid-template-columns: repeat(3, minmax(0, 1fr)); +} + +.author-contribution-filters .filter { + justify-content: center; +} + +.author-contribution-filters .filter span { + margin-left: auto; + font-size: 0.78rem; +} + +.author-contribution-filters .filter:disabled { + opacity: 0.5; + cursor: default; + transform: none; +} + +.author-contribution-results { + margin-top: clamp(1.7rem, 3vw, 2.4rem); +} + +.author-contribution-results h2 { + margin: 0.2rem 0 0; + color: var(--catalog-heading-color); +} + +.author-contribution-grid { + margin-top: 1rem; +} + +.author-contribution-grid > [hidden] { + display: none !important; +} + +.author-contribution-empty { + padding: 1.3rem; + margin-top: 1rem; + border-radius: 12px; + color: var(--catalog-copy-color); +} + +.author-directory-heading { + max-width: 48rem; + margin-bottom: clamp(1.7rem, 3vw, 2.5rem); +} + +.author-directory-heading h1 { + margin: 0.2rem 0 0.65rem; + color: var(--catalog-heading-color); +} + +.author-directory-heading > p:last-child { + margin: 0; + color: var(--catalog-copy-color); +} + +.author-directory-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr)); + gap: 0.9rem; +} + +.author-directory-card { + display: flex; + align-items: center; + gap: 0.9rem; + min-width: 0; + padding: 0.85rem; + border-radius: 11px; + color: var(--catalog-heading-color) !important; + text-decoration: none; + transition: border-color 180ms ease, transform 180ms ease; +} + +.author-directory-card:hover, +.author-directory-card:focus-visible { + border-color: var(--control-hover-border); + transform: translateY(var(--page-hover-lift)); +} + +.author-directory-card img { + flex: 0 0 auto; + width: 3.4rem; + height: 3.4rem; + border: 1px solid var(--surface-border); + border-radius: 10px; + background: var(--media-surface-bg); + object-fit: cover; +} + +.author-directory-copy { + display: grid; + gap: 0.3rem; + min-width: 0; +} + +.author-directory-copy strong { + overflow-wrap: anywhere; +} + +.author-directory-copy > span { + color: var(--catalog-copy-color); + font-size: 0.83rem; +} + +@media (min-width: 981px) { + .author-contributions.asset-hub-catalog-layout { + grid-template-columns: minmax(240px, 24%) minmax(0, 1fr); + column-gap: clamp(1.8rem, 3vw, 2.8rem); + } + + .author-profile-header { + grid-template-columns: minmax(0, 1fr); + } + + .author-profile-avatar { + width: 100%; + max-width: 240px; + justify-self: center; + } + + .author-profile-actions { + display: grid; + grid-template-columns: minmax(0, 1fr); + } + + .author-profile-action.button { + justify-content: flex-start; + width: 100%; + white-space: normal; + text-align: left; + } + + .author-contribution-grid { + grid-template-columns: repeat(2, minmax(0, 1fr)); + } +} + +@media (min-width: 1180px) { + .author-contribution-controls { + grid-template-columns: minmax(0, 1fr) minmax(260px, 420px); + gap: 1.1rem 2rem; + } +} + +@media (min-width: 1500px) { + .author-contribution-grid { + grid-template-columns: repeat(3, minmax(0, 1fr)); + } +} + +@media (max-width: 620px) { + .author-profile-header { + grid-template-columns: 78px minmax(0, 1fr); + gap: 0.9rem 1rem; + } + + .author-profile-avatar { + grid-column: 1; + grid-row: 1 / span 2; + width: 78px; + border-radius: 12px; + } + + .author-profile-copy { + display: contents; + } + + .author-profile-eyebrow, + .author-profile-heading { + grid-column: 2; + } + + .author-profile-bio, + .author-profile-actions { + grid-column: 1 / -1; + } + + .author-contribution-filters.asset-hub-filter-grid { + gap: 0.4rem; + } + + .author-contribution-filters .filter { + padding-inline: 0.55rem; + } + + .author-contribution-search { + width: 100%; + } +} + +@media (max-width: 430px) { + .author-profile-actions { + display: grid; + grid-template-columns: 1fr; + } + + .author-profile-action.button { + width: 100%; + } +} @mixin catalog-light-theme-content { .learn-catalog-hero .page-hero-graphic { filter: none; @@ -485,6 +802,15 @@ html.theme-dark .asset-hub-section.theme-page-bg-dark { background: rgba(255, 255, 255, 0.84); box-shadow: 0 12px 24px rgba(18, 45, 75, 0.14); } + + .author-contribution-filters .filter span { + background: rgba(27, 50, 74, 0.07); + } + + .author-profile-avatar, + .author-directory-card img { + background: rgba(232, 238, 245, 0.96); + } } html.theme-light { diff --git a/_scss/learn.scss b/_scss/learn.scss index 94921cbc07..562d414604 100644 --- a/_scss/learn.scss +++ b/_scss/learn.scss @@ -270,6 +270,60 @@ html.theme-dark .learn-detail-shell.theme-page-bg-dark { padding: clamp(1.55rem, 2.6vw, 1.95rem); } +.example-meta { + display: grid; + gap: 1.1rem; + padding: clamp(1.2rem, 2vw, 1.5rem); + margin-bottom: 1.2rem; +} + +.example-meta-group { + display: grid; + gap: 0.7rem; +} + +.example-meta-group + .example-meta-group { + padding-top: 1.1rem; + border-top: 1px solid var(--surface-border); +} + +.example-meta-title { + margin: 0; + color: var(--theme-heading-color); + font-size: clamp(1.32rem, 2vw, 1.56rem); + font-weight: 700; + line-height: 1.25; +} + +.example-author-links { + display: grid; + gap: 0.5rem; +} + +.example-tag-links { + display: flex; + flex-wrap: wrap; + gap: 0.15rem 0.3rem; +} + +.example-author-button.button, +.example-license-button.button { + width: 100%; + min-height: 54px !important; + margin: 0; + padding: 0.9rem 1rem !important; + font-size: clamp(1.15rem, 1.8vw, 1.36rem); + line-height: 1.23; + white-space: normal !important; + overflow-wrap: anywhere; +} + +.example-tag-links a, +.example-tag-links span { + font-size: 0.92rem; + line-height: 1.35; +} + .learn-sidebar-panel, .learn-sidebar-mobile { margin-top: 0; diff --git a/authors.html b/authors.html index b6b40e5fdd..d83b933f90 100644 --- a/authors.html +++ b/authors.html @@ -1,27 +1,36 @@ --- layout: page title: Authors -description: Browse authors and contributors behind assets and community resources published on the Defold website. +description: Browse the people and teams behind Defold community assets and open-source examples. +stylesheets: + - catalog --- -
+
-
-
Authors section icon
-
-

Authors

-

The creators of all things great!

-
-
-
-
-
-
-
- {%- for author in site.data.authorindex -%} -
{{ author.name }} ({{ author.assets.size }})
- {%- endfor -%} -
-
+
+

Defold community

+

Authors

+

Meet the people and teams sharing reusable assets and practical examples with the Defold community.

+
+ +
+ {%- for author in site.data.author_directory -%} + {%- assign author_avatar_url = author.avatar -%} + {%- unless author_avatar_url -%} + {%- if author.github -%} + {%- capture author_avatar_url -%}https://github.com/{{ author.github }}.png?size=240{%- endcapture -%} + {%- else -%} + {%- assign author_avatar_url = "/images/people/avatar_user_profile_male.png" -%} + {%- endif -%} + {%- endunless -%} + + + + {{ author.name }} + {{ author.asset_count }} asset{% unless author.asset_count == 1 %}s{% endunless %} · {{ author.example_count }} example{% unless author.example_count == 1 %}s{% endunless %} + + + {%- endfor -%}
diff --git a/authors/019919956e53d2da2f37be4778c7dabe.md b/authors/019919956e53d2da2f37be4778c7dabe.md deleted file mode 100644 index 6a0c44d3ed..0000000000 --- a/authors/019919956e53d2da2f37be4778c7dabe.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 019919956e53d2da2f37be4778c7dabe -title: willemt ---- diff --git a/authors/0255bd7862bdbac8b99b0d24dc0ceb0b.md b/authors/0255bd7862bdbac8b99b0d24dc0ceb0b.md deleted file mode 100644 index 35d328fe31..0000000000 --- a/authors/0255bd7862bdbac8b99b0d24dc0ceb0b.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 0255bd7862bdbac8b99b0d24dc0ceb0b -title: Allan Douglas ---- diff --git a/authors/085a9f543a79fedde455435ad7ed63cd.md b/authors/085a9f543a79fedde455435ad7ed63cd.md deleted file mode 100644 index 0b0d232d13..0000000000 --- a/authors/085a9f543a79fedde455435ad7ed63cd.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 085a9f543a79fedde455435ad7ed63cd -title: Endel Dreyer ---- diff --git a/authors/098c6efcd92b27c4736da2b5693aa7e2.md b/authors/098c6efcd92b27c4736da2b5693aa7e2.md deleted file mode 100644 index e4272813a3..0000000000 --- a/authors/098c6efcd92b27c4736da2b5693aa7e2.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 098c6efcd92b27c4736da2b5693aa7e2 -title: AppLovin ---- diff --git a/authors/09bcec822d82ea12ddffb2c897c92c74.md b/authors/09bcec822d82ea12ddffb2c897c92c74.md deleted file mode 100644 index 5c301566a7..0000000000 --- a/authors/09bcec822d82ea12ddffb2c897c92c74.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 09bcec822d82ea12ddffb2c897c92c74 -title: Justin Walsh ---- diff --git a/authors/0dac38eeed40bb14150a1c7bc5858f22.md b/authors/0dac38eeed40bb14150a1c7bc5858f22.md deleted file mode 100644 index 5abfe06b56..0000000000 --- a/authors/0dac38eeed40bb14150a1c7bc5858f22.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 0dac38eeed40bb14150a1c7bc5858f22 -title: monkoose ---- diff --git a/authors/0eb87b8023f0ff260617b83e0e116a80.md b/authors/0eb87b8023f0ff260617b83e0e116a80.md deleted file mode 100644 index 92de8e99d9..0000000000 --- a/authors/0eb87b8023f0ff260617b83e0e116a80.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 0eb87b8023f0ff260617b83e0e116a80 -title: Ahmed Maawy ---- diff --git a/authors/0eb9b01e53c095b7d4f991eb6db064a3.md b/authors/0eb9b01e53c095b7d4f991eb6db064a3.md deleted file mode 100644 index 41dc4a9fcc..0000000000 --- a/authors/0eb9b01e53c095b7d4f991eb6db064a3.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 0eb9b01e53c095b7d4f991eb6db064a3 -title: kags ---- diff --git a/authors/11c82c413b6b734538717e72c53dc60e.md b/authors/11c82c413b6b734538717e72c53dc60e.md deleted file mode 100644 index fde2ebeb71..0000000000 --- a/authors/11c82c413b6b734538717e72c53dc60e.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 11c82c413b6b734538717e72c53dc60e -title: Potato Jam ---- diff --git a/authors/11d886e31f6a413bdbd7b4f30142d995.md b/authors/11d886e31f6a413bdbd7b4f30142d995.md deleted file mode 100644 index 24f592f8c1..0000000000 --- a/authors/11d886e31f6a413bdbd7b4f30142d995.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 11d886e31f6a413bdbd7b4f30142d995 -title: Visionaire ---- diff --git a/authors/18061e0ac86cd3a873b6d2ab7901e044.md b/authors/18061e0ac86cd3a873b6d2ab7901e044.md deleted file mode 100644 index e8c002f499..0000000000 --- a/authors/18061e0ac86cd3a873b6d2ab7901e044.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 18061e0ac86cd3a873b6d2ab7901e044 -title: ktulhusolutions ---- diff --git a/authors/1a9bc458b6804251afef69c23d9bad95.md b/authors/1a9bc458b6804251afef69c23d9bad95.md deleted file mode 100644 index 518d62b007..0000000000 --- a/authors/1a9bc458b6804251afef69c23d9bad95.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 1a9bc458b6804251afef69c23d9bad95 -title: kazupon ---- diff --git a/authors/1b1571ed4750bae48c69aa21ab265ef2.md b/authors/1b1571ed4750bae48c69aa21ab265ef2.md deleted file mode 100644 index 5df8bda392..0000000000 --- a/authors/1b1571ed4750bae48c69aa21ab265ef2.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 1b1571ed4750bae48c69aa21ab265ef2 -title: Maxim Tuprikov ---- diff --git a/authors/1b3840b0b70d91c17e70014c8537dbba.md b/authors/1b3840b0b70d91c17e70014c8537dbba.md deleted file mode 100644 index e066f3e286..0000000000 --- a/authors/1b3840b0b70d91c17e70014c8537dbba.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 1b3840b0b70d91c17e70014c8537dbba -title: Hugo ---- diff --git a/authors/1c2d3ba1c59d40a609cc44f1ca42b65c.md b/authors/1c2d3ba1c59d40a609cc44f1ca42b65c.md deleted file mode 100644 index 66ac561a81..0000000000 --- a/authors/1c2d3ba1c59d40a609cc44f1ca42b65c.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 1c2d3ba1c59d40a609cc44f1ca42b65c -title: Sergey Lerg ---- diff --git a/authors/20f5bdc6cc744915abe50983b5bb8509.md b/authors/20f5bdc6cc744915abe50983b5bb8509.md deleted file mode 100644 index 1356a52b12..0000000000 --- a/authors/20f5bdc6cc744915abe50983b5bb8509.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 20f5bdc6cc744915abe50983b5bb8509 -title: Jhonny Göransson ---- diff --git a/authors/229b615876d51ca68b90827670796509.md b/authors/229b615876d51ca68b90827670796509.md deleted file mode 100644 index b02066fbd5..0000000000 --- a/authors/229b615876d51ca68b90827670796509.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 229b615876d51ca68b90827670796509 -title: dev-masih ---- diff --git a/authors/24d76290ca8a440e066f809678097ee8.md b/authors/24d76290ca8a440e066f809678097ee8.md deleted file mode 100644 index 3974a03517..0000000000 --- a/authors/24d76290ca8a440e066f809678097ee8.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 24d76290ca8a440e066f809678097ee8 -title: Luis Zuno ---- diff --git a/authors/28db562bee3ab583ad5d7e595cf9d523.md b/authors/28db562bee3ab583ad5d7e595cf9d523.md deleted file mode 100644 index db6e4502ec..0000000000 --- a/authors/28db562bee3ab583ad5d7e595cf9d523.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 28db562bee3ab583ad5d7e595cf9d523 -title: menaechmi ---- diff --git a/authors/2a9db510c79dbac3b63c104f789c9661.md b/authors/2a9db510c79dbac3b63c104f789c9661.md deleted file mode 100644 index 2acb359697..0000000000 --- a/authors/2a9db510c79dbac3b63c104f789c9661.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 2a9db510c79dbac3b63c104f789c9661 -title: Mchlkpng ---- diff --git a/authors/2af98531aba19ec072200b2931dc4285.md b/authors/2af98531aba19ec072200b2931dc4285.md deleted file mode 100644 index 204c8c7223..0000000000 --- a/authors/2af98531aba19ec072200b2931dc4285.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 2af98531aba19ec072200b2931dc4285 -title: GameAnalytics ApS ---- diff --git a/authors/319329842bb0b5c7721b7623d1e4fdd9.md b/authors/319329842bb0b5c7721b7623d1e4fdd9.md deleted file mode 100644 index 977157bcc1..0000000000 --- a/authors/319329842bb0b5c7721b7623d1e4fdd9.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 319329842bb0b5c7721b7623d1e4fdd9 -title: Mantyi Studio (Nava) ---- diff --git a/authors/37439e81e674b7c8578f8d767e8873c4.md b/authors/37439e81e674b7c8578f8d767e8873c4.md deleted file mode 100644 index 2673ce483e..0000000000 --- a/authors/37439e81e674b7c8578f8d767e8873c4.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 37439e81e674b7c8578f8d767e8873c4 -title: Dan Engelbrecht ---- diff --git a/authors/37923b716e32140d8422412dcc7ab78c.md b/authors/37923b716e32140d8422412dcc7ab78c.md deleted file mode 100644 index af0e1bfb03..0000000000 --- a/authors/37923b716e32140d8422412dcc7ab78c.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 37923b716e32140d8422412dcc7ab78c -title: Glorius Silver ---- diff --git a/authors/38d31b3a0e8a01a9cdbda9ded357efbc.md b/authors/38d31b3a0e8a01a9cdbda9ded357efbc.md deleted file mode 100644 index e85c75e47f..0000000000 --- a/authors/38d31b3a0e8a01a9cdbda9ded357efbc.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 38d31b3a0e8a01a9cdbda9ded357efbc -title: White Box Dev ---- diff --git a/authors/3b89011fffbcab1dac524ed65dbfa3ec.md b/authors/3b89011fffbcab1dac524ed65dbfa3ec.md deleted file mode 100644 index ddc155fbfd..0000000000 --- a/authors/3b89011fffbcab1dac524ed65dbfa3ec.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 3b89011fffbcab1dac524ed65dbfa3ec -title: Jerakin ---- diff --git a/authors/3d50d039c078a00ce00628af22d57540.md b/authors/3d50d039c078a00ce00628af22d57540.md deleted file mode 100644 index b792d0b562..0000000000 --- a/authors/3d50d039c078a00ce00628af22d57540.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 3d50d039c078a00ce00628af22d57540 -title: Agustin R. ---- diff --git a/authors/3e71e661d329e5317371a8146fff04ce.md b/authors/3e71e661d329e5317371a8146fff04ce.md deleted file mode 100644 index 0a30c1674b..0000000000 --- a/authors/3e71e661d329e5317371a8146fff04ce.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 3e71e661d329e5317371a8146fff04ce -title: Nathan Wersinger ---- diff --git a/authors/41055a22bd3f5b94c6182d496d7083e7.md b/authors/41055a22bd3f5b94c6182d496d7083e7.md deleted file mode 100644 index 3cac2536a9..0000000000 --- a/authors/41055a22bd3f5b94c6182d496d7083e7.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 41055a22bd3f5b94c6182d496d7083e7 -title: The Defold Foundation ---- diff --git a/authors/426b550486c4b42b6b3d530c54102e24.md b/authors/426b550486c4b42b6b3d530c54102e24.md deleted file mode 100644 index c850c48275..0000000000 --- a/authors/426b550486c4b42b6b3d530c54102e24.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 426b550486c4b42b6b3d530c54102e24 -title: Sven Andersson ---- diff --git a/authors/4653d481f2a825de61fa892997ab47fe.md b/authors/4653d481f2a825de61fa892997ab47fe.md deleted file mode 100644 index b126a5ed90..0000000000 --- a/authors/4653d481f2a825de61fa892997ab47fe.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 4653d481f2a825de61fa892997ab47fe -title: Daniel Widgren ---- diff --git a/authors/4a486afa64c3d214a96ac7b81b50d17e.md b/authors/4a486afa64c3d214a96ac7b81b50d17e.md deleted file mode 100644 index bdad60ba52..0000000000 --- a/authors/4a486afa64c3d214a96ac7b81b50d17e.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 4a486afa64c3d214a96ac7b81b50d17e -title: RuStore ---- diff --git a/authors/4e5137947a2d2210327998871d8dd3c7.md b/authors/4e5137947a2d2210327998871d8dd3c7.md deleted file mode 100644 index 1b732aafd6..0000000000 --- a/authors/4e5137947a2d2210327998871d8dd3c7.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 4e5137947a2d2210327998871d8dd3c7 -title: Brian Kramer ---- diff --git a/authors/4ec47174008deea10fb66bbdc2ce1ef1.md b/authors/4ec47174008deea10fb66bbdc2ce1ef1.md deleted file mode 100644 index 1eb515e57a..0000000000 --- a/authors/4ec47174008deea10fb66bbdc2ce1ef1.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 4ec47174008deea10fb66bbdc2ce1ef1 -title: Digital Will Inc. ---- diff --git a/authors/50e4e1bab82fe6b1f6ac6bf07a578126.md b/authors/50e4e1bab82fe6b1f6ac6bf07a578126.md deleted file mode 100644 index da1092053c..0000000000 --- a/authors/50e4e1bab82fe6b1f6ac6bf07a578126.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 50e4e1bab82fe6b1f6ac6bf07a578126 -title: approboGames ---- diff --git a/authors/54d0fe81953befa10aaa9d1194a9d2d7.md b/authors/54d0fe81953befa10aaa9d1194a9d2d7.md deleted file mode 100644 index b9ecb47226..0000000000 --- a/authors/54d0fe81953befa10aaa9d1194a9d2d7.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 54d0fe81953befa10aaa9d1194a9d2d7 -title: d954mas ---- diff --git a/authors/54dcd706c9cc3c34734699ce83e2d6c2.md b/authors/54dcd706c9cc3c34734699ce83e2d6c2.md deleted file mode 100644 index 062226ae88..0000000000 --- a/authors/54dcd706c9cc3c34734699ce83e2d6c2.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 54dcd706c9cc3c34734699ce83e2d6c2 -title: Adam Westman ---- diff --git a/authors/5d6dddec191d19aff834cd5ab30f570c.md b/authors/5d6dddec191d19aff834cd5ab30f570c.md deleted file mode 100644 index e204656006..0000000000 --- a/authors/5d6dddec191d19aff834cd5ab30f570c.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 5d6dddec191d19aff834cd5ab30f570c -title: xiyoo0812@163.com ---- diff --git a/authors/5ef914d2d8f88bf981967ec7c596813d.md b/authors/5ef914d2d8f88bf981967ec7c596813d.md deleted file mode 100644 index 938c26c1ff..0000000000 --- a/authors/5ef914d2d8f88bf981967ec7c596813d.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 5ef914d2d8f88bf981967ec7c596813d -title: Baron Wittman ---- diff --git a/authors/6100d3b33dfe49f042484ab76af0781e.md b/authors/6100d3b33dfe49f042484ab76af0781e.md deleted file mode 100644 index 7c55a8e114..0000000000 --- a/authors/6100d3b33dfe49f042484ab76af0781e.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 6100d3b33dfe49f042484ab76af0781e -title: Selim Anaç ---- diff --git a/authors/61c731dc9a5612359ec177c4711567cc.md b/authors/61c731dc9a5612359ec177c4711567cc.md deleted file mode 100644 index 9b961053af..0000000000 --- a/authors/61c731dc9a5612359ec177c4711567cc.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 61c731dc9a5612359ec177c4711567cc -title: Dylann Taylor ---- diff --git a/authors/632b18be12f2cbb244b078d81be741e3.md b/authors/632b18be12f2cbb244b078d81be741e3.md deleted file mode 100644 index 690784b044..0000000000 --- a/authors/632b18be12f2cbb244b078d81be741e3.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 632b18be12f2cbb244b078d81be741e3 -title: Martin Dahlin ---- diff --git a/authors/6331bc20c15e788dc7c1239038f4d88b.md b/authors/6331bc20c15e788dc7c1239038f4d88b.md deleted file mode 100644 index 12e2e66f30..0000000000 --- a/authors/6331bc20c15e788dc7c1239038f4d88b.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 6331bc20c15e788dc7c1239038f4d88b -title: MrZak-dev ---- diff --git a/authors/63e41bd0ba1158bf35505bf42ff56a4b.md b/authors/63e41bd0ba1158bf35505bf42ff56a4b.md deleted file mode 100644 index 61a3c52683..0000000000 --- a/authors/63e41bd0ba1158bf35505bf42ff56a4b.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 63e41bd0ba1158bf35505bf42ff56a4b -title: Ross Grams ---- diff --git a/authors/65ce3e1d328e7986eb8c044411649c1f.md b/authors/65ce3e1d328e7986eb8c044411649c1f.md deleted file mode 100644 index 543ce2250d..0000000000 --- a/authors/65ce3e1d328e7986eb8c044411649c1f.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 65ce3e1d328e7986eb8c044411649c1f -title: Toca (tc) ---- diff --git a/authors/68009f7dd783cd9d10e1842e618d82e2.md b/authors/68009f7dd783cd9d10e1842e618d82e2.md deleted file mode 100644 index 509320bbac..0000000000 --- a/authors/68009f7dd783cd9d10e1842e618d82e2.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 68009f7dd783cd9d10e1842e618d82e2 -title: Jérôme Barbier ---- diff --git a/authors/68ed918a501621d514774348f2d99f90.md b/authors/68ed918a501621d514774348f2d99f90.md deleted file mode 100644 index d23433344b..0000000000 --- a/authors/68ed918a501621d514774348f2d99f90.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 68ed918a501621d514774348f2d99f90 -title: Halfstar ---- diff --git a/authors/6bfb050b88dba339e0f954b4969bfe4a.md b/authors/6bfb050b88dba339e0f954b4969bfe4a.md deleted file mode 100644 index 310ddd7c3c..0000000000 --- a/authors/6bfb050b88dba339e0f954b4969bfe4a.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 6bfb050b88dba339e0f954b4969bfe4a -title: vitopigno ---- diff --git a/authors/6c8581f7da8da7a5c9bb6ffe85f56420.md b/authors/6c8581f7da8da7a5c9bb6ffe85f56420.md deleted file mode 100644 index e2488187c5..0000000000 --- a/authors/6c8581f7da8da7a5c9bb6ffe85f56420.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 6c8581f7da8da7a5c9bb6ffe85f56420 -title: Björn Ritzl ---- diff --git a/authors/6fa4e9eb497a853ac0d93bc60a44131b.md b/authors/6fa4e9eb497a853ac0d93bc60a44131b.md deleted file mode 100644 index a6b63bc3fa..0000000000 --- a/authors/6fa4e9eb497a853ac0d93bc60a44131b.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 6fa4e9eb497a853ac0d93bc60a44131b -title: Warren Fuller ---- diff --git a/authors/70ac2d222a9f2f33cab587a655c69601.md b/authors/70ac2d222a9f2f33cab587a655c69601.md deleted file mode 100644 index 2e5b6e118b..0000000000 --- a/authors/70ac2d222a9f2f33cab587a655c69601.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 70ac2d222a9f2f33cab587a655c69601 -title: Alexey Gulev ---- diff --git a/authors/7189ed9feae9804bd2a0b642b81d85fb.md b/authors/7189ed9feae9804bd2a0b642b81d85fb.md deleted file mode 100644 index 58ad633e14..0000000000 --- a/authors/7189ed9feae9804bd2a0b642b81d85fb.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 7189ed9feae9804bd2a0b642b81d85fb -title: AsakuraMizu ---- diff --git a/authors/742dbf61e2cf2fe6cefc26e302aa6d6c.md b/authors/742dbf61e2cf2fe6cefc26e302aa6d6c.md deleted file mode 100644 index 7d17e5ad56..0000000000 --- a/authors/742dbf61e2cf2fe6cefc26e302aa6d6c.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 742dbf61e2cf2fe6cefc26e302aa6d6c -title: Faris Mustafa ---- diff --git a/authors/757d04efa06c859ff9983a6c3bdeb3c2.md b/authors/757d04efa06c859ff9983a6c3bdeb3c2.md deleted file mode 100644 index 40b84d7b17..0000000000 --- a/authors/757d04efa06c859ff9983a6c3bdeb3c2.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 757d04efa06c859ff9983a6c3bdeb3c2 -title: Andrey Panchenko ---- diff --git a/authors/767b929084b257a4b4b42bfa5dfbb614.md b/authors/767b929084b257a4b4b42bfa5dfbb614.md deleted file mode 100644 index 32ebdbc9b0..0000000000 --- a/authors/767b929084b257a4b4b42bfa5dfbb614.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 767b929084b257a4b4b42bfa5dfbb614 -title: Alexander Bulatov ---- diff --git a/authors/793ee11171e32960b2768562a8deaf21.md b/authors/793ee11171e32960b2768562a8deaf21.md deleted file mode 100644 index d362d76074..0000000000 --- a/authors/793ee11171e32960b2768562a8deaf21.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 793ee11171e32960b2768562a8deaf21 -title: Alchimystic ---- diff --git a/authors/7a2340205545b175e20f44488bd30a49.md b/authors/7a2340205545b175e20f44488bd30a49.md deleted file mode 100644 index d5c52be61f..0000000000 --- a/authors/7a2340205545b175e20f44488bd30a49.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 7a2340205545b175e20f44488bd30a49 -title: Defold ---- diff --git a/authors/7db5ded5ce8543616d6753f6ee8bf2b7.md b/authors/7db5ded5ce8543616d6753f6ee8bf2b7.md deleted file mode 100644 index b78090129a..0000000000 --- a/authors/7db5ded5ce8543616d6753f6ee8bf2b7.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 7db5ded5ce8543616d6753f6ee8bf2b7 -title: Klaleus ---- diff --git a/authors/7e350361d86157dee7b4b2c60a3d1a9b.md b/authors/7e350361d86157dee7b4b2c60a3d1a9b.md deleted file mode 100644 index 5c555eb68f..0000000000 --- a/authors/7e350361d86157dee7b4b2c60a3d1a9b.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 7e350361d86157dee7b4b2c60a3d1a9b -title: Kenney Vleugels ---- diff --git a/authors/80565c2c453d9a250100fdc7fe0ceeba.md b/authors/80565c2c453d9a250100fdc7fe0ceeba.md deleted file mode 100644 index 18091ca485..0000000000 --- a/authors/80565c2c453d9a250100fdc7fe0ceeba.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 80565c2c453d9a250100fdc7fe0ceeba -title: Matt van der Westhuizen ---- diff --git a/authors/821c90fb2ef546027b325a442d98de65.md b/authors/821c90fb2ef546027b325a442d98de65.md deleted file mode 100644 index 6d16f07452..0000000000 --- a/authors/821c90fb2ef546027b325a442d98de65.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 821c90fb2ef546027b325a442d98de65 -title: wistpotion (Isabelle Fougner Axrup) ---- diff --git a/authors/82d93681cd4c0bccafd3c3274ac5f33a.md b/authors/82d93681cd4c0bccafd3c3274ac5f33a.md deleted file mode 100644 index df63e34877..0000000000 --- a/authors/82d93681cd4c0bccafd3c3274ac5f33a.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 82d93681cd4c0bccafd3c3274ac5f33a -title: Sergey Sinyavsky ---- diff --git a/authors/82dec81b3353206316cb7c95e847450f.md b/authors/82dec81b3353206316cb7c95e847450f.md deleted file mode 100644 index 612814e8ef..0000000000 --- a/authors/82dec81b3353206316cb7c95e847450f.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 82dec81b3353206316cb7c95e847450f -title: Roman Silin ---- diff --git a/authors/865340fc7cff2508e3a694759d5e9732.md b/authors/865340fc7cff2508e3a694759d5e9732.md deleted file mode 100644 index 0104b93496..0000000000 --- a/authors/865340fc7cff2508e3a694759d5e9732.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 865340fc7cff2508e3a694759d5e9732 -title: Planetary Processing Ltd ---- diff --git a/authors/8705a019e13aba03ecb45fd3a24468e1.md b/authors/8705a019e13aba03ecb45fd3a24468e1.md deleted file mode 100644 index e556b1fcfc..0000000000 --- a/authors/8705a019e13aba03ecb45fd3a24468e1.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 8705a019e13aba03ecb45fd3a24468e1 -title: Elefant AI ---- diff --git a/authors/89f1bb284adf2936575f2378410be407.md b/authors/89f1bb284adf2936575f2378410be407.md deleted file mode 100644 index 96dc75c4ac..0000000000 --- a/authors/89f1bb284adf2936575f2378410be407.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 89f1bb284adf2936575f2378410be407 -title: Dan Korostelev ---- diff --git a/authors/8c381310a001a941e61e2093e69ad950.md b/authors/8c381310a001a941e61e2093e69ad950.md deleted file mode 100644 index 7fcd527f5e..0000000000 --- a/authors/8c381310a001a941e61e2093e69ad950.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 8c381310a001a941e61e2093e69ad950 -title: SkaterDad ---- diff --git a/authors/8e8dcfd8ab030ee46c9efee57f492a9b.md b/authors/8e8dcfd8ab030ee46c9efee57f492a9b.md deleted file mode 100644 index 87ff3cff93..0000000000 --- a/authors/8e8dcfd8ab030ee46c9efee57f492a9b.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 8e8dcfd8ab030ee46c9efee57f492a9b -title: Igor Suntsev ---- diff --git a/authors/8fd8c1acf56f912e176589db86628f2d.md b/authors/8fd8c1acf56f912e176589db86628f2d.md deleted file mode 100644 index c169912cc3..0000000000 --- a/authors/8fd8c1acf56f912e176589db86628f2d.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 8fd8c1acf56f912e176589db86628f2d -title: Fabtjar ---- diff --git a/authors/911ae62ac524a12980cfceb44ad0f30d.md b/authors/911ae62ac524a12980cfceb44ad0f30d.md deleted file mode 100644 index d753dd5a86..0000000000 --- a/authors/911ae62ac524a12980cfceb44ad0f30d.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 911ae62ac524a12980cfceb44ad0f30d -title: TheKing0x9 ---- diff --git a/authors/916199871deaf531dba29563cbf1ca2a.md b/authors/916199871deaf531dba29563cbf1ca2a.md deleted file mode 100644 index b5aa84ebf4..0000000000 --- a/authors/916199871deaf531dba29563cbf1ca2a.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 916199871deaf531dba29563cbf1ca2a -title: Gr. Scrits ---- diff --git a/authors/98a13e15bcbbfaaad8049cd6b09e87f1.md b/authors/98a13e15bcbbfaaad8049cd6b09e87f1.md deleted file mode 100644 index 35659ff384..0000000000 --- a/authors/98a13e15bcbbfaaad8049cd6b09e87f1.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 98a13e15bcbbfaaad8049cd6b09e87f1 -title: Moon Active ---- diff --git a/authors/9983a0fce4cbeae6bb93e228d277cb31.md b/authors/9983a0fce4cbeae6bb93e228d277cb31.md deleted file mode 100644 index 3e4f93cb9f..0000000000 --- a/authors/9983a0fce4cbeae6bb93e228d277cb31.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 9983a0fce4cbeae6bb93e228d277cb31 -title: Megalanthus ---- diff --git a/authors/9a30c4b73c59839a52d1790f9fa5fa6b.md b/authors/9a30c4b73c59839a52d1790f9fa5fa6b.md deleted file mode 100644 index c61102ecb5..0000000000 --- a/authors/9a30c4b73c59839a52d1790f9fa5fa6b.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 9a30c4b73c59839a52d1790f9fa5fa6b -title: Vincent Lagerros ---- diff --git a/authors/9b081cd04d07b9aced2fe1b2d46126d9.md b/authors/9b081cd04d07b9aced2fe1b2d46126d9.md deleted file mode 100644 index b05424aa53..0000000000 --- a/authors/9b081cd04d07b9aced2fe1b2d46126d9.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: 9b081cd04d07b9aced2fe1b2d46126d9 -title: y444 ---- diff --git a/authors/a0bfc7430b840873f242085ed47277c8.md b/authors/a0bfc7430b840873f242085ed47277c8.md deleted file mode 100644 index 5da9ef643e..0000000000 --- a/authors/a0bfc7430b840873f242085ed47277c8.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: a0bfc7430b840873f242085ed47277c8 -title: Indiesoft LLC ---- diff --git a/authors/a9dacc35f6115f2be87eae7838a930b4.md b/authors/a9dacc35f6115f2be87eae7838a930b4.md deleted file mode 100644 index d85c40bb5a..0000000000 --- a/authors/a9dacc35f6115f2be87eae7838a930b4.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: a9dacc35f6115f2be87eae7838a930b4 -title: Ronald K Bett ---- diff --git a/authors/aa7f6024a73f11149dd20d757e1e83ef.md b/authors/aa7f6024a73f11149dd20d757e1e83ef.md deleted file mode 100644 index a8c0dde3c8..0000000000 --- a/authors/aa7f6024a73f11149dd20d757e1e83ef.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: aa7f6024a73f11149dd20d757e1e83ef -title: Agnis 'NeZvers' Aldins ---- diff --git a/authors/aecd79718c652bcb46658715d4a7ae55.md b/authors/aecd79718c652bcb46658715d4a7ae55.md deleted file mode 100644 index bfa2afa9be..0000000000 --- a/authors/aecd79718c652bcb46658715d4a7ae55.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: aecd79718c652bcb46658715d4a7ae55 -title: Daka Sha ---- diff --git a/authors/b450788dc032917ae79b28cd5423ff68.md b/authors/b450788dc032917ae79b28cd5423ff68.md deleted file mode 100644 index 6f9882fbc9..0000000000 --- a/authors/b450788dc032917ae79b28cd5423ff68.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: b450788dc032917ae79b28cd5423ff68 -title: haruka ---- diff --git a/authors/b49809838a3668f44b96a178539eb58e.md b/authors/b49809838a3668f44b96a178539eb58e.md deleted file mode 100644 index 843fb519dc..0000000000 --- a/authors/b49809838a3668f44b96a178539eb58e.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: b49809838a3668f44b96a178539eb58e -title: Vow Software ---- diff --git a/authors/b6cf80bbb897b02ad11260ccfb89e0a2.md b/authors/b6cf80bbb897b02ad11260ccfb89e0a2.md deleted file mode 100644 index d359f115b1..0000000000 --- a/authors/b6cf80bbb897b02ad11260ccfb89e0a2.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: b6cf80bbb897b02ad11260ccfb89e0a2 -title: Chung Xa ---- diff --git a/authors/bd277866e2bc8a45ebdddc0c39cfbeb9.md b/authors/bd277866e2bc8a45ebdddc0c39cfbeb9.md deleted file mode 100644 index 8efa346937..0000000000 --- a/authors/bd277866e2bc8a45ebdddc0c39cfbeb9.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: bd277866e2bc8a45ebdddc0c39cfbeb9 -title: Marius Petcu ---- diff --git a/authors/bf4446fc14e0dc76c2b42d95a140a489.md b/authors/bf4446fc14e0dc76c2b42d95a140a489.md deleted file mode 100644 index f691a51b38..0000000000 --- a/authors/bf4446fc14e0dc76c2b42d95a140a489.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: bf4446fc14e0dc76c2b42d95a140a489 -title: Denis Maltsev ---- diff --git a/authors/c30011ac4245e2089d77c366e0775634.md b/authors/c30011ac4245e2089d77c366e0775634.md deleted file mode 100644 index ffa9c10a10..0000000000 --- a/authors/c30011ac4245e2089d77c366e0775634.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: c30011ac4245e2089d77c366e0775634 -title: Robert Gardner ---- diff --git a/authors/c3763cd89322b14d2e915429a74710c1.md b/authors/c3763cd89322b14d2e915429a74710c1.md deleted file mode 100644 index 32541aee52..0000000000 --- a/authors/c3763cd89322b14d2e915429a74710c1.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: c3763cd89322b14d2e915429a74710c1 -title: PlayFab ---- diff --git a/authors/c7251be54930f3b6f39decf5e95250b3.md b/authors/c7251be54930f3b6f39decf5e95250b3.md deleted file mode 100644 index 344d0fe8a6..0000000000 --- a/authors/c7251be54930f3b6f39decf5e95250b3.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: c7251be54930f3b6f39decf5e95250b3 -title: Aleksandr Derbenev ---- diff --git a/authors/d0f7e63ec16f418380817dad3b769718.md b/authors/d0f7e63ec16f418380817dad3b769718.md deleted file mode 100644 index e37c1e2df8..0000000000 --- a/authors/d0f7e63ec16f418380817dad3b769718.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: d0f7e63ec16f418380817dad3b769718 -title: s-kania ---- diff --git a/authors/d37df7cd894e82ea661f79015ae00bb0.md b/authors/d37df7cd894e82ea661f79015ae00bb0.md deleted file mode 100644 index e2ef9f5ec8..0000000000 --- a/authors/d37df7cd894e82ea661f79015ae00bb0.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: d37df7cd894e82ea661f79015ae00bb0 -title: Myopic Design ---- diff --git a/authors/d54cdc4bc377adc6a3233368cc304107.md b/authors/d54cdc4bc377adc6a3233368cc304107.md deleted file mode 100644 index 0271383fc5..0000000000 --- a/authors/d54cdc4bc377adc6a3233368cc304107.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: d54cdc4bc377adc6a3233368cc304107 -title: Paweł Jarosz ---- diff --git a/authors/dae099b9d61fe3947bfbc22568b31b21.md b/authors/dae099b9d61fe3947bfbc22568b31b21.md deleted file mode 100644 index a90ad3d79e..0000000000 --- a/authors/dae099b9d61fe3947bfbc22568b31b21.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: dae099b9d61fe3947bfbc22568b31b21 -title: gameoffate2018 ---- diff --git a/authors/dcd0deade37ce7d99d938f70fa49dee1.md b/authors/dcd0deade37ce7d99d938f70fa49dee1.md deleted file mode 100644 index eece3fae90..0000000000 --- a/authors/dcd0deade37ce7d99d938f70fa49dee1.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: dcd0deade37ce7d99d938f70fa49dee1 -title: Roman Petrov ---- diff --git a/authors/dd20e1afac0de345aeb2422a2f9743fd.md b/authors/dd20e1afac0de345aeb2422a2f9743fd.md deleted file mode 100644 index 4de3f0e62a..0000000000 --- a/authors/dd20e1afac0de345aeb2422a2f9743fd.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: dd20e1afac0de345aeb2422a2f9743fd -title: Marat Gilyazov ---- diff --git a/authors/df43ce0658a20ceebcdfab1b6e54c9aa.md b/authors/df43ce0658a20ceebcdfab1b6e54c9aa.md deleted file mode 100644 index 7a10c5e1dc..0000000000 --- a/authors/df43ce0658a20ceebcdfab1b6e54c9aa.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: df43ce0658a20ceebcdfab1b6e54c9aa -title: HGPoint ---- diff --git a/authors/e32e02d173ec863e5b26d85532f4cb99.md b/authors/e32e02d173ec863e5b26d85532f4cb99.md deleted file mode 100644 index b65ee60f84..0000000000 --- a/authors/e32e02d173ec863e5b26d85532f4cb99.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: e32e02d173ec863e5b26d85532f4cb99 -title: Thorbjørn Lindeijer ---- diff --git a/authors/ed8d3d9c99bf62c05dc414c77cedb123.md b/authors/ed8d3d9c99bf62c05dc414c77cedb123.md deleted file mode 100644 index d1cc282062..0000000000 --- a/authors/ed8d3d9c99bf62c05dc414c77cedb123.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: ed8d3d9c99bf62c05dc414c77cedb123 -title: Denis Makhortov ---- diff --git a/authors/ef6d5c21d75557d414343ab7c1bd79da.md b/authors/ef6d5c21d75557d414343ab7c1bd79da.md deleted file mode 100644 index ccbbbfe856..0000000000 --- a/authors/ef6d5c21d75557d414343ab7c1bd79da.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: ef6d5c21d75557d414343ab7c1bd79da -title: Mathias Westerdahl ---- diff --git a/authors/f0ed797e86f7025f8ba5455479852ca5.md b/authors/f0ed797e86f7025f8ba5455479852ca5.md deleted file mode 100644 index 70fa094166..0000000000 --- a/authors/f0ed797e86f7025f8ba5455479852ca5.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: f0ed797e86f7025f8ba5455479852ca5 -title: Defold Foundation ---- diff --git a/authors/f20c27ccbec44441fc8f842fa6e0f23f.md b/authors/f20c27ccbec44441fc8f842fa6e0f23f.md deleted file mode 100644 index 225f6b92de..0000000000 --- a/authors/f20c27ccbec44441fc8f842fa6e0f23f.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: f20c27ccbec44441fc8f842fa6e0f23f -title: Led ---- diff --git a/authors/f4192276a8445076db3e40da4728878b.md b/authors/f4192276a8445076db3e40da4728878b.md deleted file mode 100644 index 6ab245b080..0000000000 --- a/authors/f4192276a8445076db3e40da4728878b.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: f4192276a8445076db3e40da4728878b -title: Tactx Studios ---- diff --git a/authors/f48a4960505d289f004b2c92e00e482e.md b/authors/f48a4960505d289f004b2c92e00e482e.md deleted file mode 100644 index 7e17ba23e0..0000000000 --- a/authors/f48a4960505d289f004b2c92e00e482e.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: f48a4960505d289f004b2c92e00e482e -title: Evandro Costa ---- diff --git a/authors/f4ecd22ca7133c183d7f46be9c2d848b.md b/authors/f4ecd22ca7133c183d7f46be9c2d848b.md deleted file mode 100644 index 8b705b5143..0000000000 --- a/authors/f4ecd22ca7133c183d7f46be9c2d848b.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: f4ecd22ca7133c183d7f46be9c2d848b -title: 8BitSkull ---- diff --git a/authors/f55f5a24b15caa21479706c219beb4ae.md b/authors/f55f5a24b15caa21479706c219beb4ae.md deleted file mode 100644 index 682bbc338e..0000000000 --- a/authors/f55f5a24b15caa21479706c219beb4ae.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: f55f5a24b15caa21479706c219beb4ae -title: David Lannan ---- diff --git a/authors/f7d71deae508c5b674dda314b6b6cbb8.md b/authors/f7d71deae508c5b674dda314b6b6cbb8.md deleted file mode 100644 index 599aad7ff1..0000000000 --- a/authors/f7d71deae508c5b674dda314b6b6cbb8.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: f7d71deae508c5b674dda314b6b6cbb8 -title: Minit Games ---- diff --git a/authors/f9682e1dc393197965796f698ae8002b.md b/authors/f9682e1dc393197965796f698ae8002b.md deleted file mode 100644 index f0c1a9ea79..0000000000 --- a/authors/f9682e1dc393197965796f698ae8002b.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: f9682e1dc393197965796f698ae8002b -title: bdshahab ---- diff --git a/authors/fb725749047f9c600b9967b29ff81b27.md b/authors/fb725749047f9c600b9967b29ff81b27.md deleted file mode 100644 index e0cd697f64..0000000000 --- a/authors/fb725749047f9c600b9967b29ff81b27.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: fb725749047f9c600b9967b29ff81b27 -title: Pause Games ---- diff --git a/authors/fc0f2ca1bb97818c5922a389c671edca.md b/authors/fc0f2ca1bb97818c5922a389c671edca.md deleted file mode 100644 index 5d6dbbee93..0000000000 --- a/authors/fc0f2ca1bb97818c5922a389c671edca.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: fc0f2ca1bb97818c5922a389c671edca -title: Yuichiro Kumagai ---- diff --git a/authors/fcf9836120114ee7a976df4a4b3ae5c4.md b/authors/fcf9836120114ee7a976df4a4b3ae5c4.md deleted file mode 100644 index 46583120ed..0000000000 --- a/authors/fcf9836120114ee7a976df4a4b3ae5c4.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: fcf9836120114ee7a976df4a4b3ae5c4 -title: atomicptr ---- diff --git a/authors/fd95d1ba0d327f337f2c09f181706488.md b/authors/fd95d1ba0d327f337f2c09f181706488.md deleted file mode 100644 index 00a4971989..0000000000 --- a/authors/fd95d1ba0d327f337f2c09f181706488.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: fd95d1ba0d327f337f2c09f181706488 -title: MegaCrab Games ---- diff --git a/authors/fdec556e51a2ad846db08b8ba0ae3b86.md b/authors/fdec556e51a2ad846db08b8ba0ae3b86.md deleted file mode 100644 index 5ef73aae29..0000000000 --- a/authors/fdec556e51a2ad846db08b8ba0ae3b86.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: fdec556e51a2ad846db08b8ba0ae3b86 -title: Insality ---- diff --git a/authors/fef042de4dda67920cac30094e5feaea.md b/authors/fef042de4dda67920cac30094e5feaea.md deleted file mode 100644 index 22c7e9bbd9..0000000000 --- a/authors/fef042de4dda67920cac30094e5feaea.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: fef042de4dda67920cac30094e5feaea -title: Playgama ---- diff --git a/authors/ffb80685a055de9b8d1c05bc9cfce024.md b/authors/ffb80685a055de9b8d1c05bc9cfce024.md deleted file mode 100644 index 96cd6687d2..0000000000 --- a/authors/ffb80685a055de9b8d1c05bc9cfce024.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: author -author: ffb80685a055de9b8d1c05bc9cfce024 -title: Heroic Labs ---- diff --git a/examples/animation/3d_animations/index.md b/examples/animation/3d_animations/index.md index dc360fac7c..d9a7ce9478 100644 --- a/examples/animation/3d_animations/index.md +++ b/examples/animation/3d_animations/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: Learn how to play 3D animations from a GLB model using skinned model material. category: animation layout: example @@ -10,7 +11,6 @@ tags: animation, model, gui, input, message-passing thumbnail: thumbnail.webp title: 3D Animations - Skinned Model twitter_image: https://www.defold.com/examples/animation/3d_animations/thumbnail.webp - --- This example shows how to play skeletal animations from a skinned GLB model using `model.play_anim()`. @@ -106,4 +106,4 @@ play_model_animation This is a common Defold pattern. The sender does not need to know how animation playback is implemented. It only sends the requested animation id. The receiver decides what to do with it. -This makes the example easy to extend. For example, the model script could later add animation blending, validation, transition rules, sound effects, or root motion handling without changing the GUI script. \ No newline at end of file +This makes the example easy to extend. For example, the model script could later add animation blending, validation, transition rules, sound effects, or root motion handling without changing the GUI script. diff --git a/examples/animation/animation_delay/index.md b/examples/animation/animation_delay/index.md index e19e9eb89e..7faa41f4c7 100644 --- a/examples/animation/animation_delay/index.md +++ b/examples/animation/animation_delay/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to use the delay parameter of `go.animate()` to create a wave effect. category: animation layout: example @@ -10,7 +11,6 @@ tags: animation, delay thumbnail: thumbnail.png title: Animation Delay - Wave twitter_image: https://www.defold.com/examples/animation/animation_delay/thumbnail.png - --- This example shows how to use the `delay` parameter of `go.animate()` (or `gui.animate()`) to create a wave effect. @@ -27,4 +27,4 @@ Four game objects start the same `position.y` ping-pong animation, but each one The script stores the four target URLs in a table and loops over them with `ipairs()`. Each call to `go.animate()` uses the same target value, easing, duration, and playback mode. -The only thing that changes per sprite is the argument: `delay`. Multiplying the sprite index by `0.15` seconds offsets each start time just enough to produce a clear staggered wave. \ No newline at end of file +The only thing that changes per sprite is the argument: `delay`. Multiplying the sprite index by `0.15` seconds offsets each start time just enough to produce a clear staggered wave. diff --git a/examples/animation/animation_states/index.md b/examples/animation/animation_states/index.md index ee3a23fb79..fa6e92fd5f 100644 --- a/examples/animation/animation_states/index.md +++ b/examples/animation/animation_states/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: Shows how to build a small Finite State Machine module and use it to control character and animation states. category: animation layout: example @@ -10,7 +11,6 @@ tags: animation, sprite, architecture, input thumbnail: thumbnail.png title: Finite State Machines twitter_image: https://www.defold.com/examples/animation/animation_states/thumbnail.png - --- You can control the example in two ways: @@ -154,4 +154,4 @@ The sprite component uses a flipbook atlas with the standing, crouching, attack, > This example uses the Free Knight Character by Nauris "aamatniekss": > https://aamatniekss.itch.io/fantasy-knight-free-pixelart-animated-character -![atlas](atlas.png) \ No newline at end of file +![atlas](atlas.png) diff --git a/examples/animation/basic_tween/index.md b/examples/animation/basic_tween/index.md index eb2bf38ef1..384814fb32 100644 --- a/examples/animation/basic_tween/index.md +++ b/examples/animation/basic_tween/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to tween animate the position of a game object. category: animation layout: example @@ -10,7 +11,6 @@ tags: animation thumbnail: basic_tween.png title: Tween animation twitter_image: https://www.defold.com/examples/animation/basic_tween/basic_tween.png - --- -![tween](basic_tween.png) \ No newline at end of file +![tween](basic_tween.png) diff --git a/examples/animation/cancel_animation/index.md b/examples/animation/cancel_animation/index.md index 0b3736fdd1..4e1e7eb408 100644 --- a/examples/animation/cancel_animation/index.md +++ b/examples/animation/cancel_animation/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to use `go.cancel_animations()` to stop a running animation and start a new one. category: animation layout: example @@ -10,7 +11,6 @@ tags: animation, input thumbnail: setup.png title: Cancel animation twitter_image: https://www.defold.com/examples/animation/cancel_animation/setup.png - --- The collection contains two game objects: @@ -27,4 +27,4 @@ Clicking or tapping cancels the currently played animations immediately and star When the player presses the mouse button or touches the screen, the script first calls [`go.cancel_animations()`](https://defold.com/ref/go-lua/index.html#go.cancel_animations:url-property). Defold stops the running tween and leaves the game object's position exactly where it was at that moment. -The script then calls [`go.animate()`](https://defold.com/ref/go-lua/index.html#go.animate:url-property-playback-to-easing-duration-delay-complete_function) again with the clicked x coordinate as the new target. Because the old animation was canceled first, the new tween starts from the ship's current position instead of jumping back to the original starting point. \ No newline at end of file +The script then calls [`go.animate()`](https://defold.com/ref/go-lua/index.html#go.animate:url-property-playback-to-easing-duration-delay-complete_function) again with the clicked x coordinate as the new target. Because the old animation was canceled first, the new tween starts from the ship's current position instead of jumping back to the original starting point. diff --git a/examples/animation/chained_tween/index.md b/examples/animation/chained_tween/index.md index 46659d8be0..a44da7215f 100644 --- a/examples/animation/chained_tween/index.md +++ b/examples/animation/chained_tween/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to chain two tween animations of the position of a game object. In addition, the scale and tint is animated separately. category: animation layout: example @@ -10,7 +11,6 @@ tags: animation thumbnail: chained_tween.png title: Tween animations chain twitter_image: https://www.defold.com/examples/animation/chained_tween/chained_tween.png - --- -![tween](chained_tween.png) \ No newline at end of file +![tween](chained_tween.png) diff --git a/examples/animation/cursor/index.md b/examples/animation/cursor/index.md index bffb2417cd..cc8c8cdcca 100644 --- a/examples/animation/cursor/index.md +++ b/examples/animation/cursor/index.md @@ -1,5 +1,6 @@ --- -author: Paweł Jarosz +author_ids: +- pawel-jarosz brief: This example shows how to set and animate the normalized cursor value. category: animation layout: example @@ -10,9 +11,8 @@ tags: animation thumbnail: cursor.png title: Cursor animation twitter_image: https://www.defold.com/examples/animation/cursor/cursor.png - --- The example uses one game object with a sprite component and a label (to show the duration). The game object contains the script that sets and animates the normalized cursor value making the sprite's animation progress and shows the duration value on the label: -![cursor](cursor.png) \ No newline at end of file +![cursor](cursor.png) diff --git a/examples/animation/custom_easing/index.md b/examples/animation/custom_easing/index.md index 7745c57baf..d7fb82c536 100644 --- a/examples/animation/custom_easing/index.md +++ b/examples/animation/custom_easing/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to define a custom easing curve and use it when animating with `go.animate()` instead of a built-in easing constant. category: animation layout: example @@ -10,7 +11,6 @@ tags: animation, easing thumbnail: setup.png title: Custom easing - square wave twitter_image: https://www.defold.com/examples/animation/custom_easing/setup.png - --- This example uses the square-wave easing curve. The logo alternates between its starting height and the target height, and the animation system interpolates the positions between the low and high positions when animating. @@ -25,4 +25,4 @@ The collection contains one game object with one sprite and one script. The scri The script stores the custom easing samples in a plain Lua table and turns that table into a `vmath.vector`. Defold accepts that vector anywhere `go.animate()` (or `gui.animate()` in case of GUI animations) expects an easing value. -Because the vector is made of repeated blocks of `0` and `1`, the animation keeps snapping between the start value (start y position) and the target value (520 on Y axis, which is above the start value). That makes the easing behave like a square wave instead of a continuous curve. Note that the animation system still interpolates between the frames, so depending on time, the animation can be more trapezoidal or more square wave. \ No newline at end of file +Because the vector is made of repeated blocks of `0` and `1`, the animation keeps snapping between the start value (start y position) and the target value (520 on Y axis, which is above the start value). That makes the easing behave like a square wave instead of a continuous curve. Note that the animation system still interpolates between the frames, so depending on time, the animation can be more trapezoidal or more square wave. diff --git a/examples/animation/easing/index.md b/examples/animation/easing/index.md index 8d76ea8a69..37868c69ed 100644 --- a/examples/animation/easing/index.md +++ b/examples/animation/easing/index.md @@ -1,7 +1,7 @@ --- -authors: +author_ids: - mikatuo -- Defold Foundation +- defold-foundation brief: Demonstrates different easing functions available in Defold. category: animation layout: example @@ -12,7 +12,6 @@ tags: animation, easing, input thumbnail: thumbnail.webp title: Easing Functions (Tweens) twitter_image: https://www.defold.com/examples/animation/easing/thumbnail.webp - --- This example compares the built-in easing constants that can be passed to `go.animate()`. Use the left and right arrow keys, or the on-screen buttons, to switch easing function and restart the same position, rotation, and scale animations. @@ -53,4 +52,4 @@ Each animated game object uses the same `animator.script`. The script exposes st When `animator.script` receives a new easing value, it resets its game object to the configured start transform and starts a ping-pong property animation toward the configured end transform. The target values and duration stay the same while the selected easing constant changes the interpolation curve. -Read more about property animations in the [manual](https://defold.com/manuals/property-animation/). \ No newline at end of file +Read more about property animations in the [manual](https://defold.com/manuals/property-animation/). diff --git a/examples/animation/euler_rotation/index.md b/examples/animation/euler_rotation/index.md index 8525c7c109..2932ad53ec 100644 --- a/examples/animation/euler_rotation/index.md +++ b/examples/animation/euler_rotation/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: Shows how to animate Euler rotation. category: animation layout: example @@ -10,7 +11,6 @@ tags: animation thumbnail: thumbnail.png title: Euler Rotation twitter_image: https://www.defold.com/examples/animation/euler_rotation/thumbnail.png - --- This example rotates a spinner sprite continuously by tweening one Euler angle. It uses the Z axis because that is the axis pointing out of the screen in a 2D scene. @@ -37,4 +37,4 @@ The collection contains two game objects: `go.animate()` can animate numeric game object properties and sub-properties. Here it targets `"."`, the current game object, and `"euler.z"`, the Z component of the Euler rotation vector. -Euler angles are expressed in degrees, so the target value `-360` is one full clockwise turn. `go.PLAYBACK_LOOP_FORWARD` restarts the same two-second linear tween every time it finishes, keeping the spinner rotating at a constant speed. \ No newline at end of file +Euler angles are expressed in degrees, so the target value `-360` is one full clockwise turn. `go.PLAYBACK_LOOP_FORWARD` restarts the same two-second linear tween every time it finishes, keeping the spinner rotating at a constant speed. diff --git a/examples/animation/flipbook/index.md b/examples/animation/flipbook/index.md index 76d3e3fec0..dcb61df7ff 100644 --- a/examples/animation/flipbook/index.md +++ b/examples/animation/flipbook/index.md @@ -1,4 +1,6 @@ --- +author_ids: +- defold-foundation brief: This example shows how to use a flipbook animation in a sprite category: animation layout: example @@ -8,11 +10,10 @@ tags: animation thumbnail: flipbook.png title: Flipbook animation twitter_image: https://www.defold.com/examples/animation/flipbook/flipbook.png - --- ![flipbook](flipbook.png) The sprite component in the game object uses a flipbook animation that is set up in an atlas: -![atlas](atlas.png) \ No newline at end of file +![atlas](atlas.png) diff --git a/examples/animation/spine/index.md b/examples/animation/spine/index.md index c32c876667..71556c1979 100644 --- a/examples/animation/spine/index.md +++ b/examples/animation/spine/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows Spine bone animation that blends when animation switches. category: animation layout: example @@ -10,7 +11,6 @@ tags: animation thumbnail: spine.png title: Spine animation twitter_image: https://www.defold.com/examples/animation/spine/spine.png - --- -![spine](spine.png) \ No newline at end of file +![spine](spine.png) diff --git a/examples/animation/spinner/index.md b/examples/animation/spinner/index.md index a46a5f10ab..74ecb2140d 100644 --- a/examples/animation/spinner/index.md +++ b/examples/animation/spinner/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how a game object is rotated in discrete steps, matching the graphics of the progress spinner. category: animation layout: example @@ -10,7 +11,6 @@ tags: animation thumbnail: spinner.png title: Spinner animation twitter_image: https://www.defold.com/examples/animation/spinner/spinner.png - --- -![spinner](spinner.png) \ No newline at end of file +![spinner](spinner.png) diff --git a/examples/basics/message_passing/index.md b/examples/basics/message_passing/index.md index e7c0e0f3e1..dbd6bd331e 100644 --- a/examples/basics/message_passing/index.md +++ b/examples/basics/message_passing/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to communicate between two script components in two separate game objects. category: basics layout: example @@ -10,7 +11,6 @@ tags: basics thumbnail: message_passing.png title: Message passing twitter_image: https://www.defold.com/examples/basics/message_passing/message_passing.png - --- -![message passing](message_passing.png) \ No newline at end of file +![message passing](message_passing.png) diff --git a/examples/basics/parent_child/index.md b/examples/basics/parent_child/index.md index 42a8e03230..afd99eceb5 100644 --- a/examples/basics/parent_child/index.md +++ b/examples/basics/parent_child/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to child a game object to a parent. category: basics layout: example @@ -10,11 +11,10 @@ tags: basics thumbnail: parent_child.png title: Parent/child twitter_image: https://www.defold.com/examples/basics/parent_child/parent_child.png - --- ![parent child](parent_child.png) The parent/child relation is set up right in the editor by placing the parent and child game objects in the same collection and then simply dragging the child game object onto the parent. -Note that such a hierarchy must be created in a collection if you do it in the editor. \ No newline at end of file +Note that such a hierarchy must be created in a collection if you do it in the editor. diff --git a/examples/basics/random_numbers/index.md b/examples/basics/random_numbers/index.md index 4cc1484699..f863144108 100644 --- a/examples/basics/random_numbers/index.md +++ b/examples/basics/random_numbers/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to generate pseudo-random numbers in Defold using built-in math API. category: basics layout: example @@ -10,7 +11,6 @@ tags: basics thumbnail: thumbnail.png title: Random numbers twitter_image: https://www.defold.com/examples/basics/random_numbers/thumbnail.png - --- In this example you'll learn how to generate pseudo-random numbers in Defold using built-in math API. @@ -24,4 +24,4 @@ In the example there is only a game object containing: Script sets the built-in random generator with a value of os.time() - which should be different every time you run it. Then produces 3 random numbers using math.random(). -For more details refer to Defold API: [https://defold.com/ref/stable/math-lua/#math.random:m-n](https://defold.com/ref/stable/math-lua/#math.random:m-n) \ No newline at end of file +For more details refer to Defold API: [https://defold.com/ref/stable/math-lua/#math.random:m-n](https://defold.com/ref/stable/math-lua/#math.random:m-n) diff --git a/examples/basics/z_order/index.md b/examples/basics/z_order/index.md index 5c81d90370..8abb8597bd 100644 --- a/examples/basics/z_order/index.md +++ b/examples/basics/z_order/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to put sprites in front and behind of eachother category: basics layout: example @@ -10,11 +11,10 @@ tags: basics thumbnail: z_order.png title: Z-order twitter_image: https://www.defold.com/examples/basics/z_order/z_order.png - --- ![z order](z_order.png) There is one game object containing the logo sprite. It is set at Z position 0. The green spaceship is another game object containing a sprite. It is set at Z position 0.5. -The pink spaceship is another game object containing a sprite. It is set at Z position -0.5. \ No newline at end of file +The pink spaceship is another game object containing a sprite. It is set at Z position -0.5. diff --git a/examples/collection/proxy/index.md b/examples/collection/proxy/index.md index 171177a5d2..b22bdc568e 100644 --- a/examples/collection/proxy/index.md +++ b/examples/collection/proxy/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to use collection proxies to load and unload collections. category: collection layout: example @@ -10,7 +11,6 @@ tags: collection thumbnail: proxy.png title: Proxy twitter_image: https://www.defold.com/examples/collection/proxy/proxy.png - --- The setup consists of several collections and game objects. @@ -33,4 +33,4 @@ menu.collection level1-3.collection : Collections representing the levels of a game. Contains: - - *Script* with logic to send a message back to the proxy.collection to show the menu again. \ No newline at end of file + - *Script* with logic to send a message back to the proxy.collection to show the menu again. diff --git a/examples/collection/splash/index.md b/examples/collection/splash/index.md index 00be1cbfdd..1f0d11edb7 100644 --- a/examples/collection/splash/index.md +++ b/examples/collection/splash/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to use collection proxies to show a splash screen while loading a game menu. category: collection layout: example @@ -10,7 +11,6 @@ tags: collection thumbnail: splash.png title: Splash twitter_image: https://www.defold.com/examples/collection/splash/splash.png - --- The setup consists of several collections and game objects. @@ -31,4 +31,4 @@ menu.collection ![splashscreen](splashscreen.png) splashscreen.collection -: Collections representing the splash screen. \ No newline at end of file +: Collections representing the splash screen. diff --git a/examples/collection/timestep/index.md b/examples/collection/timestep/index.md index d4eae78348..1f6abd474f 100644 --- a/examples/collection/timestep/index.md +++ b/examples/collection/timestep/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to speed up or slow down animations in a collection proxy by changing the time step of the collection proxy. category: collection layout: example @@ -10,7 +11,6 @@ tags: collection thumbnail: thumbnail.png title: Time-step twitter_image: https://www.defold.com/examples/collection/timestep/thumbnail.png - --- The setup consists of a `timestep.collection` and a `game.collection`. @@ -22,4 +22,4 @@ timestep.collection game.collection : This collection contains a "game" with some animated game objects. Contains: - Five animated game objects that are animated using `go.animate()` - - A *Script* that starts the game object animations and lets the user control the time-step through messages sent to the *Script* in the `timestep.collection`. \ No newline at end of file + - A *Script* that starts the game object animations and lets the user control the time-step through messages sent to the *Script* in the `timestep.collection`. diff --git a/examples/debug/physics/index.md b/examples/debug/physics/index.md index 6ac90a135c..0aec32cf6c 100644 --- a/examples/debug/physics/index.md +++ b/examples/debug/physics/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example allows you to toggle physics debug visualization as well as changing the time step so the simulation runs at one tenth of the speed. category: debug layout: example @@ -10,7 +11,6 @@ tags: debug thumbnail: thumbnail.png title: Physics debug twitter_image: https://www.defold.com/examples/debug/physics/thumbnail.png - --- With the physics visualization on, all collision object shapes are visible. In addition, at intersections the normals at the collision points are shown. @@ -26,4 +26,4 @@ The example collection consists of: This collection is additionally loaded via a `Collection Proxy` component in `main.collection`. Therefore, sending message `set_time_step` to its url `"main:/loader#physicsproxy"` is causing the proxy to have a different update time, causing e.g. the slow-motion effect, which might be helpful when debugging physics. -![collection proxy](collectionproxy.png) \ No newline at end of file +![collection proxy](collectionproxy.png) diff --git a/examples/debug/profile/index.md b/examples/debug/profile/index.md index bef566db71..025a07f06d 100644 --- a/examples/debug/profile/index.md +++ b/examples/debug/profile/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows the on-screen profiler. It displays useful runtime information. category: debug layout: example @@ -10,9 +11,8 @@ tags: debug thumbnail: profile.png title: Visual profiler twitter_image: https://www.defold.com/examples/debug/profile/profile.png - --- For more in-depth analysis, the web profiler is usually more suitable. See [the debug manual](/manuals/debugging) for more information. -![profile](profile.png) \ No newline at end of file +![profile](profile.png) diff --git a/examples/factory/basic/index.md b/examples/factory/basic/index.md index 68c0c5b08a..13272a9c99 100644 --- a/examples/factory/basic/index.md +++ b/examples/factory/basic/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to dynamically spawn game objects with a factory component. category: factory layout: example @@ -10,11 +11,10 @@ tags: factory thumbnail: basic.png title: Spawn game object twitter_image: https://www.defold.com/examples/factory/basic/basic.png - --- ![basic](basic.png) The "debrisfactory" factory component uses the file *debris.go* as prototype, meaning that it produces game objects that are all copies of that file. -![debris](debris.png) \ No newline at end of file +![debris](debris.png) diff --git a/examples/factory/bullets/index.md b/examples/factory/bullets/index.md index e9cbaf73ec..cd38aef47a 100644 --- a/examples/factory/bullets/index.md +++ b/examples/factory/bullets/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to dynamically spawn bullet game objects using a factory component. category: factory layout: example @@ -7,7 +8,6 @@ path: factory/bullets scripts: player.script tags: factory title: Shoot bullets - --- This example shows how to dynamically spawn bullet game objects using a factory component and how to also move and delete the bullets. The setup consists of two game objects; one for the player and one for the bullet that is spawned using a factory component. @@ -22,4 +22,4 @@ player bullet : The bullet fired by the player. Contains: - - A *Sprite* component with a bullet image. \ No newline at end of file + - A *Sprite* component with a bullet image. diff --git a/examples/factory/dynamic/index.md b/examples/factory/dynamic/index.md index 633f525db3..7dad2cdebc 100644 --- a/examples/factory/dynamic/index.md +++ b/examples/factory/dynamic/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to change the prototype game object used by a factory component. category: factory layout: example @@ -10,7 +11,6 @@ tags: factory thumbnail: bullets_collection.png title: Dynamic factories twitter_image: https://www.defold.com/examples/factory/dynamic/bullets_collection.png - --- This example shows how to change the prototype game object used by a factory component. All prototype bullets are stored in a collection and referenced as a collection proxy. The collection proxy is never loaded, but it will ensure that the bullet prototypes are included in the build even though they are not immediately used by a factory. Another alternative is to load bullet prototypes using Live Update. @@ -28,4 +28,4 @@ All bullets are added in the bullets.collection: The bullets.collection is referenced from the dynamic.collection as a collection proxy: -![](dynamic_collection.png) \ No newline at end of file +![](dynamic_collection.png) diff --git a/examples/factory/spawn_manager/index.md b/examples/factory/spawn_manager/index.md index 408f2d0f3f..c2cd67b499 100644 --- a/examples/factory/spawn_manager/index.md +++ b/examples/factory/spawn_manager/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to spawn enemy game objects using a factory component and use a central manager to control movement and behavior of all enemies. category: factory layout: example @@ -10,7 +11,6 @@ tags: factory thumbnail: thumbnail.png title: Spawn enemies with central management twitter_image: https://www.defold.com/examples/factory/spawn_manager/thumbnail.png - --- This example shows how to dynamically spawn enemy game objects using a factory component and use a central manager to control movement and behavior of all enemies. The setup consists of three main components: a player ship, enemy spawner, and different enemy types with customizable properties. @@ -69,4 +69,4 @@ The spawner script handles enemy movement by looping over the list of currently - Speed: 0 horizontal, -40 vertical -Combine this example with other movement and physics examples to create a complete shoot'em up game! \ No newline at end of file +Combine this example with other movement and physics examples to create a complete shoot'em up game! diff --git a/examples/factory/spawn_properties/index.md b/examples/factory/spawn_properties/index.md index 1f5f6254af..7a084fd065 100644 --- a/examples/factory/spawn_properties/index.md +++ b/examples/factory/spawn_properties/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to spawn enemy game objects using a factory component with different properties. category: factory layout: example @@ -10,7 +11,6 @@ tags: factory thumbnail: thumbnail.png title: Spawn enemies with script properties twitter_image: https://www.defold.com/examples/factory/spawn_properties/thumbnail.png - --- This example shows how to dynamically spawn enemy game objects using a factory component with different properties. The setup consists of three main components: a player ship, enemy spawner, and different enemy types with customizable properties. @@ -73,4 +73,4 @@ Properties defined in `enemy.script` control enemy behavior: When enemies have `go.property` defined in their script, these properties are visible in the *Properties* pane and can be customized per enemy type. -Combine this example with other movement and physics examples to create a complete shoot'em up game! \ No newline at end of file +Combine this example with other movement and physics examples to create a complete shoot'em up game! diff --git a/examples/file/json_load/index.md b/examples/file/json_load/index.md index 77afa96dd3..c2e5d3f463 100644 --- a/examples/file/json_load/index.md +++ b/examples/file/json_load/index.md @@ -1,5 +1,6 @@ --- -author: Jerakin +author_ids: +- jerakin brief: This example shows how to load json data using sys.load_resource(). category: file layout: example @@ -10,7 +11,6 @@ tags: file thumbnail: set_custom_resource.png title: Load JSON data twitter_image: https://www.defold.com/examples/file/json_load/set_custom_resource.png - --- The example will load a json file. This can be useful for something like level data. @@ -18,4 +18,4 @@ The example will load a json file. This can be useful for something like level d Before we can load a resource we need to tell Defold that we have custom resources. We do this by changing the "custom resources" entry within our game.project file. -![set-custom-resource](set_custom_resource.png) \ No newline at end of file +![set-custom-resource](set_custom_resource.png) diff --git a/examples/file/sys_save_load/index.md b/examples/file/sys_save_load/index.md index f5aff82053..0efa88f385 100644 --- a/examples/file/sys_save_load/index.md +++ b/examples/file/sys_save_load/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to save and load data using sys.save() and sys.load() category: file layout: example @@ -7,7 +8,6 @@ path: file/sys_save_load scripts: sys_save_load.script tags: file title: Save and Load - --- -The example will save and load a file containing a Lua table with a single value key-value pair representing a highscore. Loading and saving is done using sys.load() and sys.save(). Also refer to the [Working with files manual](https://defold.com/manuals/file-access/). \ No newline at end of file +The example will save and load a file containing a Lua table with a single value key-value pair representing a highscore. Loading and saving is done using sys.load() and sys.save(). Also refer to the [Working with files manual](https://defold.com/manuals/file-access/). diff --git a/examples/gui/button/index.md b/examples/gui/button/index.md index 35b8b96479..01cd9c959c 100644 --- a/examples/gui/button/index.md +++ b/examples/gui/button/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: A GUI box node with an image texture and a script to make it act as a button. category: gui layout: example @@ -10,7 +11,6 @@ tags: gui thumbnail: button.png title: Button twitter_image: https://www.defold.com/examples/gui/button/button.png - --- ![button](button.png) @@ -20,4 +20,4 @@ the setup with the "button" box node for the button image and the "text" text no *button.gui* has a script attached to it, called *button.gui_script*, which contains the button logic. -![button gui](button_gui.png) \ No newline at end of file +![button gui](button_gui.png) diff --git a/examples/gui/color/index.md b/examples/gui/color/index.md index 3cb1729369..f79b5eed0d 100644 --- a/examples/gui/color/index.md +++ b/examples/gui/color/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how change the color of GUI nodes at run-time category: gui layout: example @@ -10,7 +11,6 @@ tags: gui thumbnail: color1.png title: GUI color twitter_image: https://www.defold.com/examples/gui/color/color1.png - --- The example shows how to change the color of GUI nodes using `gui.set_color()` and `gui.animate()`. @@ -19,4 +19,4 @@ The example shows how to change the color of GUI nodes using `gui.set_color()` a Nodes will normally inherit the alpha of parent nodes, unless the Inherit Alpha checkbox is unchecked. -![inherit alpha](color2.png) \ No newline at end of file +![inherit alpha](color2.png) diff --git a/examples/gui/drag/index.md b/examples/gui/drag/index.md index f952ce8e3e..a3d9575afe 100644 --- a/examples/gui/drag/index.md +++ b/examples/gui/drag/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to drag a GUI box node. category: gui layout: example @@ -7,7 +8,6 @@ path: gui/drag scripts: drag.gui_script tags: gui title: Drag - --- -This example shows how to drag a GUI box node. The example has a list of box nodes that can be dragged. It uses `gui.pick_node()` to detect if a click is within the bounds of a box and then moves the box as long as the mouse button is pressed. \ No newline at end of file +This example shows how to drag a GUI box node. The example has a list of box nodes that can be dragged. It uses `gui.pick_node()` to detect if a click is within the bounds of a box and then moves the box as long as the mouse button is pressed. diff --git a/examples/gui/get_set_font/index.md b/examples/gui/get_set_font/index.md index 40a959ba75..1f190dcb27 100644 --- a/examples/gui/get_set_font/index.md +++ b/examples/gui/get_set_font/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to get and set a font resource on a gui component. category: gui layout: example @@ -7,6 +8,5 @@ path: gui/get_set_font scripts: get_set_font.script tags: gui title: Get and set a gui font resource - --- diff --git a/examples/gui/get_set_material/index.md b/examples/gui/get_set_material/index.md index d8302bcf23..3056a7cb05 100644 --- a/examples/gui/get_set_material/index.md +++ b/examples/gui/get_set_material/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to get and set a material resource on a gui component. category: gui layout: example @@ -7,6 +8,5 @@ path: gui/get_set_material scripts: get_set_material.script tags: gui title: Get and set a gui material resource - --- diff --git a/examples/gui/get_set_texture/index.md b/examples/gui/get_set_texture/index.md index ae9fe099a8..87c2d6046c 100644 --- a/examples/gui/get_set_texture/index.md +++ b/examples/gui/get_set_texture/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to get and set a texture resource on a gui component. category: gui layout: example @@ -7,6 +8,5 @@ path: gui/get_set_texture scripts: get_set_texture.script tags: gui title: Get and set a gui texture resource - --- diff --git a/examples/gui/healthbar/index.md b/examples/gui/healthbar/index.md index 8e4996323b..c95f1185b8 100644 --- a/examples/gui/healthbar/index.md +++ b/examples/gui/healthbar/index.md @@ -1,5 +1,6 @@ --- -author: Paweł Jarosz +author_ids: +- pawel-jarosz brief: This example demonstrates how to add different health bars. category: gui layout: example @@ -10,7 +11,6 @@ tags: gui thumbnail: healthbar.png title: Health Bar twitter_image: https://www.defold.com/examples/gui/healthbar/healthbar.png - --- Overview : Example shows 3 pairs of nodes each forming a "health bar" with different pivots. @@ -31,4 +31,4 @@ Create a collection with such GUI component and add it and your game object with ![healthbar_collection](healthbar_collection.png) -Example shows communication between `controller#main` script component (`healthbar.script`) and `hud#main` gui component with gui_script (`healthbar.gui_script`). \ No newline at end of file +Example shows communication between `controller#main` script component (`healthbar.script`) and `hud#main` gui component with gui_script (`healthbar.gui_script`). diff --git a/examples/gui/layouts/index.md b/examples/gui/layouts/index.md index 5c8edf8761..cd3ee200e8 100644 --- a/examples/gui/layouts/index.md +++ b/examples/gui/layouts/index.md @@ -1,5 +1,6 @@ --- -author: Alexey Gulev +author_ids: +- alexey-gulev brief: This example demonstrates the use of layouts. category: gui layout: example @@ -10,7 +11,6 @@ tags: gui thumbnail: outline.png title: Layouts twitter_image: https://www.defold.com/examples/gui/layouts/outline.png - --- Overview : A small UI panel that changes its position depending on the screen size (canvas size in HTML5) using the Defold layouts system. [:More on Layouts with Defold:](https://defold.com/manuals/gui-layouts/#layouts) @@ -20,4 +20,4 @@ Layouts are added in the GUI where we want to support them: The panel is configured in both layouts, Portrait and Landscape: ![portrait layout](layouts-p.png) -![landscape layout](layouts-l.png) \ No newline at end of file +![landscape layout](layouts-l.png) diff --git a/examples/gui/load_texture/index.md b/examples/gui/load_texture/index.md index 84c79504dd..4f22f2da65 100644 --- a/examples/gui/load_texture/index.md +++ b/examples/gui/load_texture/index.md @@ -1,5 +1,6 @@ --- -author: Alexey Gulev +author_ids: +- alexey-gulev brief: This example shows how to load and set a dynamic texture on a gui box node. category: gui layout: example @@ -10,7 +11,6 @@ tags: gui thumbnail: load_texture.png title: Load texture twitter_image: https://www.defold.com/examples/gui/load_texture/load_texture.png - --- ![button](load_texture.png) @@ -19,4 +19,4 @@ The "gui" game object contains a GUI component stored in the file *load_texture. *load_texture.gui* has a script attached to it, called *load_texture.gui_script*, which contains the button logic and logic for loading images. -![button gui](load_texture_gui.png) \ No newline at end of file +![button gui](load_texture_gui.png) diff --git a/examples/gui/localization/index.md b/examples/gui/localization/index.md index 9a79bef764..155b852799 100644 --- a/examples/gui/localization/index.md +++ b/examples/gui/localization/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example demonstrates how to handle localization in games, Unicode text layout, RTL rendering, and runtime font switching for localization. category: gui layout: example @@ -10,7 +11,6 @@ tags: gui, font thumbnail: thumbnail.png title: Localization (RTL/LTR) twitter_image: https://www.defold.com/examples/gui/localization/thumbnail.png - --- This example demonstrates how to handle localization in games, Unicode text layout, RTL rendering, and runtime font switching for localization. @@ -123,4 +123,4 @@ This example intentionally trades robustness for clarity: - Data is trusted. The `languages` table is assumed to be correct and complete (including `json`, `layout`, `proxy`, and `ttf_hash` where required). The JSON is assumed to contain the expected fields (`title`, `text`). - Minimal defensive checks. Assertions and guards are kept light to avoid clutter. -These choices keep the example readable and focused on the key idea. \ No newline at end of file +These choices keep the example readable and focused on the key idea. diff --git a/examples/gui/pointer_over/index.md b/examples/gui/pointer_over/index.md index a6cbad73dd..1a5d5f8218 100644 --- a/examples/gui/pointer_over/index.md +++ b/examples/gui/pointer_over/index.md @@ -1,5 +1,6 @@ --- -author: Alexey Gulev +author_ids: +- alexey-gulev brief: A GUI box node with an image texture and a script that react when pointer over this node. category: gui layout: example @@ -10,7 +11,6 @@ tags: gui thumbnail: button.jpg title: Pointer over twitter_image: https://www.defold.com/examples/gui/pointer_over/button.jpg - --- ![button](button.jpg) @@ -20,4 +20,4 @@ the setup with the "button" box node for the button image and the "text" text no *pointer_over.gui* has a script attached to it, called *pointer_over.gui_script*, which contains the button logic. -![button gui](button_gui.jpg) \ No newline at end of file +![button gui](button_gui.jpg) diff --git a/examples/gui/progress/index.md b/examples/gui/progress/index.md index f24800d90f..6497e326dd 100644 --- a/examples/gui/progress/index.md +++ b/examples/gui/progress/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to create various types of progress indicators category: gui layout: example @@ -10,7 +11,6 @@ tags: gui thumbnail: progress.png title: GUI progress indicators twitter_image: https://www.defold.com/examples/gui/progress/progress.png - --- The example shows three different types of progress indicators: @@ -19,4 +19,4 @@ The example shows three different types of progress indicators: 2. A numerical progress text created using a text node 3. A circular progress created using a pie node -![progress](progress.png) \ No newline at end of file +![progress](progress.png) diff --git a/examples/gui/slice9/index.md b/examples/gui/slice9/index.md index 65f987c276..aab9e9b3de 100644 --- a/examples/gui/slice9/index.md +++ b/examples/gui/slice9/index.md @@ -1,5 +1,6 @@ --- -author: Agustin R. +author_ids: +- agustin-r brief: This example demonstrates slice-9 scaling gui box node. category: gui layout: example @@ -10,7 +11,6 @@ tags: gui thumbnail: slice9.png title: Slice-9 twitter_image: https://www.defold.com/examples/gui/slice9/slice9.png - --- Overview : Using a small stylized image (90x91 pixels) we apply it to a gui node and set the slice-9 properties, we can then @@ -28,4 +28,4 @@ Box Node Gui script : Use: - - For animating the node to different sizes, showing slice-9 at its potential. \ No newline at end of file + - For animating the node to different sizes, showing slice-9 at its potential. diff --git a/examples/gui/stencil/index.md b/examples/gui/stencil/index.md index 009b0dce74..1b57ad0e9f 100644 --- a/examples/gui/stencil/index.md +++ b/examples/gui/stencil/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: A GUI box node with "Clipping mode" set to "STENCIL". This makes it mask its child node (which is called "bunny"). category: gui layout: example @@ -10,7 +11,6 @@ tags: gui thumbnail: stencil.png title: Stencil twitter_image: https://www.defold.com/examples/gui/stencil/stencil.png - --- -![stencil](stencil.png) \ No newline at end of file +![stencil](stencil.png) diff --git a/examples/index.html b/examples/index.html index 8408473e7e..fddcf545ce 100644 --- a/examples/index.html +++ b/examples/index.html @@ -10,8 +10,8 @@ hub_icon: /images/icons/icons-learn-export_ic-learn-lego.svg hub_icon_alt: Defold examples icon hub_aria_label: Defold examples overview -filter_label: Filter by topic -filter_singular: category +filter_label: Filter by tag +filter_singular: tag result_items: examples tag_property: category --- diff --git a/examples/input/down_duration/index.md b/examples/input/down_duration/index.md index fe402802d5..b88cdee9dd 100644 --- a/examples/input/down_duration/index.md +++ b/examples/input/down_duration/index.md @@ -1,5 +1,6 @@ --- -author: Alexey Gulev +author_ids: +- alexey-gulev brief: Listens to input trigger "touch" and count mouse down duration in update method. category: input layout: example @@ -10,9 +11,8 @@ tags: input thumbnail: input_binding.png title: Down duration twitter_image: https://www.defold.com/examples/input/down_duration/input_binding.png - --- ![input bindings](input_binding.png) -![text](down_click.png) \ No newline at end of file +![text](down_click.png) diff --git a/examples/input/entity_picking/index.md b/examples/input/entity_picking/index.md index 55b20bf04f..60205ab50c 100644 --- a/examples/input/entity_picking/index.md +++ b/examples/input/entity_picking/index.md @@ -1,5 +1,6 @@ --- -author: Artsiom Trubchyk +author_ids: +- artsiom-trubchyk brief: This example demonstrates how to pick a game object from the 3D scene. category: input layout: example @@ -7,7 +8,6 @@ path: input/entity_picking scripts: entity_picking.script tags: input title: Entity Picking - --- This example describes method of selecting a game object from the 3D scene on the click of the mouse using collision-based picking: @@ -16,4 +16,4 @@ This example describes method of selecting a game object from the 3D scene on th * When the user clicks the mouse button, we convert screen coordinates to world coordinates and fire a raycast into the 3D world using the `physics.raycast()` function. * If the ray intersects with a collision object, the corresponding game object is considered "picked". -The models used in this example are from Kenney's [Prototype Kit](https://kenney.nl/assets/prototype-kit), licensed under CC0. \ No newline at end of file +The models used in this example are from Kenney's [Prototype Kit](https://kenney.nl/assets/prototype-kit), licensed under CC0. diff --git a/examples/input/mouse_and_touch/index.md b/examples/input/mouse_and_touch/index.md index 72ba4244a2..88810b9845 100644 --- a/examples/input/mouse_and_touch/index.md +++ b/examples/input/mouse_and_touch/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: Shows how to read mouse and/or touch movement and mouse button/touch state. category: input layout: example @@ -10,7 +11,6 @@ tags: input thumbnail: thumbnail.webp title: Mouse and Touch Events twitter_image: https://www.defold.com/examples/input/mouse_and_touch/thumbnail.webp - --- This example shows how to receive mouse and touch input in a script and display the current pointer position and button state. @@ -43,4 +43,4 @@ The script asks for input focus in `init()`. After that, Defold calls `on_input( Each input action contains the current pointer position in `action.x` and `action.y`. When the action id is `hash("touch")` or `hash("touch_multi")`, the script checks `action.pressed` and `action.released` to update a small state string. -The label text is written again with the pointer coordinates and the state to the local label component with `label.set_text()`. \ No newline at end of file +The label text is written again with the pointer coordinates and the state to the local label component with `label.set_text()`. diff --git a/examples/input/move/index.md b/examples/input/move/index.md index 18df771222..0e510ff241 100644 --- a/examples/input/move/index.md +++ b/examples/input/move/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: A very simple 8 ways movement setup with a single game object and a script that listens to input and updates the game object position accordingly. category: input layout: example @@ -10,9 +11,8 @@ tags: input thumbnail: input_bindings.png title: 8 ways movement twitter_image: https://www.defold.com/examples/input/move/input_bindings.png - --- ![input bindings](input_bindings.png) -![move](move.png) \ No newline at end of file +![move](move.png) diff --git a/examples/input/text/index.md b/examples/input/text/index.md index 363526b816..5b4bf5523e 100644 --- a/examples/input/text/index.md +++ b/examples/input/text/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: Listens to text input trigger "type" and modifies the game object label with the alien's speech according to input. A "backspace" key trigger has also been added. category: input layout: example @@ -7,10 +8,9 @@ path: input/text scripts: text.script tags: input title: Text input - --- ![input bindings text](input_bindings.png) ![input bindings keys](input_bindings2.png) -![text](text.png) \ No newline at end of file +![text](text.png) diff --git a/examples/material/billboarding/index.md b/examples/material/billboarding/index.md index 2bdea6a8b3..5d2bb41c53 100644 --- a/examples/material/billboarding/index.md +++ b/examples/material/billboarding/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to make sprites and particle sprites face the camera using a custom vertex shader. category: material layout: example @@ -10,7 +11,6 @@ tags: particlefx, sprite, material, 3d thumbnail: thumbnail.png title: Billboarding twitter_image: https://www.defold.com/examples/material/billboarding/thumbnail.png - --- This example shows how to render **camera-facing quads (billboards)** in 3D using Defold materials. The core idea is to keep using Defold's built-in sprite/particle fragment shader, but replace the vertex shader so that each quad is re-oriented towards the camera. @@ -103,4 +103,4 @@ Assets by: - 3D buildings and props by Kay Lousberg: [KayKit - Medieval Hexagon](https://kaylousberg.itch.io/kaykit-medieval-hexagon) - Trees and rocks - screenshots of 3D models by Kenney: [Fantasy Town Kit](https://kenney.nl/assets/fantasy-town-kit) -- Particlefx smoke texture - Defold Foundation - free to use - CC0 \ No newline at end of file +- Particlefx smoke texture - Defold Foundation - free to use - CC0 diff --git a/examples/material/custom_sprite/index.md b/examples/material/custom_sprite/index.md index 12925fa252..e722978b50 100644 --- a/examples/material/custom_sprite/index.md +++ b/examples/material/custom_sprite/index.md @@ -1,5 +1,6 @@ --- -author: Agustin R. +author_ids: +- agustin-r brief: This example demonstrates a simple way to create and apply a custom sprite shader for changing colors and customizing an outline. category: material layout: example @@ -8,9 +9,8 @@ path: material/custom_sprite scripts: set_color.script, recolor.fp, recolor.vp tags: material title: Custom Sprite - --- If your game requires a sprite that can be recolored and reused, a custom shader will be needed. Your sprite's artwork can be composed in such a way that will help achieve things you may want to do. For example an outline around your sprite that can be turned off/on and color changed. When creating your artwork if your sprite's green-channel is shifted slightly below 1.0 and you add an outline around your sprite with full green color equal to 1.0 then in the shader you can manage the green channel values that match 1.0 and change the color or completely hide these values thus removing the outline altogether. Recoloring sprites to be used throughout a game is pretty common. One way to achieve re-coloring with a range of values instead of a single color is to de-saturate a part of the sprite you want to recolor. When you de-saturate an image it will even out the red, green and blue channel values to a grey-scale. You can then check in the shader for these grey-scale values and change the colors. To check for these values you can add 2 or 3 channels together as a float value and then with another float multiply a single channel by 2 or 3, we then compare these values when valid use a new color. -In the example the custom sprite material has 2 vertex attributes each is a vector 4 of float values. The values are used for coloring the fluid and the outline from a script to the shader. The script has a function for creating a random color and also sets the color vertex properties \ No newline at end of file +In the example the custom sprite material has 2 vertex attributes each is a vector 4 of float values. The values are used for coloring the fluid and the outline from a script to the shader. The script has a function for creating a random color and also sets the color vertex properties diff --git a/examples/material/noise/index.md b/examples/material/noise/index.md index bd67709986..572765bd3d 100644 --- a/examples/material/noise/index.md +++ b/examples/material/noise/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to use a noise function to generate clouds, smoke or similar effect using a shader. category: material layout: example @@ -10,11 +11,10 @@ tags: material thumbnail: stretched-mesh.png title: Noise shader twitter_image: https://www.defold.com/examples/material/noise/stretched-mesh.png - --- This example contains a game object with a model component. The model component uses the `/builtins/assets/meshes/quad.gltf` mesh, which is a rectangle 1 by 1 unit large. The game object is scaled to the dimensions of the screen so that the mesh covers the entire screen. ![stretched game object](stretched-mesh.png) -The shader applies multiple layers of noise to the uv coordinate to create a two dimensional flowing cloud or smoke like look. The shader also receives a time value from `noise.script` and applies this in the calculation to apply movement to the visual effect. \ No newline at end of file +The shader applies multiple layers of noise to the uv coordinate to create a two dimensional flowing cloud or smoke like look. The shader also receives a time value from `noise.script` and applies this in the calculation to apply movement to the visual effect. diff --git a/examples/material/repeating_background/index.md b/examples/material/repeating_background/index.md index 3952aa1631..c1b28bef03 100644 --- a/examples/material/repeating_background/index.md +++ b/examples/material/repeating_background/index.md @@ -1,5 +1,6 @@ --- -author: Artsiom Trubchyk +author_ids: +- artsiom-trubchyk brief: Create a full-screen scrolling background using a repeated texture on a glTF quad. category: material layout: example @@ -10,7 +11,6 @@ tags: material thumbnail: thumbnail.webp title: Repeating Background twitter_image: https://www.defold.com/examples/material/repeating_background/thumbnail.webp - --- A repeating, scrolling texture is useful for reward screens, menu backgrounds, water, clouds, stars, and other effects where a small tile should fill a large area. This example uses a Model component with Defold's built-in `/builtins/assets/gltf/quad.gltf` mesh, a custom material, and a texture sampler set to repeat. @@ -84,4 +84,4 @@ This example and `sprite/texture_scrolling` both animate UV coordinates with the ## Credits -The asset used in this example is from Kenney's [Puzzle Pack 2](https://www.kenney.nl/assets/puzzle-pack-2), licensed under CC0. \ No newline at end of file +The asset used in this example is from Kenney's [Puzzle Pack 2](https://www.kenney.nl/assets/puzzle-pack-2), licensed under CC0. diff --git a/examples/material/screenspace/index.md b/examples/material/screenspace/index.md index 052c0e36a3..4998dd8d46 100644 --- a/examples/material/screenspace/index.md +++ b/examples/material/screenspace/index.md @@ -1,5 +1,6 @@ --- -author: Artsiom Trubchyk +author_ids: +- artsiom-trubchyk brief: This example shows how to create a custom material with two textures that blend together to create a pattern effect using screen space coordinates. category: material layout: example @@ -8,7 +9,6 @@ path: material/screenspace scripts: screenspace.script, screenspace.vp, screenspace.fp tags: material title: Screenspace - --- In this example, we create a new material for 3D models in which we convert vertex coordinates to screenspace to get a special effect. It may be called "surface fill", "screenspace fill" and is used, most often in combination with outlines, to highlight objects in 3D games or indicate their status. @@ -25,4 +25,4 @@ local w, h = window.get_size() go.set("#model", "screen_size", vmath.vector4(w, h, 0, 0)) ``` -The shaders are written in GLSL 1.40, which is available from Defold 1.9.2. The model used in this example is from Kenney's [Prototype Pack](https://kenney.nl/assets/prototype-kit), licensed under CC0. \ No newline at end of file +The shaders are written in GLSL 1.40, which is available from Defold 1.9.2. The model used in this example is from Kenney's [Prototype Pack](https://kenney.nl/assets/prototype-kit), licensed under CC0. diff --git a/examples/material/sprite_local_uv/index.md b/examples/material/sprite_local_uv/index.md index f4ff69f261..fc476a4057 100644 --- a/examples/material/sprite_local_uv/index.md +++ b/examples/material/sprite_local_uv/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to get local UV coordinates of a sprite regardless of sprite size category: material layout: example @@ -10,7 +11,6 @@ tags: sprite thumbnail: example.png title: Sprite local UV twitter_image: https://www.defold.com/examples/material/sprite_local_uv/example.png - --- The example uses two game objects, each with a sprite component and a script. @@ -21,4 +21,4 @@ The sprite component uses a custom sprite material `sprite_local_uv.material` wi ![material](material.png) -The script gets the size of the sprite and sets it as the `sprite_size` vertex attribute. \ No newline at end of file +The script gets the size of the sprite and sets it as the `sprite_size` vertex attribute. diff --git a/examples/material/unlit/index.md b/examples/material/unlit/index.md index 50e01dd7c3..7aed954621 100644 --- a/examples/material/unlit/index.md +++ b/examples/material/unlit/index.md @@ -1,5 +1,6 @@ --- -author: Artsiom Trubchyk +author_ids: +- artsiom-trubchyk brief: This example shows how to create and apply an unlit material to a 3D model. category: material layout: example @@ -11,7 +12,6 @@ tags: material, model thumbnail: thumbnail.webp title: Unlit twitter_image: https://www.defold.com/examples/material/unlit/thumbnail.webp - --- An unlit material renders a surface without any lighting calculation. It does not react to lights, normals, shadows, or specular highlights. The final color comes directly from the material inputs, usually a texture and a tint. @@ -66,4 +66,4 @@ This is why unlit models look flat and evenly colored compared with Defold's bui ## Credits -The model used in this example is from Kenney's [Train Pack](https://kenney.nl/assets/train-kit), licensed under CC0. \ No newline at end of file +The model used in this example is from Kenney's [Train Pack](https://kenney.nl/assets/train-kit), licensed under CC0. diff --git a/examples/material/uvgradient/index.md b/examples/material/uvgradient/index.md index ab4de2127a..7d4f8f41d6 100644 --- a/examples/material/uvgradient/index.md +++ b/examples/material/uvgradient/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to apply a basic shader to a full screen quad. category: material layout: example @@ -10,11 +11,10 @@ tags: material thumbnail: stretched-mesh.png title: UV Gradient twitter_image: https://www.defold.com/examples/material/uvgradient/stretched-mesh.png - --- This example contains a game object with a model component. The model component uses the `/builtins/assets/meshes/quad.gltf` mesh, which is a rectangle 1 by 1 unit large. The game object is scaled to the dimensions of the screen so that the mesh covers the entire screen. ![stretched game object](stretched-mesh.png) -The shader is very basic and sets the fragment color based on the UV position, thus creating a color gradient. This is a good starting point when experimenting with graphical effects using a shader. \ No newline at end of file +The shader is very basic and sets the fragment color based on the UV position, thus creating a color gradient. This is a good starting point when experimenting with graphical effects using a shader. diff --git a/examples/material/vertexcolor/index.md b/examples/material/vertexcolor/index.md index 0e299794d8..23acedbc13 100644 --- a/examples/material/vertexcolor/index.md +++ b/examples/material/vertexcolor/index.md @@ -1,5 +1,6 @@ --- -author: Mathias Westerdahl +author_ids: +- mathias-westerdahl brief: This example shows how to set and animate a vertex attribute category: material layout: example @@ -10,7 +11,6 @@ tags: material thumbnail: vertexcolor-material.png title: Sprite Vertex Color Attribute twitter_image: https://www.defold.com/examples/material/vertexcolor/vertexcolor-material.png - --- The `vertexcolor.script` sets the vertex attribute "mycolor", which has been specified in the material. @@ -19,4 +19,4 @@ The `vertexcolor.script` sets the vertex attribute "mycolor", which has been spe The shaders specified by the material also makes use of the `mycolor` attribute to colorize the sprites. -The vertex attributes can also be animated. Click the image for an animation effect. \ No newline at end of file +The vertex attributes can also be animated. Click the image for an animation effect. diff --git a/examples/material/wave_background/index.md b/examples/material/wave_background/index.md index dfe8e23e3f..751414befb 100644 --- a/examples/material/wave_background/index.md +++ b/examples/material/wave_background/index.md @@ -1,7 +1,7 @@ --- -authors: -- JuLongZhiLu(巨龙之路) -- Brian Kramer +author_ids: +- julongzhilu +- brian-kramer brief: Shows how to use a Time shader constant to achieve a moving wave effect category: material layout: example @@ -12,11 +12,10 @@ tags: material thumbnail: thumbnail.png title: Wave Background twitter_image: https://www.defold.com/examples/material/wave_background/thumbnail.png - --- This example contains a game object with a sprite component. The `Image` and `Default Animation properties` of the sprite component cannot be left empty, otherwise an error will occur. In the example the built-in `/builtins/graphics/particle_blob.tilesource` is used and animation is set to `anim`. You can adjust the size of the wave background by modifying the `Size` property of the sprite component. Example uses a Fragment Constant of type `Time` introduced in Defold 1.12.3. -![image](image.png) \ No newline at end of file +![image](image.png) diff --git a/examples/mesh/textured/index.md b/examples/mesh/textured/index.md index c4cfb497c6..f7f8c729d9 100644 --- a/examples/mesh/textured/index.md +++ b/examples/mesh/textured/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to create a textured mesh component in the shape of a rectangle. category: mesh layout: example @@ -7,7 +8,6 @@ path: mesh/textured scripts: texturedmesh.fp, texturedmesh.vp tags: mesh title: Textured Mesh - --- This example contains a game object with a mesh component in the shape of a rectangle (quad). The quad is defined in `quad.buffer` as the four points (triangle strip) in the `position` stream. The triangle also defines the texture coordinate (UV) at each point. @@ -39,4 +39,4 @@ This example contains a game object with a mesh component in the shape of a rect ] ``` -Texture by [Kenney.nl](https://kenney.nl/assets/prototype-textures) \ No newline at end of file +Texture by [Kenney.nl](https://kenney.nl/assets/prototype-textures) diff --git a/examples/mesh/triangle/index.md b/examples/mesh/triangle/index.md index 818d389edf..4290bbd5a6 100644 --- a/examples/mesh/triangle/index.md +++ b/examples/mesh/triangle/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to create a basic mesh component in the shape of a triangle. category: mesh layout: example @@ -7,7 +8,6 @@ path: mesh/triangle scripts: mesh.fp, mesh.vp tags: mesh title: Mesh - --- This example contains a game object with a mesh component in the shape of a triangle. The triangle is defined in `triangle.buffer` as the three points of the triangle in the `position` stream. The triangle also defines the colors at each point. The colors get mixed automatically when the triangle is drawn by the shader. @@ -35,4 +35,4 @@ This example contains a game object with a mesh component in the shape of a tria ] } ] -``` \ No newline at end of file +``` diff --git a/examples/model/aabb/index.md b/examples/model/aabb/index.md index 9d3a47adfb..f86a554466 100644 --- a/examples/model/aabb/index.md +++ b/examples/model/aabb/index.md @@ -1,5 +1,6 @@ --- -author: Artsiom Trubchyk +author_ids: +- artsiom-trubchyk brief: This example shows how to use `model.get_aabb()` to frame moving 3D objects with a camera. category: model layout: example @@ -10,7 +11,6 @@ tags: model thumbnail: thumbnail.webp title: AABB to frame objects with a camera twitter_image: https://www.defold.com/examples/model/aabb/thumbnail.webp - --- An axis-aligned bounding box, or AABB, is the smallest box aligned to the world X, Y, and Z axes that contains an object. Because it is described by only two corners, `min` and `max`, it is cheap to compare, combine, and use for visibility or spatial tests. @@ -55,4 +55,4 @@ Input creates another crate through one of the two factories. The same bounds up ## Credits -The models used in this example are from Kenney's [Prototype Kit](https://kenney.nl/assets/prototype-kit), licensed under CC0. \ No newline at end of file +The models used in this example are from Kenney's [Prototype Kit](https://kenney.nl/assets/prototype-kit), licensed under CC0. diff --git a/examples/model/character/index.md b/examples/model/character/index.md index 06582bf648..f9dee4dd01 100644 --- a/examples/model/character/index.md +++ b/examples/model/character/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to play skeletal animations on a glTF character model and trigger them from GUI buttons. category: model layout: example @@ -10,7 +11,6 @@ tags: model, animation thumbnail: thumbnail.webp title: Character - Skeletal Animation twitter_image: https://www.defold.com/examples/model/character/thumbnail.webp - --- This example uses a skinned glTF character with multiple animations and a simple orbit camera. The model contains both mesh and animation data, so the example can switch animations and visible mesh parts without loading any extra assets. @@ -52,4 +52,4 @@ The collection contains five game objects: `floor`, `wall`, `player`, `camera`, The orbit camera script keeps the character centered while the player drags, touches, or scrolls. Zoom changes are clamped between the `min_zoom` and `max_zoom` properties, making it easy to inspect the animation from different angles without moving the character itself. -The model and assets are [made by Kay Lousberg](https://kaylousberg.com/game-assets/). \ No newline at end of file +The model and assets are [made by Kay Lousberg](https://kaylousberg.com/game-assets/). diff --git a/examples/model/cubemap/index.md b/examples/model/cubemap/index.md index 5af096645c..5e7f1ae83b 100644 --- a/examples/model/cubemap/index.md +++ b/examples/model/cubemap/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: Shows how to sample a cubemap in a model shader to create environment reflections. category: model layout: example @@ -10,7 +11,6 @@ tags: model, material, shader thumbnail: thumbnail.webp title: Cubemap Reflection twitter_image: https://www.defold.com/examples/model/cubemap/thumbnail.webp - --- The example renders the Defold logo with a custom material that reflects an environment cubemap. Drag or touch to orbit around the model and use the mouse wheel to zoom. @@ -34,4 +34,4 @@ There is also an `info` game object with a GUI with a text to display controls o `cubemap_model.vp` receives the model position, normal, and per-instance `mtx_world` attribute. It transforms the normal into world space, derives the camera world position from the view matrix, and calculates a reflection vector for each vertex. -`cubemap_model.fp` samples the cubemap with that reflection vector. A small Fresnel term makes the logo edges more reflective, which makes the environment reflection easier to see while keeping the shader focused on cubemap sampling. \ No newline at end of file +`cubemap_model.fp` samples the cubemap with that reflection vector. A small Fresnel term makes the logo edges more reflective, which makes the environment reflection easier to see while keeping the shader focused on cubemap sampling. diff --git a/examples/model/gltf/index.md b/examples/model/gltf/index.md index bcda22c2a8..66d34cbe1b 100644 --- a/examples/model/gltf/index.md +++ b/examples/model/gltf/index.md @@ -1,5 +1,6 @@ --- -author: Artsiom Trubchyk +author_ids: +- artsiom-trubchyk brief: This example shows how to use glTF models to build an infinite scrolling track. category: model layout: example @@ -10,7 +11,6 @@ tags: model thumbnail: thumbnail.webp title: GLTF - Infinite Track twitter_image: https://www.defold.com/examples/model/gltf/thumbnail.webp - --- This example uses three glTF model assets from Kenney's Toy Car Kit to build a small endless road scene. The car stays in place while the road segments move forward and loop behind it. @@ -42,4 +42,4 @@ Once the track reaches the loop point, the script subtracts the loop length and ## Credits -The models used in this example are from Kenney's [Toy Car Kit](https://kenney.nl/assets/toy-car-kit), licensed under CC0. \ No newline at end of file +The models used in this example are from Kenney's [Toy Car Kit](https://kenney.nl/assets/toy-car-kit), licensed under CC0. diff --git a/examples/model/modelvertexcolor/index.md b/examples/model/modelvertexcolor/index.md index febcf75bc5..9bb0bba5e0 100644 --- a/examples/model/modelvertexcolor/index.md +++ b/examples/model/modelvertexcolor/index.md @@ -1,5 +1,6 @@ --- -author: Agustin R. +author_ids: +- agustin-r brief: This example demonstrates how to apply a vertex color shader using exported attributes from a 3D model. category: model layout: example @@ -8,9 +9,8 @@ path: model/modelvertexcolor scripts: vertexcolor.vp, vertexcolor.fp tags: model title: Model Vertex Color - --- Vertex color attributes are usually made up as a vector4 of floats represented as rgba(red, green, blue, alpha) channels. They can be applied to 3d models and exported from many 3d editor applications and are commonly used in games for many effects. This example we are displaying a 3d model with vertex color attribute through a shader. No textures or uv's are used to display the colors. -A game object with a model that has a `vertexcolor` material applied to it. The material is assigned custom vertex and fragment shaders. The shader is very simple and just transfers the vertex color data from the model to the vertex and fragment program to display them. The shaders are written in GLSL 1.40, which is available from Defold 1.9.2. \ No newline at end of file +A game object with a model that has a `vertexcolor` material applied to it. The material is assigned custom vertex and fragment shaders. The shader is very simple and just transfers the vertex color data from the model to the vertex and fragment program to display them. The shaders are written in GLSL 1.40, which is available from Defold 1.9.2. diff --git a/examples/model/morph-target-weights/index.md b/examples/model/morph-target-weights/index.md index 1f59369441..1bb0b7fb1c 100644 --- a/examples/model/morph-target-weights/index.md +++ b/examples/model/morph-target-weights/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: Shows how to override morph target weights on a Model component with `model.set_blend_weights()`. category: model layout: example @@ -10,7 +11,6 @@ tags: model, animation, material thumbnail: thumbnail.webp title: Morph Target Weights twitter_image: https://www.defold.com/examples/model/morph-target-weights/thumbnail.webp - --- This example lets you move the pointer left and right to blend a glTF model from a cube into a sphere. The morph target weight is controlled from Lua with `model.set_blend_weights()` instead of being driven by the model's built-in animation. @@ -57,4 +57,4 @@ The table values match the morph target order in the glTF file. This model has o ## Credits -The `cube_to_sphere.gltf` asset is CC0 / Public Domain Dedication created by the Defold Foundation. \ No newline at end of file +The `cube_to_sphere.gltf` asset is CC0 / Public Domain Dedication created by the Defold Foundation. diff --git a/examples/model/morph-target/index.md b/examples/model/morph-target/index.md index 2e0b7a9b97..1b28085d24 100644 --- a/examples/model/morph-target/index.md +++ b/examples/model/morph-target/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: Shows how to play glTF morph target animations with a morph-capable model material. category: model layout: example @@ -10,7 +11,6 @@ tags: model, animation thumbnail: thumbnail.webp title: Morph Target Animation twitter_image: https://www.defold.com/examples/model/morph-target/thumbnail.webp - --- This example plays morph target animations from a glTF model. The model uses a small custom material based on Defold's built-in model material, with the extra shader bindings needed to render morph target deformation. @@ -60,4 +60,4 @@ When you click or touch the screen, `on_input()` advances to the next animation ## Credits The `MorphStressTest.glb` asset is CC-BY 4.0, Copyright 2021 Analytical Graphics, Inc. Model by Ed Mackey. -[https://github.com/KhronosGroup/glTF-Sample-Assets/tree/main/Models/MorphStressTest](https://github.com/KhronosGroup/glTF-Sample-Assets/tree/main/Models/MorphStressTest) \ No newline at end of file +[https://github.com/KhronosGroup/glTF-Sample-Assets/tree/main/Models/MorphStressTest](https://github.com/KhronosGroup/glTF-Sample-Assets/tree/main/Models/MorphStressTest) diff --git a/examples/model/skinning/index.md b/examples/model/skinning/index.md index 7093386c9d..c44e9d536a 100644 --- a/examples/model/skinning/index.md +++ b/examples/model/skinning/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example demonstrates GPU skinning. category: model layout: example @@ -10,11 +11,10 @@ tags: model thumbnail: skinning_thumb.png title: GPU Skinning twitter_image: https://www.defold.com/examples/model/skinning/skinning_thumb.png - --- This example shows how the `model_skinned_instanced.material` is used to render and animate many instances of the same model efficiently using instancing and GPU skinning. ![skinning](skinning.png) -Model from the [Universal Animation Library](https://quaternius.itch.io/universal-animation-library). \ No newline at end of file +Model from the [Universal Animation Library](https://quaternius.itch.io/universal-animation-library). diff --git a/examples/model/skybox/index.md b/examples/model/skybox/index.md index 8950f2a000..14f6778279 100644 --- a/examples/model/skybox/index.md +++ b/examples/model/skybox/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to create a skybox using a cubemap texture. category: model layout: example @@ -10,7 +11,6 @@ tags: model thumbnail: skybox.png title: Skybox twitter_image: https://www.defold.com/examples/model/skybox/skybox.png - --- This example shows how to create a skybox. A skybox is a technique that makes the scene look bigger and more impressive by wrapping the viewer with a texture that goes around the camera 360 degrees. @@ -26,4 +26,4 @@ The cubemap is projected on a sphere or a cube positioned in such a way that the ![](collection.png) -Skybox texture by Jockum Skoglund aka hipshot. Free to use. \ No newline at end of file +Skybox texture by Jockum Skoglund aka hipshot. Free to use. diff --git a/examples/movement/3d_fps/index.md b/examples/movement/3d_fps/index.md index 775fca0977..b1f365aec0 100644 --- a/examples/movement/3d_fps/index.md +++ b/examples/movement/3d_fps/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: Control a first-person camera using WASD and mouse to look with cursor lock. category: movement layout: example @@ -10,7 +11,6 @@ tags: movement thumbnail: collection.png title: First-person 3D camera and movement twitter_image: https://www.defold.com/examples/movement/3d_fps/collection.png - --- This example shows how to build a simple first-person controller for a 3D scene. You can look around with the mouse and move on the XZ plane using the keyboard (WSAD). @@ -55,4 +55,4 @@ Prototype textures for Defold by Visionaire: https://github.com/Thevisionaire1/3 Tuning parameters are defined at the top of `character_controller.script`: - `look_sensitivity` (degrees per pixel) controls how fast the camera rotates - `move_speed` (world units per second) controls walking speed -- `move_limit` (half-size in world units) clamps movement within bounds \ No newline at end of file +- `move_limit` (half-size in world units) clamps movement within bounds diff --git a/examples/movement/follow/index.md b/examples/movement/follow/index.md index 6d86f4ea5b..cf873ffe29 100644 --- a/examples/movement/follow/index.md +++ b/examples/movement/follow/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to make a game object continuously follow the mouse. category: movement layout: example @@ -10,7 +11,6 @@ tags: movement thumbnail: follow.png title: Follow input twitter_image: https://www.defold.com/examples/movement/follow/follow.png - --- -![follow](follow.png) \ No newline at end of file +![follow](follow.png) diff --git a/examples/movement/look_at/index.md b/examples/movement/look_at/index.md index 1be193bd63..aacde3a63b 100644 --- a/examples/movement/look_at/index.md +++ b/examples/movement/look_at/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to rotate a game object to look at the mouse cursor category: movement layout: example @@ -8,9 +9,8 @@ path: movement/look_at scripts: look_at.script tags: movement title: Look at - --- This example shows how to rotate a game object to look at the mouse cursor. It reads the mouse position in `on_input` and uses the mathematical function `math.atan2(x, y)` to calculate the angle between the ray to the point to look at and the positive x-axis. This angle is used to set the rotation of the game object to always look at the mouse position. -The example is suitable for the movement in two dimensions, for platformers or top-down games. For 3D objects, check out the [next example](/examples/movement/look_rotation/). \ No newline at end of file +The example is suitable for the movement in two dimensions, for platformers or top-down games. For 3D objects, check out the [next example](/examples/movement/look_rotation/). diff --git a/examples/movement/look_rotation/index.md b/examples/movement/look_rotation/index.md index 858ff637c6..88f8c235ec 100644 --- a/examples/movement/look_rotation/index.md +++ b/examples/movement/look_rotation/index.md @@ -1,5 +1,6 @@ --- -author: Artsiom Trubchyk +author_ids: +- artsiom-trubchyk brief: This example shows how to rotate a game object to look at the object in 3D space. category: movement layout: example @@ -8,7 +9,6 @@ path: movement/look_rotation scripts: look_rotation.script tags: movement title: Look rotation - --- This example shows how to orient a game object to look at the target game object in 3D space. For this purpose, we created the function `quat_look_rotation` (also called `LookRotation` or `looking_at` in the industry). This function creates a rotation matrix from the forward and upwards vectors and then converts it to a quaternion. The function also handles the case where no upwards direction is specified, using the default (0, 1, 0) in that case. @@ -17,4 +17,4 @@ Note: to properly apply the resulting rotation, you must remember that your game In this demo you can rotate the camera by holding down the mouse button. And also switch "targets" by pressing any key. -The models used in this example are from Kenney's [Prototype Kit](https://kenney.nl/assets/prototype-kit), licensed under CC0. \ No newline at end of file +The models used in this example are from Kenney's [Prototype Kit](https://kenney.nl/assets/prototype-kit), licensed under CC0. diff --git a/examples/movement/move_forward/index.md b/examples/movement/move_forward/index.md index 08cc60a11a..5e1d3fce3a 100644 --- a/examples/movement/move_forward/index.md +++ b/examples/movement/move_forward/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to move a game object in the direction it is rotated/facing. category: movement layout: example @@ -7,6 +8,5 @@ path: movement/move_forward scripts: move_forward.script tags: movement title: Move forward - --- diff --git a/examples/movement/move_to/index.md b/examples/movement/move_to/index.md index 3d9d248614..45305e2dc7 100644 --- a/examples/movement/move_to/index.md +++ b/examples/movement/move_to/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to make a game object move to the position the user clicks. category: movement layout: example @@ -10,7 +11,6 @@ tags: movement thumbnail: move_to.png title: Move to target twitter_image: https://www.defold.com/examples/movement/move_to/move_to.png - --- -![move_to](move_to.png) \ No newline at end of file +![move_to](move_to.png) diff --git a/examples/movement/movement_speed/index.md b/examples/movement/movement_speed/index.md index cb7889d6a2..289fdf4875 100644 --- a/examples/movement/movement_speed/index.md +++ b/examples/movement/movement_speed/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to move a game object with accelerating speed. category: movement layout: example @@ -7,6 +8,5 @@ path: movement/movement_speed scripts: movement_speed.script tags: movement title: Movement speed - --- diff --git a/examples/movement/simple_move/index.md b/examples/movement/simple_move/index.md index 21cb96d298..9fbe124fc7 100644 --- a/examples/movement/simple_move/index.md +++ b/examples/movement/simple_move/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to move a game object. category: movement layout: example @@ -10,7 +11,6 @@ tags: movement thumbnail: simple_move.png title: Moving game object twitter_image: https://www.defold.com/examples/movement/simple_move/simple_move.png - --- -![simple move](simple_move.png) \ No newline at end of file +![simple move](simple_move.png) diff --git a/examples/particles/confetti/index.md b/examples/particles/confetti/index.md index b845d503db..681a0cf2e0 100644 --- a/examples/particles/confetti/index.md +++ b/examples/particles/confetti/index.md @@ -1,5 +1,6 @@ --- -author: Artsiom Trubchyk +author_ids: +- artsiom-trubchyk brief: This example shows a simple particle effect to imitate confetti with multiple emitters and global multipliers for all of them. category: particles layout: example @@ -10,7 +11,6 @@ tags: particles thumbnail: thumbnail.png title: ParticleFX - Confetti twitter_image: https://www.defold.com/examples/particles/confetti/thumbnail.png - --- In this example we create a confetti fireworks effect. It is usually used on final screens to congratulate the player on successful completion of a level or game. @@ -41,4 +41,4 @@ The collection consists of the game object with the particle FX and script, and The main script `confetti.script` spawns the particlefx on startup once, and each time when mouse button is clicked or screen touched. -It also has a timer that spawns the particlefx in a loop with a 3 second delay. \ No newline at end of file +It also has a timer that spawns the particlefx in a loop with a 3 second delay. diff --git a/examples/particles/fire_and_smoke/index.md b/examples/particles/fire_and_smoke/index.md index 20c7485a28..63fe715d95 100644 --- a/examples/particles/fire_and_smoke/index.md +++ b/examples/particles/fire_and_smoke/index.md @@ -1,5 +1,6 @@ --- -author: Paweł Jarosz +author_ids: +- pawel-jarosz brief: This example shows a simple particle effect for imitating fire and smoke using two emitters and 3 modifiers in a single particlefx component. category: particles layout: example @@ -10,7 +11,6 @@ tags: particles thumbnail: thumbnail.png title: Particle effect example - fire and smoke twitter_image: https://www.defold.com/examples/particles/fire_and_smoke/thumbnail.png - --- ## Setup @@ -78,4 +78,4 @@ Additionally, the curves for Life Scale, Life Red, Life Green, Life Alpha and Li ![smoke](smoke.png) -The collection contains just a single game object with "particles" particlefx component and the script. \ No newline at end of file +The collection contains just a single game object with "particles" particlefx component and the script. diff --git a/examples/particles/fireworks/index.md b/examples/particles/fireworks/index.md index dc0058d6df..143b316d2a 100644 --- a/examples/particles/fireworks/index.md +++ b/examples/particles/fireworks/index.md @@ -1,7 +1,7 @@ --- -authors: +author_ids: - fysx -- Defold Foundation +- defold-foundation brief: This example shows how to spawn firework rockets with separate trail and burst particle effects, including a small dip before the burst. category: particles layout: example @@ -12,7 +12,6 @@ tags: particles thumbnail: thumbnail.png title: Spawning Fireworks ParticleFX twitter_image: https://www.defold.com/examples/particles/fireworks/thumbnail.png - --- ## Setup @@ -110,4 +109,4 @@ To reuse this setup in another project: - animate the trail object with `go.animate()`; - trigger and clean up the burst effect from the animation callback. -Particle sprites are CC0 from Kenney Particle Pack. \ No newline at end of file +Particle sprites are CC0 from Kenney Particle Pack. diff --git a/examples/particles/modifiers/index.md b/examples/particles/modifiers/index.md index 005b352727..11da61fea6 100644 --- a/examples/particles/modifiers/index.md +++ b/examples/particles/modifiers/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows particle effect modifiers. Modifiers are used to alter the path of emitted particles. category: particles layout: example @@ -10,7 +11,6 @@ tags: particles thumbnail: modifiers.jpg title: Modifiers twitter_image: https://www.defold.com/examples/particles/modifiers/modifiers.jpg - --- ![particlefx](modifiers.jpg) @@ -21,4 +21,4 @@ Here two modifiers are added to the effect in addition to the emitter. It works * The *Acceleration* modifier pushes the particles causing them to continuously speed up. * The *Vortex* modifier drags the particles into a vortex. Each particle's speed and direction is altered by the direction and magnitude of the vortex. -The particle system features more modifier types so make sure to check them out. \ No newline at end of file +The particle system features more modifier types so make sure to check them out. diff --git a/examples/particles/particlefx/index.md b/examples/particles/particlefx/index.md index 4a9431907b..2060c265b1 100644 --- a/examples/particles/particlefx/index.md +++ b/examples/particles/particlefx/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows a simple particle effect. The particlefx component has all the values at default, except the image and animation used. category: particles layout: example @@ -10,7 +11,6 @@ tags: particles thumbnail: particlefx.jpg title: Particle effect twitter_image: https://www.defold.com/examples/particles/particlefx/particlefx.jpg - --- -![particlefx](particlefx.jpg) \ No newline at end of file +![particlefx](particlefx.jpg) diff --git a/examples/particles/particlefx_emission_space/index.md b/examples/particles/particlefx_emission_space/index.md index 1f2dfe624f..922cdca623 100644 --- a/examples/particles/particlefx_emission_space/index.md +++ b/examples/particles/particlefx_emission_space/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example demonstrates the difference between local and world particle emission spaces. Two UFO objects move up and down, showing how particles behave differently when emitted in emitter space versus world space. category: particles layout: example @@ -10,7 +11,6 @@ tags: particles thumbnail: thumbnail.png title: Particle Effect Emission Space twitter_image: https://www.defold.com/examples/particles/particlefx_emission_space/thumbnail.png - --- This example shows how particle emission space affects particle behavior when the emitter object moves. The setup consists of two UFO objects with identical particle effects, but different emission space settings. @@ -37,4 +37,4 @@ Particles emitted in the **emitter** space are "moving" with the object, so thei Particles emitted in the **world** space have positions respective to the world coordinates. -Use this example to understand when to use local or world emission space in your particle effects! \ No newline at end of file +Use this example to understand when to use local or world emission space in your particle effects! diff --git a/examples/particles/particlefx_set_get/index.md b/examples/particles/particlefx_set_get/index.md index ce1c4eff0e..edcd6d1973 100644 --- a/examples/particles/particlefx_set_get/index.md +++ b/examples/particles/particlefx_set_get/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to get and set ParticleFX emitter image, animation, and material at runtime. category: particles layout: example @@ -10,7 +11,6 @@ tags: particles thumbnail: thumbnail.png title: ParticleFX emitter properties twitter_image: https://www.defold.com/examples/particles/particlefx_set_get/thumbnail.png - --- Since Defold 1.12.2 you can use `go.get()` and `go.set()` on individual ParticleFX emitters by passing `keys = { "..." }`. @@ -78,4 +78,4 @@ go.set("#particles", "material", material, { keys = { "emitter_top" } }) The helper function `get_and_print_emitter_properties()` uses the same `keys` pattern with `go.get()` and writes the result into the labels, so the example shows which values are currently active for each emitter. -One important limitation: **emitter property changes only affect the next play**. The script therefore stops the ParticleFX, clears any already spawned particles, applies the new emitter overrides, and then plays it again. \ No newline at end of file +One important limitation: **emitter property changes only affect the next play**. The script therefore stops the ParticleFX, clears any already spawned particles, applies the new emitter overrides, and then plays it again. diff --git a/examples/particles/particlefx_start_delay/index.md b/examples/particles/particlefx_start_delay/index.md index 4528bf7b9a..92797c3d24 100644 --- a/examples/particles/particlefx_start_delay/index.md +++ b/examples/particles/particlefx_start_delay/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how the Start Delay emitter property can be used to sequence two emitters inside a single ParticleFX and create a simple fountain effect. category: particles layout: example @@ -10,7 +11,6 @@ tags: particles thumbnail: thumbnail.png title: ParticleFX - Fountain - Start Delay twitter_image: https://www.defold.com/examples/particles/particlefx_start_delay/thumbnail.png - --- This example shows how `Start Delay` can be used to coordinate multiple emitters inside a single ParticleFX. The effect is a simple fountain: one emitter shoots water droplets upward, and another emitter near the bottom creates a small splash when those droplets come back down. @@ -40,4 +40,4 @@ When the ParticleFX starts, the first emitter begins spawning droplets immediate The second emitter does not emit right away. Its `Start Delay` is tuned so it begins around the same time the first droplets return to the bottom. This makes the splash feel connected to the main jet even though it is authored as a separate emitter. -Using `Start Delay` this way is useful when one effect should have multiple phases, such as launch and impact, fire followed by smoke, or a fountain spray followed by a delayed splash, without having to coordinate several ParticleFX components from code. \ No newline at end of file +Using `Start Delay` this way is useful when one effect should have multiple phases, such as launch and impact, fire followed by smoke, or a fountain spray followed by a delayed splash, without having to coordinate several ParticleFX components from code. diff --git a/examples/physics/apply_force/index.md b/examples/physics/apply_force/index.md index 52ad4d8d05..e51a4bd8f0 100644 --- a/examples/physics/apply_force/index.md +++ b/examples/physics/apply_force/index.md @@ -1,4 +1,6 @@ --- +author_ids: +- defold-foundation brief: This example demonstrates how to apply directional force to all dynamic blocks on touch/click and draws debug direction lines. category: physics layout: example @@ -9,7 +11,6 @@ tags: physics thumbnail: thumbnail.png title: Apply force twitter_image: https://www.defold.com/examples/physics/apply_force/thumbnail.png - --- This example demonstrates how to apply directional force to all dynamic blocks on touch/click and draws debug direction lines. @@ -41,4 +42,4 @@ When you touch/click, it loops over all dynamic blocks, computes a force vector 3. iterates over all block ids 4. computes `force = (touch - center) * force_factor` 5. posts `apply_force` to each block -6. posts `@render: draw_line` for debug visualization \ No newline at end of file +6. posts `@render: draw_line` for debug visualization diff --git a/examples/physics/apply_linear_impulse/index.md b/examples/physics/apply_linear_impulse/index.md index 045cf1a1b8..cba8f8d28d 100644 --- a/examples/physics/apply_linear_impulse/index.md +++ b/examples/physics/apply_linear_impulse/index.md @@ -1,5 +1,6 @@ --- -author: JuLongZhiLu(巨龙之路) +author_ids: +- julongzhilu brief: Apply a linear impulse to a dynamic physics body on click or touch. category: physics layout: example @@ -10,7 +11,6 @@ tags: physics thumbnail: thumbnail.png title: Apply Linear Impulse twitter_image: https://www.defold.com/examples/physics/apply_linear_impulse/thumbnail.png - --- This example shows how a Box2D body can be pushed instantly with a linear impulse. @@ -31,4 +31,4 @@ The collection contains a cube game object with a sprite, a dynamic collision ob The script acquires input focus and listens for the built-in `touch` action. When the player clicks or touches the screen, it gets the cube's Box2D body, reads the body's current center of mass, and applies an upward linear impulse at that point. -Read more about the [Box2D API here](https://defold.com/ref/stable/b2d-lua/). \ No newline at end of file +Read more about the [Box2D API here](https://defold.com/ref/stable/b2d-lua/). diff --git a/examples/physics/box2d_chain_terrain/index.md b/examples/physics/box2d_chain_terrain/index.md index 8767d3de97..5363cece7c 100644 --- a/examples/physics/box2d_chain_terrain/index.md +++ b/examples/physics/box2d_chain_terrain/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: Create Box2D chain terrain from script using Box2D V2 legacy and Box2D V3. category: physics layout: example @@ -10,7 +11,6 @@ tags: physics, box2d thumbnail: thumbnail.webp title: Box2D Chain Terrain twitter_image: https://www.defold.com/examples/physics/box2d_chain_terrain/thumbnail.webp - --- ---------------------- @@ -54,4 +54,4 @@ In Box2D V3, the script uses `b2d.body.create_chain()`. V3 does not use the V2 f Both versions use the same terrain points, previous ghost vertex, and next ghost vertex. The ghost vertices are placed just outside the first and last terrain points. They do not add visible terrain segments; they tell Box2D how the open chain would continue past its endpoints, which helps keep endpoint collision normals consistent. -The script redraws the chain vertices each frame with `@render:draw_line`, because the chain is a physics object and has no sprite. The ball is created from the factory, given an initial velocity with `b2d.body.set_linear_velocity()`, and then reset on a timer or when the user clicks or taps. \ No newline at end of file +The script redraws the chain vertices each frame with `@render:draw_line`, because the chain is a physics object and has no sprite. The ball is created from the factory, given an initial velocity with `b2d.body.set_linear_velocity()`, and then reset on a timer or when the user clicks or taps. diff --git a/examples/physics/box2d_dynamic_scale/index.md b/examples/physics/box2d_dynamic_scale/index.md index 70ac423178..e1199e1c4d 100644 --- a/examples/physics/box2d_dynamic_scale/index.md +++ b/examples/physics/box2d_dynamic_scale/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: Resize dynamic Box2D collision shapes at runtime and recalculate body mass. category: physics layout: example @@ -10,7 +11,6 @@ tags: physics, box2d thumbnail: thumbnail.webp title: Box2D dynamic shape scale and mass twitter_image: https://www.defold.com/examples/physics/box2d_dynamic_scale/thumbnail.webp - --- This example shows how to change bodies shapes and mass in runtime. @@ -73,4 +73,4 @@ and resizes it with `b2d.shape.set_shape(shape.shape_id, shape, true)`. After resizing, the active script applies a random linear impulse at the body's world center. Since each body has just recalculated its mass from its new collision size, -the resulting movement makes the size and mass changes visible. \ No newline at end of file +the resulting movement makes the size and mass changes visible. diff --git a/examples/physics/box2d_material_tuning/index.md b/examples/physics/box2d_material_tuning/index.md index 9b79eb823f..6856845fc6 100644 --- a/examples/physics/box2d_material_tuning/index.md +++ b/examples/physics/box2d_material_tuning/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: Tune Box2D density, friction, and restitution from script using Box2D V2 legacy and Box2D V3. category: physics layout: example @@ -10,7 +11,6 @@ tags: physics, box2d thumbnail: thumbnail.webp title: Box2D Material Properties Tuning twitter_image: https://www.defold.com/examples/physics/box2d_material_tuning/thumbnail.webp - --- This example compares three dynamic balls whose Box2D material properties are tuned from script. It works with both Box2D V2 legacy and Box2D V3 by attaching one script for each backend. Each script checks `b2d.get_version()` during `init()` and becomes a no-op when the other backend is active. @@ -64,4 +64,4 @@ In Box2D V2 legacy, collision geometry and material properties are attached to a In Box2D V3, the script uses the shape API instead of the V2 fixture API. It reads the first shape with `b2d.body.get_shapes()` and uses `b2d.shape.set_density()`, `b2d.shape.set_friction()`, and `b2d.shape.set_restitution()`. After changing density, it calls `b2d.body.reset_mass_data()` so the body mass reflects the new density immediately. -After applying the values, each script reads them back and shows them on the label attached to the same spawner. Clicking or tapping makes each active spawner delete its current ball, spawn a fresh one from its own factory, and reapply its material settings for the current backend. \ No newline at end of file +After applying the values, each script reads them back and shows them on the label attached to the same spawner. Clicking or tapping makes each active spawner delete its current ball, spawn a fresh one from its own factory, and reapply its material settings for the current backend. diff --git a/examples/physics/box2d_motor_joint/index.md b/examples/physics/box2d_motor_joint/index.md index 239c45450a..df0602e508 100644 --- a/examples/physics/box2d_motor_joint/index.md +++ b/examples/physics/box2d_motor_joint/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: Create and control a motorized Box2D joint from script using Box2D V2 and V3. category: physics layout: example @@ -10,7 +11,6 @@ tags: physics, box2d thumbnail: thumbnail.webp title: Box2D Motor Joint twitter_image: https://www.defold.com/examples/physics/box2d_motor_joint/thumbnail.webp - --- This example creates a motorized Box2D joint at runtime. It works with both Box2D V2 and V3 by attaching one script for each backend. Each script checks `b2d.get_version()` during `init()` and becomes a no-op when the other backend is active. @@ -55,4 +55,4 @@ The joint definition uses: The important part is the arm anchor. The pivot is placed in the collection as a visible reference point. The scripts convert that world position into the arm's local space, so the arm rotates around the same visible pivot instead of rotating around its center. -Click or tap to reverse the motor with `b2d.joint.set_motor_speed()`. The V3 script also calls `b2d.world.set_joint_tuning()` to adjust the joint solver used by the Box2D V3 backend. \ No newline at end of file +Click or tap to reverse the motor with `b2d.joint.set_motor_speed()`. The V3 script also calls `b2d.world.set_joint_tuning()` to adjust the joint solver used by the Box2D V3 backend. diff --git a/examples/physics/box2d_mouse_joint/index.md b/examples/physics/box2d_mouse_joint/index.md index 4db54bfd58..0d93ff5e97 100644 --- a/examples/physics/box2d_mouse_joint/index.md +++ b/examples/physics/box2d_mouse_joint/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: Create a mouse joint that pulls dynamic bodies toward a moving target. category: physics layout: example @@ -10,7 +11,6 @@ tags: physics, box2d thumbnail: thumbnail.webp title: Box2D Mouse Joint twitter_image: https://www.defold.com/examples/physics/box2d_mouse_joint/thumbnail.webp - --- This example shows how to create and control Box2D mouse joints from Lua. A visible target point moves automatically until you move the mouse or drag a touch point. Two dynamic bodies follow the same target with different spring settings, making the softer joint stretch behind the target while the tighter joint follows more closely. @@ -51,4 +51,4 @@ The mouse joint connects the invisible static body to a dynamic body. The joint The V2 script uses `frequency` and `damping_ratio` in the joint definition. The V3 script uses `hertz` and `damping_ratio`. Both scripts then call `b2d.joint.set_mouse_target()` every frame so the target can move continuously. -The example creates two mouse joints with different values. The orange body uses a lower frequency/hertz and lower damping, so it visibly lags behind. The blue body uses a higher frequency/hertz, more damping, and a larger max force, so it feels tighter and follows the target more directly. \ No newline at end of file +The example creates two mouse joints with different values. The orange body uses a lower frequency/hertz and lower damping, so it visibly lags behind. The blue body uses a higher frequency/hertz, more damping, and a larger max force, so it feels tighter and follows the target more directly. diff --git a/examples/physics/box2d_prismatic_joint/index.md b/examples/physics/box2d_prismatic_joint/index.md index 6385d1edb0..dc629a5f39 100644 --- a/examples/physics/box2d_prismatic_joint/index.md +++ b/examples/physics/box2d_prismatic_joint/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: Create a motorized Box2D prismatic joint with translation limits from script using Box2D. category: physics layout: example @@ -10,7 +11,6 @@ tags: physics, box2d thumbnail: thumbnail.webp title: Box2D Prismatic Joint twitter_image: https://www.defold.com/examples/physics/box2d_prismatic_joint/thumbnail.webp - --- This example creates a Box2D prismatic joint at runtime. @@ -58,4 +58,4 @@ Motor applied on a prismatic joint moves the object along the joint axis at the During `update()`, the script reads `b2d.joint.get_joint_translation()`, which returns the position alongside the constraint, and reverses the motor when the translation reaches either limit. -On input (touch or mouse click) the direction of the motor that applies force to the slider changes too. \ No newline at end of file +On input (touch or mouse click) the direction of the motor that applies force to the slider changes too. diff --git a/examples/physics/box2d_queries/index.md b/examples/physics/box2d_queries/index.md index d1acf35e73..c85b98f34c 100644 --- a/examples/physics/box2d_queries/index.md +++ b/examples/physics/box2d_queries/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to use Box2D world overlap and raycast queries. category: physics layout: example @@ -10,7 +11,6 @@ tags: physics, box2d thumbnail: thumbnail.webp title: Box2D Queries twitter_image: https://www.defold.com/examples/physics/box2d_queries/thumbnail.webp - --- This example places four static targets with box, circle, triangle, and diamond collision shapes, and user controllable AABB, circle, and raycast queries. @@ -70,4 +70,4 @@ In `update()`, the query controller directly moves the query overlay sprites, ch The controller updates the count label to display how many fixtures or shapes each query detects. The target sprites are highlighted by the exact circle shape query and raycast results. The target AABB helper outlines are highlighted separately by the AABB query results. -The helper visual outlines and ray are created using `draw_line` messages sent to `@render:` every frame, which then draws the debug lines on top. \ No newline at end of file +The helper visual outlines and ray are created using `draw_line` messages sent to `@render:` every frame, which then draws the debug lines on top. diff --git a/examples/physics/box2d_revolute_bridge/index.md b/examples/physics/box2d_revolute_bridge/index.md index 208cb55bcb..652501c454 100644 --- a/examples/physics/box2d_revolute_bridge/index.md +++ b/examples/physics/box2d_revolute_bridge/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: Create a bridge from revolute joints between existing Defold collision objects. category: physics layout: example @@ -10,7 +11,6 @@ tags: physics, box2d thumbnail: thumbnail.webp title: Box2D Revolute Bridge twitter_image: https://www.defold.com/examples/physics/box2d_revolute_bridge/thumbnail.webp - --- This example builds a simple rope bridge from rectangular dynamic bodies connected with Box2D revolute joints. @@ -55,4 +55,4 @@ Both scripts use the same collection-authored bodies. `b2d.get_body()` returns t Each bridge segment is 48 pixels wide. The script connects the right edge of one body to the left edge of the next body by using local anchors: `(24, 0, 0)` on the previous segment and `(-24, 0, 0)` on the current segment. The first and last joints connect to static anchors at the bridge supports. -On reset, the script moves the ball up and drops it onto the bridge again. The joints are created once in `init()` and destroyed in `final()`. \ No newline at end of file +On reset, the script moves the ball up and drops it onto the bridge again. The joints are created once in `init()` and destroyed in `final()`. diff --git a/examples/physics/box2d_sensor_toggle/index.md b/examples/physics/box2d_sensor_toggle/index.md index 762c883986..6c0a65e3be 100644 --- a/examples/physics/box2d_sensor_toggle/index.md +++ b/examples/physics/box2d_sensor_toggle/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: Create Box2D sensors from static collision shapes. category: physics layout: example @@ -10,7 +11,6 @@ tags: physics, box2d thumbnail: thumbnail.webp title: Box2D Sensors twitter_image: https://www.defold.com/examples/physics/box2d_sensor_toggle/thumbnail.webp - --- This example shows how to utilize the Box2D scripting API to operate with sensors (triggers). @@ -77,4 +77,4 @@ In `update()`, it polls the current overlaps with `b2d.shape.get_sensor_overlaps This returns shape info tables for the shapes currently overlapping the sensor. Both scripts gives us the same result: each sensor sprite scales up while at least one ball overlaps it, -and the label shows the current overlap count reported by the active backend path. \ No newline at end of file +and the label shows the current overlap count reported by the active backend path. diff --git a/examples/physics/box2d_weld_joint/index.md b/examples/physics/box2d_weld_joint/index.md index 8044f06134..f945c70dfb 100644 --- a/examples/physics/box2d_weld_joint/index.md +++ b/examples/physics/box2d_weld_joint/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: Create Box2D weld joints from script so separate dynamic bodies behave like one rigid assembly. category: physics layout: example @@ -10,7 +11,6 @@ tags: physics, box2d thumbnail: thumbnail.webp title: Box2D Weld Joint twitter_image: https://www.defold.com/examples/physics/box2d_weld_joint/thumbnail.webp - --- This example creates two Box2D weld joints at runtime between three separate dynamic square bodies. @@ -65,4 +65,4 @@ Those backend-specific spring fields are intentionally omitted here so the same Input focus lets player clicks or touches the screen. The script changes the linear and angular velocity of the `right` block. The weld joints transfer that motion through the connected bodies, -so the whole L-shaped assembly kicks upward and spins while remaining rigid. \ No newline at end of file +so the whole L-shaped assembly kicks upward and spins while remaining rigid. diff --git a/examples/physics/dynamic/index.md b/examples/physics/dynamic/index.md index 991f4b7e8e..ea13acecb6 100644 --- a/examples/physics/dynamic/index.md +++ b/examples/physics/dynamic/index.md @@ -1,4 +1,6 @@ --- +author_ids: +- defold-foundation brief: This example shows a simple setup with dynamic physics objects. category: physics layout: example @@ -8,7 +10,6 @@ tags: physics thumbnail: dynamic.png title: Dynamic physics twitter_image: https://www.defold.com/examples/physics/dynamic/dynamic.png - --- ![dynamic](dynamic.png) @@ -27,4 +28,4 @@ block2 walls : The outer walls. Contains: - - A *Collision object* component. The *Type* is set to `STATIC`. 4 box *Shapes* are added to the component. These are placed just outside of the game view. \ No newline at end of file + - A *Collision object* component. The *Type* is set to `STATIC`. 4 box *Shapes* are added to the component. These are placed just outside of the game view. diff --git a/examples/physics/hinge_joint/index.md b/examples/physics/hinge_joint/index.md index 79d197f1bd..b74c4c7b89 100644 --- a/examples/physics/hinge_joint/index.md +++ b/examples/physics/hinge_joint/index.md @@ -1,5 +1,6 @@ --- -author: Paweł Jarosz +author_ids: +- pawel-jarosz brief: This example shows a simple setup with a dynamic body physics object and two dynamic wheel physics object joined together with a joint of type "hinge". The hinge joint can simulate an axle or a pin on which other object is rotating in respect to the base. The example shows how to create, destroy and change properties of the joints. category: physics layout: example @@ -10,7 +11,6 @@ tags: physics thumbnail: hinge_joint.png title: Hinge joint physics twitter_image: https://www.defold.com/examples/physics/hinge_joint/hinge_joint.png - --- ![hinge_joint](hinge_joint.png) @@ -34,4 +34,4 @@ backwheel walls : The outer walls. Contains: - - A *Collision object* component. The *Type* is set to `STATIC`. 4 box *Shapes* are added to the component. These are placed just outside of the game view. \ No newline at end of file + - A *Collision object* component. The *Type* is set to `STATIC`. 4 box *Shapes* are added to the component. These are placed just outside of the game view. diff --git a/examples/physics/interpolation/index.md b/examples/physics/interpolation/index.md index 163981bef9..a10d45efe7 100644 --- a/examples/physics/interpolation/index.md +++ b/examples/physics/interpolation/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to smooth physics motion in fixed update mode by interpolating a visual sprite while keeping the physics body fixed-step. category: physics layout: example @@ -10,7 +11,6 @@ tags: physics thumbnail: thumbnail.png title: Fixed timestep interpolation twitter_image: https://www.defold.com/examples/physics/interpolation/thumbnail.png - --- This example demonstrates two rendering paths while physics runs at a fixed frequency: @@ -80,4 +80,4 @@ The setup consists of 5 game objects: At runtime: - `block1_sprite` appears updated at the fixed frequency. -- `block2_sprite` appears updated each frame. \ No newline at end of file +- `block2_sprite` appears updated each frame. diff --git a/examples/physics/kinematic/index.md b/examples/physics/kinematic/index.md index 7eb74819b5..4761841570 100644 --- a/examples/physics/kinematic/index.md +++ b/examples/physics/kinematic/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows a simple setup with a kinematic physics objects. The difference between dynamic objects, simulated by the physics engine, and kinematic objects, that are user controlled, is clearly seen here. category: physics layout: example @@ -10,7 +11,6 @@ tags: physics thumbnail: kinematic.png title: Kinematic physics twitter_image: https://www.defold.com/examples/physics/kinematic/kinematic.png - --- ![kinematic](kinematic.png) @@ -30,4 +30,4 @@ block2 walls : The outer walls. Contains: - - A *Collision object* component. The *Type* is set to `STATIC`. 4 box *Shapes* are added to the component. These are placed just outside of the game view. \ No newline at end of file + - A *Collision object* component. The *Type* is set to `STATIC`. 4 box *Shapes* are added to the component. These are placed just outside of the game view. diff --git a/examples/physics/knockback/index.md b/examples/physics/knockback/index.md index 905b024566..ba2f83dc87 100644 --- a/examples/physics/knockback/index.md +++ b/examples/physics/knockback/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to create a knockback effect when hit. category: physics layout: example @@ -10,7 +11,6 @@ tags: physics thumbnail: knockback_thumb.png title: Knockback twitter_image: https://www.defold.com/examples/physics/knockback/knockback_thumb.png - --- This example shows how to create a knockback effect when hit. The setup consists of three game objects; one for the player, one for the enemy and one for the bullet that is spawned using a factory (see example on how to spawn bullets). @@ -30,4 +30,4 @@ enemy : The black ship at the top. Contains: - A *Sprite* component with the spaceship image. - A *Collision object* component. *Type* is set to `KINEMATIC`. It has a sphere *Shape* matching image. - - A script to handle collisions with bullets. \ No newline at end of file + - A script to handle collisions with bullets. diff --git a/examples/physics/pendulum/index.md b/examples/physics/pendulum/index.md index 0e0935c33b..8faaf931b5 100644 --- a/examples/physics/pendulum/index.md +++ b/examples/physics/pendulum/index.md @@ -1,5 +1,6 @@ --- -author: Paweł Jarosz +author_ids: +- pawel-jarosz brief: This example shows a simple setup with a static pivot and two dynamic weights - physics objects joined together with a joint of type "fixed" and "spring". The fixed joint can simulate a rope and spring joint a spring. The example shows how to create the joints and change the gravity to affect the pendulums. category: physics layout: example @@ -10,7 +11,6 @@ tags: physics thumbnail: pendulum.png title: Pendulum physics twitter_image: https://www.defold.com/examples/physics/pendulum/pendulum.png - --- ![pendulum](pendulum.png) @@ -34,4 +34,4 @@ weight_spring walls : The outer walls. Contains: - - A *Collision object* component. The *Type* is set to `STATIC`. 4 box *Shapes* are added to the component. These are placed just outside of the game view. \ No newline at end of file + - A *Collision object* component. The *Type* is set to `STATIC`. 4 box *Shapes* are added to the component. These are placed just outside of the game view. diff --git a/examples/physics/raycast/index.md b/examples/physics/raycast/index.md index 07bf60da3e..fc962d0979 100644 --- a/examples/physics/raycast/index.md +++ b/examples/physics/raycast/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to use physics raycasts to detect collisions along a straight line from a start point to an end point. category: physics layout: example @@ -10,7 +11,6 @@ tags: physics thumbnail: raycast.png title: Raycast twitter_image: https://www.defold.com/examples/physics/raycast/raycast.png - --- ![raycast](raycast.png) @@ -25,4 +25,4 @@ bee stone : The square stone block. Contains: - A *Sprite* component with the stone block image. - - A *Collision object* component with a group set to `stone`. \ No newline at end of file + - A *Collision object* component with a group set to `stone`. diff --git a/examples/physics/trigger/index.md b/examples/physics/trigger/index.md index bc3e7a4a1e..ce212ee3b7 100644 --- a/examples/physics/trigger/index.md +++ b/examples/physics/trigger/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how a physics trigger is used to trigger an event. In this case the bunny sprite is disabled and enabled. category: physics layout: example @@ -10,7 +11,6 @@ tags: physics thumbnail: trigger.png title: Trigger twitter_image: https://www.defold.com/examples/physics/trigger/trigger.png - --- ![trigger](trigger.png) @@ -25,4 +25,4 @@ bunny : The bunny. Contains: - A *Sprite* component with the bunny image. - A *Collision object* component. It has *Type* set to `DYNAMIC`. A sphere *Shape* matching the sprite image is added to the components. - - A *Script* component that animates the bunny's position and reacts to physics messages when interacting with the trigger. \ No newline at end of file + - A *Script* component that animates the bunny's position and reacts to physics messages when interacting with the trigger. diff --git a/examples/render/basic_lights_2d/index.md b/examples/render/basic_lights_2d/index.md index 2c02327eb6..6871ccf37f 100644 --- a/examples/render/basic_lights_2d/index.md +++ b/examples/render/basic_lights_2d/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to make sprites respond to Defold Light components with a custom material in a basic setup. category: render layout: example @@ -10,7 +11,6 @@ tags: render, material, sprite thumbnail: thumbnail.webp title: Basic Lights 2D twitter_image: https://www.defold.com/examples/render/basic_lights_2d/thumbnail.webp - --- The example shows how to utilise Light components (introduced in Defold 1.13.1) @@ -156,4 +156,4 @@ a screen-space light-map pipeline may be more appropriate. See the Defold manuals for more detail about [materials](https://defold.com/manuals/material/), [shaders](https://defold.com/manuals/shader/), and the [render pipeline](https://defold.com/manuals/render/). -The stone image is CC0 artwork from Kenney's Platformer Art Extended pack. \ No newline at end of file +The stone image is CC0 artwork from Kenney's Platformer Art Extended pack. diff --git a/examples/render/basic_lights_3d/index.md b/examples/render/basic_lights_3d/index.md index 2cf6075d67..4affdc29de 100644 --- a/examples/render/basic_lights_3d/index.md +++ b/examples/render/basic_lights_3d/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how ambient, directional, point, and spot lights affect 3D models that use built-in lit materials. category: render layout: example @@ -11,7 +12,6 @@ tags: render, 3d thumbnail: thumbnail.webp title: Basic Lights 3D twitter_image: https://www.defold.com/examples/render/basic_lights_3d/thumbnail.webp - --- This example sets up a small 3D city scene with several light component types. @@ -90,4 +90,4 @@ The car movement is intentionally simple - `car.script` just animates the car po flips its rotation every five seconds, and animates the scale of the siren lights. The lighting behavior itself comes from the light components and the built-in lit model materials. -All the models in the example are from [Kenney asset packs](https://kenney.nl/assets/) (Road, City and Cars), licensed under CC0. \ No newline at end of file +All the models in the example are from [Kenney asset packs](https://kenney.nl/assets/) (Road, City and Cars), licensed under CC0. diff --git a/examples/render/camera/index.md b/examples/render/camera/index.md index 7e1834e8bb..357dfeb1c0 100644 --- a/examples/render/camera/index.md +++ b/examples/render/camera/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to use a camera component and have it follow a game object. Click to toggle between following the game object and staying stationary. category: render layout: example @@ -10,7 +11,6 @@ tags: render thumbnail: camera.png title: Camera twitter_image: https://www.defold.com/examples/render/camera/camera.png - --- ![camera](camera.png) @@ -25,4 +25,4 @@ bee camera : The camera. Contains: - A *Camera* component. The camera component has Orthographic Projection enabled. - - A script that controls the camera component. \ No newline at end of file + - A script that controls the camera component. diff --git a/examples/render/directional_light_shadows/index.md b/examples/render/directional_light_shadows/index.md index 11f9df2c5d..525da7a9f2 100644 --- a/examples/render/directional_light_shadows/index.md +++ b/examples/render/directional_light_shadows/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to implement a configurable, PCF-filtered shadow map for a directional light. category: render layout: example @@ -10,7 +11,6 @@ tags: render, 3d thumbnail: thumbnail.webp title: Directional Light Shadows with PCF Filtering twitter_image: https://www.defold.com/examples/render/directional_light_shadows/thumbnail.webp - --- This example adds real-time shadows to a directional light and provides a custom render script for drawing shadows in a small 3D scene. @@ -275,4 +275,4 @@ This example intentionally uses a simple and approachable implementation: - Alpha-cutout geometry such as leaves, grass cards, and fences needs a depth material that samples alpha and discards transparent fragments. Otherwise the complete triangle casts a solid shadow. - The receiver material is a simple lit model material. Projects using normal maps, PBR data, multiple textures, custom vertex attributes, or other shading models should include `shadows.glsl` in their own compatible receiver materials. - The shadow map is regenerated every frame because the example rotates the light continuously. A project with static lights and static casters could cache and reuse it. -- The technique produces shadows from a directional light only. Point and spot light shadow maps require different camera projections and, in the case of point lights, usually several views. \ No newline at end of file +- The technique produces shadows from a directional light only. Point and spot light shadow maps require different camera projections and, in the case of point lights, usually several views. diff --git a/examples/render/orbit_camera/index.md b/examples/render/orbit_camera/index.md index a0ef4f6d56..f524ca1705 100644 --- a/examples/render/orbit_camera/index.md +++ b/examples/render/orbit_camera/index.md @@ -1,5 +1,6 @@ --- -author: Artsiom Trubchyk +author_ids: +- artsiom-trubchyk brief: This example demonstrates how to create script to control a 3D camera with the mouse. Scroll wheel is used to zoom in and out. category: render layout: example @@ -8,7 +9,6 @@ path: render/orbit_camera scripts: orbit_camera.script tags: render title: Orbit Camera - --- In this example, we create a script to control a 3D camera using the mouse and mouse scroll wheel. @@ -25,4 +25,4 @@ In the `update` loop, the script smoothly interpolates camera rotation and zoom The function `on_input` handles user input to control the camera. As the user moves the mouse or touches the screen, the script adjusts the yaw and pitch values, allowing the camera to rotate around its focal point. Additionally, it responds to mouse wheel input, adjusting the zoom level to move the camera closer to or further from the center point. -The model used in this example is from Kenney's [Prototype Pack](https://kenney.nl/assets/prototype-kit), licensed under CC0. \ No newline at end of file +The model used in this example is from Kenney's [Prototype Pack](https://kenney.nl/assets/prototype-kit), licensed under CC0. diff --git a/examples/render/orthographic_zoom/index.md b/examples/render/orthographic_zoom/index.md index fd4c161722..513c9056f0 100644 --- a/examples/render/orthographic_zoom/index.md +++ b/examples/render/orthographic_zoom/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to zoom an orthographic camera in and out by changing Orthographic Zoom while the camera is in Fixed mode. category: render layout: example @@ -10,7 +11,6 @@ tags: render thumbnail: thumbnail.png title: Orthographic Zoom twitter_image: https://www.defold.com/examples/render/orthographic_zoom/thumbnail.png - --- This example shows the recommended setup for gameplay zoom with an orthographic camera: keep the camera component in orthographic `Fixed` mode, then change `orthographic_zoom` from script. @@ -38,4 +38,4 @@ Because the camera is in orthographic `Fixed` mode, the zoom behavior is control ## Credits This project uses the following free art assets: -- Pixel Art Top Down Basic tilesets by Cainos: [https://cainos.itch.io/pixel-art-top-down-basic](https://cainos.itch.io/pixel-art-top-down-basic) \ No newline at end of file +- Pixel Art Top Down Basic tilesets by Cainos: [https://cainos.itch.io/pixel-art-top-down-basic](https://cainos.itch.io/pixel-art-top-down-basic) diff --git a/examples/render/post_processing/index.md b/examples/render/post_processing/index.md index 3061fd430a..0b7228e6a7 100644 --- a/examples/render/post_processing/index.md +++ b/examples/render/post_processing/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to apply a post-processing effect by drawing to a render target and then to a fullscreen quad using a post processing shader. category: render layout: example @@ -10,7 +11,6 @@ tags: render thumbnail: postprocess_thumb.png title: Post-processing twitter_image: https://www.defold.com/examples/render/post_processing/postprocess_thumb.png - --- The basic principle of a full screen post processing effect is to first draw the entire game to a render target, then draw this render target to a full screen quad using a post processing shader to apply some kind of effect. This example shows a color invert effect and a CRT scanline effect. @@ -106,4 +106,4 @@ end Additionally the example shows in `postprocess.script` how to change material using material resource properties at runtime. -![material_properties](material_properties.png) \ No newline at end of file +![material_properties](material_properties.png) diff --git a/examples/render/screen_to_world/index.md b/examples/render/screen_to_world/index.md index 19cbd9e2d4..33cc06e4d8 100644 --- a/examples/render/screen_to_world/index.md +++ b/examples/render/screen_to_world/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to convert from screen to world coordinates while using a camera. category: render layout: example @@ -7,7 +8,6 @@ path: render/screen_to_world scripts: bee.script tags: render title: Screen to World - --- -The `bee.script` uses the `camera.screen_to_world()` function to convert from screen space coordinates to world coordinates using the view and projection of a camera component. \ No newline at end of file +The `bee.script` uses the `camera.screen_to_world()` function to convert from screen space coordinates to world coordinates using the view and projection of a camera component. diff --git a/examples/render/world_to_screen/index.md b/examples/render/world_to_screen/index.md index 46f2f5c9b3..0ebcee667d 100644 --- a/examples/render/world_to_screen/index.md +++ b/examples/render/world_to_screen/index.md @@ -1,5 +1,6 @@ --- -author: Artsiom Trubchyk +author_ids: +- artsiom-trubchyk brief: This example demonstrates how to convert 3D world coordinates to 2D screen coordinates using camera transformations. category: render layout: example @@ -10,7 +11,6 @@ tags: render thumbnail: thumbnail.png title: World to Screen twitter_image: https://www.defold.com/examples/render/world_to_screen/thumbnail.png - --- This example shows how to convert world positions to screen coordinates for UI positioning. It features: @@ -46,4 +46,4 @@ local function world_to_screen(world_position, camera_url) return vmath.vector3(scr_coord.x, scr_coord.y, 0) end -``` \ No newline at end of file +``` diff --git a/examples/resource/create_atlas/index.md b/examples/resource/create_atlas/index.md index fa9a47982a..44f0ab0949 100644 --- a/examples/resource/create_atlas/index.md +++ b/examples/resource/create_atlas/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to create an atlas with two images and use it on a sprite and in a gui category: resource layout: example @@ -7,7 +8,6 @@ path: resource/create_atlas scripts: create_atlas.script, create_atlas.gui_script tags: resource title: Create atlas - --- -The example creates a texture and an atlas with two images and uses the two images on a sprite and a gui box node. \ No newline at end of file +The example creates a texture and an atlas with two images and uses the two images on a sprite and a gui box node. diff --git a/examples/resource/modify_atlas/index.md b/examples/resource/modify_atlas/index.md index 62898a4295..770ec3b9e5 100644 --- a/examples/resource/modify_atlas/index.md +++ b/examples/resource/modify_atlas/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to replace an image in an atlas category: resource layout: example @@ -7,7 +8,6 @@ path: resource/modify_atlas scripts: modify_atlas.script tags: resource title: Modify atlas - --- -The example loads an image bundled as a custom resource (bundled in the game archive) and uses it to replace the first image of an atlas. See code comments for implementation details. \ No newline at end of file +The example loads an image bundled as a custom resource (bundled in the game archive) and uses it to replace the first image of an atlas. See code comments for implementation details. diff --git a/examples/sound/fade_in_out/index.md b/examples/sound/fade_in_out/index.md index 237ccf7c5a..ab3fd8354b 100644 --- a/examples/sound/fade_in_out/index.md +++ b/examples/sound/fade_in_out/index.md @@ -1,5 +1,6 @@ --- -author: Alexey Gulev +author_ids: +- alexey-gulev brief: This example shows how to make Fade-In and fade Fade-Out music. category: sound layout: example @@ -7,7 +8,6 @@ path: sound/fade_in_out scripts: fade_in_out.script tags: sound title: Fade In-Out - --- -![fade_in_out](fade_in_out.jpg) \ No newline at end of file +![fade_in_out](fade_in_out.jpg) diff --git a/examples/sound/get_set_sound/index.md b/examples/sound/get_set_sound/index.md index 6043545555..508b1078e8 100644 --- a/examples/sound/get_set_sound/index.md +++ b/examples/sound/get_set_sound/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to change which sound a sound component plays category: sound layout: example @@ -10,7 +11,6 @@ tags: sound,resource thumbnail: game_project.png title: Get and set sound twitter_image: https://www.defold.com/examples/sound/get_set_sound/game_project.png - --- This example shows how to change which sound a sound component plays. Additional sounds are stored as individual .ogg files in the `sounds` folder and included in the build as [Custom Resources](https://defold.com/manuals/file-access/#custom-resources): @@ -21,4 +21,4 @@ The example consists of a single collection with a game object containing a Soun ![](get_set_sound_collection.png) -Sound effects and space ship by [Kenney](https://www.kenney.nl) \ No newline at end of file +Sound effects and space ship by [Kenney](https://www.kenney.nl) diff --git a/examples/sound/music/index.md b/examples/sound/music/index.md index 4c760f49db..efd2cf5f9a 100644 --- a/examples/sound/music/index.md +++ b/examples/sound/music/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to play a piece of music, stored as an .OGG file, with a sound component. The sound component is set to "looping" causing the music to never, ever stop. category: sound layout: example @@ -7,7 +8,6 @@ path: sound/music scripts: music.script tags: sound title: Music - --- -![music](music.jpg) \ No newline at end of file +![music](music.jpg) diff --git a/examples/sound/panning/index.md b/examples/sound/panning/index.md index 8c46dfdd95..a2670a61eb 100644 --- a/examples/sound/panning/index.md +++ b/examples/sound/panning/index.md @@ -1,5 +1,6 @@ --- -author: Agustin R. +author_ids: +- agustin-r brief: This example demonstrates how to pan a sound effect according to a GO's(game object) position on the screen. category: sound layout: example @@ -10,7 +11,6 @@ tags: sound thumbnail: panning.png title: Panning twitter_image: https://www.defold.com/examples/sound/panning/panning.png - --- Overview : A coin bounces around the screen and on collision detection we get the coins x position then normalize that value for use in the sound components pan property. As the API states "The pan on the sound-component. The valid range is from -1.0 to 1.0, representing -45 degrees left, to +45 degrees right." we can use this information along with our x value from our coin object and normalize it into the correct range. @@ -32,4 +32,4 @@ Stones Walls : contains: - - A *Collision* component set to `STATIC` and 4 box *Shapes* that make up the walls along the bounds of the game screen. \ No newline at end of file + - A *Collision* component set to `STATIC` and 4 box *Shapes* that make up the walls along the bounds of the game screen. diff --git a/examples/sprite/bunnymark/index.md b/examples/sprite/bunnymark/index.md index 3a8289d5a8..a5e4557cb8 100644 --- a/examples/sprite/bunnymark/index.md +++ b/examples/sprite/bunnymark/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This is a performance test for sprites category: sprite layout: example @@ -10,7 +11,6 @@ tags: sprite thumbnail: bunnymark_thumb.png title: Bunnymark twitter_image: https://www.defold.com/examples/sprite/bunnymark/bunnymark_thumb.png - --- -The example spawns game objects and animates them using go.animate(). An alternative bunnymark test with more options can be found [here](https://github.com/britzl/defold-bunnymark). \ No newline at end of file +The example spawns game objects and animates them using go.animate(). An alternative bunnymark test with more options can be found [here](https://github.com/britzl/defold-bunnymark). diff --git a/examples/sprite/changeimage/index.md b/examples/sprite/changeimage/index.md index 020a3ba132..a27f7d0089 100644 --- a/examples/sprite/changeimage/index.md +++ b/examples/sprite/changeimage/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to change the image of a sprite category: sprite layout: example @@ -10,7 +11,6 @@ tags: sprite thumbnail: changeimage_thumb.png title: Change sprite image twitter_image: https://www.defold.com/examples/sprite/changeimage/changeimage_thumb.png - --- The example shows a game object with a sprite and a script with three script properties to reference different tilesource images. The script lets the user change which image to use on the sprite. @@ -25,4 +25,4 @@ function init(self) end ``` -![tilesource](tilesource.png) \ No newline at end of file +![tilesource](tilesource.png) diff --git a/examples/sprite/cursor/index.md b/examples/sprite/cursor/index.md index 2f540ef99f..928d58ab93 100644 --- a/examples/sprite/cursor/index.md +++ b/examples/sprite/cursor/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to use the sprite animation cursor and frame count to manually select a specific frame category: sprite layout: example @@ -10,7 +11,6 @@ tags: sprite thumbnail: cursor_thumb.png title: Sprite cursor twitter_image: https://www.defold.com/examples/sprite/cursor/cursor_thumb.png - --- The example contains a sprite with a tilesource animation of a walking robot. The animation consists of 8 frames: @@ -19,4 +19,4 @@ The example contains a sprite with a tilesource animation of a walking robot. Th The example also contains a script and some visual controls that can be used to step through or automatically play the tilesource animation using the animation cursor: -![collection](collection.png) \ No newline at end of file +![collection](collection.png) diff --git a/examples/sprite/flip/index.md b/examples/sprite/flip/index.md index 5ed607adbf..720c6da3bd 100644 --- a/examples/sprite/flip/index.md +++ b/examples/sprite/flip/index.md @@ -1,5 +1,6 @@ --- -author: Agustin R. +author_ids: +- agustin-r brief: This example demonstrates flipping a sprite animation vertically and horizontally. category: sprite layout: example @@ -10,7 +11,6 @@ tags: sprite thumbnail: flip_thumb.png title: Flip twitter_image: https://www.defold.com/examples/sprite/flip/flip_thumb.png - --- Overview : [sprite.set_hflip](https://defold.com/ref/beta/sprite/#sprite.set_hflip:url-flip) & [sprite.set_vflip](https://defold.com/ref/beta/sprite/#sprite.set_vflip:url-flip) uses a boolean to set if a sprite animation should be flipped. @@ -30,4 +30,4 @@ The setup consists of 2 bee game object's, another game object for text labels a Script : use: - - Sets sprite flip and go.animation for bee game objects. \ No newline at end of file + - Sets sprite flip and go.animation for bee game objects. diff --git a/examples/sprite/samplers/index.md b/examples/sprite/samplers/index.md index caa135b0d4..46c50c7e29 100644 --- a/examples/sprite/samplers/index.md +++ b/examples/sprite/samplers/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to sample from more than one image when drawing a sprite category: sprite layout: example @@ -10,7 +11,6 @@ tags: sprite thumbnail: samplers_thumb.png title: Multiple Sprite Samplers twitter_image: https://www.defold.com/examples/sprite/samplers/samplers_thumb.png - --- The example uses a sprite with a material with two samplers: @@ -29,4 +29,4 @@ Each atlas contains a Defold logo: Note the rename pattern in `two.atlas`. The rename pattern is required so that it is possible to sample from the same location in both atlases. -The color data from the two samplers is mixed/interpolated in the fragment program to produce a final color. The amount of interpolation is controlled in the `mix_amount` fragment constant. The `mix_amount` is animated between 0.0 and 1.0 in the `multi_sample.script` \ No newline at end of file +The color data from the two samplers is mixed/interpolated in the fragment program to produce a final color. The amount of interpolation is controlled in the `mix_amount` fragment constant. The `mix_amount` is animated between 0.0 and 1.0 in the `multi_sample.script` diff --git a/examples/sprite/size/index.md b/examples/sprite/size/index.md index a11d415b35..0c9ebc7282 100644 --- a/examples/sprite/size/index.md +++ b/examples/sprite/size/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to get the size of a sprite at run-time category: sprite layout: example @@ -10,9 +11,8 @@ tags: sprite thumbnail: size_thumb.png title: Sprite size twitter_image: https://www.defold.com/examples/sprite/size/size_thumb.png - --- The example uses two game objects, each with a sprite component and a label (to show the size). One of game objects contains the script that reads the size and shows it on the labels: -![size](size.png) \ No newline at end of file +![size](size.png) diff --git a/examples/sprite/texture_scrolling/index.md b/examples/sprite/texture_scrolling/index.md index e02e931ff6..2b54ae2ed7 100644 --- a/examples/sprite/texture_scrolling/index.md +++ b/examples/sprite/texture_scrolling/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how scroll the texture in the runtime using Texture Transform 2D Vertex Attribute, without using the sprite in the world space. category: sprite layout: example @@ -10,7 +11,6 @@ tags: sprite thumbnail: thumbnail.png title: Texture scrolling twitter_image: https://www.defold.com/examples/sprite/texture_scrolling/thumbnail.png - --- # Texture scrolling @@ -64,4 +64,4 @@ To control per-sprite scroll speed/direction, **just change the `translation`** - Converts atlas UV into local tile UV (0..1). - Applies scrolling using `localUV += translation * time.x`. - Wraps inside the tile with `fract(localUV)` to keep sampling within the region. - - Converts back to atlas UV and samples `texture_sampler`. \ No newline at end of file + - Converts back to atlas UV and samples `texture_sampler`. diff --git a/examples/sprite/tint/index.md b/examples/sprite/tint/index.md index d2399a74d9..d9cef07793 100644 --- a/examples/sprite/tint/index.md +++ b/examples/sprite/tint/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how tint a sprite at run-time category: sprite layout: example @@ -10,7 +11,6 @@ tags: sprite thumbnail: tint_thumb.png title: Sprite tint twitter_image: https://www.defold.com/examples/sprite/tint/tint_thumb.png - --- The example uses a script to tint (color) sprites in a couple of different ways. The tint is a fragment constant on the sprite material and it is used in the sprite.fp fragment shader program to modify the color sampled from the texture. @@ -19,4 +19,4 @@ It is important to keep in mind that each tinted sprite generates a new draw cal ![tint](tint.png) -![sprite material](spritematerial.png) \ No newline at end of file +![sprite material](spritematerial.png) diff --git a/examples/tilemap/collisions/index.md b/examples/tilemap/collisions/index.md index 1c9b991220..f40cfdcd8e 100644 --- a/examples/tilemap/collisions/index.md +++ b/examples/tilemap/collisions/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to detect collisions on tilemaps category: tilemap layout: example @@ -10,7 +11,6 @@ tags: tilemap thumbnail: tilesource.png title: Tilemap collisions twitter_image: https://www.defold.com/examples/tilemap/collisions/tilesource.png - --- This example uses a tilesource with two collision groups: "ground" and "danger". The tilesource uses the `tilesheet_complete.png` image for the tiles and the collision shapes (traced as outlines around the transparent pixels of each tile). @@ -31,4 +31,4 @@ Click/tap on the screen to spawn game objects that will fall and interact with t --- -Tilemap and enemy graphics made by [Kenney](https://www.kenney.nl). \ No newline at end of file +Tilemap and enemy graphics made by [Kenney](https://www.kenney.nl). diff --git a/examples/tilemap/get_set_tile/index.md b/examples/tilemap/get_set_tile/index.md index 0aa920923e..4cab82a763 100644 --- a/examples/tilemap/get_set_tile/index.md +++ b/examples/tilemap/get_set_tile/index.md @@ -1,5 +1,6 @@ --- -author: Defold Foundation +author_ids: +- defold-foundation brief: This example shows how to get and set tiles of a tilemap category: tilemap layout: example @@ -7,11 +8,10 @@ path: tilemap/get_set_tile scripts: get_set_tile.script tags: tilemap title: Get and set tiles - --- This example uses a tilemap and a script file to read mouse input to place tiles or read information about the tile the mouse is hovering. --- -Tilemap graphics made by [Kenney](https://www.kenney.nl). \ No newline at end of file +Tilemap graphics made by [Kenney](https://www.kenney.nl). diff --git a/examples/timer/cancel_timer/index.md b/examples/timer/cancel_timer/index.md index bcd47dc874..ecd09f4862 100644 --- a/examples/timer/cancel_timer/index.md +++ b/examples/timer/cancel_timer/index.md @@ -1,5 +1,6 @@ --- -author: Paweł Jarosz +author_ids: +- pawel-jarosz brief: This example shows how to create timer and cancel it anytime, using built-in timer API. category: timer layout: example @@ -10,7 +11,6 @@ tags: timer thumbnail: cancel_timer.png title: Cancel timer example twitter_image: https://www.defold.com/examples/timer/cancel_timer/cancel_timer.png - --- The example shows how to use Defold built-in timer and uses two indicators: @@ -21,4 +21,4 @@ The example shows how to use Defold built-in timer and uses two indicators: The particle fx is played every 1s showing small eruption. You can click anywhere to cancel the timer and the particlefx won't be triggered anymore. -![cancel_timer](cancel_timer.png) \ No newline at end of file +![cancel_timer](cancel_timer.png) diff --git a/examples/timer/repeating_timer/index.md b/examples/timer/repeating_timer/index.md index 2056de5024..9f0033a1a1 100644 --- a/examples/timer/repeating_timer/index.md +++ b/examples/timer/repeating_timer/index.md @@ -1,5 +1,6 @@ --- -author: Paweł Jarosz +author_ids: +- pawel-jarosz brief: This example shows how to create timer that repeats endlessly every second category: timer layout: example @@ -10,7 +11,6 @@ tags: timer thumbnail: repeating_timer.png title: Repeating timer example twitter_image: https://www.defold.com/examples/timer/repeating_timer/repeating_timer.png - --- The example shows how to use Defold built-in timer and uses two indicators: @@ -20,4 +20,4 @@ The example shows how to use Defold built-in timer and uses two indicators: The timer trigers updates of those two indicators every 1s to form a counter. -![repeating_timer](repeating_timer.png) \ No newline at end of file +![repeating_timer](repeating_timer.png) diff --git a/examples/timer/trigger_timer/index.md b/examples/timer/trigger_timer/index.md index fe0584cd89..c2b7f66de0 100644 --- a/examples/timer/trigger_timer/index.md +++ b/examples/timer/trigger_timer/index.md @@ -1,5 +1,6 @@ --- -author: Paweł Jarosz +author_ids: +- pawel-jarosz brief: This example shows how to create timer that triggers counting every 1s and can be triggered manually and asynchronously as a reaction to user input. category: timer layout: example @@ -10,7 +11,6 @@ tags: timer thumbnail: trigger_timer.png title: Trigger timer example twitter_image: https://www.defold.com/examples/timer/trigger_timer/trigger_timer.png - --- The example shows how to use Defold built-in timer and trigger it asynchronously and uses two indicators: @@ -21,4 +21,4 @@ The example shows how to use Defold built-in timer and trigger it asynchronously The timer triggers update of the counter every 1s. Click anywhere to trigger the callback of the timer asynchronously. -![trigger_timer](trigger_timer.png) \ No newline at end of file +![trigger_timer](trigger_timer.png) diff --git a/js/author-profile.js b/js/author-profile.js new file mode 100644 index 0000000000..f1a9ced25b --- /dev/null +++ b/js/author-profile.js @@ -0,0 +1,142 @@ +(() => { + const normalize = (value) => + (value || "") + .toString() + .toLowerCase() + .trim(); + + const allowedTypes = new Set(["all", "assets", "examples"]); + + document.addEventListener("DOMContentLoaded", () => { + const catalogs = Array.from(document.querySelectorAll("[data-author-catalog]")); + catalogs.forEach((catalog) => { + const items = Array.from(catalog.querySelectorAll("[data-author-contribution='true']")); + const filterButtons = Array.from(document.querySelectorAll("[data-author-filter]")); + const searchInput = catalog.querySelector("[data-author-search]"); + const resultsTitle = catalog.querySelector("[data-author-results-title]"); + const resultsSummary = catalog.querySelector("[data-author-results-summary]"); + const emptyMessage = catalog.querySelector("[data-author-empty]"); + + if (!items.length || !filterButtons.length) { + return; + } + + let selectedType = "all"; + + const readUrlState = () => { + const params = new URLSearchParams(window.location.search); + const requestedType = normalize(params.get("type")); + selectedType = allowedTypes.has(requestedType) ? requestedType : "all"; + if (selectedType !== "all" && !items.some((item) => item.dataset.authorContributionType === selectedType)) { + selectedType = "all"; + } + if (searchInput) { + searchInput.value = params.get("q") || ""; + } + }; + + const syncUrl = () => { + const params = new URLSearchParams(window.location.search); + const query = (searchInput?.value || "").trim(); + + if (selectedType === "all") { + params.delete("type"); + } else { + params.set("type", selectedType); + } + + if (query) { + params.set("q", query); + } else { + params.delete("q"); + } + + const search = params.toString(); + const nextUrl = `${window.location.pathname}${search ? `?${search}` : ""}${window.location.hash}`; + window.history.replaceState({}, "", nextUrl); + }; + + const itemSearchText = (item) => + normalize([ + item.dataset.name, + item.dataset.description, + item.dataset.learnTitle, + item.dataset.learnDescription, + item.dataset.learnAuthor, + item.textContent + ].join(" ")); + + const applyState = () => { + const query = normalize(searchInput?.value); + let visibleCount = 0; + + items.forEach((item) => { + const matchesType = selectedType === "all" || item.dataset.authorContributionType === selectedType; + const matchesQuery = !query || itemSearchText(item).includes(query); + const visible = matchesType && matchesQuery; + item.hidden = !visible; + item.setAttribute("aria-hidden", visible ? "false" : "true"); + if (visible) { + visibleCount += 1; + } + }); + + filterButtons.forEach((button) => { + const active = button.dataset.authorFilter === selectedType; + button.classList.toggle("active", active); + button.setAttribute("aria-pressed", active ? "true" : "false"); + }); + + const label = selectedType === "assets" + ? "Assets" + : selectedType === "examples" + ? "Examples" + : "All contributions"; + if (resultsTitle) { + resultsTitle.textContent = label; + } + if (resultsSummary) { + const filteredTotal = selectedType === "all" + ? items.length + : items.filter((item) => item.dataset.authorContributionType === selectedType).length; + const itemLabel = selectedType === "all" ? "contributions" : selectedType; + const querySuffix = query ? ` matching “${(searchInput?.value || "").trim()}”` : ""; + resultsSummary.textContent = `Showing ${visibleCount} of ${filteredTotal} ${itemLabel}${querySuffix}.`; + } + if (emptyMessage) { + emptyMessage.hidden = visibleCount !== 0; + emptyMessage.textContent = query + ? `No ${label.toLowerCase()} match “${(searchInput?.value || "").trim()}”.` + : `No ${label.toLowerCase()} are available.`; + } + }; + + filterButtons.forEach((button) => { + button.addEventListener("click", () => { + const requestedType = normalize(button.dataset.authorFilter); + if (!allowedTypes.has(requestedType)) { + return; + } + selectedType = requestedType; + applyState(); + syncUrl(); + }); + }); + + if (searchInput) { + searchInput.addEventListener("input", () => { + applyState(); + syncUrl(); + }); + } + + window.addEventListener("popstate", () => { + readUrlState(); + applyState(); + }); + + readUrlState(); + applyState(); + }); + }); +})(); diff --git a/js/learn-tag-filter.js b/js/learn-tag-filter.js index 8b998998a2..401a106eb7 100644 --- a/js/learn-tag-filter.js +++ b/js/learn-tag-filter.js @@ -12,7 +12,9 @@ const toLabel = (tag) => { const map = { "ui-art": "UI / Art", + "2d": "2D", "two-d": "2D", + "3d": "3D", "three-d": "3D", "gui": "GUI", "ios": "iOS" @@ -207,27 +209,71 @@ const filterSingular = filterRoot.dataset.filterSingular || "tag"; const resultItems = filterRoot.dataset.resultItems || "resources"; const defaultTitle = catalog.dataset.defaultTitle || `All ${resultItems}`; + const initialSort = normalize(catalog.dataset.initialSort) || (sortButtons[0]?.dataset.learnSort || ""); let selectedTag = "all"; - let sortOrder = normalize(catalog.dataset.initialSort) || (sortButtons[0]?.dataset.learnSort || ""); - let requestedTag = ""; + let sortOrder = initialSort; const preRenderedChips = Array.from(chipRow.querySelectorAll(".learn-tag-chip")); const hasPreRenderedTagChips = preRenderedChips.some((chip) => (chip.dataset.tag || "") !== "all"); const forceGeneratedTagChips = filterRoot.dataset.forceGeneratedChips === "true"; - try { + const readUrlState = () => { + let requestedTag = ""; + try { + const params = new URLSearchParams(window.location.search); + requestedTag = toSlug( + params.get("tag") || + params.get(filterSingular) || + window.location.hash.replace(/^#/, "") + ); + if (searchInput) { + searchInput.value = params.get("q") || ""; + } + + const requestedSort = normalize(params.get("sort")); + sortOrder = sortButtons.some((button) => button.dataset.learnSort === requestedSort) + ? requestedSort + : initialSort; + } catch (error) { + requestedTag = toSlug(window.location.hash.replace(/^#/, "")); + sortOrder = initialSort; + } + + selectedTag = requestedTag && (requestedTag === "all" || tagStats.has(requestedTag)) + ? requestedTag + : "all"; + }; + + const syncUrl = () => { const params = new URLSearchParams(window.location.search); - requestedTag = toSlug( - params.get("tag") || - params.get(filterSingular) || - window.location.hash.replace(/^#/, "") - ); - } catch (error) { - requestedTag = toSlug(window.location.hash.replace(/^#/, "")); - } + const query = (searchInput?.value || "").trim(); - if (requestedTag && (requestedTag === "all" || tagStats.has(requestedTag))) { - selectedTag = requestedTag; - } + if (selectedTag === "all") { + params.delete("tag"); + } else { + params.set("tag", selectedTag); + } + if (filterSingular !== "tag") { + params.delete(filterSingular); + } + + if (query) { + params.set("q", query); + } else { + params.delete("q"); + } + + if (sortOrder && sortOrder !== initialSort) { + params.set("sort", sortOrder); + } else { + params.delete("sort"); + } + + const search = params.toString(); + const hashTag = toSlug(window.location.hash.replace(/^#/, "")); + const hash = hashTag && (hashTag === "all" || tagStats.has(hashTag)) ? "" : window.location.hash; + const nextUrl = `${window.location.pathname}${search ? `?${search}` : ""}${hash}`; + window.history.replaceState(window.history.state, "", nextUrl); + }; const sortItems = () => { if (!sortGrid || !sortButtons.length) { @@ -305,7 +351,7 @@ chip.setAttribute("aria-pressed", active ? "true" : "false"); }); - sortButtons.forEach((button) => { + sortButtons.forEach((button) => { const active = button.dataset.learnSort === sortOrder; button.classList.toggle("active", active); button.setAttribute("aria-pressed", active ? "true" : "false"); @@ -322,6 +368,7 @@ updateResultLabel(resultEl, visibleCount, totalCount, selectedTag, filterSingular, resultItems, rawQuery); }; + readUrlState(); renderChips(); chipRow.addEventListener("click", (event) => { const chip = event.target.closest(".learn-tag-chip"); @@ -330,6 +377,7 @@ } selectedTag = chip.dataset.tag || "all"; applyFilter(); + syncUrl(); trackEvent("learn_tag_filter_select", { tag: selectedTag, @@ -339,10 +387,11 @@ }); }); - sortButtons.forEach((button) => { + sortButtons.forEach((button) => { button.addEventListener("click", () => { sortOrder = button.dataset.learnSort || sortOrder; applyFilter(); + syncUrl(); trackEvent("learn_tag_sort_select", { tag: selectedTag, @@ -354,11 +403,19 @@ }); if (searchInput) { - const onInput = () => applyFilter(); + const onInput = () => { + applyFilter(); + syncUrl(); + }; searchInput.addEventListener("input", onInput); searchInput.addEventListener("propertychange", onInput); } + window.addEventListener("popstate", () => { + readUrlState(); + applyFilter(); + }); + applyFilter(); }); }); diff --git a/submit_asset.html b/submit_asset.html index e7333d7001..1eeea7351f 100644 --- a/submit_asset.html +++ b/submit_asset.html @@ -124,7 +124,12 @@

Asset details

- + + + {%- for author in site.data.authors -%} + + {%- endfor -%} +
diff --git a/tests/test_author_profiles.rb b/tests/test_author_profiles.rb new file mode 100644 index 0000000000..cf91ce93db --- /dev/null +++ b/tests/test_author_profiles.rb @@ -0,0 +1,142 @@ +# frozen_string_literal: true + +require "json" +require "minitest/autorun" +require "tmpdir" +require "jekyll" +require "defold-author-profiles" + +class AuthorProfilesTest < Minitest::Test + def self.site + @site ||= begin + config = Jekyll.configuration( + "source" => File.expand_path("..", __dir__), + "destination" => File.join(Dir.tmpdir, "defold-author-profile-test"), + "quiet" => true + ) + site = Jekyll::Site.new(config) + site.reset + site.read + Defold::AuthorProfilesGenerator.new.generate(site) + site + end + end + + def site + self.class.site + end + + def test_registry_has_explicit_unique_kebab_case_ids + profiles = site.data.fetch("authors") + ids = profiles.map { |profile| profile.fetch("id") } + + assert_equal 113, profiles.length + assert_equal ids.length, ids.uniq.length + assert ids.all? { |author_id| Defold::AuthorRegistry::ID_PATTERN.match?(author_id) } + assert_includes ids, "defold-foundation" + assert_includes ids, "insality" + assert_includes ids, "moon-active" + refute profiles.any? { |profile| profile.key?("aliases") } + end + + def test_registry_rejects_duplicate_and_malformed_ids + assert_raises(Defold::AuthorProfileError) do + Defold::AuthorRegistry.new([{ "id" => "Not Valid", "name" => "Alice" }]) + end + assert_raises(Defold::AuthorProfileError) do + Defold::AuthorRegistry.new( + [ + { "id" => "shared", "name" => "Alice" }, + { "id" => "shared", "name" => "Bob" } + ] + ) + end + end + + def test_registry_validates_profile_urls + assert_raises(Defold::AuthorProfileError) do + Defold::AuthorRegistry.new( + [ + { + "id" => "alice", + "name" => "Alice", + "links" => [{ "type" => "website", "url" => "http://example.com" }] + } + ] + ) + end + end + + def test_generator_resolves_every_catalog_record + assert_equal 316, site.data.fetch("assets").length + assert_equal 133, site.data.fetch("examplesindex").length + profiles_by_id = site.data.fetch("authors").to_h do |profile| + [profile.fetch("id"), profile] + end + + site.data.fetch("assets").each_value do |asset| + assert_equal asset.fetch("author_profile").fetch("id"), asset.fetch("author_id") + assert_equal profiles_by_id.fetch(asset.fetch("author_id")).fetch("name"), + asset.fetch("author_profile").fetch("name") + refute asset.key?("author") + end + site.data.fetch("examplesindex").each do |example| + assert_equal example.fetch("author_profiles").map { |profile| profile.fetch("id") }, + example.fetch("author_ids") + example.fetch("author_profiles").each do |profile| + assert_equal profiles_by_id.fetch(profile.fetch("id")).fetch("name"), + profile.fetch("name") + end + refute example.key?("author") + refute example.key?("authors") + end + end + + def test_generator_rejects_legacy_and_invalid_catalog_attribution + registry = Defold::AuthorRegistry.new( + [{ "id" => "alice", "name" => "Alice" }] + ) + generator = Defold::AuthorProfilesGenerator.new + + assert_raises(Defold::AuthorProfileError) do + generator.send(:resolve_profile, { "author" => "Alice" }, registry, "asset test") + end + assert_raises(Defold::AuthorProfileError) do + generator.send(:resolve_profile, { "author_id" => "Not Valid" }, registry, "asset test") + end + assert_raises(Defold::AuthorProfileError) do + generator.send(:example_profiles, { "authors" => ["Alice"] }, registry, "example test") + end + assert_raises(Defold::AuthorProfileError) do + generator.send(:example_profiles, { "author_ids" => %w[alice alice] }, registry, "example test") + end + end + + def test_multiple_author_examples_are_preserved + example = site.data.fetch("examplesindex").find { |item| item["path"] == "animation/easing" } + + assert_equal %w[mikatuo defold-foundation], example.fetch("author_ids") + end + + def test_directory_counts_match_generated_contributions + directory = site.data.fetch("author_directory") + pages = site.pages.select { |page| page.data["layout"] == "author" } + + assert_equal 113, directory.length + assert_equal directory.length, pages.length + assert_equal 316, directory.sum { |profile| profile.fetch("asset_count") } + assert_equal 136, directory.sum { |profile| profile.fetch("example_count") } + assert_equal directory.map { |profile| profile.fetch("name").downcase }.sort, + directory.map { |profile| profile.fetch("name").downcase } + end + + def test_only_stable_author_routes_are_generated + author_pages = site.pages.select { |page| page.data["layout"] == "author" } + urls = author_pages.map(&:url) + + assert_includes urls, "/authors/defold-foundation/" + refute urls.any? { |url| %r{/authors/[0-9a-f]{32}/}.match?(url) } + refute urls.any? { |url| url.include?("maxim-tuprikov") } + assert_empty Dir[File.join(File.expand_path("..", __dir__), "authors", "*.md")] + end +end diff --git a/tests/test_update_imports.py b/tests/test_update_imports.py new file mode 100644 index 0000000000..0e4544430e --- /dev/null +++ b/tests/test_update_imports.py @@ -0,0 +1,69 @@ +import ast +import json +import unittest +from pathlib import Path + + +ROOT = Path(__file__).resolve().parents[1] +UPDATE_SOURCE = (ROOT / "update.py").read_text(encoding="utf-8") +UPDATE_TREE = ast.parse(UPDATE_SOURCE) + + +def function_source(name: str) -> str: + node = next( + item + for item in UPDATE_TREE.body + if isinstance(item, ast.FunctionDef) and item.name == name + ) + return ast.get_source_segment(UPDATE_SOURCE, node) + + +class UpdateImportBoundaryTests(unittest.TestCase): + def test_generated_catalogs_preserve_only_stable_attribution(self): + assets = [ + json.loads(path.read_text(encoding="utf-8")) + for path in (ROOT / "_data" / "assets").glob("*.json") + ] + examples = json.loads( + (ROOT / "_data" / "examplesindex.json").read_text(encoding="utf-8") + ) + + self.assertEqual(316, len(assets)) + self.assertEqual(133, len(examples)) + self.assertTrue(all("author_id" in asset for asset in assets)) + self.assertTrue(all("author" not in asset for asset in assets)) + self.assertTrue(all(item.get("author_ids") for item in examples)) + self.assertTrue( + all("author" not in item and "authors" not in item for item in examples) + ) + self.assertTrue(all("license_url" not in item for item in examples)) + + def test_author_enrichment_is_not_part_of_imports(self): + self.assertNotIn("author_profiles", UPDATE_SOURCE) + self.assertNotIn("enrich_example", UPDATE_SOURCE) + self.assertNotIn("generate_author_outputs", UPDATE_SOURCE) + + def test_asset_and_example_importers_are_independent(self): + self.assertNotIn("examplesindex", function_source("process_assets")) + self.assertNotIn("_data/assets", function_source("process_examples")) + + def test_all_does_not_commit_implicitly(self): + expansion = UPDATE_SOURCE.split('if "all" in args.commands:', 1)[1].split( + "for command in args.commands:", 1 + )[0] + self.assertIn('commands.remove("commit")', expansion) + self.assertNotIn('commands.append("commit")', expansion) + + def test_ci_commits_only_after_complete_validation(self): + workflow = (ROOT / ".github/workflows/update_site.yml").read_text( + encoding="utf-8" + ) + build = workflow.index("name: Build Jekyll site") + pagefind = workflow.index("name: Index site with Pagefind") + commit = workflow.index("name: Commit generated site") + self.assertLess(build, pagefind) + self.assertLess(pagefind, commit) + + +if __name__ == "__main__": + unittest.main() diff --git a/update.py b/update.py index b363a32f7c..f548a85cde 100755 --- a/update.py +++ b/update.py @@ -12,7 +12,6 @@ import re import subprocess import requests -import hashlib import yaml from llms import LLMS_DIR, generate_llms_manuals, generate_llms_apis, generate_llms_examples, path_to_manuals_anchor @@ -39,7 +38,6 @@ EXAMPLES_BUILD_SERVER = "https://build-stage.defold.com/" ASSETINDEX_JSON = os.path.join("_data", "assetindex.json") GAMES_JSON = os.path.join("_data", "games.json") -AUTHORINDEX_JSON = os.path.join("_data", "authorindex.json") TAGINDEX_JSON = os.path.join("_data", "tagindex.json") PLATFORMINDEX_JSON = os.path.join("_data", "platformindex.json") @@ -56,13 +54,6 @@ --- """ -AUTHOR_MD_FRONTMATTER = """--- -layout: author -author: {} -title: {} ---- -""" - TAG_MD_FRONTMATTER = """--- layout: assetportal tag: {} @@ -1025,7 +1016,6 @@ def process_examples(download = False, examples_ref = "master", changed_examples data_index_file = os.path.join("_data", "examplesindex.json") examplesindex = [] - category_dirs = os.listdir(unzipped_examples_dir) for category in category_dirs: category_src_dir = os.path.join(unzipped_examples_dir, category) @@ -1335,18 +1325,10 @@ def process_assets(tmp_dir): asset_collection_dir = "assets" rmmkdir(asset_collection_dir) - # Jekyll authors collection - author_collection_dir = "authors" - rmmkdir(author_collection_dir) - # Jekyll asset data asset_data_dir = os.path.join("_data", "assets") rmmkdir(asset_data_dir) - # Jekyll author data - author_data_dir = os.path.join("_data", "authors") - rmmkdir(author_data_dir) - # Jekyll tag data tag_data_dir = os.path.join("_data", "tags") rmmkdir(tag_data_dir) @@ -1356,7 +1338,6 @@ def process_assets(tmp_dir): rmcopytree(os.path.join(asset_source_dir, "images"), image_dir) assetindex = [] - authorindex = {} tagindex = {} platformindex = {} for filename in find_files(asset_source_dir, "*.json"): @@ -1372,11 +1353,7 @@ def process_assets(tmp_dir): asset = read_as_json(asset_file) fix_tags_case(asset["tags"], asset_id) fix_platforms_case(asset["platforms"]) - author_name = asset["author"] project_url = asset.get("project_url") or asset.get("github_url") or "" - - author_id = hashlib.md5(author_name.encode('utf-8')).hexdigest() - asset["author_id"] = author_id asset["asset_url"] = "https://github.com/defold/asset-portal/blob/master/assets/%s.json" % asset_id asset["project_url"] = project_url asset.pop("github_url", None) @@ -1421,19 +1398,6 @@ def process_assets(tmp_dir): }) platformindex[platform]["assets"].sort(key=lambda x: x.get("id").lower()) - # build author index - if not author_id in authorindex: - authorindex[author_id] = { - "id": author_id, - "name": author_name, - "assets": [] - } - authorindex[author_id]["assets"].append({ - "id": asset_id, - "stars": asset.get("stars") or 0 - }) - authorindex[author_id]["assets"].sort(key=lambda x: x.get("id").lower()) - # generate a dummy markdown page with some front matter for each asset with open(os.path.join(asset_collection_dir, basename.replace(".json", ".md")), "w") as f: asset_name = asset["name"] @@ -1449,19 +1413,6 @@ def process_assets(tmp_dir): assetindex.sort(key=lambda x: x.get("id").lower()) write_as_json(ASSETINDEX_JSON, assetindex, False) - # write author index - authorlist = authorindex.values() - authorlist = sorted(authorlist, key=lambda x: x.get("name").lower()) - write_as_json(AUTHORINDEX_JSON, authorlist, False) - - # write author data and a dummy markdown page with front matter - for author in authorlist: - author["assets"].sort(key=lambda x: x.get("id")) - filename = os.path.join(author_data_dir, author["id"] + ".json") - write_as_json(filename, author, False) - with open(os.path.join(author_collection_dir, author["id"] + ".md"), "w") as f: - f.write(AUTHOR_MD_FRONTMATTER.format(author["id"], author["name"])) - # write tag index taglist = tagindex.values() taglist = sorted(taglist, key=lambda x: x.get("id").lower()) @@ -1838,9 +1789,9 @@ def commit_changes(): commands.extend(ALL_COMMANDS) commands.remove("all") commands.remove("help") - # make sure commit is the last command + # Publishing is deliberately separate: CI validates the complete generated + # site before invoking the commit command. commands.remove("commit") - commands.append("commit") args.commands = commands for command in args.commands: