Skip to content
This repository was archived by the owner on Nov 11, 2025. It is now read-only.
This repository was archived by the owner on Nov 11, 2025. It is now read-only.

Proper schematic DAG support in kicad_rs #2

@twelho

Description

@twelho

Hierarchical schematics in KiCad support forming a DAG structure by having two schematics sharing a common parent depend on the same child again (forming a diamond inheritance structure of sorts). Internally the kicad_rs tooling (and our data structures) still treat schematics as a tree, which means that shared child schematics (under diamond inheritance) are processed and saved as many times as they are referred to from different parent schematics. Functionally it doesn't make a big difference right now since parent schematics aren't allowed to update children (to not break the DAG), but especially with complex functions (such as vdiv) in common child schematics processing times might become an issue later on. We need to implement support for loading in each schematic file only once and using references to form an internal DAG for referring to them, specifically after racklet/electronics-prototyping#25, which enables preliminary DAG support, gets merged.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions