Björn Ritzl il y a 6 mois
Parent
commit
794f772091

+ 60 - 1
.wordlist.txt

@@ -2,6 +2,8 @@ defold
 defolding
 colorslide
 readme
+esc
+cmd
 ctrl
 shift
 alt
@@ -23,11 +25,15 @@ WAV
 NVDA
 PNG
 TCP
+UDP
+DNS
 SSL
 RPG
 UHD
 NPC
 ASTC
+UASTC
+LZ
 LZ4
 OpenType
 TrueType
@@ -93,6 +99,7 @@ Sergey
 Lerg
 Rosen
 Wolfire
+goeshard
 solvability
 tilemap
 walkthrough
@@ -195,6 +202,9 @@ debuggable
 dmengine
 libdmengine
 exe
+apk
+apkx
+aab
 androideabi
 armeabi
 addr
@@ -226,6 +236,7 @@ getter
 timestep
 dropdown
 backend
+frontend
 liveupdate
 glyphs
 templated
@@ -264,4 +275,52 @@ autoplay
 keystore
 vsync
 EFIGS
-EDN
+EDN
+preallocate
+checkboxes
+Sur
+NativeAOT
+DotNet
+premultiplied
+ImageView
+imageview
+uncheck
+profilers
+JVM
+luaj
+prebuilt
+impactful
+Localizations
+keymap
+reindent
+breakpoint
+metamethods
+metatables
+Stateful
+unloader
+PowerManager
+WakeLocks
+bundletool
+DefNet
+LuaSocket
+Revolute
+Poki
+Tilesetter
+tileset
+tilsets
+tilesource
+tilesources
+Shorthands
+Xbox
+mutex
+ConfigFile
+UUID
+AABB
+jobfolder
+IAP
+INI
+Fullscreen
+ico
+GAPID
+LFS
+Fmo

+ 9 - 9
docs/en/faq/faq.md

@@ -94,15 +94,15 @@ The Defold Foundation has previously been against adding C# support in Defold, b
 
 A: The following platforms are supported for the editor/tools and the engine runtime:
 
-  | System             | Version            | Architectures  | Supported            |
-  | ------------------ | ------------------ | -------------- | -------------------- |
-  | macOS              | 11 Big Sur         | x86-64, arm-64 | Editor and Engine    |
-  | Windows            | Vista              | x86-32, x86-64 | Editor and Engine    |
-  | Ubuntu (1)         | 18.04              | x86-64         | Editor               |
-  | Linux (2)          | Any                | x86-64         | Engine               |
-  | iOS                | 11.0               | arm-64         | Engine               |
-  | Android            | 4.4 (API level 19) | arm-32, arm-64 | Engine               |
-  | HTML5              |                    | asm.js, wasm   | Engine               |
+  | System             | Version            | Architectures      | Supported          |
+  | ------------------ | ------------------ | ------------------ | ------------------ |
+  | macOS              | 11 Big Sur         | `x86-64`, `arm-64` | Editor and Engine  |
+  | Windows            | Vista              | `x86-32`, `x86-64` | Editor and Engine  |
+  | Ubuntu (1)         | 18.04              | `x86-64`           | Editor             |
+  | Linux (2)          | Any                | `x86-64`           |  Engine            |
+  | iOS                | 11.0               | `arm-64`           | Engine             |
+  | Android            | 4.4 (API level 19) | `arm-32`, `arm-64` | Engine             |
+  | HTML5              |                    | `asm.js`, `wasm`   | Engine             |
 
   (1 The editor is built and tested for 64-bit Ubuntu 18.04. It should work on other distributions as well but we give no guarantees.)
 

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

@@ -62,7 +62,7 @@ Press <kbd>Create Bundle</kbd> when you have configured the application bundle s
 
 #### Installing an APK
 
