aws-cqc / aws-cqc/DeviceLayout.jl

Selectively render partial schematic

Open
#9 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Julia
Stars
67
Forks
14
Avg merge
1d 19h
Merged PRs (30d)
24

Description

Users may want to render partial schematics for simulation, either by excluding certain nodes or including only certain nodes.

We might not want to use induced subgraphs (#5) directly because the position and orientation of the selected components could change if a new node becomes the root, although we can hack our way around that.

One option is inclusion-exclusion (like we do with layers in `halo`), where we add keywords to `render!(::CoordinateSystem, ::Schematic, ::Target; only_nodes=[], ignore_nodes=[])`, and if something's ignored, you just don't add that component's geometry. This could also let the `Target` calculate nodes to be ignored or selected without having to explicitly enumerate them.

Another option is to use graph vertex metadata to mark nodes to not be rendered, perhaps conditional on rendering options.

Contributor guide

Open the contributing guide

Research direction

No file or test is named. Start by locating render!(::CoordinateSystem, ::Schematic, ::Target; ...) and reading the layer inclusion-exclusion approach in `halo`; also review induced subgraphs in issue #5. Done means a target can select or exclude schematic nodes while preserving the intended positions and orientations.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
computer-graphics
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.