Commit e8fff92
committed
feat: SVG and TikZ export for phase plane figures
- Embed canvas2svg library in widget.js for SVG export from HTML5 Canvas
- Add export buttons (SVG, TikZ) to widget UI with CSS styling
- Implement exportToSVG() that replays phase plane drawing through C2S mock context
- Add export_tikz() to PhasePlaneWidget for PGFPlots code generation
- Generate self-contained standalone .tex with embedded data tables
- Vector field as \draw[-stealth] arrows, nullclines as \addplot, trajectories
as smooth curves, fixed points as TikZ nodes with shape/colour encoding
- Parameter annotation with underscore escaping for LaTeX safety
- Full test suite: 139 passed, 5 skipped, pdflatex compilation verified
- Document both export methods in deployment.md1 parent 35f1261 commit e8fff92
5 files changed
Lines changed: 1585 additions & 22 deletions
File tree
- docs
- src/tvb_phaseplane
- static
- tests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
202 | 202 | | |
203 | 203 | | |
204 | 204 | | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
205 | 233 | | |
206 | 234 | | |
207 | 235 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
579 | 579 | | |
580 | 580 | | |
581 | 581 | | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
0 commit comments