-An *.apk* file can be copied to your device with the `adb` tool, or to Google Play via the [Google Play developer console](https://play.google.com/apps/publish/).
+An *`.apk`* file can be copied to your device with the `adb` tool, or to Google Play via the [Google Play developer console](https://play.google.com/apps/publish/).
 
 :[Android ADB](../shared/android-adb.md)
 
@@ -75,7 +75,7 @@ Success
 
 #### Installing an APK using editor
 
-You can install and launch an *.apk* file using the editor's "Install on connected device" and "Launch installed app" check-boxes in the Bundle dialog:
+You can install and launch an *`.apk`* file using the editor's "Install on connected device" and "Launch installed app" check-boxes in the Bundle dialog:
 
 ![Install and Launch APK](images/android/install_and_launch.png)
 
@@ -83,7 +83,7 @@ For this feature to work, you will need ADB installed and *USB debugging* enable
 
 #### Installing an AAB
 
-An *.aab* file can be uploaded to Google Play via the [Google Play developer console](https://play.google.com/apps/publish/). It is also possible to generate an *.apk* file from an *.aab* file to install it locally using the [Android bundletool](https://developer.android.com/studio/command-line/bundletool).
+An *.aab* file can be uploaded to Google Play via the [Google Play developer console](https://play.google.com/apps/publish/). It is also possible to generate an *`.apk`* file from an *.aab* file to install it locally using the [Android bundletool](https://developer.android.com/studio/command-line/bundletool).
 
 ## Permissions
 

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

@@ -15,7 +15,7 @@ Collection
 : A collection is a file used to structure your game. In collections you build hierarchies of game objects and other collections. They are typically used to structure game levels, groups of enemies or characters built out of several game objects.
 
 Game object
-: A game object is a container with an id, position, rotation and scale. It is used to contain components. They are typically used to create player characters, bullets, the game’s rule system or a level loader/unloader.
+: A game object is a container with an id, position, rotation and scale. It is used to contain components. They are typically used to create player characters, bullets, the game’s rule system or a level loader/e.
 
 Component
 : Components are entities that are put in game object to give them visual, audible and/or logic representation in the game. They are typically used to create character sprites, script files, add sound effects or add particle effects.

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

@@ -74,8 +74,8 @@ Using the [bundle_resources](https://defold.com/manuals/project-settings/#bundle
 You can control this per platform.
 
 The game assets are located in the `game.arcd` file, and they are individually compressed using LZ4 compression.
-Using the [custom_resources](https://defold.com/manuals/project-settings/#custom-resources) setting, you can configure assets that should be placed (with compression) within the game.arcd.
-These assets can be accessed via the [sys.load_resource()](https://defold.com/ref/sys/#sys.load_resource) function.
+Using the [custom_resources](https://defold.com/manuals/project-settings/#custom-resources) setting, you can configure assets that should be placed (with compression) within the `game.arcd`.
+These assets can be accessed via the [`sys.load_resource()`](https://defold.com/ref/sys/#sys.load_resource) function.
 
 ## Release vs Debug
 

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

@@ -61,7 +61,7 @@ The new compute will open in the *Compute Editor*.
 The compute file contains the following information:
 
 Compute Program
-: The compute shader program file (*.cp*) to use. The shader operates on "abstract work items", meaning that there is no fixed definition of the input and output data types. It is up to the programmer to define what the compute shader should produce.
+: The compute shader program file (*`.cp`*) to use. The shader operates on "abstract work items", meaning that there is no fixed definition of the input and output data types. It is up to the programmer to define what the compute shader should produce.
 
 Constants
 : Uniforms that will be passed to the compute shader program. See below for a list of available constants.

+ 1 - 1
docs/en/manuals/extensions-defold-sdk.md

@@ -41,7 +41,7 @@ The available SDK functions are documented in our [API reference](/ref/dmExtensi
 * [Thread](/ref/dmThread/) - API for thread creation.
 * [Time](/ref/dmTime/) - API for universal time and timing functions.
 * [URI](/ref/dmURI/) - API for manipulation of URIs.
-* [Web Server](/ref/dmWebServer/) - API for a simple high-level single-threaded Web server based on dmHttpServer.
+* [Web Server](/ref/dmWebServer/) - API for a simple high-level single-threaded Web server based on `dmHttpServer`.
 * [Shared Library](/ref/sharedlibrary/) - Utility functions for shared library export/import.
 * [Sony vector Math Library](../assets/Vector_Math_Library-Overview.pdf) - The Sony Vector Math library mainly provides functions used in 3-D graphics for 3-D and 4-D vector operations, matrix operations, and quaternion operations.
 

+ 1 - 1
docs/en/manuals/extensions-ext-manifests.md

@@ -32,7 +32,7 @@ This allows the user to override the default behaviour of the engine and also ea
 
 ### The ext.manifest file
 
-Apart from the name of the extension, the manifest file can contain platform specific compile flags, link flags, libs and frameworks. If the *ext.manifest* file does not contain a "platforms" segment, or a platform is missing from the list, the platform you bundle for will still build, but without any extra flags set.
+Apart from the name of the extension, the manifest file can contain platform specific compile flags, link flags, libraries and frameworks. If the *ext.manifest* file does not contain a "platforms" segment, or a platform is missing from the list, the platform you bundle for will still build, but without any extra flags set.
 
 Here is an example:
 

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

@@ -65,7 +65,7 @@ A clipping node and its hierarchy will be drawn first if it has a layer assigned
 
 ![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:
+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:
 
 - `Donut BG`
 - `BG`

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

@@ -52,7 +52,7 @@ A layout cannot delete or create new nodes, only override properties. If you nee
 
 ## Dynamic profile selection
 
-The dynamic layout matcher scores each display profile qualifier according to the following rules:
+The dynamic layout matching scores each display profile qualifier according to the following rules:
 
 1. If there is no device model set, or the device model matches, a score (S) is calculated for the qualifier.
 
@@ -93,4 +93,4 @@ function on_message(self, message_id, message)
 end
 ```
 
-When orientation is switched, the GUI layout manager will automatically rescale and reposition GUI nodes according to your layout and node properties. In-game content, however, is rendered in a separate pass (by default) with a stretch-fit projection into the current window. To change this behavior, either supply your own modified render script, or use a camera [library](/assets/).
+When orientation is switched, the GUI layout manager will automatically scale and reposition GUI nodes according to your layout and node properties. In-game content, however, is rendered in a separate pass (by default) with a stretch-fit projection into the current window. To change this behavior, either supply your own modified render script, or use a camera [library](/assets/).

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

@@ -13,7 +13,7 @@ Lua code stored in files with file ending ".lua" somewhere in your game project
 
 ![new file](images/modules/new_name.png)
 
-Suppose the following code is added to the file "main/anim.lua":
+Suppose the following code is added to the file "`main/anim.lua`":
 
 ```lua
 function direction_animation(direction, char)

+ 3 - 3
docs/en/manuals/optimization-speed.md

@@ -10,13 +10,13 @@ Before trying to optimize a game with the goal to make it run at a stable high f
 Reducing script execution time is needed if the profiler shows high values for the `Script` scope. As a general rule of thumb you should of course try to run as little code as possible every frame. Running a lot of code in `update()` and `on_input()` every frame is likely to have an impact on your game's performance, especially on low end devices. Some guidelines are:
 
 ### Use reactive code patterns
-Don't poll for changes if you can get a callback. Don't manually animate something or perform a task that can be handed over to the engine (eg go.animate vs manually animating something).
+Don't poll for changes if you can get a callback. Don't manually animate something or perform a task that can be handed over to the engine (e.g. `go.animate)()` vs manually animating something).
 
 ### Reduce garbage collection
 If you create loads of short lived objects such as Lua tables every frame this will eventually trigger the garbage collector of Lua. When this happens it can manifest itself as small hitches/spikes in frame time. Re-use tables where you can and really try to avoid creating Lua tables inside loops and similar constructs if possible.
 
 ### Pre-hash message and action ids
-If you do a lot of message handling or have many input events to deal with it is recommended to pre-hash the strings. Consider this piece of code:
+If you do a lot of message handling or have many input events to deal with it is recommended to prehash the strings. Consider this piece of code:
 
 ```
 function on_message(self, message_id, message, sender)
@@ -73,7 +73,7 @@ Reducing the time it takes to render a frame is needed if the profiler shows hig
 
 * Reduce draw calls - Read more about reducing draw calls in [this forum post](https://forum.defold.com/t/draw-calls-and-defold/4674)
 * Reduce overdraw
-* Reduce shader complexity - Read up on GLSL optimizations in [this Kronos article](https://www.khronos.org/opengl/wiki/GLSL_Optimizations). You can also modify the default shaders used by Defold (found in `builtins/materials`) and reduce shader precision to gain some speed on low end devices. All shaders are using `highp` precision and a change to for instance `mediump` can in some cases improve performance slightly.
+* Reduce shader complexity - Read up on GLSL optimizations in [this Khronos article](https://www.khronos.org/opengl/wiki/GLSL_Optimizations). You can also modify the default shaders used by Defold (found in `builtins/materials`) and reduce shader precision to gain some speed on low end devices. All shaders are using `highp` precision and a change to for instance `mediump` can in some cases improve performance slightly.
 
 ## Reduce scene graph complexity
 Reducing the scene graph complexity is needed if the profiler shows high values in the `GameObject` scope and more specifically for the `UpdateTransform` sample. Some actions to take:

+ 1 - 1
docs/en/manuals/porting-guidelines.md

@@ -17,7 +17,7 @@ Make sure to adapt the game to the input methods of the platform. Consider addin
 Translate any text in the game. For release in Europe and Americas consider translating to at least EFIGS (English, French, Italian, German and Spanish). Make sure it is possible to easily swap between different languages in-game (via the pause menu).
 
 ::: important
-iOS only - Make sure you specify [Localizations](/manuals/project-settings/#localizations) in `game.project`, since sys.get_info() will never return language which isn’t in this list.
+iOS only - Make sure you specify [Localizations](/manuals/project-settings/#localizations) in `game.project`, since `sys.get_info()` will never return language which isn’t in this list.
 :::
 
 Translate the text on the store page as this will have a positive impact on sales! Some platforms require the text on the store page to be translated to the language of each country where the game is available.

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

@@ -7,7 +7,7 @@ brief: This manual describes how to ignore files and folders in Defold.
 
 It is possible to configure the Defold editor and tools to ignore files and folders in a project. This can be useful if the project contains files with file extensions which conflict with file extensions used by Defold. One such example is Go language files with the .go file extension which is the same as the editor uses for game object files.
 
-## The .defignore file
+## The `.defignore` file
 The files and folders to exclude are defined in a file named `.defignore` in the project root. The file should list files and folders to exclude, one per line. Example:
 
 ```

+ 3 - 3
docs/en/manuals/project-settings.md

@@ -486,7 +486,7 @@ The bundle short name (15 characters) (see [`CFBundleName`](https://developer.ap
 The bundle version, either a number or x.y.z. (see [`CFBundleVersion`](https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-130430))
 
 #### Info.plist
-If specified, use this info.plist file when bundling your app.
+If specified, use this *`info.plist`* file when bundling your app.
 
 #### Privacy Manifest
 The Apple Privacy Manifest for the application. The field will default to `/builtins/manifests/ios/PrivacyInfo.xcprivacy`.
@@ -543,7 +543,7 @@ If set, hides the navigation and status bars and lets your app capture all touch
 #### Debuggable
 Whether or not the application can be debugged using tools such as [GAPID](https://github.com/google/gapid) or [Android Studio](https://developer.android.com/studio/profile/android-profiler). This will set the `android:debuggable` flag in the Android manifest ([official documentation](https://developer.android.com/guide/topics/manifest/application-element#debug)).
 
-#### Extract Native Libs
+#### Extract Native Libariess
 Specifies whether the package installer extracts native libraries from the APK to the file system. If set to `false`, your native libraries are stored uncompressed in the APK. Although your APK might be larger, your application loads faster because the libraries load directly from the APK at runtime. This will set the `android:extractNativeLibs` flag in the Android Manifest ([official documentation](https://developer.android.com/guide/topics/manifest/application-element#extractNativeLibs)). `true` by default.
 
 ---
@@ -563,7 +563,7 @@ The Apple Privacy Manifest for the application. The field will default to `/buil
 The bundle identifier lets macOS recognize updates to your app. Your bundle ID must be registered with Apple and be unique to your app. You cannot use the same identifier for both iOS and macOS apps. Must consist of two or more segments separated by a dot. Each segment must start with a letter. Each segment must only consist of alphanumeric letters, the underscore or hyphen (-) character.
 
 #### Default Language
-The language used if the application doesn't have user's preferred language in `Localizations` list (see [CFBundleDevelopmentRegion](https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-130430)). Use the two-letter ISO 639-1 standard if preferred language is available there or the three-letter ISO 639-2.
+The language used if the application doesn't have user's preferred language in `Localizations` list (see [`CFBundleDevelopmentRegion`](https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-130430)). Use the two-letter ISO 639-1 standard if preferred language is available there or the three-letter ISO 639-2.
 
 #### Localizations
 This field contains comma-separated strings identifying the language name or ISO language designator of the supported localizations (see [CFBundleLocalizations](https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html#//apple_ref/doc/uid/20001431-109552)).

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

@@ -255,7 +255,7 @@ uniform fs_uniforms
 
 void main()
 {
-    // Pre-multiply alpha since all runtime textures already are
+    // Premultiply alpha since all runtime textures already are
     vec4 tint_pm = vec4(tint.xyz * tint.w, tint.w);
     color_out = texture(texture_sampler, var_texcoord0.xy) * tint_pm;
 }

+ 2 - 2
docs/en/manuals/texture-profiles.md

@@ -118,7 +118,7 @@ The *profiles* section of the texture profiles file contains a list of named pro
 ![Profiles](images/texture_profiles/texture_profiles_profiles.png)
 
 *Platforms*
-: Specifies a matching platform. `OS_ID_GENERIC` matches all platforms including dev-app builds on device, `OS_ID_WINDOWS` matches Windows target bundles, `OS_ID_IOS` matches iOS bundles and so on. Note that if `OS_ID_GENERIC` is specified, it will be included for all platforms.
+: Specifies a matching platform. `OS_ID_GENERIC` matches all platforms, `OS_ID_WINDOWS` matches Windows target bundles, `OS_ID_IOS` matches iOS bundles and so on. Note that if `OS_ID_GENERIC` is specified, it will be included for all platforms.
 
 ::: important
 If two [path settings](#path-settings) matches the same file and the path uses different profiles with different platforms **both** profiles will be used and **two** texture will be generated.
@@ -130,7 +130,7 @@ If two [path settings](#path-settings) matches the same file and the path uses d
 *Mipmaps*
 : If checked, mipmaps are generated for the platform. Unchecked by default.
 
-*Pre-multiply alpha*
+*Premultiply alpha*
 : If checked, alpha is premultiplied into the texture data. Checked by default.
 
 *Max Texture Size*

+ 10 - 20
docs/en/tutorials/grading.md

@@ -260,9 +260,9 @@ The resulting texture contains 16 cells (one for each blue color intensity) and
 
 To look up a color is a matter of checking the blue component and figure out which cell to pick the red and green values from. The formula for finding the cell with the right red-green color set is simple:
 
-$$
+```math
 cell = \left \lfloor{B \times (N - 1)} \right \rfloor
-$$
+```
 
 Here `B` is the blue component value between 0 and 1 and `N` is the total number of cells. In our case the cell number will be in the range `0`--`15` where cell `0` contains all colors with the blue component at `0` and cell `15` all colors with the blue component at `1`.
 
@@ -367,41 +367,31 @@ To get better blue channel resolution, we can implement the interpolation oursel
 
 So, we should read from two cells:
 
-Inline $cell_{low} = \left \lfloor{B \times (N - 1)} \right \rfloor$
-
-$$cell_{low} = \left \lfloor{B \times (N - 1)} \right \rfloor$$
-
 ```math
 cell_{low} = \left \lfloor{B \times (N - 1)} \right \rfloor
 ```
 
-
-
-$$
-cell_{low} = \left \lfloor{B \times (N - 1)} \right \rfloor
-$$
-
 and:
 
-$$
+```math
 cell_{high} = \left \lceil{B \times (N - 1)} \right \rceil
-$$
+```
 
 Then we sample color values from each of these cells and interpolate the colors linearly, according to the formula:
 
-$$
+```math
 color = color_{low} \times (1 - C_{frac}) + color_{high} \times C_{frac}
-$$
+```
 
 Here `color`~low~ is the color sampled from the lower (leftmost) cell and `color`~high~ is the color sampled from the higher (rightmost) cell. The GLSL function `mix()` performs this linear interpolation for us.
 
 The value `C`~frac~ above is the fractional part of the blue channel value scaled to the `0`--`15` color range:
 
-$$
+```math
 C_{frac} = B \times (N - 1) - \left \lfloor{B \times (N - 1)} \right \rfloor
-$$
+```
 
-Again, there is a GLSL function that gives us the fractional part of a value. It's called `frac()`. The final implementation in the fragment shader (*grade.fp*) is quite straightforward:
+Again, there is a GLSL function that gives us the fractional part of a value. It's called `frac()`. The final implementation in the fragment shader (*`grade.fp`*) is quite straightforward:
 
 ```glsl
 varying mediump vec4 position;
@@ -463,7 +453,7 @@ Okay, that was a lot of work to draw something that looks exactly like the origi
 
 4. Apply the same color adjustments to the lookup table texture file (*`lut16.png`*).
 5. Save the color adjusted lookup table texture file.
-6. Replace the texture *lut16.png* used in your Defold project with the color adjusted one.
+6. Replace the texture *`lut16.png`* used in your Defold project with the color adjusted one.
 7. Run the game!
 
 ![world graded](images/grading/world_graded.png)

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

@@ -219,7 +219,7 @@ local jump_takeoff_speed = 550
 -- time within a double tap must occur to be considered a jump (only used for mouse/touch controls)
 local touch_jump_timeout = 0.2
 
--- pre-hashing ids improves performance
+-- prehashing ids improves performance
 local msg_contact_point_response = hash("contact_point_response")
 local msg_animation_done = hash("animation_done")
 local group_obstacle = hash("obstacle")

+ 1 - 1
docs/en/tutorials/texture-scrolling.md

@@ -101,7 +101,7 @@ end
 
 There are more than one ways of animating constant values, you can calculate delta time steps and update the constant with these values in the render script or a normal script if you wanted to. In this case we are only animating one shader and if you wanted a time step in several shaders calculating in an `update()` might be more ideal. However we will use `go.animate()` because we have a lot of functionality at our disposal. Using `go.animate()` we can animate just the x value of our constant using "animation_time.x". We also have duration, delay and easing to play with if we so choose. We can also set playback to loop or play once and cancel the animation if we needed to. These all come in very handy when animating our shaders.
 
-The `local animate` float 1.0 is our target value we are animating in "animation_time.x". In shaders for the most part we deal with normalized float values 0.0 to 1.0. Notice the default constant values in the material for our `animation_time` is (0,0,0,0) we are animating the first zero from 0.0 to 1.0. This means our offset UV coords will animate to the edge and then loop again over and over which is exactly what we want!
+The `local animate` float 1.0 is our target value we are animating in "animation_time.x". In shaders for the most part we deal with normalized float values 0.0 to 1.0. Notice the default constant values in the material for our `animation_time` is (0,0,0,0) we are animating the first zero from 0.0 to 1.0. This means our offset UV coordinates will animate to the edge and then loop again over and over which is exactly what we want!
 
 
 ## Next steps

+ 1 - 1
docs/ru/manuals/extensions-defold-sdk.md

@@ -41,7 +41,7 @@ Defold SDK содержит необходимую функциональнос
 * [Thread](/ref/dmThread/) - API для создания потоков.
 * [Time](/ref/dmTime/) - API для универсального времени и функций времени.
 * [URI](/ref/dmURI/) - API для манипуляций с URI.
-* [Web Server](/ref/dmWebServer/) - API для простого высокоуровневого однопоточного веб-сервера, основанного на dmHttpServer.
+* [Web Server](/ref/dmWebServer/) - API для простого высокоуровневого однопоточного веб-сервера, основанного на `dmHttpServer`.
 * [Shared Library](/ref/sharedlibrary/) - Утилитные функции для экспорта/импорта общих библиотек.
 * [Sony vector Math Library](../assets/Vector_Math_Library-Overview.pdf) - Библиотека Sony Vector Math в основном предоставляет функции, используемые в трехмерной графике для трехмерных и четырехмерных векторных операций, матричных операций и операций с кватернионами.
 

+ 1 - 1
docs/zh/manuals/extensions-defold-sdk.md

@@ -41,7 +41,7 @@ Defold SDK 包含了应用运行的原生平台底层接口与高层Lua逻辑接
 * [Thread](/ref/dmThread/) - 线程创建功能.
 * [Time](/ref/dmTime/) - 时间与计时功能.
 * [URI](/ref/dmURI/) - URI管理功能.
-* [Web Server](/ref/dmWebServer/) - 基于dmHttpServer的高级单线程web服务器.
+* [Web Server](/ref/dmWebServer/) - 基于`dmHttpServer`的高级单线程web服务器.
 * [Shared Library](/ref/sharedlibrary/) - 共享库导入导出功能.
 * [Sony vector Math Library](../assets/Vector_Math_Library-Overview.pdf) - Sony 矢量计算库 主要为了3D图像和3D, 4D矢量运算, 矩阵运算和四元运算.