Jelajahi Sumber

Removed srcset

Björn Ritzl 6 bulan lalu
induk
melakukan
504af45c34
100 mengubah file dengan 378 tambahan dan 377 penghapusan
  1. 2 1
      .wordlist.txt
  2. 6 6
      docs/en/manuals/atlas.md
  3. 9 9
      docs/en/manuals/building-blocks.md
  4. 1 1
      docs/en/manuals/bundling.md
  5. 5 5
      docs/en/manuals/collection-proxy.md
  6. 1 1
      docs/en/manuals/components.md
  7. 3 3
      docs/en/manuals/compute.md
  8. 1 1
      docs/en/manuals/debugging-game-and-system-logs.md
  9. 8 8
      docs/en/manuals/debugging-game-logic.md
  10. 6 6
      docs/en/manuals/editor-scripts-ui.md
  11. 7 7
      docs/en/manuals/editor.md
  12. 7 7
      docs/en/manuals/font.md
  13. 2 2
      docs/en/manuals/gui-box.md
  14. 4 4
      docs/en/manuals/gui-clipping.md
  15. 6 6
      docs/en/manuals/gui-layouts.md
  16. 1 1
      docs/en/manuals/gui-particlefx.md
  17. 2 2
      docs/en/manuals/gui-pie.md
  18. 4 4
      docs/en/manuals/gui-script.md
  19. 5 5
      docs/en/manuals/gui-template.md
  20. 2 2
      docs/en/manuals/gui-text.md
  21. 13 13
      docs/en/manuals/gui.md
  22. 4 4
      docs/en/manuals/hot-reload.md
  23. 1 1
      docs/en/manuals/importing-assets.md
  24. 8 8
      docs/en/manuals/importing-graphics.md
  25. 2 2
      docs/en/manuals/importing-models.md
  26. 2 2
      docs/en/manuals/input-gamepads.md
  27. 1 1
      docs/en/manuals/input-key-and-text.md
  28. 9 9
      docs/en/manuals/input.md
  29. 4 4
      docs/en/manuals/label.md
  30. 9 9
      docs/en/manuals/material.md
  31. 1 1
      docs/en/manuals/model.md
  32. 1 1
      docs/en/manuals/modules.md
  33. 9 9
      docs/en/manuals/particlefx.md
  34. 1 1
      docs/en/manuals/physics-groups.md
  35. 1 1
      docs/en/manuals/physics-objects.md
  36. 4 4
      docs/en/manuals/physics-resolving-collisions.md
  37. 1 1
      docs/en/manuals/physics-shapes.md
  38. 4 4
      docs/en/manuals/profiling.md
  39. 1 1
      docs/en/manuals/project-setup.md
  40. 1 1
      docs/en/manuals/refactoring.md
  41. 1 1
      docs/en/manuals/render.md
  42. 2 2
      docs/en/manuals/script-properties.md
  43. 1 1
      docs/en/manuals/script.md
  44. 8 8
      docs/en/manuals/shader.md
  45. 1 1
      docs/en/manuals/sprite.md
  46. 5 5
      docs/en/manuals/tilemap.md
  47. 4 4
      docs/en/manuals/tilesource.md
  48. 1 1
      docs/en/manuals/version-control.md
  49. 1 1
      docs/en/shared/components.md
  50. 5 5
      docs/en/shared/slice-9-texturing.md
  51. 1 1
      docs/en/tutorials/astronaut.md
  52. 1 1
      docs/en/tutorials/colorslide.md
  53. 1 1
      docs/en/tutorials/getting-started.md
  54. 1 1
      docs/en/tutorials/side-scroller.md
  55. 1 1
      docs/en/tutorials/war-battles.md
  56. 8 8
      docs/es/manuals/building-blocks.md
  57. 1 1
      docs/es/manuals/project-setup.md
  58. 8 8
      docs/gr/manuals/building-blocks.md
  59. 6 6
      docs/pl/manuals/atlas.md
  60. 8 8
      docs/pl/manuals/building-blocks.md
  61. 5 5
      docs/pl/manuals/collection-proxy.md
  62. 1 1
      docs/pl/manuals/components.md
  63. 8 8
      docs/pl/manuals/debugging-game-logic.md
  64. 8 8
      docs/pl/manuals/editor.md
  65. 7 7
      docs/pl/manuals/font.md
  66. 2 2
      docs/pl/manuals/gui-box.md
  67. 4 4
      docs/pl/manuals/gui-clipping.md
  68. 6 6
      docs/pl/manuals/gui-layouts.md
  69. 1 1
      docs/pl/manuals/gui-particlefx.md
  70. 2 2
      docs/pl/manuals/gui-pie.md
  71. 4 4
      docs/pl/manuals/gui-script.md
  72. 5 5
      docs/pl/manuals/gui-template.md
  73. 2 2
      docs/pl/manuals/gui-text.md
  74. 14 14
      docs/pl/manuals/gui.md
  75. 1 1
      docs/pl/manuals/importing-assets.md
  76. 9 9
      docs/pl/manuals/importing-graphics.md
  77. 2 2
      docs/pl/manuals/importing-models.md
  78. 2 2
      docs/pl/manuals/input-gamepads.md
  79. 1 1
      docs/pl/manuals/input-key-and-text.md
  80. 9 9
      docs/pl/manuals/input.md
  81. 4 4
      docs/pl/manuals/label.md
  82. 1 1
      docs/pl/manuals/model.md
  83. 1 1
      docs/pl/manuals/modules.md
  84. 9 9
      docs/pl/manuals/particlefx.md
  85. 1 1
      docs/pl/manuals/physics-groups.md
  86. 1 1
      docs/pl/manuals/physics-objects.md
  87. 4 4
      docs/pl/manuals/physics-resolving-collisions.md
  88. 1 1
      docs/pl/manuals/physics-shapes.md
  89. 1 1
      docs/pl/manuals/project-setup.md
  90. 1 1
      docs/pl/manuals/refactoring.md
  91. 2 2
      docs/pl/manuals/script-properties.md
  92. 1 1
      docs/pl/manuals/script.md
  93. 1 1
      docs/pl/manuals/sprite.md
  94. 5 5
      docs/pl/manuals/tilemap.md
  95. 4 4
      docs/pl/manuals/tilesource.md
  96. 1 1
      docs/pl/shared/components.md
  97. 8 8
      docs/pt/manuals/building-blocks.md
  98. 6 6
      docs/ru/manuals/atlas.md
  99. 8 8
      docs/ru/manuals/building-blocks.md
  100. 1 1
      docs/ru/manuals/bundling.md

+ 2 - 1
.wordlist.txt

@@ -20,4 +20,5 @@ UHD
 scroller
 platformer
 Rodrigo
-Monteiro
+Monteiro
+solvability

+ 6 - 6
docs/en/manuals/atlas.md

@@ -25,11 +25,11 @@ Adding single images
 
   A dialog opens from which you can find and select the images you want to add to the Atlas. Note that you can filter the image files and select multiple files at once.
 
-  ![Creating an atlas, adding images](images/atlas/add.png){srcset="images/atlas/[email protected] 2x"}
+  ![Creating an atlas, adding images](images/atlas/add.png)
 
   The added images are listed in the *Outline* and the full atlas can be seen in the center editor view. You may need to press <kbd>F</kbd> (<kbd>View ▸ Frame Selection</kbd> from the menu) to reframe the selection.
 
-  ![Images added](images/atlas/single_images.png){srcset="images/atlas/[email protected] 2x"}
+  ![Images added](images/atlas/single_images.png)
 
 Adding flipbook animations
 : <kbd>Right click</kbd> the root Atlas entry in the *Outline* pane.
@@ -42,11 +42,11 @@ Adding flipbook animations
 
   A dialog opens from which you can find and select the images you want to add to the animation group.
 
-  ![Creating an atlas, adding images](images/atlas/add_animation.png){srcset="images/atlas/[email protected] 2x"}
+  ![Creating an atlas, adding images](images/atlas/add_animation.png)
 
   Press <kbd>Space</kbd> with the animation group selected to preview it, and <kbd>Ctrl/Cmd+T</kbd> to close the preview. Adjust the *Properties* for the animation as needed (see below).
 
-  ![Animation group](images/atlas/animation_group.png){srcset="images/atlas/[email protected] 2x"}
+  ![Animation group](images/atlas/animation_group.png)
 
 You can reorder the images in the Outline by selecting them and pressing <kbd>Alt + Up/down</kbd>. You can also easily create duplicates by copying and pasting images in the outline (From the <kbd>Edit</kbd> menu, the right click context menu or keyboard shortcuts).
 
@@ -77,7 +77,7 @@ Each image's original name (the file base name) will be transformed using these
 
 Here are examples of the different property settings with four square images of size 64x64 added to an atlas. Notice how the atlas jumps to 256x256 as soon as the images won't fit 128x128, resulting in much wasted texture space.
 
-![Atlas properties](images/atlas/atlas_properties.png){srcset="images/atlas/[email protected] 2x"}
+![Atlas properties](images/atlas/atlas_properties.png)
 
 ## Image properties
 
@@ -98,7 +98,7 @@ Sprite Trim Mode
 Image
 : Path to the image itself.
 
-![Image properties](images/atlas/image_properties.png){srcset="images/atlas/[email protected] 2x"}
+![Image properties](images/atlas/image_properties.png)
 
 ## Animation properties
 

+ 9 - 9
docs/en/manuals/building-blocks.md

@@ -7,7 +7,7 @@ brief: This manual digs into the details of how game objects, components and col
 
 At the core of Defold's design are a few concepts that are very important to get a good grip on. This manual explains what the building blocks of Defold consist of. After having read this manual, move on to the [addressing manual](/manuals/addressing) and the [message passing manual](/manuals/message-passing). There are also a set of [tutorials](/tutorials/getting-started) available from within the editor to get you up and running quickly.
 
-![Building blocks](images/building_blocks/building_blocks.png){srcset="images/building_blocks/[email protected] 2x"}
+![Building blocks](images/building_blocks/building_blocks.png)
 
 There are three basic types of building blocks that you use to construct a Defold game:
 
