codebread 1.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,188 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <title>CodeBread — codebase map</title>
7
+ <link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cpath d='M14 108 L14 56 C14 26 34 12 60 12 C86 12 106 26 106 56 L106 108 Z' fill='%230a1526' stroke='%231a2f4a' stroke-width='2'/%3E%3Cline x1='40' y1='86' x2='60' y2='46' stroke='%232dd4bf' stroke-width='4' stroke-linecap='round'/%3E%3Cline x1='60' y1='46' x2='82' y2='80' stroke='%232dd4bf' stroke-width='4' stroke-linecap='round'/%3E%3Cline x1='40' y1='86' x2='82' y2='80' stroke='%2367e8f9' stroke-width='4' stroke-linecap='round' opacity='0.6'/%3E%3Ccircle cx='40' cy='86' r='9' fill='%230a1526' stroke='%2367e8f9' stroke-width='3.5'/%3E%3Ccircle cx='60' cy='46' r='10' fill='%2367e8f9'/%3E%3Ccircle cx='82' cy='80' r='9' fill='%230a1526' stroke='%232dd4bf' stroke-width='3.5'/%3E%3C/svg%3E">
8
+ <link rel="stylesheet" href="style.css">
9
+ </head>
10
+ <body>
11
+ <div id="app">
12
+
13
+ <header id="topbar">
14
+ <div id="brand">
15
+ <svg id="brand-icon" viewBox="0 0 120 120" role="img" aria-label="CodeBread logo">
16
+ <path d="M14 108 L14 56 C14 26 34 12 60 12 C86 12 106 26 106 56 L106 108 Z"
17
+ fill="#0a1526" stroke="#1a2f4a" stroke-width="2"/>
18
+ <line x1="40" y1="86" x2="60" y2="46" stroke="#2dd4bf" stroke-width="4" stroke-linecap="round"/>
19
+ <line x1="60" y1="46" x2="82" y2="80" stroke="#2dd4bf" stroke-width="4" stroke-linecap="round"/>
20
+ <line x1="40" y1="86" x2="82" y2="80" stroke="#67e8f9" stroke-width="4" stroke-linecap="round" opacity="0.6"/>
21
+ <circle cx="40" cy="86" r="9" fill="#0a1526" stroke="#67e8f9" stroke-width="3.5"/>
22
+ <circle cx="60" cy="46" r="10" fill="#67e8f9"/>
23
+ <circle cx="82" cy="80" r="9" fill="#0a1526" stroke="#2dd4bf" stroke-width="3.5"/>
24
+ </svg>
25
+ <span id="brand-name">CodeBread</span>
26
+ <span id="project-name"></span>
27
+ </div>
28
+
29
+ <div id="stats"></div>
30
+
31
+ <div id="search-wrap">
32
+ <input id="search" type="text" autocomplete="off" spellcheck="false"
33
+ placeholder="Search functions, files, tables… ( / )">
34
+ <div id="search-results" class="hidden"></div>
35
+ </div>
36
+
37
+ <nav id="view-mode" aria-label="View mode">
38
+ <button data-view="chart" class="active">◈ Chart</button>
39
+ <button data-view="ide">⌗ IDE</button>
40
+ </nav>
41
+
42
+ <nav id="layer-filter" aria-label="Filter by layer">
43
+ <button data-layer="all" class="active">All</button>
44
+ <button data-layer="frontend">Frontend</button>
45
+ <button data-layer="backend">Backend</button>
46
+ <button data-layer="database">Database</button>
47
+ <button data-layer="config">Config</button>
48
+ </nav>
49
+ </header>
50
+
51
+ <div id="main">
52
+ <aside id="sidebar">
53
+ <div id="sidebar-title">Explorer</div>
54
+ <div id="tree" role="tree"></div>
55
+ </aside>
56
+
57
+ <div id="canvas-wrap">
58
+ <div id="breadcrumb" class="hidden"></div>
59
+
60
+ <svg id="graph" role="img" aria-label="Codebase connection graph">
61
+ <defs>
62
+ <filter id="glow" x="-60%" y="-60%" width="220%" height="220%">
63
+ <feGaussianBlur stdDeviation="4" result="b"/>
64
+ <feMerge>
65
+ <feMergeNode in="b"/><feMergeNode in="SourceGraphic"/>
66
+ </feMerge>
67
+ </filter>
68
+ <marker id="arrow" viewBox="0 0 8 8" refX="7" refY="4"
69
+ markerWidth="7" markerHeight="7" orient="auto-start-reverse">
70
+ <path d="M0,0.6 L7.4,4 L0,7.4 z" fill="context-stroke"/>
71
+ </marker>
72
+ </defs>
73
+ <g id="viewport">
74
+ <g id="edges-g"></g>
75
+ <g id="nodes-g"></g>
76
+ </g>
77
+ </svg>
78
+
79
+ <div id="empty-state" class="hidden">
80
+ <svg id="empty-icon" class="cb-mark" viewBox="0 0 120 120" role="img" aria-label="CodeBread">
81
+ <path d="M14 108 L14 56 C14 26 34 12 60 12 C86 12 106 26 106 56 L106 108 Z"
82
+ fill="none" stroke="#2c4266" stroke-width="3"/>
83
+ <line x1="40" y1="86" x2="60" y2="46" stroke="#2dd4bf" stroke-width="3.5" stroke-linecap="round" opacity="0.7"/>
84
+ <line x1="60" y1="46" x2="82" y2="80" stroke="#2dd4bf" stroke-width="3.5" stroke-linecap="round" opacity="0.7"/>
85
+ <line x1="40" y1="86" x2="82" y2="80" stroke="#67e8f9" stroke-width="3.5" stroke-linecap="round" opacity="0.4"/>
86
+ <circle cx="40" cy="86" r="8" fill="none" stroke="#67e8f9" stroke-width="3" opacity="0.7"/>
87
+ <circle cx="60" cy="46" r="9" fill="#67e8f9" opacity="0.7"/>
88
+ <circle cx="82" cy="80" r="8" fill="none" stroke="#2dd4bf" stroke-width="3" opacity="0.7"/>
89
+ </svg>
90
+ <div id="empty-title">Pick a file to begin</div>
91
+ <div id="empty-msg">Select a file in the Explorer on the left to see its functions
92
+ and how it connects to the rest of the codebase.</div>
93
+ </div>
94
+
95
+ <div id="legend"></div>
96
+
97
+ <div id="minimap">
98
+ <svg id="minimap-svg"></svg>
99
+ </div>
100
+
101
+ <div id="zoom-controls">
102
+ <button id="zoom-in" title="Zoom in">+</button>
103
+ <button id="zoom-out" title="Zoom out">−</button>
104
+ <button id="zoom-fit" title="Fit view">⤢</button>
105
+ <button id="layout-toggle" class="active" title="Orbit layout — files float, functions ring around them (click to switch)">◎</button>
106
+ <button id="focus-toggle" title="Focus mode: clear the chart, then pick one file at a time from the Explorer">⌖</button>
107
+ </div>
108
+
109
+ <div id="hint">click a node to reveal its connections · ← → step through neighbors · ↑ ↓ history · drag to pan · scroll to zoom · right-click for actions</div>
110
+ <div id="tooltip" class="hidden"></div>
111
+ <div id="context-menu" class="hidden" role="menu"></div>
112
+ </div>
113
+
114
+ <div id="ide" class="hidden">
115
+ <div id="ide-head">
116
+ <span id="ide-icon">📄</span>
117
+ <span id="ide-path"></span>
118
+ <span id="ide-lang"></span>
119
+ <button id="ide-close" title="Back to chart (Esc)">◈ Chart</button>
120
+ </div>
121
+ <div id="ide-body">
122
+ <aside id="ide-outline">
123
+ <div id="ide-outline-title">Outline</div>
124
+ <div id="ide-outline-list"></div>
125
+ </aside>
126
+ <div id="ide-code"></div>
127
+ </div>
128
+ </div>
129
+
130
+ <aside id="detail" class="hidden">
131
+ <button id="detail-close" title="Close">×</button>
132
+ <div id="detail-body"></div>
133
+ </aside>
134
+ </div>
135
+
136
+ <div id="warnings-panel" class="hidden">
137
+ <div class="wp-head">
138
+ <span>Warnings</span>
139
+ <button id="warnings-close" title="Close">×</button>
140
+ </div>
141
+ <div id="warnings-list"></div>
142
+ </div>
143
+
144
+ <div id="insights-panel" class="hidden">
145
+ <div class="wp-head">
146
+ <span>Insights</span>
147
+ <button id="insights-close" title="Close">×</button>
148
+ </div>
149
+ <div id="insights-body">
150
+ <div class="ip-section">
151
+ <h5>Orphaned functions <span id="ip-orphan-count"></span></h5>
152
+ <div id="ip-orphans-list"></div>
153
+ </div>
154
+ <div class="ip-section">
155
+ <h5>Circular call chains <span id="ip-cycle-count"></span></h5>
156
+ <div id="ip-cycles-list"></div>
157
+ </div>
158
+ </div>
159
+ </div>
160
+
161
+ <div id="onboarding" class="hidden">
162
+ <div id="onboarding-card">
163
+ <svg id="onboarding-icon" class="cb-mark" viewBox="0 0 120 120" role="img" aria-label="CodeBread">
164
+ <path d="M14 108 L14 56 C14 26 34 12 60 12 C86 12 106 26 106 56 L106 108 Z"
165
+ fill="#0a1526" stroke="#1a2f4a" stroke-width="2"/>
166
+ <line x1="40" y1="86" x2="60" y2="46" stroke="#2dd4bf" stroke-width="4" stroke-linecap="round"/>
167
+ <line x1="60" y1="46" x2="82" y2="80" stroke="#2dd4bf" stroke-width="4" stroke-linecap="round"/>
168
+ <line x1="40" y1="86" x2="82" y2="80" stroke="#67e8f9" stroke-width="4" stroke-linecap="round" opacity="0.6"/>
169
+ <circle cx="40" cy="86" r="9" fill="#0a1526" stroke="#67e8f9" stroke-width="3.5"/>
170
+ <circle cx="60" cy="46" r="10" fill="#67e8f9"/>
171
+ <circle cx="82" cy="80" r="9" fill="#0a1526" stroke="#2dd4bf" stroke-width="3.5"/>
172
+ </svg>
173
+ <h3>Welcome to CodeBread</h3>
174
+ <ol>
175
+ <li>Click a <b>file</b> to slice it open into its functions.</li>
176
+ <li>Click a <b>function</b> to reveal what it calls and what calls it — its
177
+ full chain lights up, everything else dims.</li>
178
+ <li>Toggle <b>⌖ Focus</b> (bottom-right) to clear the chart and inspect
179
+ files one at a time from the Explorer instead of the full overview.</li>
180
+ </ol>
181
+ <button id="onboarding-dismiss">Got it</button>
182
+ </div>
183
+ </div>
184
+
185
+ </div>
186
+ <script src="app.js"></script>
187
+ </body>
188
+ </html>