* In future one of the notes items would be for gathered hardware info.
Not automatically, but with one button press the full configuration
can be embedded.
* Log is an overloaded term since it can also mean the debug log. We now
consistently refer to capture files as capture files or just captures
for short. The log is just for log messages and diagnostics.
* The user-facing UI was mostly already consistent, but many of the
public interfaces exposed to python needed to be renamed, and it made
more sense just to make everything consistent.
* We add a button with a link icon to indicate that it goes to the
resource details. We'll re-use the crosshair as a visual metaphor for
any interactive widget that goes to the resource inspector.
* To remove any possible confusion, we change the icon for the texture
list and locked tabs in the texture viewer to not include the link.
* We remove the now unneeded name fields in buffer/texture descriptions
and some of the pipeline state structs.
* A single function will give the human-readable name for a resource id.
This will look up a custom set of renames, on top of the names from
the resource descriptions.
* This item delegate will forward on either to a specified other
delegate or to the base implementation. This allows chaining delegates
(i.e. having one built-in to the widget, which forwards to a user-set
delegate).
* Whether there's a sensible way to define a tab closing shortcut is
unclear at the moment - there isn't a single set of tabs, so just
closing the most recently highlighted panel could be quite
unintuitive.
* When opening a capture file, a format is now available to allow
easy import from another format without a completely different
interface. Only rdc files can be replayed, but any other file can
load and access structured data through the same interface.
* The replay initialisation and capture writing interfaces also use the
RDCFile instead of passing filenames or Serialisers around directly.
Driver initialisation parameters are now entirely private, and don't
need to be exposed - any agnostic metadata like thumbnail, driver, etc
are all accessed via the RDCFile container itself.
* Callstack resolution is now part of the container file, not the
back-end via way of its Serialiser.
* Importers/Exporters to other non-RDC formats are registered in a
similar way to replay/remote drivers.
* It is also then possible to construct an RDC file from thin air, by
creating an empty RDCFile container and filling it with data, then
requesting it to be written to disk.
* The new system contains the ability to export serialised data to a
structured form in memory - and conversion back to serialised bytes.
* This will allow offline transformations/visualisation of capture files
as well as more rich representations of API calls in the UI.
* Likewise it enables a number of optimisations such as the ability to
write straight from mapped API memory to disk via a compressor,
without any intermediate copies.
* Hopefully these can be restored at some point, when the features are
implemented. For now where possible we remove options that are just
unavailable always, and selectively disable others when they may or
may not be available based on what API the capture uses.