The VCS interface can be thought of like a proxy system, where any call
to the API is redirected to the actual implementation of the VCS API
which may be existing in the form of a GDNative plugin which is marked
as a singleton and is not marked reloadable. If the implementation
doesn't exist in the file system, it only returns the default responses which contain
mostly empty containers of the data type that every API call returns.
EditorVCSInterface is used like a Godot object with a script attached to it. The script
is the implementation of the API and the object is the interface to the
script, which returns default responses if the script doesn't exist or
if the script doesn't define a function that handles that particular API call.
The entire system has been implemented using Object::call() and its
ability to switch to the script instance to handle the API call if the
script exists. Look for VersionControlEditorPlugin::_initialize() for
the essential API setup.
- Add a link to the audio generator demo in AudioStreamGenerator
and AudioStreamGeneratorPlayback.
- Mention that signed PCM8 data is expected in AudioStreamSample
(and how to convert unsigned PCM8 to signed PCM8).
Changed the behaviour of the Linear tonemapping operator to not clamp to [0, 1] range
in the case when KEEP_3D_LINEAR is defined. This allows to render values > 1.0 in
floating point texture targets (via Viewport) for further processing or saving high
dynamic range data into files. This only works when no color conversion is active.
Similarly to `Vector2` and `Rect2` transforms in 2D and Vector3, Plane,
and AABB in 3D. PoolVector2Array and PoolVector3Array were the only
missing Variant types in both Transform2D and Transform respectively.
The description is displayed as a tooltip when hovering the project
in the Project Manager. It can span multiple lines.
This partially addresses #8167.
The previous value (0) was a special case in the fog shader.
It made the shader use the Camera's `far` value as the fog depth end
value, which led to an inconsistency in the fog rendering between
the editor and a running project. This is because the editor camera
uses a `far` property of 500 by default, whereas the Camera node's
`far` property is set to 100 by default.
The new fixed value is equal to the default `far` property in Camera,
which leads to a consistent appearance between the editor and a running
project.
This closes#31686.
The custom color introduced in be8d569744
had the same name as the "folder" icon, which could cause conflicts
in the generated documentation.
The new name is also more self-explanatory.