architecture:
- file_paths:
- target:
quartz/components/Graph.tsx - target:
quartz/components/scripts/graph.inline.ts - target:
quartz/styles/base.scss - target:
quartz.layout.ts
- target:
- rendering_engine:
- dependency:
D3.js - constraint: abandon
Pixi.js - configuration: update
D3.jsscale parameters ingraph.inline.tsto span the entire screen responsively
- dependency:
styling:
- graph_container:
- targets:
.global-graph-outer - properties:
position: fixed; inset: 0; height: 100vh; width: 100vw; - layout:
z-index: -1;
- targets:
- document_layers:
- targets:
.page,.center,article - properties:
background-color: transparent;
- targets:
state_management:
- ui_toggle:
- injection:
quartz.layout.tsheader config - properties: discrete React toggle component
- behavior: swap opacity and z-index between content
articleand the graph background
- injection:
- visibility_swap:
- graph_view:
- article_state:
pointer-events: none; visibility: hidden; aria-hidden="true"; opacity: 0; - graph_state:
pointer-events: auto; z-index: 10; opacity: 1;
- article_state:
- article_view:
- article_state:
pointer-events: auto; visibility: visible; aria-hidden="false"; opacity: 1; - graph_state:
pointer-events: none; z-index: -1; opacity: 0.5;
- article_state:
- graph_view:
lifecycle_hooks:
- physics_engine:
- sleep:
simulation.stop()on graph hide - wake:
simulation.alpha(1).restart()on graph reveal - scale_bounds: recalculate boundaries for
D3.jsto fit100vwby100vhon window resize
- sleep:
- spa_navigation:
- listener:
navdocument event - action: update active node highlight bypassing full re-initialization
- listener: