[Cleanup] Reroute and serialisation (#767)

- Fixes root cause of minor in-memory-only corruption when deleting
reroutes from output slots
  - Already automatically corrected via serialisation
- If `reroutes` or `links` are empty arrays, removes them from newer
object-based serialised output entirely
- Minor refactors
- Removes unused code
- Fixes some serialisation types
- Adds `ReadonlyLinkNetwork` interface
This commit is contained in:
filtered
2025-03-14 01:40:12 +11:00
committed by GitHub
parent bcaeccfc45
commit 2e9f877bbd
5 changed files with 22 additions and 20 deletions

View File

@@ -111,10 +111,16 @@ export interface IPinnable {
unpin(): void
}
export interface ReadonlyLinkNetwork {
readonly links: ReadonlyMap<LinkId, LLink>
readonly reroutes: ReadonlyMap<RerouteId, Reroute>
getNodeById(id: NodeId): LGraphNode | null
}
/**
* Contains a list of links, reroutes, and nodes.
*/
export interface LinkNetwork {
export interface LinkNetwork extends ReadonlyLinkNetwork {
readonly links: Map<LinkId, LLink>
readonly reroutes: Map<RerouteId, Reroute>
getNodeById(id: NodeId): LGraphNode | null