@@ -28,11 +28,11 @@ When the Defold engine starts, it loads a single _bootstrap collection_ as speci
 
 A collection can contain game objects and other collections (by reference to the sub-collection's file), nested arbitrarily deep. Here is an example file called "main.collection". It contains one game object (with the id "can") and one sub-collection (with the id "bean"). The sub-collection, in turn, contains two game objects: "bean" and "shield".
 
-![Collection](images/building_blocks/collection.png){srcset="images/building_blocks/[email protected] 2x"}
+![Collection](images/building_blocks/collection.png)
 
 Notice that the sub-collection with id "bean" is stored in its own file, called "/main/bean.collection" and is only referenced in "main.collection":
 
-![Bean collection](images/building_blocks/bean_collection.png){srcset="images/building_blocks/[email protected] 2x"}
+![Bean collection](images/building_blocks/bean_collection.png)
 
 You cannot address collections themselves since there are no runtime objects corresponding to the "main" and "bean" collections. However, you sometimes need to use the identity of a collection as part of the _path_ to a game object (See the [addressing manual](/manuals/addressing) for details):
 
@@ -78,29 +78,29 @@ You can see what file an object instance is based on in the outline view. The fi
 2. The "bean" script component in the "bean" game object in the "bean" sub-collection.
 3. The "can" script component in the "can" game object.
 
-![Instance](images/building_blocks/instance.png){srcset="images/building_blocks/[email protected] 2x"}
+![Instance](images/building_blocks/instance.png)
 
 The benefit of creating prototype files becomes apparent when you have multiple instances of a game object or collection and wish to change all of them:
 
-![GO instances](images/building_blocks/go_instance.png){srcset="images/building_blocks/[email protected] 2x"}
+![GO instances](images/building_blocks/go_instance.png)
 
 By changing the prototype file, any instance that uses that file will immediately be updated.
 
-![GO changing prototype](images/building_blocks/go_change_blueprint.png){srcset="images/building_blocks/[email protected] 2x"}
+![GO changing prototype](images/building_blocks/go_change_blueprint.png)
 
 Here the sprite image of the prototype file is changed and immediately all instances using the file are updated:
 
-![GO instances updated](images/building_blocks/go_instance2.png){srcset="images/building_blocks/[email protected] 2x"}
+![GO instances updated](images/building_blocks/go_instance2.png)
 
 ## Childing game objects
 
 In a collection file, you can build hierarchies of game objects so that one or more game objects are children to a single parent game object. By simply <kbd>dragging</kbd> one game object and <kbd>dropping</kbd> it onto another, the dragged game object becomes a child of the target:
 
-![Childing game objects](images/building_blocks/childing.png){srcset="images/building_blocks/[email protected] 2x"}
+![Childing game objects](images/building_blocks/childing.png)
 
 Object parent-child hierarchies is a dynamic relation affecting how objects react to transformations. Any transformation (movement, rotation or scaling) applied to an object will in turn be applied to the object’s children, both in the editor and in runtime:
 
-![Child transform](images/building_blocks/child_transform.png){srcset="images/building_blocks/[email protected] 2x"}
+![Child transform](images/building_blocks/child_transform.png)
 
 Conversely, a child's translations are done in the local space of the parent. In the editor, you can choose to edit a child game object in the local space or world space by selecting <kbd>Edit ▸ World Space</kbd> (the default) or <kbd>Edit ▸ Local Space</kbd>.
 

+ 1 - 1
docs/en/manuals/bundling.md

@@ -21,7 +21,7 @@ Selecting any of the menu options will bring up the Bundle dialog for that speci
 
 When bundling your game there is an option to create a build report. This is very useful to get a grip on the size of all the assets that are part of your game bundle. Simply check the *Generate build report* checkbox when bundling the game.
 
-![build report](images/profiling/build_report.png){srcset="images/profiling/[email protected] 2x"}
+![build report](images/profiling/build_report.png)
 
 To learn more about build reports please refer to the [Profiling manual](/manuals/profiling/#build-reports).
 

+ 5 - 5
docs/en/manuals/collection-proxy.md

@@ -17,7 +17,7 @@ Collection proxies differ from [collection factory components](/manuals/collecti
 
 2. Set the *Collection* property to reference a collection that you wish to dynamically load into the runtime at a later point. The reference is static and makes sure that all the content of the referenced collection end up in the final game.
 
-![add proxy component](images/collection-proxy/create_proxy.png){srcset="images/collection-proxy/[email protected] 2x"}
+![add proxy component](images/collection-proxy/create_proxy.png)
 
 (You can exclude the content in the build and download it with code instead by checking the *Exclude* box and using the [Live update feature](/manuals/live-update/).)
 
@@ -25,13 +25,13 @@ Collection proxies differ from [collection factory components](/manuals/collecti
 
 When the Defold engine starts it loads and instantiates all game objects from a *bootstrap collection* into the runtime. It then initializes and enables the game objects and their components. Which bootstrap collection the engine should use is set in the [project settings](/manuals/project-settings/#main-collection). By convention this collection file is usually named "main.collection".
 
-![bootstrap](images/collection-proxy/bootstrap.png){srcset="images/collection-proxy/[email protected] 2x"}
+![bootstrap](images/collection-proxy/bootstrap.png)
 
 To fit the game objects and their components the engine allocates the memory needed for the whole "game world" into which the contents of the bootstrap collection are instantiated. A separate physics world is also created for any collision objects and physics simulation.
 
 Since script components need to be able to address all objects in the game, even from outside the bootstrap world, it is given a unique name: the *Name* property that you set in the collection file:
 
-![bootstrap](images/collection-proxy/collection_id.png){srcset="images/collection-proxy/[email protected] 2x"}
+![bootstrap](images/collection-proxy/collection_id.png)
 
 If the collection that is loaded contains collection proxy components, the collections that those refer to are *not* loaded automatically. You need to control the loading of these resources through scripts.
 
@@ -44,7 +44,7 @@ Dynamically loading a collection via proxy is done by sending a message called `
 msg.post("#myproxy", "load")
 ```
 
-![load](images/collection-proxy/proxy_load.png){srcset="images/collection-proxy/[email protected] 2x"}
+![load](images/collection-proxy/proxy_load.png)
 
 The proxy component will instruct the engine to allocate space for a new world. A separate runtime physics world is also created and all the game objects in the collection "mylevel.collection" are instantiated.
 
@@ -90,7 +90,7 @@ The *Name* set in the collection file properties is used to address game objects
 msg.post("main:/loader#script", "load_level", { level_id = 2 })
 ```
 
-![load](images/collection-proxy/message_passing.png){srcset="images/collection-proxy/[email protected] 2x"}
+![load](images/collection-proxy/message_passing.png)
 
 ## Unloading a world
 

+ 1 - 1
docs/en/manuals/components.md

@@ -77,7 +77,7 @@ Each component is assigned a [material](/manuals/material/) and each material ha
 ### Component z-value
 All game objects and components are positioned in 3D space with positions expressed as vector3 objects. When you view your game's graphics content in 2D, the X and Y value determine the position of an object along the "width" and "height" axis, and the Z position determines the position along the "depth" axis. The Z position allows you to control the visibility of overlapping objects: a sprite with a Z value of 1 will appear in front of a sprite at Z position 0. By default, Defold uses a coordinate system allowing Z values between -1 and 1:
 
-![model](images/graphics/z-order.png){srcset="images/graphics/[email protected] 2x"}
+![model](images/graphics/z-order.png)
 
 The components matching a [render predicate](/manuals/render/#render-predicates) are drawn together, and the order in which they are drawn depends on the final z-value of the component. The final z-value of a component is the sum of the z-values of the component itself, the game object it belongs to and the z-value of any parent game objects.
 

+ 3 - 3
docs/en/manuals/compute.md

@@ -52,11 +52,11 @@ The GPU executes the compute shader by launching many invocations across multipl
 
 To create a compute program, <kbd>right click</kbd> a target folder in the *Assets* browser and select <kbd>New... ▸ Compute</kbd>. (You can also select <kbd>File ▸ New...</kbd> from the menu, and then select <kbd>Compute</kbd>). Name the new compute file and press <kbd>Ok</kbd>.
 
-![Compute file](images/compute/compute_file.png){srcset="images/compute/[email protected] 2x"}
+![Compute file](images/compute/compute_file.png)
 
 The new compute will open in the *Compute Editor*.
 
-![Compute editor](images/compute/compute.png){srcset="images/compute/[email protected] 2x"}
+![Compute editor](images/compute/compute.png)
 
 The compute file contains the following information:
 
@@ -74,7 +74,7 @@ Samplers
 
 In contrast to materials, compute programs are not assigned to any components, and are not part of the normal render flow. A compute program must be `dispatched` in a render script to do any work. Before dispatching however, you need to make sure the render script has a reference to the compute program. Currently, the only way for a render script to know about the compute program is to add it into the .render file that holds the reference to your render script:
 
-![Compute render file](images/compute/compute_render_file.png){srcset="images/compute/[email protected] 2x"}
+![Compute render file](images/compute/compute_render_file.png)
 
 To use the compute program, it first needs to be bound to the render context. This is done in the same way as materials:
 

+ 1 - 1
docs/en/manuals/debugging-game-and-system-logs.md

@@ -98,7 +98,7 @@ iOS
 
   Click the cog icon below the list and select <kbd>Download Container...</kbd>.
 
-  ![download container](images/debugging/download_container.png){srcset="images/debugging/[email protected] 2x"}
+  ![download container](images/debugging/download_container.png)
 
   Once the container has been extracted it will be shown in *Finder*. Right click the container and select <kbd>Show Package Content</kbd>. Locate the file "log.txt", which should be located in "AppData/Documents/".
 

+ 8 - 8
docs/en/manuals/debugging-game-logic.md

@@ -40,7 +40,7 @@ Note that you probably want to update this data every frame so posting the messa
 
 To run the debugger, either <kbd>Debug ▸ Run with Debugger</kbd> which starts up the game with the debugger attached, or select <kbd>Debug ▸ Attach Debugger</kbd> to attach the debugger to an already running game.
 
-![overview](images/debugging/overview.png){srcset="images/debugging/[email protected] 2x"}
+![overview](images/debugging/overview.png)
 
 As soon as the debugger is attached, you have control of the execution of the game through the debugger control buttons in the console, or through the <kbd>Debug</kbd> menu:
 
@@ -48,13 +48,13 @@ Break
 : ![pause](images/debugging/pause.svg){width=60px .left}
   Break execution of the game immediately. The game will break at its current point. You are now able to inspect the state of the game, advance the game step by step, or continue running it until the next breakpoint. The current point of execution is marked in the code editor:
 
-  ![script](images/debugging/script.png){srcset="images/debugging/[email protected] 2x"}
+  ![script](images/debugging/script.png)
 
 Continue
 : ![play](images/debugging/play.svg){width=60px .left}
   Continue running the game. The game code will continue to run until you either press pause or the execution hits a breakpoint that you have set. If execution breaks at a set breakpoint, the the execution point is marked in the code editor on top of the breakpoint marker:
 
-  ![break](images/debugging/break.png){srcset="images/debugging/[email protected] 2x"}
+  ![break](images/debugging/break.png)
 
 Stop
 : ![stop](images/debugging/stop.svg){width=60px .left}
@@ -64,7 +64,7 @@ Step Over
 : ![step over](images/debugging/step_over.svg){width=60px .left}
   Advance execution of the program one step. If the execution involves running another Lua function, the execution _will not step into the function_ but continue running and stop on the next line below the function call. In this example, if the user presses "step over", the debugger will execute code and stop at the `end` statement below the line with the call to the function `nextspawn()`:
 
-  ![step](images/debugging/step.png){srcset="images/debugging/[email protected] 2x"}
+  ![step](images/debugging/step.png)
 
 ::: sidenote
 A line of Lua code does not correspond to a single expression. Stepping in the debugger moves ahead one expression at a time, meaning that currently you may have to hit the step button more than once to advance to the next line.
@@ -74,7 +74,7 @@ Step Into
 : ![step in](images/debugging/step_in.svg){width=60px .left}
   Advance execution of the program one step. If the execution involves running another Lua function, the execution _will step into the function_. Calling the function adds an entry to the call stack. You can click each entry in the call stack list to view the entry point and the content of all variables in that closure. Here, the user has stepped into the function `nextspawn()`:
 
-  ![step into](images/debugging/step_into.png){srcset="images/debugging/[email protected] 2x"}
+  ![step into](images/debugging/step_into.png)
 
 Step Out
 : ![step out](images/debugging/step_out.svg){width=60px .left}
@@ -83,21 +83,21 @@ Step Out
 Setting and clearing breakpoints
 : You can set an arbitrary number of breakpoints in your Lua code. When the game runs with the debugger attached, it will stop execution at the next breakpoint it encounters and wait for further interaction from you.
 
-  ![add breakpoint](images/debugging/add_breakpoint.png){srcset="images/debugging/[email protected] 2x"}
+  ![add breakpoint](images/debugging/add_breakpoint.png)
 
   To set or clear a breakpoint, click in the column just right of the line numbers in the code editor. You can also select <kbd>Edit ▸ Toggle Breakpoint</kbd> from the menu.
 
 Setting conditional breakpoints
 : You can configure your breakpoint to contain a condition that needs to evaluate to true for the breakpoint to trigger. The condition can access local variables available at the line during code execution.
 
-  ![edit breakpoint](images/debugging/edit_breakpoint.png){srcset="images/debugging/[email protected] 2x"}
+  ![edit breakpoint](images/debugging/edit_breakpoint.png)
 
   To edit the breakpoint condition, right-click in the column just right of the line numbers in the code editor, or select <kbd>Edit ▸ Edit Breakpoint</kbd> from the menu.
 
 Evaluating Lua expressions
 : With the debugger attached and the game stopped at a breakpoint, a Lua runtime is available with the current context. Type Lua expressions in the bottom of the console and press <kbd>Enter</kbd> to evaluate them:
 
-  ![console](images/debugging/console.png){srcset="images/debugging/[email protected] 2x"}
+  ![console](images/debugging/console.png)
 
   It is currently not possible to modify variables through the evaluator.
 

+ 6 - 6
docs/en/manuals/editor-scripts-ui.md

@@ -46,7 +46,7 @@ return M
 
 This code snippet defines a **View → Do with confirmation** command. When you execute it, you will see the following dialog:
 
-![Hello world dialog](images/editor_scripts/perform_action_dialog.png){srcset="images/editor_scripts/[email protected] 2x"}
+![Hello world dialog](images/editor_scripts/perform_action_dialog.png)
 
 Finally, after pressing <kbd>Enter</kbd> (or clicking on the `Perform` button), you'll see the following line in the editor console:
 ```
@@ -76,7 +76,7 @@ editor.ui.label({
 ```
 The visible part is the `Hello` text, and it's aligned within the assigned component bounds:
 
-![Alignment](images/editor_scripts/alignment.png){srcset="images/editor_scripts/[email protected] 2x"}
+![Alignment](images/editor_scripts/alignment.png)
 
 ## Built-in components
 
@@ -86,7 +86,7 @@ The editor defines various built-in components that can be used together to buil
 
 Layout components are used for placing other components next to each other. Main layout components are **`horizontal`**, **`vertical`** and **`grid`**. These components also define props such as **padding** and **spacing**, where padding is an empty space from the edge of the assigned bounds to the content, and spacing is an empty space between children:
 
-![Padding and Spacing](images/editor_scripts/padding_and_spacing.png){srcset="images/editor_scripts/[email protected] 2x"}
+![Padding and Spacing](images/editor_scripts/padding_and_spacing.png)
 
 Editor defines `small`, `medium` and `large` padding and spacing constants. When it comes to spacing, `small` is intended for spacing between different sub-elements of an individual UI element, `medium` is for spacing between individual UI elements, and `large` is a spacing between groups of elements. Default spacing is `medium`. With paddings, `large` means padding from the edges of the window to content, `medium` is padding from the edges of a significant UI element, and `small` is a padding from the edges of small UI elements like context menus and tooltips (not implemented yet).
 
@@ -119,7 +119,7 @@ editor.ui.grid({
 ```
 The code above will produce the following dialog form:
 
-![New Level Dialog](images/editor_scripts/new_level_dialog.png){srcset="images/editor_scripts/[email protected] 2x"}
+![New Level Dialog](images/editor_scripts/new_level_dialog.png)
 
 ### Data presentation components
 
@@ -184,7 +184,7 @@ When issue is specified, it changes how the input component looks, and adds a to
 
 Here is a demo of all inputs with their issue variants:
 
-![Inputs](images/editor_scripts/inputs_demo.png){srcset="images/editor_scripts/[email protected] 2x"}
+![Inputs](images/editor_scripts/inputs_demo.png)
 
 ### Dialog-related components
 
@@ -258,7 +258,7 @@ end
 
 When you execute a menu command that runs this code, the editor will show a dialog with disabled `"Create File"` dialog at the start, but, when you type a name and press <kbd>Enter</kbd>, it will become enabled:
 
-![New File Dialog](images/editor_scripts/reactive_new_file_dialog.png){srcset="images/editor_scripts/[email protected] 2x"}
+![New File Dialog](images/editor_scripts/reactive_new_file_dialog.png)
 
 So, how does it work? On the very first render, `use_state` hook creates a local state associated with the component and returns it with a setter for the state. When the setter function is invoked, it schedules a component re-render. On subsequent re-renders, the component function is invoked again, and `use_state` returns the updated state. New view component returned by the component function is then diffed against the old one, and the UI is updated where the changes were detected.
 

+ 7 - 7
docs/en/manuals/editor.md

@@ -17,7 +17,7 @@ Home
 New Project
 : Click if you want to create a new Defold project, then select if you want to base your project on a basic template (from the *From Template* tab), if you would like to follow a tutorial (the *From Tutorial* tab), or try one of the sample projects (the *From Sample* tab).
 
-  ![new project](images/editor/new_project.png){srcset="images/editor/[email protected] 2x"}
+  ![new project](images/editor/new_project.png)
 
   When you create a new project it is stored on your local drive and any edits you do are saved locally.
 
@@ -78,7 +78,7 @@ If your project uses the distributed version-control system Git this view lists
 
 If you have multiple files open, a separate tab for each file is shown at the top of the editor view. It is possible to open 2 editor views side by side. <kbd>Right click</kbd> the tab for the editor you want to move and select <kbd>Move to Other Tab Pane</kbd>.
 
-![2 panes](images/editor/2-panes.png){srcset="images/editor/[email protected] 2x"}
+![2 panes](images/editor/2-panes.png)
 
 You can also use the tab menu to swap the position of the two panes and join them to a single pane.
 
@@ -136,11 +136,11 @@ To create new resource files, either select <kbd>File ▸ New...</kbd> and then
 
 <kbd>Right click</kbd> the target location in the *Assets* browser, then select <kbd>New... ▸ [file type]</kbd>:
 
-![create file](images/editor/create_file.png){srcset="images/editor/[email protected] 2x"}
+![create file](images/editor/create_file.png)
 
 Type a suitable name for the new file. The full file name including the file type suffix is shown under *Path* in the dialog:
 
-![create file name](images/editor/create_file_name.png){srcset="images/editor/[email protected] 2x"}
+![create file name](images/editor/create_file_name.png)
 
 It is possible to specify custom templates for each project. To do so, create a new folder named `templates` in the project’s root directory, and add new files named `default.*` with the desired extensions, such as `/templates/default.gui` or `/templates/default.script`. Additionally, if the `{{NAME}}` token is used in these files, it will be replaced with the filename specified in the file creation window.
 
@@ -148,15 +148,15 @@ It is possible to specify custom templates for each project. To do so, create a
 
 To add asset files (images, sounds, models etc) to your project, simply drag and drop them to the correct position in the *Assets* browser. This will make _copies_ of the files at the selected location in the project file structure. Read more about [how to import assets in our manual](/manuals/importing-assets/).
 
-![Import files](images/editor/import.png){srcset="images/editor/[email protected] 2x"}
+![Import files](images/editor/import.png)
 
 ## Updating the editor
 
 The editor will automatically check for updates. When an update is detected it will be shown in the lower right corner of the editor window and on the project selection screen. Pressing the Update Available link will download and update the editor.
 
-![Update from project selection](images/editor/update-project-selection.png){srcset="images/editor/[email protected] 2x"}
+![Update from project selection](images/editor/update-project-selection.png)
 
-![Update from editor](images/editor/update-main.png){srcset="images/editor/[email protected] 2x"}
+![Update from editor](images/editor/update-main.png)
 
 ## Preferences
 

+ 7 - 7
docs/en/manuals/font.md

@@ -25,11 +25,11 @@ It is possible to [generate font glyphs at runtime](/extension-fontgen) from a b
 
 To create a font for use in Defold, create a new Font file by selecting <kbd>File ▸ New...</kbd> from the menu, then select <kbd>Font</kbd>. You can also <kbd>right click</kbd> a location in the *Assets* browser and select <kbd>New... ▸ Font</kbd>.
 
-![New font name](images/font/new_font_name.png){srcset="images/font/[email protected] 2x"}
+![New font name](images/font/new_font_name.png)
 
 Give the new font file a name and click <kbd>Ok</kbd>. The new font file now opens in the editor.
 
-![New font](images/font/new_font.png){srcset="images/font/[email protected] 2x"}
+![New font](images/font/new_font.png)
 
 Drag the font you wish to use into the *Assets* browser and drop it in a good spot.
 
@@ -103,7 +103,7 @@ space ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E
 
 Distance field fonts store the distance to the edge of the glyph in the texture instead of bitmap data. When the engine renders the font, a special shader is required to interpret the distance data and use that to draw the glyph. Distance field fonts are more resource intensive than bitmap fonts, but allow for greater sizing flexibility.
 
-![Distance field font](images/font/df_font.png){srcset="images/font/[email protected] 2x"}
+![Distance field font](images/font/df_font.png)
 
 Make sure to change the *Material* property of the font to *builtins/fonts/font-df.material* (or any other material that can handle the distance field data) when you create the font---or the font will not use the correct shader when it is rendered to screen.
 
@@ -125,7 +125,7 @@ To create a BMFont, you need to use a tool that can generate the appropriate fil
 * [bmGlyph](https://www.bmglyph.com), a commercial macOS tool from Sovapps.
 :::
 
-![BMfont](images/font/bm_font.png){srcset="images/font/[email protected] 2x"}
+![BMfont](images/font/bm_font.png)
 
 For the font to render correctly, don't forget to set the material property to *builtins/fonts/font-fnt.material* when you create the font.
 
@@ -135,15 +135,15 @@ Generally, bitmap fonts are best when the font is rendered with no scaling. They
 
 Distance field fonts respond very good to upscaling. Bitmap fonts, on the other hand, being just pixelated images will increase in size so the pixels will grow as the font is scaled, resulting in blocky artifacts. The following is a sample at font size 48 pixels, scaled up 4 times.
 
-![Fonts scaled up](images/font/scale_up.png){srcset="images/font/[email protected] 2x"}
+![Fonts scaled up](images/font/scale_up.png)
 
 When scaling down, bitmap textures can be nicely and efficiently scaled down and antialiased by the GPU. A bitmap font keeps its color better than a distance field font. Here is a zoom of the same sample font at size 48 pixels, scaled down to 1/5 of the size:
 
-![Fonts scaled down](images/font/scale_down.png){srcset="images/font/[email protected] 2x"}
+![Fonts scaled down](images/font/scale_down.png)
 
 Distance field fonts need to be rendered to a target size that is big enough to hold distance information that can express the curves of the font glyphs. This is the same font as above, but at 18 pixels size and scaled up 10 times. It is clear that this is too small to encode the shapes of this typeface:
 
-![Distance field artifacts](images/font/df_artifacts.png){srcset="images/font/[email protected] 2x"}
+![Distance field artifacts](images/font/df_artifacts.png)
 
 If you don't want shadow or outline support, set their respective alpha values to zero. Otherwise, shadow and outline data will still be generated, taking up unnecessary memory.
 

+ 2 - 2
docs/en/manuals/gui-box.md

@@ -13,11 +13,11 @@ Add new box nodes by either <kbd>right clicking</kbd> in the *Outline* and selec
 
 You can use images and animations from atlases or tile sources that has been added to the GUI. You add textures by <kbd>right clicking</kbd> the *Textures* folder icon in the *Outline* and selecting <kbd>Add ▸ Textures...</kbd>. Then set the *Texture* property on the box node:
 
-![Textures](images/gui-box/create.png){srcset="images/gui-box/[email protected] 2x"}
+![Textures](images/gui-box/create.png)
 
 Note that the color of the box node will tint the graphics. The tint color is multiplied onto the image data, meaning that if you set the color to white (the default) no tint is applied.
 
-![Tinted texture](images/gui-box/tinted.png){srcset="images/gui-box/[email protected] 2x"}
+![Tinted texture](images/gui-box/tinted.png)
 
 Box nodes are always rendered, even if they do not have a texture assigned to them, or have their alpha set to `0`, or are sized `0, 0, 0`. Box nodes should always have a texture assigned to them so the renderer can batch them properly and reduce the number of draw-calls.
 

+ 4 - 4
docs/en/manuals/gui-clipping.md

@@ -24,7 +24,7 @@ Clipping Inverted
 
 Then add the node(s) you want to be clipped as children to the clipping node.
 
-![Create clipping](images/gui-clipping/create.png){srcset="images/gui-clipping/[email protected] 2x"}
+![Create clipping](images/gui-clipping/create.png)
 
 ## Stencil mask
 
@@ -34,7 +34,7 @@ Clipping works by having nodes writing to a *stencil buffer*. This buffer contai
 - If a clipping node has a clipper parent it will instead clip the parent's clipping mask. A clipping child node can never _extend_ the current clipping mask, only clip it further.
 - Non clipper nodes that are children to clippers will be rendered with the clipping mask created by the parent hierarchy.
 
-![Clipping hierarchy](images/gui-clipping/setup.png){srcset="images/gui-clipping/[email protected] 2x"}
+![Clipping hierarchy](images/gui-clipping/setup.png)
 
 Here, three nodes are set up in a hierarchy:
 
@@ -44,7 +44,7 @@ Here, three nodes are set up in a hierarchy:
 
 Four combinations of normal and inverted clippers are possible for this hierarchy. The green area marks the part of the circle that is rendered. The rest is masked:
 
-![Stencil masks](images/gui-clipping/modes.png){srcset="images/gui-clipping/[email protected] 2x"}
+![Stencil masks](images/gui-clipping/modes.png)
 
 ## Stencil limitations
 
@@ -63,7 +63,7 @@ Layers can be used to control rendering order (and batching) of nodes. When usin
 A clipping node and its hierarchy will be drawn first if it has a layer assigned and in the regular order if no layer is assigned.
 :::
 
-![Layers and clipping](images/gui-clipping/layers.png){srcset="images/gui-clipping/[email protected] 2x"}
+![Layers and clipping](images/gui-clipping/layers.png)
 
 In this example, both the clipper nodes "Donut BG" and "BG" are using the same layer 1. The render order between them will be according to the same order in the hierarchy where "Donut BG" is rendered before "BG". However, the child node "Donut Shadow" is assigned to the layer 2 which has a higher layer order and thus will be rendered after the both clipping nodes. In this case, the render order will be:
 

+ 6 - 6
docs/en/manuals/gui-layouts.md

@@ -24,11 +24,11 @@ Height
 Device Models
 : A comma separated list of device models. The device model matches the start of the device model name, e.g. `iPhone10` will match "iPhone10,\*" models. Model names with commas should be enclosed in quotes, i.e. `"iPhone10,3", "iPhone10,6"` matches iPhone X models (see https://www.theiphonewiki.com/wiki/Models). Note that the only platforms reporting a device model when calling `sys.get_sys_info()` is Android and iOS. Other platforms return an empty string and will therefore never pick a display profile that has a device model qualifier.
 
-![New display profiles](images/gui-layouts/new_profiles.png){srcset="images/gui-layouts/[email protected] 2x"}
+![New display profiles](images/gui-layouts/new_profiles.png)
 
 You also need to specify that the engine should use your new profiles. Open *game.project* and select the display profiles file in the *Display Profiles* setting under *display*:
 
-![Settings](images/gui-layouts/settings.png){srcset="images/gui-layouts/[email protected] 2x"}
+![Settings](images/gui-layouts/settings.png)
 
 If you want the engine to automatically switch between portrait and landscape layouts on device rotation, check the *Dynamic Orientation* box. The engine will dynamically select a matching layout and also change the selection if the device changes orientation.
 
@@ -36,17 +36,17 @@ If you want the engine to automatically switch between portrait and landscape la
 
 The current set of display profiled can be used to create layout variants of your GUI node setup. To add a new layout to a GUI scene, right-click the *Layouts* icon in the *Outline* view and select <kbd>Add ▸ Layout ▸ ...</kbd>:
 
-![Add layout to scene](images/gui-layouts/add_layout.png){srcset="images/gui-layouts/[email protected] 2x"}
+![Add layout to scene](images/gui-layouts/add_layout.png)
 
 When editing a GUI scene, all nodes are edited on a particular layout. The currently selected layout is indicated in the GUI scene layout dropdown in the toolbar. If no layout is chosen, the nodes are edited in the *Default* layout.
 
-![Layouts toolbar](images/gui-layouts/toolbar.png){srcset="images/gui-layouts/[email protected] 2x"}
+![Layouts toolbar](images/gui-layouts/toolbar.png)
 
-![portrait edit](images/gui-layouts/portrait.png){srcset="images/gui-layouts/[email protected] 2x"}
+![portrait edit](images/gui-layouts/portrait.png)
 
 Each change to a node property that you do with a layout selected _overrides_ the property in respect to the *Default* layout. Properties that are overridden are marked in blue. Nodes with overridden properties are also marked in blue. You can click on the reset button next to any overridden property to reset it to the original value.
 
-![landscape edit](images/gui-layouts/landscape.png){srcset="images/gui-layouts/[email protected] 2x"}
+![landscape edit](images/gui-layouts/landscape.png)
 
 A layout cannot delete or create new nodes, only override properties. If you need to remove a node from a layout you can either move the node off-screen or delete it with script logic. You should also pay attention to the currently selected layout. If you add a layout to your project, the new layout will be set up according to the currently selected layout. Also, copying and pasting nodes considers the currently selected layout, when copying *and* when pasting.
 

+ 1 - 1
docs/en/manuals/gui-particlefx.md

@@ -13,7 +13,7 @@ Add new particle nodes by either <kbd>right clicking</kbd> in the *Outline* and
 
 You can use particle effects that you have added to the GUI as source for the effect. Add particle effects by <kbd>right clicking</kbd> the *Particle FX* folder icon in the *Outline* and selecting <kbd>Add ▸ Particle FX...</kbd>. Then set the *Particlefx* property on the node:
 
-![Particle fx](images/gui-particlefx/create.png){srcset="images/gui-particlefx/[email protected] 2x"}
+![Particle fx](images/gui-particlefx/create.png)
 
 ## Controlling the effect
 

+ 2 - 2
docs/en/manuals/gui-pie.md

@@ -11,7 +11,7 @@ Pie nodes are used to create circular or ellipsoid objects ranging from plain ci
 
 <kbd>Right click</kbd> the *Nodes* section in the *Outline* and select <kbd>Add ▸ Pie</kbd>. The new pie node is selected and you can modify its properties.
 
-![Create pie node](images/gui-pie/create.png){srcset="images/gui-pie/[email protected] 2x"}
+![Create pie node](images/gui-pie/create.png)
 
 The following properties are unique to pie nodes:
 
@@ -30,7 +30,7 @@ Perimeter Vertices
 Pie Fill Angle
 : How much of the pie should be filled. Expressed as a counter-clockwise angle starting from the right.
 
-![Properties](images/gui-pie/properties.png){srcset="images/gui-pie/[email protected] 2x"}
+![Properties](images/gui-pie/properties.png)
 
 If you set a texture on the node, the texture image is applied flat, with the corners of the texture correlating to the corners of the node bounding box.
 

+ 4 - 4
docs/en/manuals/gui-script.md

@@ -47,7 +47,7 @@ end
 
 To attach the script to a GUI component, open the GUI component prototype file (also known as "prefabs" or "blueprints" in other engines) and select the root in the *Outline* to bring up GUI *Properties*. Set the *Script* property to the script file
 
-![Script](images/gui-script/set_script.png){srcset="images/gui-script/[email protected] 2x"}
+![Script](images/gui-script/set_script.png)
 
 If the GUI component has been added to a game object somewhere in your game, the script will now run.
 
@@ -79,13 +79,13 @@ local stats = { score = 4711, stars = 3, health = 6 }
 msg.post("hud#gui", "set_stats", stats)
 ```
 
-![message passing](images/gui-script/message_passing.png){srcset="images/gui-script/[email protected] 2x"}
+![message passing](images/gui-script/message_passing.png)
 
 ## Addressing nodes
 
 GUI nodes can be manipulated by a GUI script attached to the component. Each node must have a unique *Id* that is set in the editor:
 
-![message passing](images/gui-script/node_id.png){srcset="images/gui-script/[email protected] 2x"}
+![message passing](images/gui-script/node_id.png)
 
 The *Id* allows a script to get hold of a reference to the node and manipulate it with the [gui namespace functions](/ref/gui):
 
@@ -114,7 +114,7 @@ gui.set_font(new_textnode, "sourcesans")
 gui.set_color(new_textnode, vmath.vector4(0.69, 0.6, 0.8, 1.0))
 ```
 
-![dynamic node](images/gui-script/dynamic_nodes.png){srcset="images/gui-script/[email protected] 2x"}
+![dynamic node](images/gui-script/dynamic_nodes.png)
 
 The alternative way to create new nodes is to clone an existing node with the `gui.clone()` function or a tree of nodes with the `gui.clone_tree()` function:
 

+ 5 - 5
docs/en/manuals/gui-template.md

@@ -13,7 +13,7 @@ A GUI template is a GUI scene that is instantiated, node for node, in another GU
 
 A GUI template is a plain GUI scene so it is created just like any other GUI scene. <kbd>Right click</kbd> a location in the *Assets* pane and select <kbd>New... ▸ Gui</kbd>.
 
-![Create template](images/gui-templates/create.png){srcset="images/gui-templates/[email protected] 2x"}
+![Create template](images/gui-templates/create.png)
 
 Create the template and save it. Note that the nodes of the instance will be placed relative to origin so it is a good idea to create the template at position 0, 0, 0.
 
@@ -21,21 +21,21 @@ Create the template and save it. Note that the nodes of the instance will be pla
 
 You can create any number of instances based on the instance. Create or open the GUI scene where you want to place the template, then <kbd>right click</kbd> the *Nodes* section in the *Outline* and select <kbd>Add ▸ Template</kbd>.
 
-![Create instance](images/gui-templates/create_instance.png){srcset="images/gui-templates/[email protected] 2x"}
+![Create instance](images/gui-templates/create_instance.png)
 
 Set the *Template* property to the template GUI scene file.
 
 You can add any number of template instances, and for each instance you can override the properties of each node and change instance node's position, coloring, size, texture and so forth.
 
-![Instances](images/gui-templates/instances.png){srcset="images/gui-templates/[email protected] 2x"}
+![Instances](images/gui-templates/instances.png)
 
 Any property that you change is marked blue in the editor. Press the reset button by the property to set its value to the template value:
 
-![Properties](images/gui-templates/properties.png){srcset="images/gui-templates/[email protected] 2x"}
+![Properties](images/gui-templates/properties.png)
 
 Any node that has overridden properties is also colored blue in the *Outline*:
 
-![Outline](images/gui-templates/outline.png){srcset="images/gui-templates/[email protected] 2x"}
+![Outline](images/gui-templates/outline.png)
 
 The template instance is listed as a collapsible entry in the *Outline* view. However, it is important to note that this item in the outline *is not a node*. The template instance does not exist in runtime either, but all nodes that are part of the instance does.
 

+ 2 - 2
docs/en/manuals/gui-text.md

@@ -11,7 +11,7 @@ Defold supports a specific type of GUI node that allows text to be rendered in a
 
 The fonts that you wish to use in GUI text nodes must be added to the GUI component. Either right-click the *Fonts* folder, use the <kbd>GUI</kbd> top menu or press the corresponding keyboard shortcut.
 
-![Fonts](images/gui-text/fonts.png){srcset="images/gui-text/[email protected] 2x"}
+![Fonts](images/gui-text/fonts.png)
 
 Text nodes have a set of special properties:
 
@@ -37,7 +37,7 @@ By setting the node pivot you can change the alignment mode for the text.
 *Right*
 : If the pivot is set to any of the `East` modes, the text is right-aligned.
 
-![Text alignment](images/gui-text/align.png){srcset="images/gui-text/[email protected] 2x"}
+![Text alignment](images/gui-text/align.png)
 
 ## Modifying text nodes in runtime
 

+ 13 - 13
docs/en/manuals/gui.md

@@ -19,17 +19,17 @@ GUI components are rendered independently of the game view. Because of this it i
 
 GUI components are created from a GUI scene prototype file (also known as "prefabs" or "blueprints" in other engines). To create a new GUI component, <kbd>right click</kbd> a location in the *Assets* browser and select <kbd>New ▸ Gui</kbd>. Type a name for the new GUI file and press <kbd>Ok</kbd>.
 
-![New gui file](images/gui/new_gui_file.png){srcset="images/gui/[email protected] 2x"}
+![New gui file](images/gui/new_gui_file.png)
 
 Defold now automatically opens the file in the GUI scene editor.
 
-![New gui](images/gui/new_gui.png){srcset="images/gui/[email protected] 2x"}
+![New gui](images/gui/new_gui.png)
 
 The *Outline* lists all the GUI's content: it's list of nodes and any dependencies (see below).
 
 The central editing area shows the GUI. The toolbar in the top right corner of the editing area contains *Move*, *Rotate* and *Scale* tools, as well as a [layout](/manuals/gui-layouts) selector.
 
-![toolbar](images/gui/toolbar.png){srcset="images/gui/[email protected] 2x"}
+![toolbar](images/gui/toolbar.png)
 
 A white rectangle shows the bounds of the currently selected layout, of the default display width and height as set in the project settings.
 
@@ -171,7 +171,7 @@ ParticleFX node
 
 Add nodes by right-clicking on the *Nodes* folder and selecting <kbd>Add ▸</kbd> and then <kbd>Box</kbd>, <kbd>Text</kbd>, <kbd>Pie</kbd>, <kbd>Template</kbd> or <kbd>ParticleFx</kbd>.
 
-![Add nodes](images/gui/add_node.png){srcset="images/gui/[email protected] 2x"}
+![Add nodes](images/gui/add_node.png)
 
 You can also press <kbd>A</kbd> and select the type you want to add to the GUI.
 
@@ -263,14 +263,14 @@ Pivot
 
   Possible values are `Center`, `North`, `South`, `East`, `West`, `North West`, `North East`, `South West` or `South East`.
 
-  ![pivot point](images/gui/pivot.png){srcset="images/gui/[email protected] 2x"}
+  ![pivot point](images/gui/pivot.png)
 
   If you change the pivot of a node, the node will be moved so that the new pivot will be at the node's position. Text nodes are aligned so that `Center` sets the text center-aligned, `West` sets the text left-aligned and `East` sets the text right-aligned.
 
 X Anchor, Y Anchor
 : Anchoring controls how the node's vertical and horizontal position is altered when the scene boundaries, or the parent node's boundaries are stretched to fit the physical screen size.
 
-  ![Anchor unadjusted](images/gui/anchoring_unadjusted.png){srcset="images/gui/[email protected] 2x"}
+  ![Anchor unadjusted](images/gui/anchoring_unadjusted.png)
 
   The following anchoring modes are available:
 
@@ -278,14 +278,14 @@ X Anchor, Y Anchor
   - `Left` or `Right` (*X Anchor*) scales the horizontal position of the node so it keeps the position from the left and right edges of the parent node or scene at the same percentage.
   - `Top` or `Bottom` (*Y Anchor*) scales the vertical position of the node so it keeps the position from the top and bottom edges of the parent node or scene at the same percentage.
 
-  ![Anchoring](images/gui/anchoring.png){srcset="images/gui/[email protected] 2x"}
+  ![Anchoring](images/gui/anchoring.png)
 
 Adjust Mode
 : Sets the adjust mode for the node. The adjust mode setting controls what happens to a node when the scene boundaries, or the parent node's boundaries, are adjusted to fit the physical screen size.
 
   A node created in a scene where the logical resolution is a typical landscape resolution:
 
-  ![Unadjusted](images/gui/unadjusted.png){srcset="images/gui/[email protected] 2x"}
+  ![Unadjusted](images/gui/unadjusted.png)
 
   Fitting the scene to a portrait screen causes the scene to be stretched. Each node's bounding box is similarly stretched. However, by setting the adjust mode, the aspect ratio of the node's content can be kept intact. The following modes are available:
 
@@ -293,7 +293,7 @@ Adjust Mode
   - `Zoom` scales the node content so that it is equal to the stretched bounding box width or height, whichever is largest. In other words, the content will fully cover the stretched node bounding box.
   - `Stretch` stretches the node content so it fills the stretched node bounding box.
 
-  ![Adjust modes](images/gui/adjusted.png){srcset="images/gui/[email protected] 2x"}
+  ![Adjust modes](images/gui/adjusted.png)
 
   If the GUI scene property *Adjust Reference* is set to `Disabled`, this setting will be ignored.
 
@@ -357,7 +357,7 @@ If we change the Pivot point from Center to West for the box on the left and to
 
 All nodes are rendered in the order they are listed under the "Nodes" folder. The node at the top of the list is drawn first and will thus appear behind every other node. The last node in the list is drawn last, meaning it will appear in front of all other nodes. Altering the Z-value on a node does not control its draw order; however, if you set the Z-value outside of your render script's render range the node will no longer be rendered to screen. You can override the index ordering of nodes with layers (see below).
 
-![Draw order](images/gui/draw_order.png){srcset="images/gui/[email protected] 2x"}
+![Draw order](images/gui/draw_order.png)
 
 Select a node and press <kbd>Alt + Up/Down</kbd> to move a node up or down and change its index order.
 
@@ -376,7 +376,7 @@ end
 
 A node is made the child of another node by dragging it onto the node that you wish to be the child's parent. A node with a parent inherits the transform (position, rotation and scale) applied to the parent and relative to the parent pivot.
 
-![Parent child](images/gui/parent_child.png){srcset="images/gui/[email protected] 2x"}
+![Parent child](images/gui/parent_child.png)
 
 Parents are drawn before their children. Use layers to change the draw order of parent and child nodes and to optimize the rendering of nodes (see below).
 
@@ -394,13 +394,13 @@ If a node differs from the previous one on any of these points, it will break th
 
 The ability to arrange nodes in hierarchies makes it easy to group nodes into manageable units. But hierarchies can effectively break batch rendering if you mix different node types:
 
-![Breaking batch hierarchy](images/gui/break_batch.png){srcset="images/gui/[email protected] 2x"}
+![Breaking batch hierarchy](images/gui/break_batch.png)
 
 When the rendering pipeline walks through the list of nodes, it is forced to set up a separate batch for each separate node because the types are different. All in all these three buttons will require six draw calls.
 
 By assigning layers to the nodes, they can be ordered differently, allowing the render pipeline to group the nodes together in fewer draw calls. Start by adding the layers you need to the scene. <kbd>Right click</kbd> the "Layers" folder icon in the *Outline* and select <kbd>Add ▸ Layer</kbd>. Mark the new layer and assign it a *Name* property in the *Properties* view.
 
-![Layers](images/gui/layers.png){srcset="images/gui/[email protected] 2x"}
+![Layers](images/gui/layers.png)
 
 Then set the *Layer* property on each node to the corresponding layer. The layer drawing order takes precedence over the regular indexed node order, so setting the button graphics box-nodes to "graphics" and the button text nodes to "text" will result in the following draw order:
 

+ 4 - 4
docs/en/manuals/hot-reload.md

@@ -18,23 +18,23 @@ Start your game from the editor (<kbd>Project ▸ Build</kbd>).
 
 To then reload an updated resource  simply select the menu item <kbd>File ▸ Hot Reload</kbd> or press the corresponding shortcut on the keyboard:
 
-![Reloading resources](images/hot-reload/menu.png){srcset="images/hot-reload/[email protected] 2x"}
+![Reloading resources](images/hot-reload/menu.png)
 
 ## Hot reloading on device
 
 Hot reloading works on device as well as on desktop. To use it on device, run a debug build of your game, or the [development app](/manuals/dev-app) on your mobile device, then chose it as target in the editor:
 
-![target device](images/hot-reload/target.png){srcset="images/hot-reload/[email protected] 2x"}
+![target device](images/hot-reload/target.png)
 
 Now when you build and run, the editor uploads all assets to the running app on the device and starts the game. From thereon, any file you hot reload will update on the device.
 
 For instance, to add a couple of buttons to a GUI that is being displayed in a running game on your phone, just open the GUI file:
 
-![reload gui](images/hot-reload/gui.png){srcset="images/hot-reload/[email protected] 2x"}
+![reload gui](images/hot-reload/gui.png)
 
 Add the new buttons, save and hot reload the GUI file. You can now see the new buttons on the phone screen:
 
-![reloaded gui](images/hot-reload/gui-reloaded.png){srcset="images/hot-reload/[email protected] 2x"}
+![reloaded gui](images/hot-reload/gui-reloaded.png)
 
 When you hot reload a file, the engine will print each reloaded resource file in the console.
 

+ 1 - 1
docs/en/manuals/importing-assets.md

@@ -12,7 +12,7 @@ A game project usually consists of a large number of external assets that are pr
 
 Defold needs all the assets used in your project to be located somewhere in the project hierarchy. You therefore need to import all assets before you can use them. To import assets, simply drag the files from the file system on your computer and drop them in an appropriate place in the Defold editor *Assets pane*.
 
-![Importing files](images/graphics/import.png){srcset="images/graphics/[email protected] 2x"}
+![Importing files](images/graphics/import.png)
 
 ::: sidenote
 Defold supports images in the PNG and JPEG image formats. PNG images must be in 32 bit RGBA format. Other image formats need to be converted before they can be used.

+ 8 - 8
docs/en/manuals/importing-graphics.md

@@ -7,7 +7,7 @@ brief: This manual covers how to import and use 2D graphics.
 
 Defold supports many kinds of visual components frequently used in 2D games. You can use Defold to create static and animated sprites, UI components, particle effects, tile maps and bitmap fonts. Before you can create any of these visual components you need to import image files with the graphics that you wish to use. To import image files you simply drag the files from the file system on your computer and drop them in an appropriate place in the Defold editor *Assets pane*.
 
-![Importing files](images/graphics/import.png){srcset="images/graphics/[email protected] 2x"}
+![Importing files](images/graphics/import.png)
 
 ::: sidenote
 Defold supports images in the PNG and JPEG image formats. Other image formats need to be converted before they can be used.
@@ -21,14 +21,14 @@ When the images are imported into Defold they can be used to create Defold speci
 ![atlas](images/icons/atlas.png){.icon} Atlas
 : An atlas contains a list of separate images files, which are automatically combined into a larger texture image. Atlases can contain still images and *Animation Groups*, sets of images that together form a flipbook animation.
 
-  ![atlas](images/graphics/atlas.png){srcset="images/graphics/[email protected] 2x"}
+  ![atlas](images/graphics/atlas.png)
 
 Learn more about the atlas resource in the [Atlas manual](/manuals/atlas).
 
 ![tile source](images/icons/tilesource.png){.icon} Tile Source
 : A tile source references an image file that is already made out to consist of smaller sub-images ordered on a uniform grid. Another term commonly used for this type of compound image is _sprite sheet_. Tile sources can contain flipbook animations, defined by the first and last tile for the animation. It is also possible to use an image to automatically attach collision shapes to tiles.
 
-  ![tile source](images/graphics/tilesource.png){srcset="images/graphics/[email protected] 2x"}
+  ![tile source](images/graphics/tilesource.png)
 
 Learn more about the tile source resource in the [Tile source manual](/manuals/tilesource).
 
@@ -37,7 +37,7 @@ Learn more about the tile source resource in the [Tile source manual](/manuals/t
 
 Learn more about bitmap fonts in the [Fonts manual](/manuals/font/#bitmap-bmfonts).
 
-  ![BMfont](images/font/bm_font.png){srcset="images/font/[email protected] 2x"}
+  ![BMfont](images/font/bm_font.png)
 
 
 ## Using Defold assets
@@ -47,27 +47,27 @@ When you have converted the images into Atlas and Tile Source files you can use
 ![sprite](images/icons/sprite.png){.icon}
 : A sprite is either a static image or flipbook animation that is displayed on screen.
 
-  ![sprite](images/graphics/sprite.png){srcset="images/graphics/[email protected] 2x"}
+  ![sprite](images/graphics/sprite.png)
 
 Learn more about sprites in the [Sprite manual](/manuals/sprite).
 
 ![tile map](images/icons/tilemap.png){.icon} Tile map
 : A tilemap component pieces together a map from tiles (image and collision shapes) that come from a tile source. Tile maps cannot use atlas sources.
 
-  ![tilemap](images/graphics/tilemap.png){srcset="images/graphics/[email protected] 2x"}
+  ![tilemap](images/graphics/tilemap.png)
 
 Learn more about tilemaps in the [Tilemap manual](/manuals/tilemap).
 
 ![particle effect](images/icons/particlefx.png){.icon} Particle fx
 : Particles that are spawned from a particle emitter consist of a still image or a flipbook animation from an atlas or tile source.
 
-  ![particles](images/graphics/particles.png){srcset="images/graphics/[email protected] 2x"}
+  ![particles](images/graphics/particles.png)
 
 Learn more about particle effects in the [Particle fx manual](/manuals/particlefx).
 
 ![gui](images/icons/gui.png){.icon} GUI
 : GUI box nodes and pie nodes can use still images and flipbook animations from atlases and tile sources.
 
-  ![gui](images/graphics/gui.png){srcset="images/graphics/[email protected] 2x"}
+  ![gui](images/graphics/gui.png)
 
 Learn more about GUIs in the [GUI manual](/manuals/gui).

+ 2 - 2
docs/en/manuals/importing-models.md

@@ -6,13 +6,13 @@ brief: This manual covers how to import 3D models used by the model component.
 # Importing 3D models
 Defold currently support models, skeletons and animations in GL Transmission Format *.glTF* and Collada *.dae* format. You can use tools such as Maya, 3D Max, Sketchup and Blender to create and/or convert 3D models into glTF and Collada format. Blender is a powerful and popular 3D modeling, animation and rendering program. It runs on Windows, macOS and Linux and is freely available for download at http://www.blender.org
 
-![Model in Blender](images/model/blender.png){srcset="images/model/[email protected] 2x"}
+![Model in Blender](images/model/blender.png)
 
 
 ## Importing to Defold
 To import the model, simply drag and drop the *.gltf* file or *.dae* file and the corresponding texture image into the *Assets Pane* somewhere.
 
-![Imported model assets](images/model/assets.png){srcset="images/model/[email protected] 2x"}
+![Imported model assets](images/model/assets.png)
 
 
 ## Using a model

+ 2 - 2
docs/en/manuals/input-gamepads.md

@@ -107,7 +107,7 @@ end
 ## Gamepads settings file
 Gamepad input setup uses a separate mapping file for each hardware gamepad type. Gamepad mappings for specific hardware gamepads are set in a *gamepads* file. Defold ships with a built-in gamepads file with settings for common gamepads:
 
-![Gamepad settings](images/input/gamepads.png){srcset="images/input/[email protected] 2x"}
+![Gamepad settings](images/input/gamepads.png)
 
 If you need to create a new gamepad settings file, we have a simple tool to help:
 
@@ -121,7 +121,7 @@ It includes binaries for Windows, Linux and macOS. Run it from the command line:
 
 The tool will ask you to press different buttons on your connected controller. It will then output a new gamepads file with correct mappings for your controller. Save the new file, or merge it with your existing gamepads file, then update the setting in *game.project*:
 
-![Gamepad settings](images/input/gamepad_setting.png){srcset="images/input/[email protected] 2x"}
+![Gamepad settings](images/input/gamepad_setting.png)
 
 ### Unidentified gamepads
 (From Defold 1.2.186)

+ 1 - 1
docs/en/manuals/input-key-and-text.md

@@ -47,7 +47,7 @@ end
 ## Marked text
 The `marked-text` is used primarily for Asian keyboards where multiple keypresses can map to single inputs. For example, with the iOS "Japanese-Kana" keyboard, the user can type combinations and the top of the keyboard will display available symbols or sequences of symbols that can be entered.
 
-![Input marked text](images/input/marked_text.png){srcset="images/input/[email protected] 2x"}
+![Input marked text](images/input/marked_text.png)
 
 - Each keypress generates a separate action and sets the action field `text` to the currently entered sequence of symbols (the "marked text").
 - When the user selects a symbol or symbol combination, a separate `text` type trigger action is sent (provided that one is set up in the input binding list). The separate action sets the action field `text` to the final sequence of symbols.

+ 9 - 9
docs/en/manuals/input.md

@@ -9,7 +9,7 @@ All user input is captured by the engine and dispatched as actions to script- an
 
 The input system uses a set of simple and powerful concepts, allowing you to manage input as you see fit for your game.
 
-![Input bindings](images/input/overview.png){srcset="images/input/[email protected] 2x"}
+![Input bindings](images/input/overview.png)
 
 Devices
 : Input devices that are either part of, or plugged into, your computer or mobile device provide raw system level input to the Defold runtime. The following device types are supported:
@@ -38,11 +38,11 @@ Consuming input
 
 The input bindings is a project wide table that allows you to specify how device input should translate into named *actions* before they are dispatched to your script components and GUI scripts. You can create a new input binding file, <kbd>right click</kbd> a location in the *Assets* view and select <kbd>New... ▸ Input Binding</kbd>. To make the engine use the new file, change the *Game Binding* entry in *game.project*.
 
-![Input binding setting](images/input/setting.png){srcset="images/input/[email protected] 2x"}
+![Input binding setting](images/input/setting.png)
 
 A default input binding file is automatically created with all new project templates so there is usually no need to create a new binding file. The default file is called "game.input_binding" and can be found in the "input" folder in the project root. <kbd>Double click</kbd> the file to open it in the editor:
 
-![Input set bindings](images/input/input_binding.png){srcset="images/input/[email protected] 2x"}
+![Input set bindings](images/input/input_binding.png)
 
 To create a new binding, click the <kbd>+</kbd> button at the bottom of the relevant trigger type section. Each entry has two fields:
 
@@ -94,7 +94,7 @@ msg.post(".", "acquire_input_focus")
 
 This message instructs the engine to add input capable components (script components, GUI components and collection proxies) in the game objects to the *input stack*. The game object components are put on top of the input stack; the component that is added last will be top of the stack. Note that if the game object contains more than one input capable component, all components will be added to the stack:
 
-![Input stack](images/input/input_stack.png){srcset="images/input/[email protected] 2x"}
+![Input stack](images/input/input_stack.png)
 
 If a game object that has already acquired input focus does so again, its component(s) will be moved to the top of the stack.
 
@@ -103,7 +103,7 @@ If a game object that has already acquired input focus does so again, its compon
 
 Input actions are dispatched according to the input stack, from the top to the bottom.
 
-![Action dispatch](images/input/actions.png){srcset="images/input/[email protected] 2x"}
+![Action dispatch](images/input/actions.png)
 
 Any component that is on the stack containing an `on_input()` function will have that function called, once for each input action during the frame, with the following arguments:
 
@@ -137,7 +137,7 @@ end
 
 Each game world that is dynamically loaded through a collection proxy has its own input stack. For action dispatch to reach the loaded world's input stack, the proxy component must be on the main world's input stack. All components on a loaded world's stack are handled before dispatch continues down the main stack:
 
-![Action dispatch to proxies](images/input/proxy.png){srcset="images/input/[email protected] 2x"}
+![Action dispatch to proxies](images/input/proxy.png)
 
 ::: important
 It is a common error to forget to send `acquire_input_focus` to the game object holding the collection proxy component. Skipping this step prevents input from reaching any of the components on the loaded world's input stack.
@@ -161,11 +161,11 @@ A component's `on_input()` can actively control whether actions should be passed
 - If `on_input()` returns `false`, or a return is omitted (this implies a `nil` return which is a false value in Lua) input actions will be passed on to the next component on the input stack.
 - If `on_input()` returns `true` input is consumed. No component further down the input stack will receive the input. Note that this applies to *all* input stacks. A component on a proxy-loaded world's stack can consume input preventing components on the main stack to receive input:
 
-![consuming input](images/input/consuming.png){srcset="images/input/[email protected] 2x"}
+![consuming input](images/input/consuming.png)
 
 There are many good use cases where input consumption provides a simple and powerful way to shift input between different parts of a game. For example, if you need a pop-up menu that temporarily is the only part of the game that listens to input:
 
-![consuming input](images/input/game.png){srcset="images/input/[email protected] 2x"}
+![consuming input](images/input/game.png)
 
 The pause menu is initially hidden (disabled) and when the player touches the "PAUSE" HUD item, it is enabled:
 
@@ -182,7 +182,7 @@ function on_input(self, action_id, action)
 end
 ```
 
-![pause menu](images/input/game_paused.png){srcset="images/input/[email protected] 2x"}
+![pause menu](images/input/game_paused.png)
 
 The pause menu GUI acquires input focus and consumes input, preventing any input other than what's relevant for the pop-up menu:
 

+ 4 - 4
docs/en/manuals/label.md

@@ -11,15 +11,15 @@ A *Label* component renders a piece of text on screen, in game space. By default
 
 To create a Label component, <kbd>right click</kbd> the game object and selecting <kbd>Add Component ▸ Label</kbd>.
 
-![Add label](images/label/add_label.png){srcset="images/label/[email protected] 2x"}
+![Add label](images/label/add_label.png)
 
 (If you want to instantiate several labels from the same template you can alternatively make a new label component file: <kbd>right click</kbd> a folder in the *Assets* browser and select <kbd>New... ▸ Label</kbd>, then add the file as component to any game objects)
 
-![New label](images/label/label.png){srcset="images/label/[email protected] 2x"}
+![New label](images/label/label.png)
 
 Set the *Font* property to the font you want to use and make sure to set the *Material* property to a material that matches the font type:
 
-![Font and material](images/label/font_material.png){srcset="images/label/[email protected] 2x"}
+![Font and material](images/label/font_material.png)
 
 ## Label properties
 
@@ -81,7 +81,7 @@ By setting the *Pivot* property you can change the alignment mode for the text.
 *Right*
 : If the pivot is set to any of the `East` modes, the text is right-aligned.
 
-![Text alignment](images/label/align.png){srcset="images/label/[email protected] 2x"}
+![Text alignment](images/label/align.png)
 
 ## Runtime manipulation
 

+ 9 - 9
docs/en/manuals/material.md

@@ -16,11 +16,11 @@ A material holds _tags_, information that is used in the rendering pipeline to s
 
 To create a material, <kbd>right click</kbd> a target folder in the *Assets* browser and select <kbd>New... ▸ Material</kbd>. (You can also select <kbd>File ▸ New...</kbd> from the menu, and then select <kbd>Material</kbd>). Name the new material file and press <kbd>Ok</kbd>.
 
-![Material file](images/materials/material_file.png){srcset="images/materials/[email protected] 2x"}
+![Material file](images/materials/material_file.png)
 
 The new material will open in the *Material Editor*.
 
-![Material editor](images/materials/material.png){srcset="images/materials/[email protected] 2x"}
+![Material editor](images/materials/material.png)
 
 The material file contains the following information:
 
@@ -160,11 +160,11 @@ Configuring a vertex attribute to be repeated per instance requires that the `St
 
 As a simple example, the following scene has four game objects with a model component each:
 
-![Instancing setup](images/materials/instancing-setup.png){srcset="images/materials/[email protected] 2x"}
+![Instancing setup](images/materials/instancing-setup.png)
 
 The material is configured as such, with a single custom vertex attribute that is repeated per instance:
 
-![Instancing material](images/materials/instancing-material.png){srcset="images/materials/[email protected] 2x"}
+![Instancing material](images/materials/instancing-material.png)
 
 The vertex shader has multiple per-instance attributes specified:
 
@@ -184,7 +184,7 @@ Note that the mtx_world and mtx_normal will be configured to use the step functi
 
 To verify that the instancing works in this case, you can look at the web profiler. In this case, since the only thing that changes between the instances of the box is the per-instance attributes, it can be rendered with a single draw call:
 
-![Instancing draw calls](images/materials/instancing-draw-calls.png){srcset="images/materials/[email protected] 2x"}
+![Instancing draw calls](images/materials/instancing-draw-calls.png)
 
 #### Backwards compatibility
 
@@ -245,7 +245,7 @@ Samplers are used to sample the color information from a texture (a tile source
 
 Sprite, tilemap, GUI and particle effect components automatically gets a `sampler2D` set. The first declared `sampler2D` in the shader program is automatically bound to the image referenced in the graphics component. Therefore there is currently no need to specify any samplers in the materials file for those components. Furthermore, those component types currently only support a single texture. (If you need multiple textures in a shader, you can use [`render.enable_texture()`](/ref/render/#render.enable_texture) and set texture samplers manually from your render script.)
 
-![Sprite sampler](images/materials/sprite_sampler.png){srcset="images/materials/[email protected] 2x"}
+![Sprite sampler](images/materials/sprite_sampler.png)
 
 ```glsl
 -- mysprite.fp
@@ -259,11 +259,11 @@ void main()
 
 You can specify a component's sampler settings by adding the sampler by name in the materials file. If you don't set up your sampler in the materials file, the global *graphics* project settings are used.
 
-![Sampler settings](images/materials/my_sampler.png){srcset="images/materials/[email protected] 2x"}
+![Sampler settings](images/materials/my_sampler.png)
 
 For model components, you need to specify your samplers in the material file with the settings you want. The editor will then allow you to set textures for any model component that use the material:
 
-![Model samplers](images/materials/model_samplers.png){srcset="images/materials/[email protected] 2x"}
+![Model samplers](images/materials/model_samplers.png)
 
 ```glsl
 -- mymodel.fp
@@ -278,7 +278,7 @@ void main()
 }
 ```
 
-![Model](images/materials/model.png){srcset="images/materials/[email protected] 2x"}
+![Model](images/materials/model.png)
 
 ## Sampler settings
 

+ 1 - 1
docs/en/manuals/model.md

@@ -44,7 +44,7 @@ Apart from the properties *Id*, *Position* and *Rotation* the following componen
 
 With the model component in place you are free to edit and manipulate the component and/or the encapsulating game object with the regular *Scene Editor* tools to move, rotate and scale the model to your liking.
 
-![Wiggler ingame](images/model/ingame.png){srcset="images/model/[email protected] 2x"}
+![Wiggler ingame](images/model/ingame.png)
 
 ## Runtime manipulation
 

+ 1 - 1
docs/en/manuals/modules.md

@@ -11,7 +11,7 @@ Lua modules allow you to structure your project and create reusable library code
 
 Lua code stored in files with file ending ".lua" somewhere in your game project structure can be required into script and gui script files. To create a new Lua module file, right click the folder you want to create it in in the *Assets* view, then select <kbd>New... ▸ Lua Module</kbd>. Give the file a unique name and press <kbd>Ok</kbd>:
 
-![new file](images/modules/new_name.png){srcset="images/modules/[email protected] 2x"}
+![new file](images/modules/new_name.png)
 
 Suppose the following code is added to the file "main/anim.lua":
 

+ 9 - 9
docs/en/manuals/particlefx.md

@@ -7,7 +7,7 @@ brief: This manual explains how the particle fx component works and how to edit
 
 Particle effects are used to visually enhance games. You can use them to create explosions, blood splatter, trails, weather or any other effect.
 
-![ParticleFX Editor](images/particlefx/editor.png){srcset="images/particlefx/[email protected] 2x"}
+![ParticleFX Editor](images/particlefx/editor.png)
 
 Particle effects consists of a number of emitters and optional modifiers:
 
@@ -23,15 +23,15 @@ Select <kbd>New... ▸ Particle FX</kbd> from the context menu in the *Assets* b
 
 The *Outline* pane shows the default emitter. Select the emitter to bring up its properties in the *Properties* pane below.
 
-![Default particles](images/particlefx/default.png){srcset="images/particlefx/[email protected] 2x"}
+![Default particles](images/particlefx/default.png)
 
 To add a new emitter to the effect, <kbd>right click</kbd> the root of the *Outline* and select <kbd>Add Emitter ▸ [type]</kbd> from the context menu. Note that you can change the type of the emitter in the emitter properties.
 
 To add a new modifier, <kbd>right click</kbd> the location of the modifier in the *Outline* (the effect root or a particular emitter) and select <kbd>Add Modifier</kbd>, then select the modifier type.
 
-![Add modifier](images/particlefx/add_modifier.png){srcset="images/particlefx/[email protected] 2x"}
+![Add modifier](images/particlefx/add_modifier.png)
 
-![Add modifier select](images/particlefx/add_modifier_select.png){srcset="images/particlefx/[email protected] 2x"}
+![Add modifier select](images/particlefx/add_modifier_select.png)
 
 A modifier that sits on the effect root (not childed to an emitter) affects all particles in the effect.
 
@@ -106,7 +106,7 @@ Emitter Type
 
   - `Cone` emits particles from a random location inside a 3D cone. The particles are directed out through the top disc of the cone. *Emitter Size X* defines the diameter of the top disc and *Y* defines the height of the cone.
 
-  ![emitter types](images/particlefx/emitter_types.png){srcset="images/particlefx/[email protected] 2x"}
+  ![emitter types](images/particlefx/emitter_types.png)
 
 Particle Orientation
 : How the emitted particles are oriented:
@@ -127,15 +127,15 @@ Stretch With Velocity
 
 These properties have two fields: a value and a spread. The spread is a variation which is applied randomly for each spawned particle. E.g. if the value is 50 and the spread is 3, each spawned particle will get a value between 47 and 53 (50 +/- 3).
 
-![Property](images/particlefx/property.png){srcset="images/particlefx/[email protected] 2x"}
+![Property](images/particlefx/property.png)
 
 By checking the key button, the value of the property is controlled by a curve over the duration of the emitter. To reset a keyed property, uncheck the key button.
 
-![Property keyed](images/particlefx/key.png){srcset="images/particlefx/[email protected] 2x"}
+![Property keyed](images/particlefx/key.png)
 
 The *Curve Editor* (available among the tabs in the bottom view) is used to modify the curve. Keyed properties can't be edited in the *Properties* view, only in the *Curve Editor*. <kbd>Click and drag</kbd> the points and tangents to modify the shape of the curve. <kbd>Double-click</kbd> on the curve to add control points. To remove a control point, <kbd>double click</kbd> on it.
 
-![ParticleFX Curve Editor](images/particlefx/curve_editor.png){srcset="images/particlefx/[email protected] 2x"}
+![ParticleFX Curve Editor](images/particlefx/curve_editor.png)
 
 To auto-zoom the Curve Editor to display all curves, press <kbd>F</kbd>.
 
@@ -201,7 +201,7 @@ There are four types of modifiers available that affect the velocity of particle
 `Vortex`
 : Affects particles in a circular or spiraling direction around its position.
 
-  ![modifiers](images/particlefx/modifiers.png){srcset="images/particlefx/[email protected] 2x"}
+  ![modifiers](images/particlefx/modifiers.png)
 
 ## Modifier properties
 

+ 1 - 1
docs/en/manuals/physics-groups.md

@@ -9,7 +9,7 @@ The physics engine allows you to group your physics objects and filter how they
 
 For a collision between two objects to register both objects must mutually specify each other's groups in their *Mask* field.
 
-![Physics collision group](images/physics/collision_group.png){srcset="images/physics/[email protected] 2x"}
+![Physics collision group](images/physics/collision_group.png)
 
 The *Mask* field can contain multiple group names, allowing for complex interaction scenarios.
 

+ 1 - 1
docs/en/manuals/physics-objects.md

@@ -31,7 +31,7 @@ To add a collision object component to a game object:
 3. Use the move, rotate and scale tools to edit the shapes.
 4. Select the component in the *Outline* and edit the collision object's *Properties*.
 
-![Physics collision object](images/physics/collision_object.png){srcset="images/physics/[email protected] 2x"}
+![Physics collision object](images/physics/collision_object.png)
 
 
 ## Adding a collision shape

+ 4 - 4
docs/en/manuals/physics-resolving-collisions.md

@@ -19,7 +19,7 @@ end
 
 This code will separate your kinematic object from other physics object it penetrates, but the separation often overshoots and you will see jitter in many cases. To understand the problem better, consider the following case where a player character has collided with two objects, *A* and *B*:
 
-![Physics collision](images/physics/collision_multi.png){srcset="images/physics/[email protected] 2x"}
+![Physics collision](images/physics/collision_multi.png)
 
 The physics engine will send multiple `"contact_point_response"` message, one for object *A* and one for object *B* the frame the collision occurs. If you move the character in response to each penetration, as in the naive code above, the resulting separation would be:
 
@@ -28,17 +28,17 @@ The physics engine will send multiple `"contact_point_response"` message, one fo
 
 The order of these is arbitrary but the result is the same either way: a total separation that is the *sum of the individual penetration vectors*:
 
-![Physics separation naive](images/physics/separation_naive.png){srcset="images/physics/[email protected] 2x"}
+![Physics separation naive](images/physics/separation_naive.png)
 
 To properly separate the character from objects *A* and *B*, you need to handle each contact point's penetration distance and check if any previous separations have already, wholly or partially, solved the separation.
 
 Suppose that the first contact point message comes from object *A* and that you move the character out by *A*'s penetration vector:
 
-![Physics separation step 1](images/physics/separation_step1.png){srcset="images/physics/[email protected] 2x"}
+![Physics separation step 1](images/physics/separation_step1.png)
 
 Then the character has already been partially separated from *B*. The final compensation necessary to perform full separation from object *B* is indicated by the black arrow above. The length of the compensation vector can be calculated by projecting the penetration vector of *A* onto the penetration vector of *B*:
 
-![Projection](images/physics/projection.png){srcset="images/physics/[email protected] 2x"}
+![Projection](images/physics/projection.png)
 
 ```
 l = vmath.project(A, B) * vmath.length(B)

+ 1 - 1
docs/en/manuals/physics-shapes.md

@@ -44,7 +44,7 @@ To add collision to a tile map:
 3. Instead of adding shapes to the component, set the *Collision Shape* property to the *tilemap* file.
 4. Set up the collision object component *Properties* as usual.
 
-![Tilesource collision](images/physics/collision_tilemap.png){srcset="images/physics/[email protected] 2x"}
+![Tilesource collision](images/physics/collision_tilemap.png)
 
 ::: important
 Note that the *Group* property is **not** used here since the collision groups are defined in the tile map's tile source.

+ 4 - 4
docs/en/manuals/profiling.md

@@ -92,11 +92,11 @@ Resources view
 ## Build reports
 When bundling your game there is an option to create a build report. This is very useful to get a grip on the size of all the assets that are part of your game bundle. Simply check the *Generate build report* checkbox when bundling the game.
 
-![build report](images/profiling/build_report.png){srcset="images/profiling/[email protected] 2x"}
+![build report](images/profiling/build_report.png)
 
 The builder will produce a file called "report.html" alongside the game bundle. Open the file in a web browser to inspect the report:
 
-![build report](images/profiling/build_report_html.png){srcset="images/profiling/[email protected] 2x"}
+![build report](images/profiling/build_report_html.png)
 
 The *Overview* gives an over all visual breakdown of the project size based on resource type.
 
@@ -118,14 +118,14 @@ ProFi (Lua)
 Instruments (macOS and iOS)
 : This is a performance analyzer and visualizer that is part of Xcode. It allows you to trace and inspect the behavior of one or more apps or processes, examine device specific features (like Wi-Fi and Bluetooth) and much more.
 
-  ![instruments](images/profiling/instruments.png){srcset="images/profiling/[email protected] 2x"}
+  ![instruments](images/profiling/instruments.png)
 
 OpenGL profiler (macOS)
 : Part of the package "Additional Tools for Xcode" that you can download from Apple (select <kbd>Xcode ▸ Open Developer Tool ▸ More Developer Tools...</kbd> in the Xcode menu).
 
   This tool allows you to inspect a running Defold application and see how it uses OpenGL. It allows you to do traces of OpenGL function calls, set breakpoints on OpenGL functions, investigate application resources (textures, programs, shaders etc), look at buffer contents, and check other aspects of the OpenGL state.
 
-  ![opengl profiler](images/profiling/opengl.png){srcset="images/profiling/[email protected] 2x"}
+  ![opengl profiler](images/profiling/opengl.png)
 
 Android Profiler (Android)
 : https://developer.android.com/studio/profile/android-profiler.html

+ 1 - 1
docs/en/manuals/project-setup.md

@@ -11,7 +11,7 @@ You can easily create a new project from within the Defold editor. You also have
 
 Click the <kbd>New Project</kbd> option and select what kind of project you would like to create. Specify a location on your hard drive where the project files will be stored. Click <kbd>Create New Project</kbd> to create the project in the location you've chosen. You can create a new project from a Template:
 
-![open project](images/workflow/open_project.png){srcset="images/workflow/[email protected] 2x"}
+![open project](images/workflow/open_project.png)
 
 Or from a Tutorial with step by step instructions:
 

+ 1 - 1
docs/en/manuals/refactoring.md

@@ -15,6 +15,6 @@ Automatic refactoring will only work if changes are made from within the editor.
 
 However, if you break a reference by, for instance, deleting an asset, the editor can't resolve the problem, but will provide helpful error signals. For example, if you delete an animation from an atlas and that animation is in use somewhere, Defold will signal an error when you try to start the game. The editor will also mark where the errors occur to help you quickly locate the problem:
 
-![Refactoring error](images/workflow/delete_error.png){srcset="images/workflow/[email protected] 2x"}
+![Refactoring error](images/workflow/delete_error.png)
 
 Build errors appear in the *Build Errors* pane at the bottom of the editor. <kbd>Double clicking</kbd> an error takes you to the location of the problem.

+ 1 - 1
docs/en/manuals/render.md

@@ -20,7 +20,7 @@ At the heart of the rendering pipeline is the _render script_. This is a Lua scr
 
 In the "Builtins" folder of your projects you can find the default render resource ("default.render") and the default render script ("default.render_script").
 
-![Builtin render](images/render/builtin.png){srcset="images/render/[email protected] 2x"}
+![Builtin render](images/render/builtin.png)
 
 To set up a custom renderer:
 

+ 2 - 2
docs/en/manuals/script-properties.md

@@ -49,11 +49,11 @@ end
 
 Any script component instance created from this script can then set the property values.
 
-![Component with properties](images/script-properties/component.png){srcset="images/script-properties/[email protected] 2x"}
+![Component with properties](images/script-properties/component.png)
 
  Select the script component in the *Outline* view in the editor and the properties appear in the *Properties* view allowing you to edit them:
 
-![Properties](images/script-properties/properties.png){srcset="images/script-properties/[email protected] 2x"}
+![Properties](images/script-properties/properties.png)
 
 Any property that is overridden with a new instance specific value is marked blue. Click the reset button by the property name to revert the value to the default (as set in the script).
 

+ 1 - 1
docs/en/manuals/script.md

@@ -192,4 +192,4 @@ The preprocessor is available as a build extension. Learn more about how to inst
 
 The Defold editor supports Lua script editing with syntax coloring and auto-completion. To fill out Defold function names, press *Ctrl+Space* to bring up a list of the functions matching what you are typing.
 
-![Auto completion](images/script/completion.png){srcset="images/script/[email protected] 2x"}
+![Auto completion](images/script/completion.png)

+ 8 - 8
docs/en/manuals/shader.md

@@ -46,12 +46,12 @@ World matrix
 
   When a model is placed in the game world the model's local vertex coordinates must be translated to world coordinates. This translation is done by a *world transform matrix*, which tells what  translation (movement), rotation and scale should be applied to a model's vertices to be correctly placed in the game world's coordinate system.
 
-  ![World transform](images/shader/world_transform.png){srcset="images/shader/[email protected] 2x"}
+  ![World transform](images/shader/world_transform.png)
 
 View and projection matrix
 : In order to put the vertices of the game world onto the screen, each matrix' 3D coordinates is first translated into coordinates relative to the camera. This is done with a _view matrix_. Secondly, the vertices are projected onto the 2D screen space with a _projection matrix_:
 
-  ![Projection](images/shader/projection.png){srcset="images/shader/[email protected] 2x"}
+  ![Projection](images/shader/projection.png)
 
 Attributes
 : A value associated with an individual vertex. Attributes are passed to the shader by the engine and if you want to access an attribute you just declare it in your shader program. Different component types have a different set of attributes:
@@ -86,7 +86,7 @@ Samplers
 UV coordinates
 : A 2D coordinate is associated with a vertex and it maps to a point on a 2D texture. A portion, or the whole, of the texture can therefore be painted onto the shape described by a set of vertices.
 
-  ![UV coordinates](images/shader/uv_map.png){srcset="images/shader/[email protected] 2x"}
+  ![UV coordinates](images/shader/uv_map.png)
 
   A UV-map is typically generated in the 3D modeling program and stored in the mesh. The texture coordinates for each vertex are provided to the vertex shader as an attribute. A varying variable is then used to find the UV coordinate for each fragment as interpolated from the vertex values.
 
@@ -97,11 +97,11 @@ Varying variables
   2. During rasterization this value is interpolated for each fragment on the primitive being rendered. The distance of the fragment to the shape's vertices dictates the interpolated value.
   3. The variable is set for each call to the fragment shader and can be used for fragment calculations.
 
-  ![Varying interpolation](images/shader/varying_vertex.png){srcset="images/shader/[email protected] 2x"}
+  ![Varying interpolation](images/shader/varying_vertex.png)
 
   For instance, setting a varying to a `vec3` RGB color value on each corners of a triangle will interpolate the colors across the whole shape. Similarly, setting texture map lookup coordinates (or *UV-coordinates*) on each vertex in a rectangle allows the fragment shader to look up texture color values for the whole area of the shape.
 
-  ![Varying interpolation](images/shader/varying.png){srcset="images/shader/[email protected] 2x"}
+  ![Varying interpolation](images/shader/varying.png)
 
 ## Writing modern GLSL shaders
 
@@ -344,11 +344,11 @@ vec3 get_red_color_inverted()
 
 Before ending up on the screen, the data that you create for your game goes through a series of steps:
 
-![Render pipeline](images/shader/pipeline.png){srcset="images/shader/[email protected] 2x"}
+![Render pipeline](images/shader/pipeline.png)
 
 All visual components (sprites, GUI nodes, particle effects or models) consists of vertices, points in 3D world that describe the shape of the component. The good thing by this is that it is possible to view the shape from any angle and distance. The job of the vertex shader program is to take a single vertex and translate it into a position in the viewport so the shape can end up on screen. For a shape with 4 vertices, the vertex shader program runs 4 times, each in parallel.
 
-![vertex shader](images/shader/vertex_shader.png){srcset="images/shader/[email protected] 2x"}
+![vertex shader](images/shader/vertex_shader.png)
 
 The input of the program is the vertex position (and other attribute data associated with the vertex) and the output is a new vertex position (`gl_Position`) as well as any `varying` variables that should be interpolated for each fragment.
 
@@ -389,7 +389,7 @@ void main()
 
 After vertex shading, the on screen shape of the component is decided: primitive shapes are generated and rasterized, meaning that the graphics hardware splits each shape into *fragments*, or pixels. It then runs the fragment shader program, once for each of the fragments. For an on screen image 16x24 pixels in size, the program runs 384 times, each in parallel.
 
-![fragment shader](images/shader/fragment_shader.png){srcset="images/shader/[email protected] 2x"}
+![fragment shader](images/shader/fragment_shader.png)
 
 The input of the program is whatever the rendering pipeline and the vertex shader sends, usually the *uv-coordinates* of the fragment, tint colors etc. The output is the final color of the pixel (`gl_FragColor`).
 

+ 1 - 1
docs/en/manuals/sprite.md

@@ -7,7 +7,7 @@ brief: This manual describes how to show 2D images and animations using the spri
 
 A Sprite component is a simple image or flipbook animation that is displayed on screen.
 
-![sprite](images/graphics/sprite.png){srcset="images/graphics/[email protected] 2x"}
+![sprite](images/graphics/sprite.png)
 
 The Sprite component can use either an [Atlas](/manuals/atlas) or a [Tile Source](/manuals/tilesource) for it's graphics.
 

+ 5 - 5
docs/en/manuals/tilemap.md

@@ -17,7 +17,7 @@ To create a new tile map:
 - Name the file.
 - The new tile map automatically opens in the tile map editor.
 
-  ![new tilemap](images/tilemap/tilemap.png){srcset="images/tilemap/[email protected] 2x"}
+  ![new tilemap](images/tilemap/tilemap.png)
 
 - Set the *Tile Source* property to a tile source file that you have prepared.
 
@@ -26,17 +26,17 @@ To paint tiles on your tile map:
 1. Select or create a *Layer* to paint on in the *Outline* view.
 2. Select a tile to use as a brush (press <kbd>Space</kbd> to show the tile palette) or select a few tiles by clicking and dragging in the palette to create a rectangle brush with multiple tiles.
 
-   ![Palette](images/tilemap/palette.png){srcset="images/tilemap/[email protected] 2x"}
+   ![Palette](images/tilemap/palette.png)
 
 3. Paint with the selected brush. To erase a tile, either pick an empty tile and use it as brush, or select the eraser (<kbd>Edit ▸ Select Eraser</kbd>).
 
-   ![Painting tiles](images/tilemap/paint_tiles.png){srcset="images/tilemap/[email protected] 2x"}
+   ![Painting tiles](images/tilemap/paint_tiles.png)
 
 You can pick tiles directly from a layer and use the selection as a brush. Hold <kbd>Shift</kbd> and click a tile to pick it up as the current brush. While holding <kbd>Shift</kbd> you can also click and drag to select a block of tiles to use as a larger brush. Also, it is possible to cut tiles in a similar way by holding <kbd>Shift+Ctrl</kbd> or erase them by holding <kbd>Shift+Alt</kbd>.
 
 For clockwise brush rotation, use <kbd>Z</kbd>. Use <kbd>X</kbd> for horizontal flipping and <kbd>Y</kbd> for vertical flipping of the brush.
 
-![Picking tiles](images/tilemap/pick_tiles.png){srcset="images/tilemap/[email protected] 2x"}
+![Picking tiles](images/tilemap/pick_tiles.png)
 
 ## Adding a tile map to your game
 
@@ -46,7 +46,7 @@ To add a tile map to your game:
 2. Right-click the root of the game object and select <kbd>Add Component File</kbd>.
 3. Select the tile map file.
 
-![Use tile map](images/tilemap/use_tilemap.png){srcset="images/tilemap/[email protected] 2x"}
+![Use tile map](images/tilemap/use_tilemap.png)
 
 ## Runtime manipulation
 

+ 4 - 4
docs/en/manuals/tilesource.md

@@ -11,7 +11,7 @@ A *Tile Source* can be used by a [Tilemap component](/manuals/tilemap) to paint
 
 You need an image containing all the tiles. Each tile must have the exact same dimensions and be placed in a grid. Defold supports _spacing_ between the tiles and a _margin_ around each tile.
 
-![tile image](images/tilemap/small_map.png){srcset="images/tilemap/[email protected] 2x"}
+![tile image](images/tilemap/small_map.png)
 
 Once you have the source image created, you can create a Tile Source:
 
@@ -22,7 +22,7 @@ Once you have the source image created, you can create a Tile Source:
 - Click the browse-button next to the *Image* property and select your image. Now you should see the image displayed in the editor.
 - Adjust the *Properties* to match the source image. When everything is correct the tiles will line up perfectly.
 
-![Creating a Tile Source](images/tilemap/tilesource.png){srcset="images/tilemap/[email protected] 2x"}
+![Creating a Tile Source](images/tilemap/tilesource.png)
 
 Size
 : The size of the source image.
@@ -54,7 +54,7 @@ To define an animation in a tile source the animation frame tiles must lie next
 
 Selecting an animation displays the animation *Properties*.
 
-![Tile Source animation](images/tilemap/animation.png){srcset="images/tilemap/[email protected] 2x"}
+![Tile Source animation](images/tilemap/animation.png)
 
 Id
 : The identity of the animation. Must be unique for the tile source.
@@ -95,6 +95,6 @@ The tile source outline lists collision groups that you have added to the tile s
 
 To select the tile shapes that should belong to a certain group, select the group in th *Outline*, then click each tile that you wish to assign to the group. The outline of the tile and shape is colored with the group's color. The color is automatically assigned to the group in the editor.
 
-![Collision Shapes](images/tilemap/collision.png){srcset="images/tilemap/[email protected] 2x"}
+![Collision Shapes](images/tilemap/collision.png)
 
 To remove a tile from its collision group, select the tile source root element in the *Outline*, then click the tile.

+ 1 - 1
docs/en/manuals/version-control.md

@@ -11,7 +11,7 @@ Defold is built intended for small teams that work in intense collaboration to c
 
 When you save changes in your local working copy, Defold tracks all changes in the *Changed Files* editor pane, listing each file that has either been added, deleted or modified.
 
-![changed files](images/workflow/changed_files.png){srcset="images/workflow/[email protected] 2x"}
+![changed files](images/workflow/changed_files.png)
 
 Select a file in the list and click <kbd>Diff</kbd> to view the changes that you have done to the file or <kbd>Revert</kbd> to undo all changes and restore the file to the state it had after the last synchronization.
 

+ 1 - 1
docs/en/shared/components.md

@@ -1,6 +1,6 @@
 Components are used to give specific expression and/or functionality to game objects. Components have to be contained inside game objects and are affected by the position, rotation and scale of the game object that contains the component:
 
-![Components](../shared/images/components.png){srcset="../shared/images/[email protected] 2x"}
+![Components](../shared/images/components.png)
 
 Many components have type specific properties that can be manipulated and there are component type specific functions available for interacting with them in runtime:
 

+ 5 - 5
docs/en/shared/slice-9-texturing.md

@@ -4,15 +4,15 @@ GUI box nodes and Sprite components sometimes feature elements that are context
 
 Normally, the engine scales the texture to fit the rectangular boundaries, but by defining slice-9 edge areas it is possible to limit what parts of the texture that should scale:
 
-![GUI scaling](../shared/images/gui_slice9_scaling.png){srcset="../shared/images/[email protected] 2x"}
+![GUI scaling](../shared/images/gui_slice9_scaling.png)
 
 The *Slice9* box node consists of 4 numbers that specify the number of pixels for the left, top, right and bottom margin that should not be regularly scaled:
 
-![Slice 9 properties](../shared/images/gui_slice9_properties.png){srcset="../shared/images/[email protected] 2x"}
+![Slice 9 properties](../shared/images/gui_slice9_properties.png)
 
 The margins are set clockwise, starting on the left edge:
 
-![Slice 9 sections](../shared/images/gui_slice9.png){srcset="../shared/images/[email protected] 2x"}
+![Slice 9 sections](../shared/images/gui_slice9.png)
 
 - Corner segments are never scaled.
 - Edge segments are scaled along a single axis. The left and right edge segments are scaled vertically. The top and bottom edge segments are scaled horizontally.
@@ -20,7 +20,7 @@ The margins are set clockwise, starting on the left edge:
 
 The *Slice9* texture scaling described above is only applied when you change box node's or sprite's size:
 
-![GUI box node size](../shared/images/gui_slice9_size.png){srcset="../shared/images/[email protected] 2x"}
+![GUI box node size](../shared/images/gui_slice9_size.png)
 
 ![Sprite size](../shared/images/sprite_slice9_size.png)
 
@@ -36,6 +36,6 @@ When using slice-9 texturing on Sprites the [Sprite Trim Mode of the image](http
 ### Mipmaps and slice-9
 Due to the way mipmapping works in the renderer, scaling of texture segments can sometimes exhibit artifacts. This happens when you _scale down_ segments below the original texture size. The renderer then selects a lower resolution mipmap for the segment, resulting in visual artifacts.
 
-![Slice 9 mipmapping](../shared/images/gui_slice9_mipmap.png){srcset="../shared/images/[email protected] 2x"}
+![Slice 9 mipmapping](../shared/images/gui_slice9_mipmap.png)
 
 To avoid this problem, make sure that the texture's segments that will be scaled are small enough never to be scaled down, only up.

+ 1 - 1
docs/en/tutorials/astronaut.md

@@ -16,7 +16,7 @@ The tutorial is integrated with the Defold editor and easily accessible:
 4. Select the "Walking astronaut tutorial"
 5. Select a location for the project on your local drive and click *Create New Project*.
 
-![new project](images/new-astronaut.png){srcset="images/[email protected] 2x"}
+![new project](images/new-astronaut.png)
 
 The editor automatically opens the "README" file from the project root, containing the full tutorial text.
 

+ 1 - 1
docs/en/tutorials/colorslide.md

@@ -16,7 +16,7 @@ The tutorial is integrated with the Defold editor and easily accessible:
 4. Select the "Colorslide tutorial"
 5. Select a location for the project on your local drive and click *Create New Project*.
 
-![new project](images/new-colorslide.png){srcset="images/[email protected] 2x"}
+![new project](images/new-colorslide.png)
 
 The editor automatically opens the "README" file from the project root, containing the full tutorial text.
 

+ 1 - 1
docs/en/tutorials/getting-started.md

@@ -18,7 +18,7 @@ When you run the Defold editor, you are presented with a project selection and c
 5. Select a location for the project on your local drive.
 6. Click *Create New Project*.
 
-![create project](images/getting-started/new-project.png){srcset="images/getting-started/[email protected] 2x"}
+![create project](images/getting-started/new-project.png)
 
 The editor now automatically downloads the tutorial project, opens it in the editor and opens the tutorial text (the "README" file in the project root).
 

+ 1 - 1
docs/en/tutorials/side-scroller.md

@@ -15,7 +15,7 @@ The tutorial is integrated with the Defold editor and easily accessible:
 4. Select the "Side scroller tutorial"
 5. Select a location for the project on your local drive and click *Create New Project*.
 
-![new project](images/new-side-scroller.png){srcset="images/[email protected] 2x"}
+![new project](images/new-side-scroller.png)
 
 The editor automatically opens the "README" file from the project root, containing the full tutorial text.
 

+ 1 - 1
docs/en/tutorials/war-battles.md

@@ -16,7 +16,7 @@ The tutorial is integrated with the Defold editor and easily accessible:
 4. Select the "War battles tutorial"
 5. Select a location for the project on your local drive and click *Create New Project*.
 
-![new project](images/new-war-battles.png){srcset="images/[email protected] 2x"}
+![new project](images/new-war-battles.png)
 
 The editor automatically opens the "README" file from the project root, containing the full tutorial text.
 

+ 8 - 8
docs/es/manuals/building-blocks.md

@@ -7,7 +7,7 @@ brief: Este manual se adentra en los detalles de cómo los objetos, componentes
 
 En el núcleo del diseño de Defold hay unos conceptos que pueden llevar tiempo dominarlos. Este manual explica en qué consisten los bloques de construcción de Defold. Después de leer este manual, sigue al [addressing manual](/manuals/addressing) y al [message passing manual](/manuals/message-passing). También hay una serie de [tutoriales](/tutorials/getting-started) disponibles desde el editor para tenerte listo rápidamente.
 
-![Bloques de construcción](images/building_blocks/building_blocks.png){srcset="images/building_blocks/[email protected] 2x"}
+![Bloques de construcción](images/building_blocks/building_blocks.png)
 
 Hay tres tipos básicos de bloques de construcción que puedes usar para construir un juego de Defold:
 
@@ -28,11 +28,11 @@ Cuando el motor Defold inicia, carga una _colección bootstrap_ especificado en
 
 Una colección puede contener objetos y otras colecciones (por referencia al archivo de subcolecciones), anidados abritrariamente profundos. Aquí hay un archivo ejemplo llamado "main.collection". Contiene un objeto (con la id "can") y una sub-colección (con la id "bean"). La sub-colección, en turno, contiene dos objetos: "bean" y "shield".
 
-![Colección](images/building_blocks/collection.png){srcset="images/building_blocks/[email protected] 2x"}
+![Colección](images/building_blocks/collection.png)
 
 Fíjate que la sub-colección con la id "bean" está guardada en su propio arcivo, llamado "/main/bean.collection" y es únicamente referenciado en "main.collection":
 
-![Colección Bean](images/building_blocks/bean_collection.png){srcset="images/building_blocks/[email protected] 2x"}
+![Colección Bean](images/building_blocks/bean_collection.png)
 
 No puedes dirigir colecciones por sí mismas ya que no hay objetos runtime correspondiendo a las colecciones "main" y "bean". Sin embargo, a veces puedes usar la identidad de una colección como parte de una ruta(en inglés _path_) a un objeto (ver el [addressing manual](/manuals/addressing) para más detalles):
 
@@ -78,25 +78,25 @@ Puedes ver cual instancia de objeto está basado de cual archivo en outline view
 2. El componente script "bean" en el objeto de juego "bean" en la sub-colección "bean".
 3. El script "can" en el objeto de juego "can".
 
-![Instancia](images/building_blocks/instance.png){srcset="images/building_blocks/[email protected] 2x"}
+![Instancia](images/building_blocks/instance.png)
 
 El beneficio de crear archivos blueprint se vuelve aparente cuando tienes múltiples instancias de un objeto de juego o colección y deseas cambiar todos:
 
-![GO instances](images/building_blocks/go_instance.png){srcset="images/building_blocks/[email protected] 2x"}
+![GO instances](images/building_blocks/go_instance.png)
 
 Al cambiar el archivo file, cualquier instancia que usa ese archivo será actualizado inmediatamente.
 
-![GO instances updated](images/building_blocks/go_instance2.png){srcset="images/building_blocks/[email protected] 2x"}
+![GO instances updated](images/building_blocks/go_instance2.png)
 
 ## Emparentando objetos de juego
 
 En un archivo de colección, puedes crear jerarquías de objetos de juego de tal forma que uno o más objetos sean hijos (children) de un objeto de juego padre (parent). Simplemente <kbd>arrastrando</kbd> un objeto de juego y <kbd>soltarlo</kbd> en otro el objeto de juego arrastrado se vuelve el hijo bajo el objeto seleccionado:
 
-![Emparentando objetos de juego](images/building_blocks/childing.png){srcset="images/building_blocks/[email protected] 2x"}
+![Emparentando objetos de juego](images/building_blocks/childing.png)
 
 Las jerarquías padre-hijo de objetos es una relación dinámica que afecta cómo los objetos reaccionan a las transformaciones. Cualquier transformación (movimiento, rotación o escalado) aplicado a un objeto será aplicado al hijo del objeto en turno, ambos en el editor y en la ejecución:
 
-![Transformación de hijos](images/building_blocks/child_transform.png){srcset="images/building_blocks/[email protected] 2x"}
+![Transformación de hijos](images/building_blocks/child_transform.png)
 
 De manera conversa, la traslación de un hijo será hecha en el espacio local del padre. En el editor, puedes elegir el editar un objeto de juego hijo en el espacio local o el mundo (world space) seleccionando <kbd>Edit ▸ World Space</kbd> (por defecto) o <kbd>Edit ▸ Local Space</kbd>.
 

+ 1 - 1
docs/es/manuals/project-setup.md

@@ -11,7 +11,7 @@ Puedes crear fácilmente un proyeto desde el editor Defold. También tienes la o
 
 Haz click en la opción <kbd>New Project</kbd> y selecciona que tipo de proyecto te gustaría crear. Especifica una ruta en tu disco duro donde el proyecto se mantendrá guardado. Haz click en <kbd>Create New Project</kbd> para crear el proyecto en la ruta que elegiste.Puedes crear un nuevo proyecto desde una plantilla:
 
-![Abrir proyecto](images/workflow/open_project.png){srcset="images/workflow/[email protected] 2x"}
+![Abrir proyecto](images/workflow/open_project.png)
 
 O desde un Tutorial con instrucciones paso a paso:
 

+ 8 - 8
docs/gr/manuals/building-blocks.md

@@ -7,7 +7,7 @@ brief: Αυτό το εγχειρίδιο σκάβει τις λεπτομέρε
 
 Στον πυρήνα του σχεδιασμού του Defold υπάρχουν μερικές έννοιες που μπορεί να χρειαστούν λίγη ώρα για να αποκτήσετε εμπειρία μαζί τουε. Αυτό το εγχειρίδιο εξηγεί ποια είναι τα δομικά στοιχεία του Defold. Αφού διαβάσετε αυτό το εγχειρίδιο, προχωρήστε στο [εγχειρίδιο διευθύνσεων](/manuals/addressing) και το [εγχειρίδιο διαβίβασης μηνυμάτων](/manuals/message-passing). Υπάρχει επίσης ένα σετ [tutorials](/tutorials/getting-started) διαθέσιμα μέσα από το κειμενογράφο για να ξεκινήσετε γρήγορα.
 
-![Building blocks](images/building_blocks/building_blocks.png){srcset="images/building_blocks/[email protected] 2x"}
+![Building blocks](images/building_blocks/building_blocks.png)
 
 There are three basic types of building blocks that you use to construct a Defold game:
 
@@ -28,11 +28,11 @@ There are three basic types of building blocks that you use to construct a Defol
 
 Μια συλλογή μπορεί να περιέχει αντικείμενα παιχνιδιού και άλλες συλλογές (με αναφορά στο αρχείο της υπο-συλλογής), ένθετα και αυθαίρετα βαθιά. Εδώ είναι ένα παράδειγμα αρχείου που ονομάζεται "main.collection". Περιέχει ένα αντικείμενο παιχνιδιού (με το αναγνωριστικό "can") και μία υπο-συλλογή (με το id "bean"). Η υπο-συλλογή, με τη σειρά της, περιέχει δύο αντικείμενα παιχνιδιού: "bean" και "shield".
 
-![Collection](images/building_blocks/collection.png){srcset="images/building_blocks/[email protected] 2x"}
+![Collection](images/building_blocks/collection.png)
 
 Σημειώστε ότι η υπο-συλλογή με id "bean" αποθηκεύεται στο δικό της αρχείο, που ονομάζεται "/main/bean.collection" και αναφέρεται μόνο στο "main.collection":
 
-![Bean collection](images/building_blocks/bean_collection.png){srcset="images/building_blocks/[email protected] 2x"}
+![Bean collection](images/building_blocks/bean_collection.png)
 
 Δεν μπορείτε να διευθύνετε τις συλλογές οι ίδιοι, καθώς δεν υπάρχουν αντικείμενα κατά την ώρα του χρόνου εκτέλεσης που να αντιστοιχούν στις συλλογές "main" και "bean". Ωστόσο, μερικές φορές πρέπει να χρησιμοποιήσετε την ταυτότητα μιας συλλογής ως μέρος του _path_ σε ένα αντικείμενο παιχνιδιού(See the [addressing manual](/manuals/addressing) for details):
 
@@ -77,25 +77,25 @@ go.animate("can", "position.x", go.PLAYBACK_LOOP_PINGPONG, 100, go.EASING_LINEAR
 2. Το στοιχείο script "bean" στο αντικείμενο παιχνιδιού "bean" στην υπο-συλλογή "bean".
 3. Το στοιχείο script "μπορεί" στο αντικείμενο παιχνιδιού "μπορεί".
 
-![Instance](images/building_blocks/instance.png){srcset="images/building_blocks/[email protected] 2x"}
+![Instance](images/building_blocks/instance.png)
 
 Το όφελος από τη δημιουργία αρχείων blueprint γίνεται εμφανές όταν έχετε πολλές παρουσίες ενός αντικειμένου παιχνιδιού ή μιας συλλογής και επιθυμείτε να τα αλλάξετε όλα:
 
-![GO instances](images/building_blocks/go_instance.png){srcset="images/building_blocks/[email protected] 2x"}
+![GO instances](images/building_blocks/go_instance.png)
 
 Αλλάζοντας το αρχείο blueprint, κάθε περίπτωση που χρησιμοποιεί αυτό το αρχείο θα ενημερωθεί αμέσως.
 
-![GO instances updated](images/building_blocks/go_instance2.png){srcset="images/building_blocks/[email protected] 2x"}
+![GO instances updated](images/building_blocks/go_instance2.png)
 
 ## Childing game objects
 
 Σε ένα αρχείο συλλογής, μπορείτε να δημιουργήσετε ιεραρχίες αντικειμένων παιχνιδιού, έτσι ώστε ένα ή περισσότερα αντικείμενα παιχνιδιού να είναι παιδιά σε ένα αντικείμενο γονικού παιχνιδιού. Απλώς <kbd>dropping</kbd> πάνω σε ένα άλλο, το αντικείμενο παιχνιδιού που σύρεται είναι παιδικό κάτω από τον στόχο:
 
-![Childing game objects](images/building_blocks/childing.png){srcset="images/building_blocks/[email protected] 2x"}
+![Childing game objects](images/building_blocks/childing.png)
 
 Οι ιεραρχίες γονέα-παιδιού αντικειμένου είναι μια δυναμική σχέση που επηρεάζει τον τρόπο με τον οποίο τα αντικείμενα αντιδρούν σε μετασχηματισμούς. Οποιοσδήποτε μετασχηματισμός (κίνηση, περιστροφή ή κλιμάκωση) που εφαρμόζεται σε ένα αντικείμενο θα εφαρμοστεί με τη σειρά του στα παιδιά του αντικειμένου, τόσο στο πρόγραμμα επεξεργασίας όσο και στο χρόνο εκτέλεσης:
 
-![Child transform](images/building_blocks/child_transform.png){srcset="images/building_blocks/[email protected] 2x"}
+![Child transform](images/building_blocks/child_transform.png)
 
 Αντίθετα, οι μεταφράσεις ενός παιδιού γίνονται στον τοπικό χώρο του γονέα. Στο πρόγραμμα επεξεργασίας, μπορείτε να επιλέξετε να επεξεργαστείτε ένα αντικείμενο παιδικού παιχνιδιού στον τοπικό χώρο ή στον παγκόσμιο χώρο επιλέγοντας <kbd>Edit ▸ World Space</kbd> (the default) or <kbd>Edit ▸ Local Space</kbd>.
 

+ 6 - 6
docs/pl/manuals/atlas.md

@@ -26,11 +26,11 @@ Dodawanie pojedynczych obrazów
 
   Pojawi się okno dialogowe, z którego możesz znaleźć i wybrać obrazy, które chcesz dodać do atlasu. Zauważ, że możesz filtrować pliki obrazów i wybierać je wielokrotnie.
 
-  ![Creating an atlas, adding images](images/atlas/add.png){srcset="images/atlas/[email protected] 2x"}
+  ![Creating an atlas, adding images](images/atlas/add.png)
 
   Dodane obrazy są wymienione w *Outline*, a pełny atlas można zobaczyć w centrum widoku edytora. Może być konieczne naciśnięcie <kbd>F</kbd> (<kbd>View ▸ Frame Selection</kbd> w menu), aby dopasować zaznaczenie.
 
-  ![Images added](images/atlas/single_images.png){srcset="images/atlas/[email protected] 2x"}
+  ![Images added](images/atlas/single_images.png)
 
 Dodawanie animacji flipbook
 : Kliknij <kbd>przyciskiem myszy</kbd> główny wpis Atlas w panelu *Outline*.
@@ -43,11 +43,11 @@ Dodawanie animacji flipbook
 
   Pojawi się okno dialogowe, z którego możesz znaleźć i wybrać obrazy, które chcesz dodać do grupy animacji.
 
-  ![Creating an atlas, adding images](images/atlas/add_animation.png){srcset="images/atlas/[email protected] 2x"}
+  ![Creating an atlas, adding images](images/atlas/add_animation.png)
 
   Naciśnij <kbd>Spację</kbd> z wybraną grupą animacji, aby ją obejrzeć. Dostosuj właściwości animacji w obszarze *Properties* według potrzeb (patrz poniżej).
 
-  ![Animation group](images/atlas/animation_group.png){srcset="images/atlas/[email protected] 2x"}
+  ![Animation group](images/atlas/animation_group.png)
 
 Możesz zmieniać kolejność obrazów w Outline, wybierając je i naciskając <kbd>Alt + W górę/w dół</kbd>. Możesz również łatwo tworzyć duplikaty, kopiując i wklejając obrazy w zarysie (z menu <kbd>Edit</kbd>, menu kontekstowego po kliknięciu prawym przyciskiem myszy lub za pomocą skrótów klawiszowych).
 
@@ -69,7 +69,7 @@ Extrude Borders (Wytłoczenie granic)
 
 Oto przykłady różnych ustawień właściwości z czterema kwadratowymi obrazami o wymiarach 64x64 pikseli dodanymi do atlasu. Zauważ, jak atlas przeskakuje do rozmiaru 256x256, kiedy tylko obrazy nie mieszczą się w 128x128, co skutkuje marnowaniem dużej przestrzeni tekstury.
 
-![Atlas properties](images/atlas/atlas_properties.png){srcset="images/atlas/[email protected] 2x"}
+![Atlas properties](images/atlas/atlas_properties.png)
 
 ## Właściwości Obrazu
 
@@ -87,7 +87,7 @@ Sprite Trim Mode (Trymowanie Sprite'a)
 Image (Obraz)
 : Ścieżka do samego obrazu.
 
-![Image properties](images/atlas/image_properties.png){srcset="images/atlas/[email protected] 2x"}
+![Image properties](images/atlas/image_properties.png)
 
 ## Właściwości Animacji
 

+ 8 - 8
docs/pl/manuals/building-blocks.md

@@ -7,7 +7,7 @@ brief: Instrukcja ta przedstawia podstawowe elementy służące do budowania apl
 
 W samym sercu koncepcji silnika Defold znajduje się kilka elementów, których zrozumienie ułatwia dalszą pracę z silnikiem. Instrukcja ta wyjaśnia czym są takie bloki służące do budowania aplikacji. Po zapoznaniu się z poniższą instrukcją, warto przejść do [Instrukcji adresowania](/manuals/addressing) i [przesyłania wiadomości](/manuals/message-passing). Na stronie Defold znajdziesz również [tutoriale](/tutorials/getting-started) dla początkujących dostępne nawet z poziomu edytora, aby umożliwić Ci szybki start z silnikiem Defold.
 
-![Building blocks](images/building_blocks/building_blocks.png){srcset="images/building_blocks/[email protected] 2x"}
+![Building blocks](images/building_blocks/building_blocks.png)
 
 Przy budowaniu gier na silniku Defold używa się trzech podstawowych elementów:
 
@@ -28,11 +28,11 @@ Kiedy Defold startuje, wczytuje pojedynczą, główną _kolekcję bootrstrapową
 
 Kolekcja może zawierać obiekty i inne kolekcje (przez referencję do pliku sub-kolekcji) zagnieżdżone na dowolną "głębokość". Poniżej jest przykład kolekcji "main.collection". Zawiera ona jeden obiekt gry (z id "can")i jedną sub-kolekcję (z id "bean"). Sub-kolekcja ta zawiera z kolei obiekty "bean" i "shield".
 
-![Collection](images/building_blocks/collection.png){srcset="images/building_blocks/[email protected] 2x"}
+![Collection](images/building_blocks/collection.png)
 
 Zauważ, że sub-kolekcja z id "bean" jest przechowywana w osobnym pliku nazwanym "/main/bean.collection", a kolekcja nadrzędna "main.collection" zawiera do tego pliku jedynie referencję:
 
-![Bean collection](images/building_blocks/bean_collection.png){srcset="images/building_blocks/[email protected] 2x"}
+![Bean collection](images/building_blocks/bean_collection.png)
 
 Nie można zaadresować kolekcji samej w sobie, ponieważ nie istnieją obiekty w czasie rzeczywistym, które reprezentują kolekcje "main" czy "bean" - nie można więc wysłać wiadomości do kolekcji samej w sobie, a tylko do obiektów i komponentów. Jednak czasem chcesz wysłać wiadomość do obiektu z innej kolekcji niż kolekcja, w której nadawca się znajduje, więc dlatego określą się ścieżkę (ang. _path_) do takiego obiektu z uwzględnieniem id kolekcji (Szczegóły znajdziesz w [Instrukcji adresowania](/manuals/addressing)):
 
@@ -80,25 +80,25 @@ W panelu *Outline* możesz zobaczyć na jakim pliku bazuje dana instancja, jeśl
 2. Komponent typu skrypt "bean" w obiekcie "bean"  w sub-kolekcji "bean".
 3. Komponent typu skrypt "can" w obiekcie "can".
 
-![Instance](images/building_blocks/instance.png){srcset="images/building_blocks/[email protected] 2x"}
+![Instance](images/building_blocks/instance.png)
 
 Korzyścią z używania szablonów/plików jest zdecydowanie możliwość stworzenia wielu instancji obiektu gry lub kolekcji i zmiana ich wszystkich naraz w jednym pliku:
 
-![GO instances](images/building_blocks/go_instance.png){srcset="images/building_blocks/[email protected] 2x"}
+![GO instances](images/building_blocks/go_instance.png)
 
 Przy zmianie pliku każda instancja utworzona z tego pliku zostaje natychmiastowo zaktualizowana:
 
-![GO instances updated](images/building_blocks/go_instance2.png){srcset="images/building_blocks/[email protected] 2x"}
+![GO instances updated](images/building_blocks/go_instance2.png)
 
 ## Hierarchia obiektów gry - relacja rodzic-dziecko
 
 W pliku kolekcji możesz tworzyć hierarchie obiektów gry (game objects) w ten sposób, że jeden z obiektów jest dzieckiem innego obiektu - rodzica. Po prostu <kbd>przeciągnij</kbd> jeden z obiektów gry i <kbd>upuść</kbd> nad innym obiektem - zostanie on umieszczony w drzewku pod tym obiektem i stanie się jego dzieckiem:
 
-![Childing game objects](images/building_blocks/childing.png){srcset="images/building_blocks/[email protected] 2x"}
+![Childing game objects](images/building_blocks/childing.png)
 
 Relacja rodzic-dziecko jest dynamiczną relacją wpływającą na zmianę pozycji, orientacji i skali obu obiektów. Każda transformacja tych wartości zaaplikowana do obiektu rodzica zostanie następnie zaaplikowana do obiektu dziecka, aby ich wzajemna, względna pozycja/orientacja/skala pozostała taka sama, 1:1, zarówno w edytorze jak i w czasie działania programu:
 
-![Child transform](images/building_blocks/child_transform.png){srcset="images/building_blocks/[email protected] 2x"}
+![Child transform](images/building_blocks/child_transform.png)
 
 Z kolei wszystkie transformacje na obiekcie dziecku są wykonywane w układzie odniesienia rodzica. W edytorze Defold możesz wybrać, czy operacje na obiekcie dziecku są wykonywane w układzie lokalnym rodzica (local space) czy w głównym układzie odniesienia (world space) klikając <kbd>Edit ▸ World Space</kbd> (domyślnie ustawione) lub <kbd>Edit ▸ Local Space</kbd>.
 

+ 5 - 5
docs/pl/manuals/collection-proxy.md

@@ -17,7 +17,7 @@ Pełnomocnicy kolekcji różnią się od [fabryk kolekcji](/manuals/collection-f
 
 2. Ustaw właściwość *Collection* do pliku kolekcji, którą chcesz przez danego pełnomocnika dynamicznie wczytywać w trakcie działania programu. Referencja do tego pliku jest statyczna, więc upewnij się, że wszystkie potrzebne w kolekcji zasoby będą znajdować się w ostatcznej wersji Twojej gry.
 
-![add proxy component](images/collection-proxy/create_proxy.png){srcset="images/collection-proxy/[email protected] 2x"}
+![add proxy component](images/collection-proxy/create_proxy.png)
 
 (Możesz wyłączyć część zawartości Twojej gry ze zbudowanej aplikacji, a potem ściągnąć ją dynamicznie zaznaczając opcję *Exclude* i używając funkcjonalności [Live update](/manuals/live-update/).)
 
@@ -25,13 +25,13 @@ Pełnomocnicy kolekcji różnią się od [fabryk kolekcji](/manuals/collection-f
 
 Podczas startu aplikacji silnik Defold wczytuje i tworzy instancje wszystkich obiektów gry z głównej kolekcji (*bootstrap collection*). Następnie inicjalizuje i aktywuje te obiekty i ich komponenty. Można określić, która z kolekcji jest kolekcją startową w [ustawieniach projektu](/manuals/project-settings/#main-collection). Domyślnie i zgodnie z konwencją kolekcja ta nazwana jest "main.collection" (z ang. główna.kolekcja).
 
-![bootstrap](images/collection-proxy/bootstrap.png){srcset="images/collection-proxy/[email protected] 2x"}
+![bootstrap](images/collection-proxy/bootstrap.png)
 
 Dla obiektów gry i ich komponentów silnik Defold alokuje pamięć potrzebną do stworzenia całego "świata gry", w którym instancje obiektów z głównej kolekcji są tworzone. Tworzony jest również osobny świat fizyki do obsługi kolizji i symulacji fizyki.
 
 Ponieważ komponenty typu skrypt muszą być w stanie adresować każdy obiekt w grze, nawet z innej kolekcji, każdy otrzymuje unikalne imię - takie jakie określisz we właściwości *Name* w pliku kolekcji:
 
-![bootstrap](images/collection-proxy/collection_id.png){srcset="images/collection-proxy/[email protected] 2x"}
+![bootstrap](images/collection-proxy/collection_id.png)
 
 Jeśli kolekcja, która jest załadowana posiada komponenty typu Pełnomocnik kolekcji, kolekcje do których te komponenty się odnoszą *NIE* są wtedy wczytywane automatycznie. Musisz jawnie kontrolować wczytywanie zasobów tych kolekcji w kodzie.
 
@@ -44,7 +44,7 @@ Dynamiczne wczytywanie kolekcji przez Pełnomocnika kolekcji jest osiągane prze
 msg.post("#myproxy", "load")
 ```
 
-![load](images/collection-proxy/proxy_load.png){srcset="images/collection-proxy/[email protected] 2x"}
+![load](images/collection-proxy/proxy_load.png)
 
 Pełnomocnik kolekcji nakaże silnikowi zaalokować pamięć na nowy świat gry, jak i również świat fizyki. Następnie światy mogą być utworzone, a w nich instancje wszystkich obiektów danej kolekcji "mylevel.collection".
 
@@ -90,7 +90,7 @@ Właściwość *Name* ustawiona w pliku kolekcji jest używana do adresowania ka
 msg.post("main:/loader#script", "load_level", { level_id = 2 })
 ```
 
-![load](images/collection-proxy/message_passing.png){srcset="images/collection-proxy/[email protected] 2x"}
+![load](images/collection-proxy/message_passing.png)
 
 ## Zwalnianie pamięci po świecie gry
 

+ 1 - 1
docs/pl/manuals/components.md

@@ -72,7 +72,7 @@ Każdy komponent ma przypisany [materiał](/manuals/material/), a każdy materia
 ### Wartość współrzędnej Z
 Wszystkie obiekty gry i komponenty są umieszczone w przestrzeni 3D z pozycją jako wektor trzech współrzędnych. Kiedy oglądasz swoją grę w 2D, wspołrzędne X i Y pozycję elementu na ekranie wzdłuż szerokości i wysokości, a współrzędna Z określa głębokość. Umożliwia to więc określanie pozycji nachodzących się na siebie kształtów: sprite z wartością Z = 1 pojawi się przed sprite'm z pozycją Z = 0. Domyślnie, Defold umożliwia rysowanie obiektów na osi Z o wartościach z przedziału -1 i 1:
 
-![model](images/graphics/z-order.png){srcset="images/graphics/[email protected] 2x"}
+![model](images/graphics/z-order.png)
 
 Komponenty, których materiały mają tagi określone dla danego [predykatu](/manuals/render/#render-predicates) są rysowane razem, a kolejność ich rysowania zależy od ostatecznej wartości współrzędnej Z. Ostateczna wartość Z jest sumą wartości Z komponentu, obiektu gry i każdego obiektu, do którego należy dany obiektu (rodzica).
 

+ 8 - 8
docs/pl/manuals/debugging-game-logic.md

@@ -39,7 +39,7 @@ Zauważ, że prawdopodobnie chcesz aktualizować te dane co klatkę, więc przes
 
 Aby uruchomić wbudowany debugger wraz z grą klkinij menu <kbd>Debug ▸ Run with Debugger</kbd> lub wybierz <kbd>Debug ▸ Attach Debugger</kbd>, aby dołączyć debugger do aktualnie uruchomionej gry.
 
-![overview](images/debugging/overview.png){srcset="images/debugging/[email protected] 2x"}
+![overview](images/debugging/overview.png)
 
 Gdy debugger jest podłączony, masz kontrolę nad wykonaniem gry za pomocą przycisków sterowania debugerem w konsoli lub za pomocą menu <kbd>Debug</kbd>:
 
@@ -47,13 +47,13 @@ Break
 : ![pause](images/debugging/pause.svg){width=60px .left}
   Natychmiastowa przerwa wykonania gry. Gra zostanie zatrzymana w bieżącym punkcie. Teraz można sprawdzić stan gry, przejść do przodu krok po kroku lub kontynuować jej działanie do kolejnego punktu przerwania (breakpoint). Aktualny punkt wykonania jest oznaczony w edytorze kodu:
 
-  ![script](images/debugging/script.png){srcset="images/debugging/[email protected] 2x"}
+  ![script](images/debugging/script.png)
 
 Continue
 : ![play](images/debugging/play.svg){width=60px .left}
   Kontynuuj działanie gry. Kod gry będzie kontynuował działanie, aż naciśniesz pauzę lub wykonanie dojdzie do ustawionego punktu przerwania (breakpoint). Jeśli wykonanie zostanie przerwane na ustawionym punkcie przerwania, punkt wykonania jest oznaczony w edytorze kodu na szczycie znacznika punktu przerwania:
 
-  ![break](images/debugging/break.png){srcset="images/debugging/[email protected] 2x"}
+  ![break](images/debugging/break.png)
 
 Stop
 : ![stop](images/debugging/stop.svg){width=60px .left}
@@ -63,7 +63,7 @@ Step Over
 : ![step over](images/debugging/step_over.svg){width=60px .left}
   Przesuń wykonanie programu o jeden krok. Jeśli wykonanie obejmuje uruchomienie innego skryptu Lua, wykonanie *nie* wejdzie do funkcji , ale będzie kontynuować działanie i zatrzyma się na kolejnej linii poniżej wywołania funkcji. W tym przykładzie, jeśli użytkownik naciśnie "Step Over", debugger wykonuje kod i zatrzymuje się na instrukcji `end` poniżej linii z wywołaniem funkcji `nextspawn()`:
 
-  ![step](images/debugging/step.png){srcset="images/debugging/[email protected] 2x"}
+  ![step](images/debugging/step.png)
 
 ::: sidenote
 Jedna linia kodu Lua nie odpowiada jednemu wyrażeniu. Krok w debuggerze przesuwa się o jedno wyrażenie naraz, co oznacza, że obecnie możesz musieć nacisnąć przycisk kroku więcej niż raz, aby przejść do następnej linii.
@@ -73,7 +73,7 @@ Step Into
 : ![step in](images/debugging/step_in.svg){width=60px .left}
   Przesuń wykonanie programu o jeden krok. Jeśli wykonanie obejmuje uruchomienie innej funkcji Lua, wykonanie wejdzie do funkcji. Wywołanie funkcji dodaje wpis na stosie wywołań. Możesz kliknąć każdy wpis na liście stosu wywołań, aby wyświetlić punkt wejścia i zawartość wszystkich zmiennych w tej zamknięciu. Tutaj użytkownik wszedł do funkcji `nextspawn()`:
 
-  ![step into](images/debugging/step_into.png){srcset="images/debugging/[email protected] 2x"}
+  ![step into](images/debugging/step_into.png)
 
 Step Out
 : ![step out](images/debugging/step_out.svg){width=60px .left}
@@ -83,21 +83,21 @@ Step Out
 Ustawianie i usuwanie punktów przerwania (breakpoints)
 : Możesz ustawić dowolną liczbę punktów przerwania w kodzie Lua. Gdy gra działa z podłączonym debugerem, zatrzyma się na następnym punkcie przerwania i poczeka na dalsze interakcje z tobą.
 
-  ![add breakpoint](images/debugging/add_breakpoint.png){srcset="images/debugging/[email protected] 2x"}
+  ![add breakpoint](images/debugging/add_breakpoint.png)
 
   Aby ustawić lub usunąć punkt przerwania, kliknij w kolumnie tuż po prawej stronie numerów wierszy w edytorze kodu. Możesz także wybrać opcję <kbd>Edit ▸ Toggle Breakpoint</kbd> z menu.
 
 Ustawianie punktów przerwania warunkowych
 : Możesz skonfigurować punkt przerwania tak, aby zawierał warunek, który musi być spełniony, aby punkt przerwania został uruchomiony. Warunek może uzyskiwać dostęp do zmiennych lokalnych dostępnych w danym momencie wykonania kodu.
 
-  ![edit breakpoint](images/debugging/edit_breakpoint.png){srcset="images/debugging/[email protected] 2x"}
+  ![edit breakpoint](images/debugging/edit_breakpoint.png)
 
   Aby edytować warunek punktu przerwania, kliknij prawym przyciskiem myszy w kolumnie tuż po prawej stronie numerów wierszy w edytorze kodu lub wybierz opcję <kbd>Edit ▸ Edit Breakpoint</kbd> z menu.
 
 Wykonywanie wyrażeń Lua
 : Z podłączonym debuggerem i zatrzymaną grą na punkcie przerwania dostępna jest przestrzeń wykonawcza Lua z bieżącym kontekstem. Wpisz wyrażenia Lua na dole konsoli i naciśnij <kbd>Enter</kbd>, aby je wykonać:
 
-  ![console](images/debugging/console.png){srcset="images/debugging/[email protected] 2x"}
+  ![console](images/debugging/console.png)
 
   Obecnie nie można modyfikować zmiennych za pomocą ewaluatora.
 

+ 8 - 8
docs/pl/manuals/editor.md

@@ -17,7 +17,7 @@ Home (Strona domowa)
 New Project (Nowy Projekt)
 : Kliknij, jeśli chcesz stworzyć nowy projekt. Następnie wybierz bazę swojego projektu spośród dostępnych szablonów (z zakładki *From Template*), tutoriali (*From Tutorial*) lub wypróbować jecen z przykładowych projektów (*From Sample*).
 
-  ![new project](images/editor/new_project.png){srcset="images/editor/[email protected] 2x"}
+  ![new project](images/editor/new_project.png)
 
   Kiedy utworzysz nowy projekt będzie on zapisany na Twoim lokalnym dysku, tak jak wszystkie zmiany, które w nim zrobisz.
 
@@ -46,7 +46,7 @@ Widok *Editor* (Edytor)
 
 W prawym górnym rogu Edytora aktualnie otwartego pliku (sceny) znajduje się zestaw narzędzi obsługi widoku kamery: *Move* (Przesuwanie), *Rotate* (Obracanie) and *Scale* (Skalowanie).
 
-![toolbar](images/editor/toolbar.png){srcset="images/editor/[email protected] 2x"}
+![toolbar](images/editor/toolbar.png)
 
 Widok *Outline* (Zawartość pliku)
 : Widok ten pokazuje zawartość aktualnie otwartego pliku, w strukturze drzewa. Odzwierciedla widok Edytora i pozwala na wykonywanie operacji na zawartości:
@@ -71,7 +71,7 @@ Widok *Changed Files* (Zmienione pliki):
 
 Jeśli masz otwartych kilka plików jednocześnie, dla każdego z nich pokazywana jest osobna zakładka na górnym pasku Edytora Defold. Możliwe jest również otworzenie dwóch Edytorów/.paneli naraz, jeden obok drugiego. Wybierz plik, <kbd>klikająć prawym przyciskiem myszy</kbd> na danej zakładce w górnym pasku i wybierz <kbd>Move to Other Tab Pane</kbd> z menu kontekstowego.
 
-![2 panes](images/editor/2-panes.png){srcset="images/editor/[email protected] 2x"}
+![2 panes](images/editor/2-panes.png)
 
 Następnie, możesz również z tego samego menu kontekstowego wybrać opcje <kbd>Swap With Other Tab Pane</kbd>, żeby zamienić panele miejscami lub <kbd>Join Tab Panes</kbd>, żeby z powrotem połączyć panele w jeden.
 
@@ -121,25 +121,25 @@ Narzędzie skalowania (Scale)
 
 <kbd>Kliknij prawy przycisk myszki</kbd> na docelowej lokalizacji w panelu *Assets* po lewej stronie i wybierz <kbd>New... ▸ [file type]</kbd>:
 
-![create file](images/editor/create_file.png){srcset="images/editor/[email protected] 2x"}
+![create file](images/editor/create_file.png)
 
 Podaj odpowiednią nazwę dla pliku. Pełna nazwa pliku uwzględniająca końcówkę znajduję się w polu *Path* (ścieżka) w oknie dialogowym:
 
-![create file name](images/editor/create_file_name.png){srcset="images/editor/[email protected] 2x"}
+![create file name](images/editor/create_file_name.png)
 
 ## Importowanie plików do projektu
 
 Aby dodać pliki (obrazki, dźwięki, modele, itp.) do Twojego projektu, po prostu przeciągnij i upuść je w odpowiednim miejscu w panelu *Assets* po lewej stronie. Utworzysz w ten sposób _kopię_ danego pliku w docelowej lokalizacji projektu. Przeczytaj więcej na temat [importowania plików w tej instrukcji](/manuals/importing-assets/).
 
-![Import files](images/editor/import.png){srcset="images/editor/[email protected] 2x"}
+![Import files](images/editor/import.png)
 
 ## Aktualizowanie Edytora
 
 Edytor automatycznie wyszukuje aktualizacje, jeśli ma dostęp do internetu. Kiedy aktualizacja jest dostępna, informacja o możliwości zaktualizowania pojawi się w prawym dolnym rogu Edytora i na stronie startowej z wyborem projektu. Naciśnięcie przycisku `Update Available` spowoduje pobranie aktualizacji i zainstalowanie jej.
 
-![Update from project selection](images/editor/update-project-selection.png){srcset="images/editor/[email protected] 2x"}
+![Update from project selection](images/editor/update-project-selection.png)
 
-![Update from editor](images/editor/update-main.png){srcset="images/editor/[email protected] 2x"}
+![Update from editor](images/editor/update-main.png)
 
 ## Skróty klawiszowe
 

+ 7 - 7
docs/pl/manuals/font.md

@@ -20,11 +20,11 @@ Fonty dodane do projektu są automatycznie konwertowane na format tekstury, któ
 
 Aby stworzyć czcionkę do użycia w Defold, utwórz nowy plik fontu, wybierając opcję <kbd>File ▸ New...</kbd> z menu, a następnie wybierz <kbd>Font</kbd>. Możesz również kliknąć <kbd>prawy przycisk myszy</kbd> w lokalizacji w panelu *Assets* i wybrać <kbd>New... ▸ Font</kbd>.
 
-![New font name](images/font/new_font_name.png){srcset="images/font/[email protected] 2x"}
+![New font name](images/font/new_font_name.png)
 
 Nadaj nowemu plikowi fontu nazwę i kliknij <kbd>OK</kbd>. Nowy plik fontu otworzy się teraz w edytorze.
 
-![New font](images/font/new_font.png){srcset="images/font/[email protected] 2x"}
+![New font](images/font/new_font.png)
 
 Przeciągnij font, który chcesz użyć do panelu *Assets* i upuść ją we właściwym miejscu.
 
@@ -98,7 +98,7 @@ space ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E
 
 Fonty pola odległości przechowują odległość od krawędzi glifu w teksturze zamiast danych w postaci mapy bitowej. Gdy silnik renderuje font, wymagany jest specjalny shader do interpretowania danych odległości i ich wykorzystania do rysowania glifu. Fonty pola odległości są bardziej wymagające pod względem zasobów niż fonty bitmapowe, ale pozwalają na większą elastyczność skalowania.
 
-![Distance field font](images/font/df_font.png){srcset="images/font/[email protected] 2x"}
+![Distance field font](images/font/df_font.png)
 
 Upewnij się, że zmieniasz właściwość *Material* czcionki na *builtins/fonts/font-df.material* (lub inny materiał, który może obsługiwać dane pola odległości) podczas tworzenia fontu, w przeciwnym razie czcionka nie będzie używać odpowiedniego shadera podczas renderowania na ekranie.
 
@@ -120,7 +120,7 @@ Aby stworzyć font BMFont, musisz użyć narzędzia, które może generować odp
 * [bmGlyph](https://www.bmglyph.com), komercyjne narzędzie dla platformy macOS od Sovapps.
 :::
 
-![BMfont](images/font/bm_font.png){srcset="images/font/[email protected] 2x"}
+![BMfont](images/font/bm_font.png)
 
 Aby font renderował się poprawnie, nie zapomnij ustawić właściwości materiału na *builtins/fonts/font-fnt.material* podczas tworzenia czcionki.
 
@@ -130,15 +130,15 @@ Ogólnie rzecz biorąc, fonty bitmapowe są najlepsze, gdy font jest renderowany
 
 Fonty pola odległości bardzo dobrze reagują na skalowanie w górę. Z kolei fonty bitmapowe, będąc jedynie pikselowymi obrazami, zwiększają swoją wielkość wraz ze skalowaniem czcionki, co prowadzi do efektów blokowych artefaktów. Oto przykład fontu o rozmiarze 48 pikseli, powiększonej 4-krotnie.
 
-![Fonts scaled up](images/font/scale_up.png){srcset="images/font/[email protected] 2x"}
+![Fonts scaled up](images/font/scale_up.png)
 
 Podczas zmniejszania rozmiaru, tekstury fontów bitmapowych mogą być ładnie i efektywnie zmniejszone i wygładzone przez GPU. Font bitmapowy lepiej utrzymuje swoją kolorystykę niż font pola odległości. Oto przybliżenie tej samej próbki fontu o rozmiarze 48 pikseli, zmniejszonego do 1/5 rozmiaru:
 
-![Fonts scaled down](images/font/scale_down.png){srcset="images/font/[email protected] 2x"}
+![Fonts scaled down](images/font/scale_down.png)
 
 Fonty pola odległości muszą być renderowane w celu uzyskania docelowego rozmiaru, który jest wystarczająco duży, aby pomieścić informacje o odległości, które mogą wyrazić krzywizny glifów fontu. To ta sama czcionka, co powyżej, ale o rozmiarze 18 pikseli i powiększona 10-krotnie. Wyraźnie widać, że jest to zbyt małe, aby zakodować kształty tego fontu:
 
-![Distance field artifacts](images/font/df_artifacts.png){srcset="images/font/[email protected] 2x"}
+![Distance field artifacts](images/font/df_artifacts.png)
 
 Jeśli nie potrzebujesz obsługi cieni lub konturów, ustaw ich odpowiednie wartości alfa na zero. W przeciwnym razie dane cienia i konturu nadal zostaną generowane, zajmując zbędną pamięć.
 

+ 2 - 2
docs/pl/manuals/gui-box.md

@@ -13,11 +13,11 @@ Dodaj nowe węzły box, <kbd>klikając prawym przyciskiem myszy</kbd> w widoku "
 
 Możesz używać obrazów i animacji z atlasów lub źródeł kafelków, które zostały dodane do GUI. Dodaj tekstury, klikając prawym przyciskiem myszy na ikonę folderu "Textures" w widoku "Outline" i wybierając <kbd>Add ▸ Textures...</kbd>. Następnie ustaw właściwość *Texture* węzłu box na daną teksturę:
 
-![Textures](images/gui-box/create.png){srcset="images/gui-box/[email protected] 2x"}
+![Textures](images/gui-box/create.png)
 
 Należy zauważyć, że kolor węzła box będzie barwił (ang. tint) grafikę. Kolor barwienia jest mnożony przez dane obrazu, co oznacza, że jeśli ustawisz kolor na biały (domyślny), w praktyce nie zostanie zastosowane barwienie.
 
-![Tinted texture](images/gui-box/tinted.png){srcset="images/gui-box/[email protected] 2x"}
+![Tinted texture](images/gui-box/tinted.png)
 
 Węzły box są zawsze renderowane, nawet jeśli nie mają przypisanej tekstury, mają ustawioną wartość alfa na `0` lub mają rozmiar `0, 0, 0`. Węzły box powinny zawsze mieć przypisaną do nich teksturę, aby renderer mógł je właściwie grupować i zmniejszać liczbę wywołań rysowania (ang. draw calls).
 

+ 4 - 4
docs/pl/manuals/gui-clipping.md

@@ -25,7 +25,7 @@ Clipping Inverted
 
 Następnie dodaj węzeł lub węzły, które chcesz wyciąć jako dzieci węzła wycinającego.
 
-![Create clipping](images/gui-clipping/create.png){srcset="images/gui-clipping/[email protected] 2x"}
+![Create clipping](images/gui-clipping/create.png)
 
 ## Maska wycinająca
 
@@ -35,7 +35,7 @@ Wycinanie działa poprzez zapisywanie węzłów do bufora wycinania (*stencil bu
 - Jeśli węzeł wycinający ma rodzica wycinającego, zamiast tego przycinany jest kształt maski wycinania rodzica. Węzeł dziecka wycinającego nie może _rozszerzać_ bieżącej maski wycinania, tylko ją dalej przycina.
 - Węzły, które nie są węzłami wycinającymi i są dziećmi węzłów wycinających, zostaną wyrenderowane z maską wycinania stworzoną przez hierarchię rodzica.
 
-![Clipping hierarchy](images/gui-clipping/setup.png){srcset="images/gui-clipping/[email protected] 2x"}
+![Clipping hierarchy](images/gui-clipping/setup.png)
 
 W tym przykładzie utworzono trzy węzły w hierarchii:
 
@@ -45,7 +45,7 @@ W tym przykładzie utworzono trzy węzły w hierarchii:
 
 Dla tej hierarchii możliwe są cztery kombinacje normalnych i odwróconych wycinaczy. Obszar zielony oznacza część koła, która jest renderowana. Reszta jest przycinana:
 
-![Stencil masks](images/gui-clipping/modes.png){srcset="images/gui-clipping/[email protected] 2x"}
+![Stencil masks](images/gui-clipping/modes.png)
 
 ## Ograniczenia maski wycinania
 
@@ -63,7 +63,7 @@ Warstwy można wykorzystać do kontrolowania kolejności renderowania (i grupowa
 Węzeł wycinania i jego hierarchia zostaną narysowane jako pierwsze, jeśli mają przypisaną warstwę, a w zwykłej kolejności, jeśli nie mają przypisanej warstwy.
 :::
 
-![Layers and clipping](images/gui-clipping/layers.png){srcset="images/gui-clipping/[email protected] 2x"}
+![Layers and clipping](images/gui-clipping/layers.png)
 
 W tym przykładzie zarówno węzły wycinające "Donut BG" i "BG" korzystają z tej samej warstwy 1. Kolejność renderowania między nimi będzie zgodna z kolejnością w hierarchii, gdzie "Donut BG" zostanie narysowane przed "BG". Jednak węzeł dziecka "Donut Shadow" jest przypisany do warstwy 2, która ma wyższy porządek warstw i zostanie narysowany po obu węzłach wycinających. W tym przypadku kolejność renderowania będzie następująca:
 

+ 6 - 6
docs/pl/manuals/gui-layouts.md

@@ -26,12 +26,12 @@ Height
 Device Models
 : Lista modeli urządzeń oddzielonych przecinkami. Nazwa modelu urządzenia pasuje do początku nazwy modelu urządzenia. Przykład: `iPhone10` pasuje do modeli "iPhone10,\*". Nazwy modeli z przecinkami powinny być umieszczone w cudzysłowie, np. `"iPhone10,3", "iPhone10,6"` pasuje do modeli iPhone X (https://www.theiphonewiki.com/wiki/Models). Należy zauważyć, że tylko platformy Android i iOS raportują nazwę modelu urządzenia podczas wywoływania funkcji `sys.get_sys_info`. Inne platformy zwracają pusty ciąg znaków i dlatego nigdy nie wybiorą profilu wyświetlania z kwalifikatorem modelu urządzenia.
 
-![New display profiles](images/gui-layouts/new_profiles.png){srcset="images/gui-layouts/[email protected] 2x"}
+![New display profiles](images/gui-layouts/new_profiles.png)
 
 Należy również określić, że silnik powinien używać nowych profili. Otwórz *game.project* i wybierz plik z profilami wyświetlania w ustawieniach *Display Profiles* w sekcji *display*.
 
 
-![Settings](images/gui-layouts/settings.png){srcset="images/gui-layouts/[email protected] 2x"}
+![Settings](images/gui-layouts/settings.png)
 
 Jeśli chcesz, aby silnik automatycznie przełączał się między układami w orientacji pionowej i poziomej po obróceniu urządzenia, zaznacz opcję *Dynamic Orientation*. Silnik będzie dynamicznie wybierać pasujący układ i zmieniać wybór w razie zmiany orientacji urządzenia.
 
@@ -39,17 +39,17 @@ Jeśli chcesz, aby silnik automatycznie przełączał się między układami w o
 
 Obecny zestaw profili wyświetlania można wykorzystać do tworzenia wariantów układów (layouts) węzłów interfejsu. Aby dodać nowy układ do sceny interfejsu, kliknij prawym przyciskiem myszy na ikonie *Layouts* w widoku *Outline* i wybierz <kbd>Add ▸ Layout ▸ ...</kbd>.
 
-![Add layout to scene](images/gui-layouts/add_layout.png){srcset="images/gui-layouts/[email protected] 2x"}
+![Add layout to scene](images/gui-layouts/add_layout.png)
 
 Podczas edycji sceny interfejsu wszystkie węzły są edytowane w określonym układzie. Obecnie wybrany układ jest widoczny w rozwijanym menu układu sceny interfejsu w pasku narzędziowym. Jeśli nie wybrano żadnego układu, węzły są edytowane w układzie *Default*.
 
-![Layouts toolbar](images/gui-layouts/toolbar.png){srcset="images/gui-layouts/[email protected] 2x"}
+![Layouts toolbar](images/gui-layouts/toolbar.png)
 
-![portrait edit](images/gui-layouts/portrait.png){srcset="images/gui-layouts/[email protected] 2x"}
+![portrait edit](images/gui-layouts/portrait.png)
 
 Każda zmiana właściwości węzła dokonana z wybranym układem, nadpisuje właściwość w odniesieniu do układu *Default*. Właściwości, które zostały nadpisane, są oznaczone kolorem niebieskim. Węzły z nadpisanymi właściwościami również są oznaczone kolorem niebieskim. Możesz kliknąć przycisk resetowania obok dowolnej nadpisanej właściwości, aby przywrócić ją do pierwotnej wartości.
 
-![landscape edit](images/gui-layouts/landscape.png){srcset="images/gui-layouts/[email protected] 2x"}
+![landscape edit](images/gui-layouts/landscape.png)
 
 Układ nie może usuwać ani tworzyć nowych węzłów, może jedynie nadpisywać właściwości. Jeśli chcesz usunąć węzeł z układu, możesz albo przenieść węzeł poza obszar ekranu, albo usunąć go za pomocą logiki skryptu. Należy także zwrócić uwagę na obecnie wybrany układ. Jeśli dodasz układ do projektu, nowy układ będzie konfigurowany zgodnie z aktualnie wybranym układem. Kopiowanie i wklejanie węzłów uwzględnia obecnie wybrany układ zarówno podczas kopiowania, jak i podczas wklejania.
 

+ 1 - 1
docs/pl/manuals/gui-particlefx.md

@@ -13,7 +13,7 @@ Dodaj nowe węzły cząsteczkowe, <kbd>klikając prawym przyciskiem myszy</kbd>
 
 Możesz użyć efektów cząsteczkowych, które dodałeś do GUI jako źródła efektu. Dodaj efekty cząsteczkowe, <kbd>klikając prawym przyciskiem myszy</kbd> na ikonie folderu *Particle FX* w widoku *Outline* i wybierając <kbd>Add ▸ Particle FX...</kbd>. Następnie ustaw właściwość *Particlefx* na węźle:
 
-![Particle fx](images/gui-particlefx/create.png){srcset="images/gui-particlefx/[email protected] 2x"}
+![Particle fx](images/gui-particlefx/create.png)
 
 ## Kontrolowanie efektu
 

+ 2 - 2
docs/pl/manuals/gui-pie.md

@@ -11,7 +11,7 @@ Węzły pierścieniowe - "pie" są używane do tworzenia obiektów okrągłych l
 
 Kliknij <kbd>prawym przyciskiem myszy</kbd> w sekcji *Nodes* w panelu *Outline* i wybierz <kbd>Add ▸ Pie</kbd>. Nowy węzeł pie zostaje zaznaczony, i możesz modyfikować jego właściwości.
 
-![Create pie node](images/gui-pie/create.png){srcset="images/gui-pie/[email protected] 2x"}
+![Create pie node](images/gui-pie/create.png)
 
 Następujące właściwości są unikalne dla węzłów pie:
 
@@ -30,7 +30,7 @@ Perimeter Vertices
 Pie Fill Angle
 : Kąt wypełnienia - określa, ile z placka ma zostać wypełnione. Wyrażane jako kąt przeciwny do ruchu wskazówek zegara, zaczynając od prawej strony.
 
-![Properties](images/gui-pie/properties.png){srcset="images/gui-pie/[email protected] 2x"}
+![Properties](images/gui-pie/properties.png)
 
 Jeśli ustawisz teksturę na węźle, obraz tekstury jest używany "płasko", tak aby rogi tekstury korelowały z rogami obwiedni węzła.
 

+ 4 - 4
docs/pl/manuals/gui-script.md

@@ -47,7 +47,7 @@ end
 
 Aby przypiąć skrypt do komponentu GUI, otwórz prototyp komponentu GUI (inaczej nazywane "prefabami" lub "szablonami" w innych silnikach) i wybierz korzeń (root) w *Outline*, aby wywołać Właściwości (*Properties*) GUI. Ustaw właściwość *Script* na plik skryptu.
 
-![Script](images/gui-script/set_script.png){srcset="images/gui-script/[email protected] 2x"}
+![Script](images/gui-script/set_script.png)
 
 Jeśli komponent GUI został dodany do obiektu gry w dowolnym miejscu gry, skrypt zostanie teraz uruchomiony.
 
@@ -79,13 +79,13 @@ local stats = { score = 4711, stars = 3, health = 6 }
 msg.post("hud#gui", "set_stats", stats)
 ```
 
-![message passing](images/gui-script/message_passing.png){srcset="images/gui-script/[email protected] 2x"}
+![message passing](images/gui-script/message_passing.png)
 
 ## Adresowanie węzłów
 
 Węzły GUI mogą być manipulowane przez skrypt GUI przypisany do komponentu. Każdy węzeł musi mieć unikalne *Id*, które jest ustawiane w edytorze:
 
-![message passing](images/gui-script/node_id.png){srcset="images/gui-script/[email protected] 2x"}
+![message passing](images/gui-script/node_id.png)
 
 *Id* pozwala skryptowi uzyskać dostęp do węzła i manipulować nim za pomocą [funkcji przestrzeni nazw gui](/ref/gui):
 
@@ -114,7 +114,7 @@ gui.set_font(new_textnode, "sourcesans")
 gui.set_color(new_textnode, vmath.vector4(0.69, 0.6, 0.8, 1.0))
 ```
 
-![dynamic node](images/gui-script/dynamic_nodes.png){srcset="images/gui-script/[email protected] 2x"}
+![dynamic node](images/gui-script/dynamic_nodes.png)
 
 Alternatywnym sposobem na tworzenie nowych węzłów jest klonowanie istniejącego węzła za pomocą funkcji `gui.clone()` lub drzewa węzłów za pomocą funkcji `gui.clone_tree()`:
 

+ 5 - 5
docs/pl/manuals/gui-template.md

@@ -13,7 +13,7 @@ Szablon GUI to scena GUI, która jest tworzona, węzeł po węźle, w innej scen
 
 Szablon GUI to zwykła scena GUI, więc tworzy się go tak samo jak każdą inną scenę GUI. <kbd>Kliknij prawym przyciskiem myszy</kbd> w odpowiednim miejscu w panelu Assets i wybierz <kbd>New... ▸ Gui</kbd>.
 
-![Create template](images/gui-templates/create.png){srcset="images/gui-templates/[email protected] 2x"}
+![Create template](images/gui-templates/create.png)
 
 Utwórz szablon i zapisz go. Należy zauważyć, że węzły instancji tego szablonu zostaną umieszczone względem położenia początkowego, dlatego dobrym pomysłem jest utworzenie szablonu w pozycji 0, 0, 0.
 
@@ -21,21 +21,21 @@ Utwórz szablon i zapisz go. Należy zauważyć, że węzły instancji tego szab
 
 Możesz tworzyć dowolną liczbę instancji opartych na jednej instancji. Utwórz lub otwórz scenę GUI, w której chcesz umieścić szablon, a następnie <kbd>kliknij prawym przyciskiem myszy</kbd> sekcję *Nodes* w widoku *Outline* i wybierz <kbd>Add ▸ Template</kbd>.
 
-![Create instance](images/gui-templates/create_instance.png){srcset="images/gui-templates/[email protected] 2x"}
+![Create instance](images/gui-templates/create_instance.png)
 
 Ustaw właściwość *Template* na plik sceny GUI szablonu.
 
 Możesz dodać dowolną liczbę instancji szablonów, a dla każdej instancji można zastępować właściwości każdego węzła i zmieniać pozycję węzła instancji, kolorowanie, rozmiar, teksturę itp.
 
-![Instances](images/gui-templates/instances.png){srcset="images/gui-templates/[email protected] 2x"}
+![Instances](images/gui-templates/instances.png)
 
 Każda zmieniona właściwość jest oznaczona kolorem niebieskim w edytorze. Naciśnij przycisk resetowania przy właściwości, aby ustawić jej wartość na wartość z szablonu:
 
-![Properties](images/gui-templates/properties.png){srcset="images/gui-templates/[email protected] 2x"}
+![Properties](images/gui-templates/properties.png)
 
 Każdy węzeł, który ma zmienione właściwości, jest również kolorowany na niebiesko w widoku *Outline*:
 
-![Outline](images/gui-templates/outline.png){srcset="images/gui-templates/[email protected] 2x"}
+![Outline](images/gui-templates/outline.png)
 
 Instancja szablonu jest wylistowana jako składana pozycja w widoku *Outline*. Jednak należy zauważyć, że ten element w widoku *nie jest węzłem*. Instancja szablonu nie istnieje także w czasie wykonywania, ale wszystkie węzły, które są częścią instancji, istnieją.
 

+ 2 - 2
docs/pl/manuals/gui-text.md

@@ -11,7 +11,7 @@ Defold obsługuje konkretny rodzaj węzła GUI, który umożliwia renderowanie t
 
 Fonty, które chcesz używać w węzłach tekstowych GUI, muszą zostać dodane do komponentu GUI. <kbd>Kliknij prawym przyciskiem myszy</kbd> na folder *Fonts*, użyj górnego menu <kbd>GUI</kbd> lub naciśnij odpowiedni skrót klawiaturowy.
 
-![Fonts](images/gui-text/fonts.png){srcset="images/gui-text/[email protected] 2x"}
+![Fonts](images/gui-text/fonts.png)
 
 Węzły tekstowe posiadają zestaw specjalnych właściwości:
 
@@ -37,7 +37,7 @@ Ustawiając punkt obrotu węzła, możesz zmienić tryb wyrównywania tekstu (an
 *Right*
 : Jeśli punkt obrotu jest ustawiony na dowolny z trybów `East`, tekst jest wyrównywany do prawej.
 
-![Text alignment](images/gui-text/align.png){srcset="images/gui-text/[email protected] 2x"}
+![Text alignment](images/gui-text/align.png)
 
 ## Modyfikowanie węzłów tekstowych w czasie działania programu
 

+ 14 - 14
docs/pl/manuals/gui.md

@@ -18,17 +18,17 @@ Graficzny interfejs użytkownika w Defoldzie to komponent, który tworzysz i prz
 
 Komponenty GUI są tworzone na podstawie pliku prototypu sceny GUI (nazywanego również "prefabem", "szablonem" lub "blueprintem" w innych silnikach). Aby utworzyć nowy komponent GUI, <kbd>kliknij prawym przyciskiem myszy</kbd> w panelu *Assets* i wybierz <kbd>New ▸ Gui</kbd>. Wprowadź nazwę nowego pliku GUI i naciśnij <kbd>OK</kbd>.
 
-![New gui file](images/gui/new_gui_file.png){srcset="images/gui/[email protected] 2x"}
+![New gui file](images/gui/new_gui_file.png)
 
 Teraz Defold automatycznie otwiera plik w edytorze sceny GUI.
 
-![New gui](images/gui/new_gui.png){srcset="images/gui/[email protected] 2x"}
+![New gui](images/gui/new_gui.png)
 
 W panelu *Outline* znajdziesz wszystkie elementy GUI: listę węzłów (nodes) i wszelkie zależności (patrz niżej).
 
 Centralny obszar edycji pokazuje GUI. W pasku narzędziowym w prawym górnym rogu obszaru edycji znajdują się narzędzia *Move*, *Rotate* i *Scale* (odpowiednio Przesuń, Obróć i Skaluj), a także selektor układu [layout](/manuals/gui-layouts).
 
-![toolbar](images/gui/toolbar.png){srcset="images/gui/[email protected] 2x"}
+![toolbar](images/gui/toolbar.png)
 
 Biały prostokąt pokazuje obszar wybranego layoutu, o domyślnej szerokości i wysokości ekranu ustawionej w ustawieniach projektu.
 
@@ -53,7 +53,7 @@ Max Nodes
 
 Drzewo zasobów w grze Defold jest statyczne, więc wszelkie zależności, które potrzebujesz dla swoich węzłów GUI, muszą być dodane do komponentu. W panelu *Outline* grupuje się wszystkie zależności według typu w "folderach":
 
-![dependencies](images/gui/dependencies.png){srcset="images/gui/[email protected] 2x"}
+![dependencies](images/gui/dependencies.png)
 
 Aby dodać nową zależność, <kbd>kliknij prawym przyciskiem myszy</kbd> root "Gui" w panelu *Outline*, a następnie wybierz <kbd>Add ▸ [typ]</kbd> z kontekstowego menu.
 
@@ -95,7 +95,7 @@ ParticleFX node
 
 Aby dodać węzły, kliknij prawym przyciskiem myszy na folderze *Nodes* i wybierz <kbd>Add ▸</kbd>, a następnie <kbd>Box</kbd>, <kbd>Text</kbd>, <kbd>Pie</kbd>, <kbd>Template</kbd> lub <kbd>ParticleFx</kbd>.
 
-![Add nodes](images/gui/add_node.png){srcset="images/gui/[email protected] 2x"}
+![Add nodes](images/gui/add_node.png)
 
 Możesz także nacisnąć <kbd>A</kbd> i wybrać typ, który chcesz dodać do GUI.
 
@@ -184,14 +184,14 @@ Pivot
 
 Możliwe wartości to `Center`, `North`, `South`, `East`, `West`, `North West`, `North East`, `South West` lub `South East`.
 
-  ![pivot point](images/gui/pivot.png){srcset="images/gui/[email protected] 2x"}
+  ![pivot point](images/gui/pivot.png)
 
 Jeśli zmienisz punkt obrotu węzła, węzeł zostanie przesunięty tak, że nowy punkt obrotu będzie znajdować się w pozycji węzła. Węzły tekstowe są ustawiane tak, że `Center` ustawia środek tekstu, `West` ustawia tekst wyrównany do lewej, a `East` ustawia tekst wyrównany do prawej.
 
 X Anchor, Y Anchor
 : Kotwiczenie kontroluje, w jaki sposób wertykalna i pozioma pozycja węzła jest zmieniana, gdy granice sceny lub granice węzła nadrzędnego są rozciągane, aby pasować do rzeczywistego rozmiaru ekranu.
 
-  ![Anchor unadjusted](images/gui/anchoring_unadjusted.png){srcset="images/gui/[email protected] 2x"}
+  ![Anchor unadjusted](images/gui/anchoring_unadjusted.png)
 
   Dostępne są następujące tryby kotwiczenia:
 
@@ -199,14 +199,14 @@ X Anchor, Y Anchor
   - `Left` lub `Right` (*X Anchor*) skaluje poziomą pozycję węzła, aby zachować pozycję z lewego i prawego brzegu węzła nadrzędnego lub sceny w tej samej proporcji.
   - `Top` lub `Bottom` skaluje pionową pozycję węzła, aby zachować pozycję z górnego i dolnego brzegu węzła nadrzędnego lub sceny w tej samej proporcji.
 
-  ![Anchoring](images/gui/anchoring.png){srcset="images/gui/[email protected] 2x"}
+  ![Anchoring](images/gui/anchoring.png)
 
 Adjust Mode
 : Ustala tryb dostosowania węzła. Ustawienie trybu dostosowania kontroluje, co się dzieje z węzłem, gdy granice sceny lub granice węzła nadrzędnego są dostosowywane, aby pasować do rzeczywistego rozmiaru ekranu.
 
   Węzeł utworzony w scenie, w której rozdzielczość logiczna jest typową rozdzielczością krajobrazu:
 
-  ![Unadjusted](images/gui/unadjusted.png){srcset="images/gui/[email protected] 2x"}
+  ![Unadjusted](images/gui/unadjusted.png)
 
   Dostępne są następujące tryby dostosowania:
 
@@ -214,7 +214,7 @@ Adjust Mode
   - `Zoom` skaluje zawartość węzła tak, aby była równa rozciągniętej szerokości lub wysokości prostokątnego obszaru ograniczającego, w zależności od tego, która jest większa. Innymi słowy, zawartość w pełni pokryje rozciągnięty obszar ograniczający węzła.
   - `Stretch` rozciąga zawartość węzła, tak aby wypełniła rozciągnięty obszar ograniczający węzła.
 
-  ![Adjust modes](images/gui/adjusted.png){srcset="images/gui/[email protected] 2x"}
+  ![Adjust modes](images/gui/adjusted.png)
 
   Jeśli właściwość sceny GUI *Adjust Reference* jest ustawiona na `Disabled`, czyli wyłaczona, to ustawienie to będzie ignorowane.
 
@@ -276,7 +276,7 @@ Jeśli zmienimy Pivot z Center na West dla lewej skrzynki i na East dla prawej s
 
 Wszystkie węzły są renderowane w kolejności, w jakiej są wymienione w folderze "Nodes". Węzeł na górze listy jest rysowany jako pierwszy i będzie więc wyglądać tak, jakby był za innymi węzłami. Ostatni węzeł na liście jest rysowany jako ostatni, co oznacza, że będzie wyglądać tak, jakby był z przodu względem wszystkich innych węzłów. Zmiana wartości Z na węźle nie kontroluje kolejności rysowania; jednakże, jeśli ustawisz wartość Z poza zakresem renderowania swojego skryptu renderującego, węzeł nie będzie już renderowany na ekranie. Możesz również nadpisać kolejność indeksów węzłów warstwami (patrz poniżej).
 
-![Draw order](images/gui/draw_order.png){srcset="images/gui/[email protected] 2x"}
+![Draw order](images/gui/draw_order.png)
 
 Wybierz węzeł i naciśnij <kbd>Alt + W górę/W dół</kbd>, aby przesunąć węzeł w górę lub w dół i zmienić kolejność indeksu.
 
@@ -295,7 +295,7 @@ end
 
 Węzeł staje się dzieckiem (ang. child) innego węzła, przeciągając go na węzeł, który chcesz, aby był rodzicem (ang. parent) dziecka. Węzeł z rodzicem dziedziczy transformację (pozycję, obrót i skalę) stosowaną do rodzica i względem punktu obrotu rodzica.
 
-![Parent child](images/gui/parent_child.png){srcset="images/gui/[email protected] 2x"}
+![Parent child](images/gui/parent_child.png)
 
 Rodzice są rysowani przed swoimi dziećmi. Wykorzystaj warstwy, aby zmienić kolejność rysowania węzłów rodzica i dziecka oraz zoptymalizować renderowanie węzłów (patrz poniżej).
 
@@ -312,13 +312,13 @@ Jeśli węzeł różni się od poprzedniego pod względem któregoś z tych punk
 
 Możliwość organizowania węzłów w hierarchie ułatwia grupowanie węzłów w jednostki łatwo zarządzalne. Jednak hierarchie mogą skutecznie przerywać renderowanie wskaźników, jeśli miesza się różne typy węzłów:
 
-![Breaking batch hierarchy](images/gui/break_batch.png){srcset="images/gui/[email protected] 2x"}
+![Breaking batch hierarchy](images/gui/break_batch.png)
 
 Kiedy potok renderowania (ang. rendering pipeline) przechodzi przez listę węzłów, zmuszony jest utworzyć oddzielny wskaźnik dla każdego oddzielnego węzła, ponieważ typy są różne. Ogólnie rzecz biorąc, te trzy przyciski będą wymagały sześciu wywołań rysowania.
 
 Przypisując węzłom warstwy, można je uporządkować w inny sposób, co pozwala potokowi renderowania grupować węzły w mniej wywołań rysowania. Zacznij od dodania potrzebnych warstw do sceny. Kliknij prawym przyciskiem na ikonę folderu "Layers" w widoku "Outline" i wybierz "Add ▸ Layer". Zaznacz nową warstwę i przypisz jej właściwość "Name" w widoku "Properties".
 
-![Layers](images/gui/layers.png){srcset="images/gui/[email protected] 2x"}
+![Layers](images/gui/layers.png)
 
 Następnie ustaw właściwość "Layer" dla każdego węzła na odpowiadającą mu warstwę. Kolejność rysowania warstw ma pierwszeństwo nad zwykłym porządkiem indeksów węzłów, więc ustawienie węzłów graficznych przycisku na warstwę "graphics" i węzłów tekstowych przycisku na warstwę "text" spowoduje następującą kolejność rysowania:
 

+ 1 - 1
docs/pl/manuals/importing-assets.md

@@ -12,7 +12,7 @@ Projekt gry zazwyczaj składa się z wielkiej liczby różnego rodzaju zasobów
 
 Defold wymaga, aby pliki używane w projekcie znajdowały się w hierarchii katalogu projektu. Należy więc zaimportować tam uprzednio wszystkie zasoby, zanim będzie można ich użyć. Aby zaimporotwać zasoby przenieś pliki w Twoim systemie operacyjnym do katalogu projektu lub bezpośrednio przeciągnij nad panel *Assets pane* edytora Defold w odpowiednim katalogu.
 
-![Importowanie plików](images/graphics/import.png){srcset="images/graphics/[email protected] 2x"}
+![Importowanie plików](images/graphics/import.png)
 
 ::: sidenote
 Defold wspiera pliki graficzne w formatach PNG i JPEG. Pliki PNG muszą być w formacie 32-bitowym RGBA. Inne pliki graficzne muszą być przekonwertowane do wspieranych, aby móc ich użyć.

+ 9 - 9
docs/pl/manuals/importing-graphics.md

@@ -7,7 +7,7 @@ brief: Ta instrukcja opisuje ze szczegółami jak importować i używać grafiki
 
 Defold wspiera różnego rodzaju komponenty wizualne używane często w grach 2D. Możesz użyć Defolda do stworzenia statycznych i animowanych sprite'ów, komponentów interfejsu użytkownika (GUI), efektór cząsteczkowych (particle fx), map kafelków (tilemap) fontów bitmapowych i animacji Spine. Zanim możliwe będzie stworzenie tych wizualnych komponentów, musisz zaimportować pliki graficzne, których chcesz używać. Aby zaimportować pliki, przenieś je do katalogu projektu lub przeciągnij nad panel *Assets pane* w edytorze Defold.
 
-![Importowanie plików](images/graphics/import.png){srcset="images/graphics/[email protected] 2x"}
+![Importowanie plików](images/graphics/import.png)
 
 ::: sidenote
 Defold wspiera pliki graficzne w formatach PNG i JPEG. Pliki PNG muszą być w formacie 32-bitowym RGBA. Inne pliki graficzne muszą być przekonwertowane do wspieranych, aby móc ich użyć.
@@ -21,14 +21,14 @@ Kiedy pliki graficzne są już zaimportowane do projektu, mogą być wykorzystyw
 ![atlas](images/icons/atlas.png){.icon} Atlas (galeria)
 : Atlas (galeria obrazów) zawiera listę oddzielnych plików graficznych, które są automatycznie połączone w jedną, większą teksturę. Atlasy mogą zawierać statyczne, pojedyncze obrazy lub mogą zawierać grupy tworzące animację poklatkową używając opcji *Animation Groups*.
 
-  ![atlas](images/graphics/atlas.png){srcset="images/graphics/[email protected] 2x"}
+  ![atlas](images/graphics/atlas.png)
 
 Więcej szczegółów na ten temat znajdziejsz w [tej instrukcji do atlasów](/manuals/atlas).
 
 ![tile source](images/icons/tilesource.png){.icon} Tile Source (źródło kafelków)
 : Żródła kafelków zawierają referencje do plików graficznych, które są przygotowane w ten sposób, że mogą być podzielone na mniejsze kafelki (ang. tile) ułożone na kwadratowej, jednakowej siatce. Często obrazki takie nazywane są również _sprite sheet_. Źródła kafelków mogą również zawierać animacje poklatkowe zdefiniowane przez określenie pierwszego i ostatniego numeru kafelka, które są po kolei odtwarzane. Ponadto, korzystając ze źródła kafelków, można automatycznie określić kształt kolizji na podstawie obrazu na danym kafelku (transparentne tło jest "wycinane" z kształtu kolizji danego kafelka).
 
-  ![tile source](images/graphics/tilesource.png){srcset="images/graphics/[email protected] 2x"}
+  ![tile source](images/graphics/tilesource.png)
 
 Więcej szczegółów na ten temat znajdziejsz w [tej instrukcji do źródeł kafelków](/manuals/tilesource).
 
@@ -37,7 +37,7 @@ Więcej szczegółów na ten temat znajdziejsz w [tej instrukcji do źródeł ka
 
 Więcej szczegółów na ten temat znajdziejsz w [tej instrukcji do fontów](/manuals/font/#bitmap-bmfonts).
 
-  ![BMfont](images/font/bm_font.png){srcset="images/font/[email protected] 2x"}
+  ![BMfont](images/font/bm_font.png)
 
 
 ## Używanie zasobów Defolda
@@ -47,28 +47,28 @@ Kiedy już pliki graficzne są przekonwertowane w zasoby typu Atlas czy Tile Sou
 ![sprite](images/icons/sprite.png){.icon}
 : Sprite (obraz) jest statycznym obrazem lub animacją poklatkową (ang. flipbook animation) wyświetlaną na ekranie.
 
-  ![sprite](images/graphics/sprite.png){srcset="images/graphics/[email protected] 2x"}
+  ![sprite](images/graphics/sprite.png)
 
 Więcej szczegółów na ten temat znajdziejsz w [tej instrukcji do sprite'ów](/manuals/sprite).
 
 ![tile map](images/icons/tilemap.png){.icon} Tile map (mapy kafelków)
 : Mapa kafelków (ang. tile map) składa w jedną całość (mapę) kafelki (zarówno obrazy jak i kształty kolizji) ze źródeł kafelków. Mapy kafelków nie mogą korzystać z atlasów jako źródła.
 
-  ![tilemap](images/graphics/tilemap.png){srcset="images/graphics/[email protected] 2x"}
+  ![tilemap](images/graphics/tilemap.png)
 
 Więcej szczegółów na ten temat znajdziejsz w [tej instrukcji do map kafelków](/manuals/tilemap).
 
 ![particle effect](images/icons/particlefx.png){.icon} Particle fx (efekty cząsteczkowe)
 : Efekty cząteczkowe są tworzone przy użyciu cząsteczek (ang. particles) rozpylanych z emiterów cząsteczek (ang. particle emitter). Cząstki te mogą składać się ze statycznych obrazów lub animacji poklatkowych zarówno z atlasów jak i źródeł kafelków.
 
-  ![particles](images/graphics/particles.png){srcset="images/graphics/[email protected] 2x"}
+  ![particles](images/graphics/particles.png)
 
 Więcej szczegółów na ten temat znajdziejsz w [tej instrukcji do efektów cząsteczkowych](/manuals/particlefx).
 
 ![gui](images/icons/gui.png){.icon} GUI (graficzny interfejs użytkownika)
 : Węzły prostokątne i kołowe GUI (ang. box nodes, pie nodes) mogą wykorzystywać statyczne obrazy lub animacje poklatkowe zarówno z atlasów jak i źródeł kafelków.
 
-  ![gui](images/graphics/gui.png){srcset="images/graphics/[email protected] 2x"}
+  ![gui](images/graphics/gui.png)
 
 Więcej szczegółów na ten temat znajdziejsz w [tej instrukcji do interfejsów użytkownika GUI](/manuals/gui).
 
@@ -78,6 +78,6 @@ Więcej szczegółów na ten temat znajdziejsz w [tej instrukcji do interfejsów
   1. Plik w formacie Spine JSON, który opisuje animację kości (ang. bone) czy też tzw. szkieletu.
   2. Atlas zawierający informacje o obrazach dołączanych do poszczególnych kości szkieletu. Modele Spine nie mogą korzystać ze źródeł kafelków.
 
-  ![spine](images/graphics/spine.png){srcset="images/graphics/[email protected] 2x"}
+  ![spine](images/graphics/spine.png)
 
 Więcej szczegółów na ten temat znajdziejsz w [tej instrukcji do modeli Spine](/manuals/spinemodel).

+ 2 - 2
docs/pl/manuals/importing-models.md

@@ -6,12 +6,12 @@ brief: Ta instrukcja opisuje ze szczegółami jak importować i edytować modele
 # Importowanie modeli 3D
 Defold obecnie wspiera modele, szkielety i animacje w formacie GL Transmission Format *.glTF* oraz *Collada *.dae*. Możesz używać narzędzi takich jak Maya, 3D Max, Sketchup czy Blender do tworzenia i/lub konwertowania modeli trójwymiarowych do formatu glTF i Collada. Blender jest jednym z popularniejszych i potężnych narzędzi do modelowania 3D, animacji, a nawet renderowania. Działa na systemach operacyjnych Windows, macOS i Linux i jest dostępny za darmo do pobrania ze strony http://www.blender.org
 
-![Model w Blenderze](images/model/blender.png){srcset="images/model/[email protected] 2x"}
+![Model w Blenderze](images/model/blender.png)
 
 ## Importowanie do Defolda
 Aby zaimportować model 3D do Defold, przeciągnij i upuść plik *.gltf* lub *.dae* oraz odpowiednie obrazy tekstur w dowolnej lokalizacji w panelu *Assets*.
 
-![Importowanie](images/model/assets.png){srcset="images/model/[email protected] 2x"}
+![Importowanie](images/model/assets.png)
 
 ## Używanie Modeli
 Kiedy model został zaimportowany do Defolda możesz go użyć jako [komponent typu Model](/manuals/model).

+ 2 - 2
docs/pl/manuals/input-gamepads.md

@@ -114,7 +114,7 @@ end
 
 Konfiguracja wejścia od gamepadów wykorzystuje osobny plik mapujący dla każdego rodzaju sprzętowego gamepada. Mapowania gamepadów dla konkretnych typów gamepadów sprzętowych są ustawiane w pliku *gamepads*. Wraz z Defold dostarczany jest wbudowany plik gamepadów z ustawieniami dla popularnych gamepadów:
 
-![Gamepad settings](images/input/gamepads.png){srcset="images/input/[email protected] 2x"}
+![Gamepad settings](images/input/gamepads.png)
 
 Jeśli musisz utworzyć nowy plik z ustawieniami gamepadów, udostępniamy proste narzędzie do pomocy:
 
@@ -128,7 +128,7 @@ Narzędzie to zawiera pliki binarne dla systemów Windows, Linux i macOS. Urucho
 
 Narzędzie poprosi cię o naciśnięcie różnych przycisków na podłączonym kontrolerze. Następnie wygeneruje nowy plik z ustawieniami gamepadów z prawidłowymi mapowaniami dla twojego kontrolera. Zapisz nowy plik lub połącz go z istniejącym plikiem ustawień gamepadów, a następnie zaktualizuj ustawienie w *game.project*:
 
-![Gamepad settings](images/input/gamepad_setting.png){srcset="images/input/[email protected] 2x"}
+![Gamepad settings](images/input/gamepad_setting.png)
 
 ### Niezidentyfikowane gamepady
 

+ 1 - 1
docs/pl/manuals/input-key-and-text.md

@@ -51,7 +51,7 @@ end
 
 Wyzwalacz marked-text jest używany głównie w klawiaturach azjatyckich, gdzie wiele naciśnięć klawiszy może mapować się na pojedyncze wprowadzone znaki. Na przykład w klawiaturze iOS "Japanese-Kana" użytkownik może wprowadzać kombinacje, a górna część klawiatury wyświetla dostępne symbole lub sekwencje symboli, które można wprowadzić.
 
-![Input marked text](images/input/marked_text.png){srcset="images/input/[email protected] 2x"}
+![Input marked text](images/input/marked_text.png)
 
 - Każde naciśnięcie klawisza generuje osobną akcję i ustawia pole text akcji na obecnie wprowadzoną sekwencję symboli (tzw. "oznaczony tekst").
 - Gdy użytkownik wybierze symbol lub kombinację symboli, wysłana zostanie osobna akcja typu `text` (jeśli jest ona skonfigurowana na liście przypisań wejścia). Oddzielna akcja ustawia pole text akcji na ostateczną sekwencję symboli.

+ 9 - 9
docs/pl/manuals/input.md

@@ -9,7 +9,7 @@ Wszystkie dane wejściowe użytkownika (z klawiatury, myszki, ekranu dotykowego
 
 System wejściowy wykorzystuje zestaw prostych i potężnych koncepcji, pozwalających na zarządzanie danymi wejściowymi w sposób dostosowany do potrzeb Twojej gry.
 
-![Input bindings](images/input/overview.png){srcset="images/input/[email protected] 2x"}
+![Input bindings](images/input/overview.png)
 
 Devices
 : Urządzenia wejściowe, które są częścią lub podłączone do twojego komputera lub urządzenia mobilnego, dostarczają dane wejściowe na poziomie systemu operacyjnego, które przesyłane są do środowiska uruchomieniowego Defold. Obsługiwane są następujące typy urządzeń:
@@ -38,11 +38,11 @@ Consuming input
 
 Wiązania wejścia (input bindings) to tabela o zasięgu projektu, która pozwala określić, jak dane wejściowe z urządzenia powinny być tłumaczone na konkretne *akcje* przed ich przesłaniem do komponentów skryptów i skryptów GUI. Aby utworzyć nowy plik wiązań wejścia, <kbd>kliknij prawym przyciskiem myszy</kbd> w lokalizacji w panelu *Assets* i wybierz <kbd>New... ▸ Input Binding</kbd>. Aby użyć nowego pliku, zmień ustawienie *Game Binding* w pliku *game.project*.
 
-![Input binding setting](images/input/setting.png){srcset="images/input/[email protected] 2x"}
+![Input binding setting](images/input/setting.png)
 
 Domyślny plik wiązań wejścia jest automatycznie tworzony w każdym nowym projekcie, więc zazwyczaj nie ma potrzeby tworzenia nowego pliku wiązań. Domyślny plik nazywa się "game.input_binding" i znajduje się w folderze "input" w głównym katalogu projektu. <kbd>Kliknij dwukrotnie</kbd> na plik, aby otworzyć go w edytorze:
 
-![Input set bindings](images/input/input_binding.png){srcset="images/input/[email protected] 2x"}
+![Input set bindings](images/input/input_binding.png)
 
 Aby utworzyć nowe wiązanie, kliknij przycisk <kbd>+</kbd> u dołu odpowiedniego typu wyzwalacza (ang. trigger). Każde wprowadzenie ma dwie pola:
 
@@ -97,7 +97,7 @@ msg.post(".", "acquire_input_focus")
 
 Ta wiadomość nakazuje silnikowi dodać komponenty zdolne do obsługi wejścia (skrypty, komponenty GUI i pełnomocnicy kolekcji) w obiektach gry do stosu wejścia: *input stack*. Komponenty obiektu gry są umieszczane na szczycie stosu wejścia; komponent, który został dodany ostatni, będzie na górze stosu. Należy zauważyć, że jeśli obiekt gry zawiera więcej niż jeden składnik zdolny do obsługi wejścia, wszystkie składniki zostaną dodane do stosu:
 
-![Input stack](images/input/input_stack.png){srcset="images/input/[email protected] 2x"}
+![Input stack](images/input/input_stack.png)
 
 Jeśli obiekt gry, który już zdobył skupienie wejścia, robi to ponownie, jego komponenty zostaną przeniesione na górę stosu.
 
@@ -105,7 +105,7 @@ Jeśli obiekt gry, który już zdobył skupienie wejścia, robi to ponownie, jeg
 
 Akcje wejściowe są rozpakowywane ze stosu wejścia od góry do dołu.
 
-![Action dispatch](images/input/actions.png){srcset="images/input/[email protected] 2x"}
+![Action dispatch](images/input/actions.png)
 
 Dowolny komponent znajdujący się na stosie zawierający funkcję [on_input()](/ref/go#on_input) będzie miał tę funkcję wywoływaną dla każdej akcji wejściowej w trakcie klatki, z następującymi argumentami:
 
@@ -139,7 +139,7 @@ end
 
 Każdy świat gry, który jest dynamicznie ładowany za pomocą komponentu pełnomocnika kolekcji (collection proxy), posiada własny stos wejścia. Aby akcje trafiły na stos wejścia załadowanego świata, komponent proxy musi znajdować się na stosie wejścia głównego świata. Wszystkie składniki na stosie załadowanego świata obsługiwane są przed kontynuacją przekazywania akcji w dół stosu głównego:
 
-![Action dispatch to proxies](images/input/proxy.png){srcset="images/input/[email protected] 2x"}
+![Action dispatch to proxies](images/input/proxy.png)
 
 ::: important
 To powszechny błąd, że zapomina się wysłać wiadomość `acquire_input_focus` do obiektu gry zawierającego komponent kolekcji proxy. Pominięcie tego kroku uniemożliwia odbieranie akcji wejścia przez składniki na stosie załadowanego świata.
@@ -162,11 +162,11 @@ Funkcja `on_input()` komponentu może aktywnie kontrolować, czy akcje powinny b
 - Jeśli `on_input()` zwraca `false`, lub nic nie jest zwracane (również zwracania wartości `nil` jest tak traktowane w Lua), akcje wejściowe zostaną przekazane do następnego komponentu na stosie wejścia.
 - Jeśli `on_input()` zwraca `true`, dane wejściowe zostaną skonsumowane, co oznacza, że żaden komponent na stosie wejścia nie otrzyma danych wejściowych. Należy zauważyć, że dotyczy to wszystkich stosów wejścia. Komponent na stosie załadowanego świata może zużyć dane wejściowe, uniemożliwiając komponentom na stosie głównym ich odbieranie:
 
-![consuming input](images/input/consuming.png){srcset="images/input/[email protected] 2x"}
+![consuming input](images/input/consuming.png)
 
 Istnieje wiele dobrych przypadków użycia, w których konsumowanie danych wejściowych zapewnia prosty i potężny sposób na przesuwanie danych wejściowych między różnymi częściami gry. Na przykład, jeśli potrzebujesz menu wysuwane, które tymczasowo jest jedyną częścią gry nasłuchującą na wejście:
 
-![consuming input](images/input/game.png){srcset="images/input/[email protected] 2x"}
+![consuming input](images/input/game.png)
 
 Menu pauzy jest początkowo ukryte i wyłączone (disabled), a gdy gracz dotknie elementu HUD "PAUSE", jest włączane:
 
@@ -183,7 +183,7 @@ function on_input(self, action_id, action)
 end
 ```
 
-![pause menu](images/input/game_paused.png){srcset="images/input/[email protected] 2x"}
+![pause menu](images/input/game_paused.png)
 
 Menu pauzy GUI zdobywa skupienie wejścia i konsumuje dane wejściowe, uniemożliwiając odbieranie danych wejściowych innych niż te istotne dla menu wysuwanego:
 

+ 4 - 4
docs/pl/manuals/label.md

@@ -11,15 +11,15 @@ Komponent Etykieta (ang. Label) renderuje fragment tekstu na ekranie w przestrze
 
 Aby utworzyć komponent etykiety - label, <kbd>kliknij prawym przyciskiem myszy</kbd> na obiekcie gry i wybierz <kbd>Add Component ▸ Label</kbd>.
 
-![Dodaj etykietę](images/label/add_label.png){srcset="images/label/[email protected] 2x"}
+![Dodaj etykietę](images/label/add_label.png)
 
 (Jeśli chcesz utworzyć kilka etykiet na podstawie tego samego szablonu, możesz także utworzyć nowy plik komponentu etykiety: <kbd>kliknij prawym przyciskiem myszy</kbd> na folder w panelu *Assets* i wybierz <kbd>New... ▸ Label</kbd>, a następnie dodaj plik jako komponent do dowolnych obiektów gry).
 
-![Nowa etykieta](images/label/label.png){srcset="images/label/[email protected] 2x"}
+![Nowa etykieta](images/label/label.png)
 
 Ustaw właściwość *Font* na font, który chcesz użyć, i upewnij się, że właściwość *Material* ma materiał, który pasuje do rodzaju fontu:
 
-![Font i materiał](images/label/font_material.png){srcset="images/label/[email protected] 2x"}
+![Font i materiał](images/label/font_material.png)
 
 ## Właściwości etykiety
 
@@ -81,7 +81,7 @@ Ustawiając właściwość *Pivot*, możesz zmienić tryb wyrównania tekstu.
 *Right*
 : Do prawej - jeśli pivot jest ustawiony na którykolwiek z trybów `East`, tekst jest wyrównywany do prawej.
 
-![Wyrównanie tekstu](images/label/align.png){srcset="images/label/[email protected] 2x"}
+![Wyrównanie tekstu](images/label/align.png)
 
 ## Manipulacja etykietą w czasie rzeczywistym
 

+ 1 - 1
docs/pl/manuals/model.md

@@ -44,7 +44,7 @@ Oprócz właściwości *Id*, *Position* i *Rotation* istnieją następujące wł
 
 Mając komponent Modelu, możesz swobodnie edytować i manipulować komponentem lub otaczającym obiektem gry za pomocą zwykłych narzędzi Edytora Sceny (*Scene Editor*), aby dostosować model do swoich potrzeb.
 
-![Wiggler w grze](images/model/ingame.png){srcset="images/model/[email protected] 2x"}
+![Wiggler w grze](images/model/ingame.png)
 
 ## Manipulacja w czasie rzeczywistym
 

+ 1 - 1
docs/pl/manuals/modules.md

@@ -11,7 +11,7 @@ Moduły Lua pozwalają na strukturyzację projektu i tworzenie wielokrotnie uży
 
 Kod Lua przechowywany w plikach z rozszerzeniem ".lua" w dowolnym miejscu w strukturze projektu gry może być wymagany (dołączony) w plikach skryptowych i plikach skryptów GUI. Aby utworzyć nowy plik modułu Lua, kliknij prawym przyciskiem myszy folder, w którym chcesz go utworzyć w widoku *Assets*, a następnie wybierz <kbd>New... ▸ Lua Module</kbd>. Nadaj plikowi unikalną nazwę i naciśnij <kbd>Ok</kbd>:
 
-![new file](images/modules/new_name.png){srcset="images/modules/[email protected] 2x"}
+![new file](images/modules/new_name.png)
 
 Załóżmy, że poniższy kod jest dodany do pliku "main/anim.lua":
 

+ 9 - 9
docs/pl/manuals/particlefx.md

@@ -7,7 +7,7 @@ brief: Ta instrukcja wyjaśnia, jak działa komponent efektów cząsteczkowych i
 
 Efekty cząsteczkowe (ang. particle effects) to wydajne elementy wizualne złożone z wielu powtarzalnych lub nie elementów (cząsteczek) i służą do wizualnego wzbogacania gier. Możesz ich używać do tworzenia eksplozji, rozprysku krwi, śladów, efektów pogodowych i wielu innych.
 
-![Edytor ParticleFX](images/particlefx/editor.png){srcset="images/particlefx/[email protected] 2x"}
+![Edytor ParticleFX](images/particlefx/editor.png)
 
 Efekty cząsteczkowe składają się z wielu emiterów (emitters) i opcjonalnych modyfikatorów (modifiers):
 
@@ -23,15 +23,15 @@ Wybierz opcję <kbd>New... ▸ Particle FX</kbd> z menu kontekstowego w panelu *
 
 W panelu *Outline* wyświetlany jest domyślny emiter. Wybierz emiter, aby wyświetlić jego właściwości w dolnym panelu *Properties* (Właściwości).
 
-![Domyślne cząsteczki](images/particlefx/default.png){srcset="images/particlefx/[email protected] 2x"}
+![Domyślne cząsteczki](images/particlefx/default.png)
 
 Aby dodać nowy emiter do efektu, <kbd>kliknij prawym przyciskiem myszy</kbd> na korzeniu (root) w panelu *Outline* i wybierz <kbd>Add Emitter ▸ [type]</kbd> z menu kontekstowego. Zauważ, że można nawet później zmienić typ emitera w jego właściwościach.
 
 Aby dodać nowy modyfikator, <kbd>kliknij prawym przyciskiem myszy</kbd> w miejscu modyfikatora w panelu *Outline* (korzeń efektu lub konkretny emiter) i wybierz <kbd>Add Modifier</kbd>, a następnie wybierz typ modyfikatora.
 
-![Dodaj modyfikator](images/particlefx/add_modifier.png){srcset="images/particlefx/[email protected] 2x"}
+![Dodaj modyfikator](images/particlefx/add_modifier.png)
 
-![Wybór modyfikatora](images/particlefx/add_modifier_select.png){srcset="images/particlefx/[email protected] 2x"}
+![Wybór modyfikatora](images/particlefx/add_modifier_select.png)
 
 Modyfikator osadzony na korzeniu efektu (nie jest dzieckiem emitera) wpływa na wszystkie cząsteczki w efekcie.
 
@@ -106,7 +106,7 @@ Emitter Type
 
   - `Cone` - Stożek - emituje cząsteczki z losowej lokalizacji wewnątrz stożka 3D. Cząsteczki kierują się na zewnątrz przez szeroki dysk stożka. *Emitter Size X* definiuje średnicę szerokiego dysku, a *Emitter Size Y* definiuje wysokość stożka.
 
-  ![Typy kształtów emiterów](images/particlefx/emitter_types.png){srcset="images/particlefx/[email protected] 2x"}
+  ![Typy kształtów emiterów](images/particlefx/emitter_types.png)
 
 Particle Orientation
 : Orientacja Cząsteczek - jak są ustawione cząsteczki emitowane:
@@ -127,15 +127,15 @@ Rozciągnięcie z Prędkością - zaznacz, aby skalować rozciągnięcie cząste
 
 Te właściwości mają dwa pola: wartość (value) i rozprzestrzenienie (spread). Rozprzestrzenienie to zmienna losowa, która jest stosowana losowo dla każdej wygenerowanej cząsteczki. Na przykład, jeśli wartość wynosi 50, a rozprzestrzenienie wynosi 3, każda wygenerowana cząsteczka otrzyma wartość między 47 a 53 (50 +/- 3).
 
-![właściwości](images/particlefx/property.png){srcset="images/particlefx/[email protected] 2x"}
+![właściwości](images/particlefx/property.png)
 
 Zaznaczając przycisk klucza (key button), wartość właściwości jest kontrolowana za pomocą krzywej w trakcie trwania emitera. Aby zresetować właściwość z klucza, odznacz przycisk klucza.
 
-![właściwości z kluczem](images/particlefx/key.png){srcset="images/particlefx/[email protected] 2x"}
+![właściwości z kluczem](images/particlefx/key.png)
 
 Edytor Krzywej *Curve Editor* (dostępny w zakładkach w dolnym widoku) służy do modyfikacji krzywej. Właściwości z kluczem nie mogą być edytowane w widoku *Properties* , tylko w Edytorze Krzywej właśnie. <kbd>Kliknij i przeciągnij</kbd> punkty i styczne, aby zmodyfikować kształt krzywej. <kbd>Podwójne kliknięcie</kbd> na krzywej dodaje punkty kontrolne. Aby usunąć punkt kontrolny, podwójnie kliknij na niego.
 
-![Edytor Krzywej](images/particlefx/curve_editor.png){srcset="images/particlefx/[email protected] 2x"}
+![Edytor Krzywej](images/particlefx/curve_editor.png)
 
 Aby automatycznie przybliżyć Edytor Krzywej w celu wyświetlenia wszystkich krzywych, naciśnij <kbd>F</kbd>.
 
@@ -201,7 +201,7 @@ Dostępne są cztery rodzaje modyfikatorów, które wpływają na prędkość cz
 `Vortex`
 : Wir - wpływa na cząsteczki w kierunku okręgu lub spiralnie wokół swojej pozycji.
 
-  ![modyfikatory](images/particlefx/modifiers.png){srcset="images/particlefx/[email protected] 2x"}
+  ![modyfikatory](images/particlefx/modifiers.png)
 
 ## Właściwości Modyfikatora
 

+ 1 - 1
docs/pl/manuals/physics-groups.md

@@ -9,7 +9,7 @@ Silnik fizyczny pozwala na grupowanie obiektów fizycznych i określanie, jak po
 
 Aby kolizja między dwoma obiektami została zarejestrowana, oba obiekty muszą wzajemnie określić grupy, do których należą (określone w *Group*), w swoim polu *Mask*.
 
-![Physics collision group](images/physics/collision_group.png){srcset="images/physics/[email protected] 2x"}
+![Physics collision group](images/physics/collision_group.png)
 
 Pole *Mask* może zawierać wiele nazw grup, co pozwala na różne scenariusze interakcji.
 

+ 1 - 1
docs/pl/manuals/physics-objects.md

@@ -30,7 +30,7 @@ Aby dodać komponent obiektu kolizji do obiektu gry:
 3. Użyj narzędzi do przesuwania, obracania i skalowania, aby edytować Kształty.
 4. Wybierz komponent w panelu *Outline* i edytuj *Properties* obiektu kolizji.
 
-![Physics collision object](images/physics/collision_object.png){srcset="images/physics/[email protected] 2x"}
+![Physics collision object](images/physics/collision_object.png)
 
 ## Dodawanie kształtu kolizji
 Komponent kolizji może używać kilku podstawowych kształtów (primitive shapes) lub pojedynczego, skomplikowanego kształtu. Dowiedz się więcej o różnych kształtach i jak je dodawać do komponentu kolizji w [instrukcji do Kształtów Kolizji](/manuals/physics-shapes).

+ 4 - 4
docs/pl/manuals/physics-resolving-collisions.md

@@ -19,7 +19,7 @@ end
 
 Ten kod rozdzieli Twój obiekt kinematyczny od innych obiektów fizycznych, które penetruje, ale rozdzielenie często jest zbyt duże, co prowadzi do drgań w wielu przypadkach. Aby lepiej zrozumieć problem, rozważmy następujący przypadek, w którym postać gracza koliduje z dwoma obiektami, *A* i *B*:
 
-![Kolzja fizyczna](images/physics/collision_multi.png){srcset="images/physics/[email protected] 2x"}
+![Kolzja fizyczna](images/physics/collision_multi.png)
 
 Silnik fizyki wyśle wiele wiadomości `"contact_point_response"`, jedną dla obiektu *A* i jedną dla obiektu *B* w klatce, w której wystąpiła kolizja. Jeśli przesuniesz postać w odpowiedzi na każde przeniknięcie, jak w prostym kodzie powyżej, to rozdzielenie będzie się prezentować następująco:
 
@@ -28,17 +28,17 @@ Silnik fizyki wyśle wiele wiadomości `"contact_point_response"`, jedną dla ob
 
 Kolejność tych działań jest dowolna, ale wynik jest taki sam w obu przypadkach: całkowite rozdzielenie, które stanowi *sumę wektorów penetracji* poszczególnych obiektów:
 
-![Proste rozdzielenie](images/physics/separation_naive.png){srcset="images/physics/[email protected] 2x"}
+![Proste rozdzielenie](images/physics/separation_naive.png)
 
 Aby właściwie rozdzielić postać od obiektów *A* i *B*, musisz obsłużyć odległość penetracji punktów kontaktowych i sprawdzić, czy jakiekolwiek wcześniejsze rozdzielenia już całkowicie lub częściowo rozwiązały problem rozdzielenia.
 
 Załóżmy, że pierwsza wiadomość punktu kontaktowego pochodzi od obiektu *A* i przesuwasz postać poza obiekt *A* zgodnie z wektorem penetracji *A*:
 
-![Rozdzielenie krok 1](images/physics/separation_step1.png){srcset="images/physics/[email protected] 2x"}
+![Rozdzielenie krok 1](images/physics/separation_step1.png)
 
 Wtedy postać zostaje już częściowo rozdzielona od obiektu *B*. Ostateczna korekta konieczna do pełnego rozdzielenia od obiektu *B* jest wskazana czarną strzałką powyżej. Długość wektora kompensacji (compensation vector) można obliczyć, projektując wektor penetracji *A* na wektor penetracji *B*:
 
-![Projekcja](images/physics/projection.png){srcset="images/physics/[email protected] 2x"}
+![Projekcja](images/physics/projection.png)
 
 ```
 l = vmath.project(A, B) * vmath.length(B)

+ 1 - 1
docs/pl/manuals/physics-shapes.md

@@ -45,7 +45,7 @@ Aby dodać kolizję do mapy kafelków:
 3. Zamiast dodawać kształty do komponentu, ustaw właściwość Kształt kolizji na plik mapa kafelków (*tilemap*).
 4. Skonfiguruj *Properties* komponentu obiektu kolizji.
 
-![Kształt kolizji mapy kafelków](images/physics/collision_tilemap.png){srcset="images/physics/[email protected] 2x"}
+![Kształt kolizji mapy kafelków](images/physics/collision_tilemap.png)
 
 ::: important
 Należy zauważyć, że właściwość *Group* **nie** jest tutaj używana, ponieważ grupy kolizji są definiowane w źródle kafelków (tile source) mapy kafelków.

+ 1 - 1
docs/pl/manuals/project-setup.md

@@ -11,7 +11,7 @@ Możesz z łatwością utworzyć nowy projekt z poziomu Edytora Defold. Masz ró
 
 Kliknij <kbd>New Project</kbd> (Nowy Projekt) i wybierz jaki rodzaj projektu chcesz utworzyć. Określ lokalizację plików na dysku twardym. Kliknij <kbd>Create New Project</kbd> (Utwórz nowy projekt) aby utworzyć wybrany projekt w wybranej lokalizacji. Możesz utworzyć projekt z szablonów:
 
-![open project](images/workflow/open_project.png){srcset="images/workflow/[email protected] 2x"}
+![open project](images/workflow/open_project.png)
 
 lub z oficjalnych tutoriali z inrtukcjami krok po kroku:
 

+ 1 - 1
docs/pl/manuals/refactoring.md

@@ -15,6 +15,6 @@ Automatyczna refaktoryzacja będzie działać tylko wtedy, gdy zmiany zostaną d
 
 Jednakże, jeśli uszkodzisz odwołanie, na przykład usuwając zasób z posiomu systemu operacyjnego, Edytor nie będzie w stanie rozwiązać problemu, ale dostarczy pomocne sygnały błędów. Na przykład, jeśli usuniesz animację z atlasu, a ta animacja jest używana gdzieś, Defold zasygnalizuje błąd podczas próby uruchomienia gry. Edytor również oznaczy, gdzie występują błędy, aby pomóc Ci szybko zlokalizować problem:
 
-![Refactoring error](images/workflow/delete_error.png){srcset="images/workflow/[email protected] 2x"}
+![Refactoring error](images/workflow/delete_error.png)
 
 Błędy kompilacji pojawiają się w panelu *Build Errors* na dole edytora. <kbd>Double clicking</kbd> na błędzie, który jest linkiem, przenosi cię do miejsca, gdzie wystąpił problem.

+ 2 - 2
docs/pl/manuals/script-properties.md

@@ -43,11 +43,11 @@ end
 ```
 Dowolna instancja komponentu skryptu utworzona z tego skryptu może następnie ustawiać wartości właściwości.
 
-![Component with properties](images/script-properties/component.png){srcset="images/script-properties/[email protected] 2x"}
+![Component with properties](images/script-properties/component.png)
 
 Wybierz komponent skryptu w widoku *Outline* w Edytorze, a właściwości pojawią się w widoku *Properties*, pozwalając na ich edycję:
 
-![Properties](images/script-properties/properties.png){srcset="images/script-properties/[email protected] 2x"}
+![Properties](images/script-properties/properties.png)
 
 Każda właściwość, która zostanie zastąpiona nową wartością określoną dla danej instancji, jest oznaczana kolorem niebieskim. Kliknij przycisk resetowania obok nazwy właściwości, aby przywrócić wartość domyślną (ustawioną w skrypcie).
 

+ 1 - 1
docs/pl/manuals/script.md

@@ -183,4 +183,4 @@ Preprocesor jest dostępny jako rozszerzenie budowania. Dowiedz się więcej na
 
 Edytor Defold obsługuje edycję skryptów Lua z kolorowaniem składni i autouzupełnianiem. Aby wyświetlić nazwy funkcji Defold, naciśnij <kbd>Ctrl</kbd>+<kbd>Spacja</kbd>, aby wyświetlić listę funkcji pasujących do tego, co wpisujesz.
 
-![Automatyczne uzupełnianie](images/script/completion.png){srcset="images/script/[email protected] 2x"}
+![Automatyczne uzupełnianie](images/script/completion.png)

+ 1 - 1
docs/pl/manuals/sprite.md

@@ -7,7 +7,7 @@ brief: Instrukcja ta opisuje jak pokazywać dwuwymiarowe grafiki używając komp
 
 Komponent typu Sprite (z ang. dosłownie: chochlik/duszek/krasnoludek - popularna w gamedevie od lat nazwa obrazków 2D w grach - przyp.tłum.) to dwuwymiarowa reprezentacja wizualna w grafice komputerowej wyświetlana jako pojedynczy obrazek lub animacja poklatkowa (flipbook animation).
 
-![sprite](images/graphics/sprite.png){srcset="images/graphics/[email protected] 2x"}
+![sprite](images/graphics/sprite.png)
 
 Komponent typu Sprite może wykorzystywać jako teksturę galerię obrazów, tzw. [Atlas](/manuals/atlas) lub [Źródło kafelków - Tile Source](/manuals/tilesource).
 

+ 5 - 5
docs/pl/manuals/tilemap.md

@@ -17,7 +17,7 @@ To create a new tile map:
 - Nazwij plik.
 - Nowa mapa automatycznie utworzy się w Edytorze map.
 
-  ![new tilemap](images/tilemap/tilemap.png){srcset="images/tilemap/[email protected] 2x"}
+  ![new tilemap](images/tilemap/tilemap.png)
 
 - Ustaw źródła - właściwość *Tile Source* tak, żeby wskazywała na wcześniej przygotowane źródło kafelków.
 
@@ -26,15 +26,15 @@ W edytorze możesz rysować kafelkami swoje mapy, niczym pędzlem w edytorach gr
 1. Wybierz lub utwórz nową warstwę (*Layer*) w panelu *Outline*.
 2. Wybierz kafelek do używania z palety otwieranej po naciśnięciu <kbd>Spacji</kbd>.
 
-   ![Palette](images/tilemap/palette.png){srcset="images/tilemap/[email protected] 2x"}
+   ![Palette](images/tilemap/palette.png)
 
 3. Maluj wybranym kafelkiem niczym pędzlem. Żeby wymazać kafelek albo wybierz pusty kafelek, żeby użyć go jak gumki, albo wybierz narzędzie gumki: <kbd>Edit ▸ Select Eraser</kbd>.
 
-   ![Painting tiles](images/tilemap/paint_tiles.png){srcset="images/tilemap/[email protected] 2x"}
+   ![Painting tiles](images/tilemap/paint_tiles.png)
 
 Możesz też pobierać kafelki bezpośrednio z warstwy na Twojej mapie i używać wybranego kafelka jak pędzla - naciśnij <kbd>Shift</kbd> i wybierz kafelek z mapy, żeby użyć go jako pędzla. Podczas trzymania klawisza <kbd>Shift</kbd> możesz wybrać więcej niż jeden kafelek - przeciągając zaznaczenie przez wiele z nich, żeby stworzyć większy pędzel składający się z kilku kafelków.
 
-![Picking tiles](images/tilemap/pick_tiles.png){srcset="images/tilemap/[email protected] 2x"}
+![Picking tiles](images/tilemap/pick_tiles.png)
 
 ## Dodawanie mapy kafelków do Twojej gry
 
@@ -44,7 +44,7 @@ Aby dodać mapę do Twojej gry:
 2. Kliknij prawym przyciskiem myszki na Twój obiekt i wybierz <kbd>Add Component File</kbd>.
 3. Wybierz plik z Twoją mapą kafelków.
 
-![Use tile map](images/tilemap/use_tilemap.png){srcset="images/tilemap/[email protected] 2x"}
+![Use tile map](images/tilemap/use_tilemap.png)
 
 ## Manipulacja w trakcie działania programu
 

+ 4 - 4
docs/pl/manuals/tilesource.md

@@ -11,7 +11,7 @@ brief: Ta instrukcja opisuje jak korzystać ze Źródła Kafelków.
 
 Potrzebujesz obrazu zawierającego wszystkie kafelki. Każdy kafelek musi mieć dokładnie te same wymiary i być umieszczony w siatce. Defold obsługuje odstępy (_spacing_) między kafelkami oraz margines ( _margin_) wokół każdego kafelka.
 
-![Obraz dla Źródła Kafelków](images/tilemap/small_map.png){srcset="images/tilemap/[email protected] 2x"}
+![Obraz dla Źródła Kafelków](images/tilemap/small_map.png)
 
 Gdy już masz utworzony obraz źródłowy, możesz stworzyć Źródło Kafelków (Tile Source):
 
@@ -22,7 +22,7 @@ Gdy już masz utworzony obraz źródłowy, możesz stworzyć Źródło Kafelków
 - Kliknij przycisk przeglądania obok właściwości *Image* (Obraz) i wybierz swój obraz. Teraz powinieneś widzieć obraz wyświetlony w edytorze.
 - Dostosuj Properties* (Właściwości) do obrazu źródłowego. Gdy wszystko jest poprawnie, kafelki będą idealnie do siebie pasować.
 
-![Tworzenie Źródła Kafelków](images/tilemap/tilesource.png){srcset="images/tilemap/[email protected] 2x"}
+![Tworzenie Źródła Kafelków](images/tilemap/tilesource.png)
 
 Size
 : Rozmiar obrazu źródłowego.
@@ -54,7 +54,7 @@ Aby zdefiniować animację poklatkową w Źródle Kafelków, kafelki animacji kl
 
 Wybierając animację, wyświetlane są *Properties* (Właściwości) animacji.
 
-![Animacje Źródła Kafelków](images/tilemap/animation.png){srcset="images/tilemap/[email protected] 2x"}
+![Animacje Źródła Kafelków](images/tilemap/animation.png)
 
 Id
 : Identyfikator animacji. Nazwa musi być unikalna w Źródle Kafelków.
@@ -95,6 +95,6 @@ W zarysie źródła kafelków są wymieniane grupy kolizji, które dodano do źr
 
 Aby wybrać kształty kafelków, które powinny należeć do określonej grupy, wybierz grupę w *Outline*, a następnie kliknij każdy kafelek, który chcesz przypisać do wybranej grupy. Kształt kafelka i kształt są wtedy zaznaczane kolorem grupy. Kolor jest automatycznie przypisywany do grupy w Edytorze.
 
-![Kształty kolizji](images/tilemap/collision.png){srcset="images/tilemap/[email protected] 2x"}
+![Kształty kolizji](images/tilemap/collision.png)
 
 Aby usunąć kafelek z grupy kolizji, wybierz element główny (root) Źródła Kafelków w *Outline*, a następnie kliknij kafelek odznaczając tym samym dotychczas wybraną grupę.

+ 1 - 1
docs/pl/shared/components.md

@@ -1,6 +1,6 @@
 Komponenty są używane, żeby nadać obiektom gry konkretne właściwości i funkcjonalności, takie jak reprezentacja graficzna, dźwiękowa czy logika gry. Komponenty muszą należeć do obiektu gry i są afektowane przez zmiany jego pozycji, orientacji i skali:
 
-![Components](../shared/images/components.png){srcset="../shared/images/[email protected] 2x"}
+![Components](../shared/images/components.png)
 
 Wiele komponentów ma specyficzne właściwości, które mogą być modyfikowane. Istnieją trzy specyficzne funkcje do interakcji z nimi w trakcie działania programu:
 

+ 8 - 8
docs/pt/manuals/building-blocks.md

@@ -7,7 +7,7 @@ brief: Esse manual mostra detalhes relacionados ao funcionameno de objetos compo
 
 No núcleo de design do Defold existem alguns conceitos que demandão um certo tempo para se acostumar. Esse manual explica como os building blocks do Defold funcionam. Após ler esse manual, vá para o [addressing manual](/manuals/addressing) e o [message passing manual](/manuals/message-passing). Existem também alguns [tutorials](/tutorials/getting-started) no editor, tutoriais esses que o farão decolar na utilização do Defold.
 
-![Building blocks](images/building_blocks/building_blocks.png){srcset="images/building_blocks/[email protected] 2x"}
+![Building blocks](images/building_blocks/building_blocks.png)
 
 Existem três tipos basicos de building blocks que você utilizará para construir um jogo no Defold:
 
@@ -28,11 +28,11 @@ Quando a engine do Defold se inicias, ela carrega uma única _bootstrap collecti
 
 Uma collection pode conter game objects e outras collections (por referência ao arquivo sub-collection's), que se encontrar alojado profundamente.Aqui vai um arqivo de exemplo chamado "main.collection". Ele contem um game object (com o id "can") e uma sub-collection (com o id "bean"). A sub-collection, citada, têm dois game objects: "bean" e "shield".
 
-![Collection](images/building_blocks/collection.png){srcset="images/building_blocks/[email protected] 2x"}
+![Collection](images/building_blocks/collection.png)
 
 Perceba que a sub-collection com o id "bean" está guardada em seu próprio arquivo, chamado "/main/bean.collection" qque só é referenciado em "main.collection":
 
-![Bean collection](images/building_blocks/bean_collection.png){srcset="images/building_blocks/[email protected] 2x"}
+![Bean collection](images/building_blocks/bean_collection.png)
 
 Você não pode endereçar collections para elas mesmas uma vez que não tem runtime objects correspondendo ao "main" e ao "bean" collections. De qualquer forma, de vez em quando você precisa usar o id de uma collection como parte do _path_ para um game object (olhe o [addressing manual](/manuals/addressing) para detalhes):
 
@@ -78,25 +78,25 @@ Você pode ver em qual arquivo um object instance se baseia a partir da outline
 2. O "bean" script component no "bean" game object no "bean" sub-collection.
 3. A "can" script component no "can" game object.
 
-![Instance](images/building_blocks/instance.png){srcset="images/building_blocks/[email protected] 2x"}
+![Instance](images/building_blocks/instance.png)
 
 O benefício de criar blueprint files se mostra quando você tem multiplas instancias de game objects ou collections e quer trocar todas elas:
 
-![GO instances](images/building_blocks/go_instance.png){srcset="images/building_blocks/[email protected] 2x"}
+![GO instances](images/building_blocks/go_instance.png)
 
 Ao trocar o blueprint file,todas as instancias que o utilizam são atualizadas imediatamente.
 
-![GO instances updated](images/building_blocks/go_instance2.png){srcset="images/building_blocks/[email protected] 2x"}
+![GO instances updated](images/building_blocks/go_instance2.png)
 
 ## Childing game objects
 
 Em um collection file, você pode criar hierarquias de game objects para que um ou mais game objects sejam children(filhas) para um único parent game object. Basta <kbd>dragging</kbd> um game object e <kbd>dropping</kbd> em outro dragged game object que é childed embaixo do target:
 
-![Childing game objects](images/building_blocks/childing.png){srcset="images/building_blocks/[email protected] 2x"}
+![Childing game objects](images/building_blocks/childing.png)
 
 AS Hierarquias de Object parent-child são relações dinamicas que afetam como os objects reagem a transformações.Qualquer transformação(movimento,rotação ou escala) aplicadas ao object irão ser aplicadas também aos object's children, ambos no editor e no runtime :
 
-![Child transform](images/building_blocks/child_transform.png){srcset="images/building_blocks/[email protected] 2x"}
+![Child transform](images/building_blocks/child_transform.png)
 
 Inversamente, um child's translations é realizado no espaço local do parent. No editor, você pode escolher editar um child game object no espaço local ou espaço do mundo selecionando <kbd>Edit ▸ World Space</kbd> (o padrão) ou <kbd>Edit ▸ Local Space</kbd>.
 

+ 6 - 6
docs/ru/manuals/atlas.md

@@ -25,11 +25,11 @@ brief: Это руководство объясняет особенности 
 
   Откроется диалоговое окно, в котором можно найти и выбрать изображения для включения в атлас. Стоит отметить, что можно использовать фильтр и выбирать несколько файлов сразу.
 
-  ![Creating an atlas, adding images](images/atlas/add.png){srcset="images/atlas/[email protected] 2x"}
+  ![Creating an atlas, adding images](images/atlas/add.png)
 
   Добавленные изображения отображаются в *Outline* в виде списка, при этом атлас в сборе можно увидеть в центральном окне редактора. Возможно, потребуется нажать <kbd>F</kbd> (<kbd>View ▸ Frame Selection</kbd> из меню) чтобы изменить масштаб отображения выделенного.
 
-  ![Images added](images/atlas/single_images.png){srcset="images/atlas/[email protected] 2x"}
+  ![Images added](images/atlas/single_images.png)
 
 Добавление мултикадровой анимации
 : Выполните <kbd>клик ПКМ</kbd> в корне ресурса Atlas в панели *Outline*.
@@ -42,11 +42,11 @@ brief: Это руководство объясняет особенности 
 
   Откроется диалоговое окно, в котором можно найти и выбрать изображения для включения их в группу анимации.
 
-  ![Creating an atlas, adding images](images/atlas/add_animation.png){srcset="images/atlas/[email protected] 2x"}
+  ![Creating an atlas, adding images](images/atlas/add_animation.png)
 
   Нажмите <kbd>Space</kbd> при выделенной группе анимации для ее предварительного просмотра. При необходимости настройте *Свойства* анимации (см. ниже).
 
-  ![Animation group](images/atlas/animation_group.png){srcset="images/atlas/[email protected] 2x"}
+  ![Animation group](images/atlas/animation_group.png)
 
 Порядок изображений в Outline можно изменить, выделив их и нажав <kbd>Alt + Up/down</kbd>. Кроме того, можно легко создавать дубликаты, копируя и вставляя изображения в Outline (из меню <kbd>Edit</kbd>, контекстного меню по клику ПКМ или сочетаниями клавиш).
 
@@ -68,7 +68,7 @@ Extrude Borders
 
 Вот примеры различных настроек свойств с четырьмя квадратными изображениями размером 64x64, добавленными в атлас. Обратите внимание, как атлас переходит к размеру 256x256, как только изображения не помещаются в 128x128, что приводит к бесполезному расходу текстурного пространства.
 
-![Atlas properties](images/atlas/atlas_properties.png){srcset="images/atlas/[email protected] 2x"}
+![Atlas properties](images/atlas/atlas_properties.png)
 
 ## Свойства изображения
 
@@ -86,7 +86,7 @@ Sprite Trim Mode
 Image
 : Путь к файлу самого изображения.
 
-![Image properties](images/atlas/image_properties.png){srcset="images/atlas/[email protected] 2x"}
+![Image properties](images/atlas/image_properties.png)
 
 ## Свойства анимации
 

+ 8 - 8
docs/ru/manuals/building-blocks.md

@@ -7,7 +7,7 @@ brief: В этом руководстве подробно описан прин
 
 В основу дизайна Defold заложены несколько концепций, качественное освоение которых может потребовать временных затрат. Это руководство объясняет, как устроены структурные элементы Defold. Прочитав это руководство, стоит перейти к [руководству по адрессации](/manuals/addressing) и [передачи сообщений](/manuals/message-passing). Также имеется набор [уроков](/tutorials/getting-started), доступных в редакторе и позволяющих быстрее приступить к работе.
 
-![Building blocks](images/building_blocks/building_blocks.png){srcset="images/building_blocks/[email protected] 2x"}
+![Building blocks](images/building_blocks/building_blocks.png)
 
 В Defold существуют три основных типа структурных элементов, используемых для конструирования игр:
 
@@ -28,11 +28,11 @@ brief: В этом руководстве подробно описан прин
 
 Коллекция может содержать игровые объекты и другие коллекции (по ссылке на файл субколлекции), вложенные сколь угодно глубоко. Вот пример файла под названием "main.collection". Он содержит один игровой объект (с идентификатором "can") и одну субколлекцию (с идентификатором "bean"). Субколлекция, в свою очередь, содержит два игровых объекта: "bean" и "shield".
 
-![Collection](images/building_blocks/collection.png){srcset="images/building_blocks/[email protected] 2x"}
+![Collection](images/building_blocks/collection.png)
 
 Стоит заметить, что субколлекция с идентификатором "bean" хранится в собственном файле, называемом "/main/bean.collection", и на нее имеются ссылки только в "main.collection":
 
-![Bean collection](images/building_blocks/bean_collection.png){srcset="images/building_blocks/[email protected] 2x"}
+![Bean collection](images/building_blocks/bean_collection.png)
 
 К самим коллекциям обращаться не возможно, поскольку во время выполнения не существует объектов, соответствующих коллекциям "main" и "bean". Тем не менее, иногда необходимо использовать идентификатор коллекции как часть _пути_ к игровому объекту (за подробностями обращайтесь к [руководству по адресации](/manuals/addressing)):
 
@@ -78,25 +78,25 @@ go.animate("can", "position.x", go.PLAYBACK_LOOP_PINGPONG, 100, go.EASING_LINEAR
 2. Скрипт "bean" в игровом объекте "bean" в субколлекции "bean".
 3. Скрипт "can" в игровом объекте "can".
 
-![Instance](images/building_blocks/instance.png){srcset="images/building_blocks/[email protected] 2x"}
+![Instance](images/building_blocks/instance.png)
 
 Преимущество создания файлов-шаблонов становится очевидным, когда имеются несколько экземпляров игрового объекта или коллекции и их все необходимо изменить:
 
-![GO instances](images/building_blocks/go_instance.png){srcset="images/building_blocks/[email protected] 2x"}
+![GO instances](images/building_blocks/go_instance.png)
 
 При изменении файла шаблона любой экземпляр, использующий этот файл, будет немедленно обновлен.
 
-![GO instances updated](images/building_blocks/go_instance2.png){srcset="images/building_blocks/[email protected] 2x"}
+![GO instances updated](images/building_blocks/go_instance2.png)
 
 ## Подчинение игровых объектов
 
 В файле коллекции можно строить иерархии игровых объектов, так чтобы один или несколько игровых объектов становились дочерними по отношению к одному родительскому игровому объекту. Просто <kbd>перетащите</kbd> один игровой объект и <kbd>бросьте</kbd> его на другой, и перетаскиваемый игровой объект станет дочерним по отношении к целевому (но который бросили):
 
-![Childing game objects](images/building_blocks/childing.png){srcset="images/building_blocks/[email protected] 2x"}
+![Childing game objects](images/building_blocks/childing.png)
 
 Объектная иерархия "родительский-дочерний" --- это динамическое отношение, влияющее на то, как объекты реагируют на трансформации. Любые трансформации (перемещение, вращение или масштабирование), применяемые к объекту, будут, в свою очередь, применяться к дочерним элементам объекта, как в редакторе, так и во время выполнения:
 
-![Child transform](images/building_blocks/child_transform.png){srcset="images/building_blocks/[email protected] 2x"}
+![Child transform](images/building_blocks/child_transform.png)
 
 И наоборот, дочерние трансформации выполняются в локальном пространстве родителя. В редакторе можно выбрать, редактировать дочерние игровые объекты в локальном пространстве или в мировом, выполнив <kbd>Edit ▸ World Space</kbd> (по умолчанию) или <kbd>Edit ▸ Local Space</kbd>.
 

+ 1 - 1
docs/ru/manuals/bundling.md

@@ -21,7 +21,7 @@ brief: В этом руководстве рассказывается, как 
 
 При сборке вашей игры есть возможность создать отчет о сборке. Это очень полезно, чтобы получить представление о размере всех ассетов, входящих в бандл. Просто установите флажок *Generate build report* при сборке игры. 
 
-![build report](images/profiling/build_report.png){srcset="images/profiling/[email protected] 2x"}
+![build report](images/profiling/build_report.png)
 
 Чтобы узнать больше об отчетах о сборке, обратитесь к [Руководству по профилированию](/manuals/profiling/#build-reports).
 

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini