Such IDs are tagged with the new `LIB_TAG_RUNTIME`. They are essentially like any other regular ID, except that they do not get written in .blend files. They also do not make their linked data usages directly linked. They do be written in undo steps however. This tag should be ignored in any non-Main IDs (e.g. evaluated data, `NO_MAIN`, etc.). This commit also adds a new RNA ID property, `is_runtime`. This is not a direct mapping to the DNA tag, as a non-main ID will also return True, and the property is only editable for Main IDs. Some basic testing for expected behavior of that new tag was also added to `blendfile_io` py unittest. Required for brush asset project, see T101908. Reviewed By: brecht Differential Revision: https://developer.blender.org/D16675