Proto commits in encounter/objdiff

These 12 commits are when the Protocol Buffers files have changed:

Commit:2541aef
Author:Luke Street
Committer:GitHub

Add symbol kind and structured flags to diff proto output (#337) * Add symbol kind to diff proto output Expose SymbolKind (Function, Object, Section, Unknown) in the DiffSymbol proto message, allowing CLI oneshot diff consumers to distinguish symbol types without inferring from instruction/data presence. * Stop filtering symbols from diff output, replace flags bitmask with message Remove the symbol filter (size == 0 / Ignored) from DiffObject so all symbols are emitted. This fixes target_symbol indices being invalid after filtering. Replace the DiffSymbolFlag bitmask enum + uint32 field with a DiffSymbolFlags message of booleans, adding ignored and size_inferred flags so consumers can filter on their end.

The documentation is generated from this commit.

Commit:de70b6f
Author:Luke Street
Committer:GitHub

Restore objdiff-cli oneshot mode (JSON output) (#323)

Commit:bd95faa
Author:Luke Street

Remove objdiff-cli diff JSON output mode This has been unimplemented since v3.0.0-alpha.1, and I don't currently have plans to bring it back. If you need it for something, please open an issue!

Commit:34220a8
Author:Luke Street

Add address to ReportItem, stabilize sections/functions ordering

Commit:f1fc29f
Author:Luke Street

Split report changes into separate proto

Commit:f3c157f
Author:Luke Street
Committer:Luke Street

WIP objdiff 3.0 refactor

Commit:c45f4bb
Author:Luke Street
Committer:Luke Street

Diff schema updates & WASM updates

Commit:08cd768
Author:Luke Street

Add total_units, complete_units to progress report

Commit:1953799
Author:Luke Street
Committer:Luke Street

Support for progress categories & linked stats

Commit:0fccae1
Author:Luke Street

Add experimental wasm bindings Published to npm as objdiff-wasm

Commit:faebddb
Author:Luke Street

More updates to report types

Commit:cad9b70
Author:Luke Street

Support protobuf format for reports This migrates to using protobuf to define the "report" and "changes" formats in objdiff-cli. The JSON output now uses the Proto3 "JSON Mapping", which is slightly incompatible with the existing JSON format. Mainly, 64-bit numbers are represented as strings, and addresses are decimal strings instead of hex. However, the older JSON format is still accepted by "report changes" to ease migration.