termaid 0.2.0__tar.gz → 0.3.0__tar.gz

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.
Files changed (257) hide show
  1. termaid-0.3.0/.gitignore +20 -0
  2. {termaid-0.2.0 → termaid-0.3.0}/CHANGELOG.md +5 -0
  3. {termaid-0.2.0 → termaid-0.3.0}/PKG-INFO +41 -4
  4. {termaid-0.2.0 → termaid-0.3.0}/README.md +40 -3
  5. termaid-0.3.0/docs/gallery.md +2150 -0
  6. {termaid-0.2.0 → termaid-0.3.0}/pyproject.toml +1 -1
  7. termaid-0.3.0/scripts/generate_gallery.py +94 -0
  8. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/__init__.py +17 -1
  9. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/__main__.py +3 -1
  10. termaid-0.3.0/src/termaid/cli.py +328 -0
  11. termaid-0.3.0/src/termaid/layout/coordinates.py +51 -0
  12. termaid-0.3.0/src/termaid/layout/grid.py +194 -0
  13. termaid-0.3.0/src/termaid/layout/layers.py +443 -0
  14. termaid-0.3.0/src/termaid/layout/placement.py +295 -0
  15. termaid-0.3.0/src/termaid/layout/subgraphs.py +186 -0
  16. termaid-0.3.0/src/termaid/model/mindmap.py +23 -0
  17. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/output/text.py +2 -1
  18. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/parser/flowchart.py +33 -2
  19. termaid-0.3.0/src/termaid/parser/mindmap.py +81 -0
  20. termaid-0.3.0/src/termaid/renderer/canvas.py +301 -0
  21. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/renderer/draw.py +45 -18
  22. termaid-0.3.0/src/termaid/renderer/mindmap.py +294 -0
  23. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/routing/router.py +101 -2
  24. {termaid-0.2.0 → termaid-0.3.0}/tests/test_cli.py +51 -0
  25. {termaid-0.2.0 → termaid-0.3.0}/tests/test_corner_cases.py +163 -1
  26. {termaid-0.2.0 → termaid-0.3.0}/tests/test_edge_styles.py +10 -8
  27. termaid-0.3.0/tests/test_mindmap.py +102 -0
  28. termaid-0.3.0/tests/test_rendering_quality.py +236 -0
  29. termaid-0.2.0/.gitignore +0 -10
  30. termaid-0.2.0/demo/demo.tape +0 -68
  31. termaid-0.2.0/demo/erdiagram.mmd +0 -19
  32. termaid-0.2.0/demo/flowchart.mmd +0 -6
  33. termaid-0.2.0/demo/gitgraph.mmd +0 -10
  34. termaid-0.2.0/demo/sequence.mmd +0 -13
  35. termaid-0.2.0/src/termaid/cli.py +0 -158
  36. termaid-0.2.0/src/termaid/layout/grid.py +0 -879
  37. termaid-0.2.0/src/termaid/renderer/canvas.py +0 -254
  38. termaid-0.2.0/tests/fixtures/expected/all_shapes.txt +0 -45
  39. termaid-0.2.0/tests/fixtures/expected/ampersand_both.txt +0 -13
  40. termaid-0.2.0/tests/fixtures/expected/backlink_complex.txt +0 -13
  41. termaid-0.2.0/tests/fixtures/expected/bidir_dotted.txt +0 -5
  42. termaid-0.2.0/tests/fixtures/expected/bidir_labeled.txt +0 -5
  43. termaid-0.2.0/tests/fixtures/expected/bidir_td.txt +0 -13
  44. termaid-0.2.0/tests/fixtures/expected/bidir_thick.txt +0 -5
  45. termaid-0.2.0/tests/fixtures/expected/bidirectional.txt +0 -5
  46. termaid-0.2.0/tests/fixtures/expected/blockdiagram/basic.txt +0 -7
  47. termaid-0.2.0/tests/fixtures/expected/blockdiagram/col_span.txt +0 -14
  48. termaid-0.2.0/tests/fixtures/expected/blockdiagram/grid.txt +0 -14
  49. termaid-0.2.0/tests/fixtures/expected/blockdiagram/links.txt +0 -7
  50. termaid-0.2.0/tests/fixtures/expected/branching.txt +0 -13
  51. termaid-0.2.0/tests/fixtures/expected/chain.txt +0 -5
  52. termaid-0.2.0/tests/fixtures/expected/classdiagram/annotation.txt +0 -21
  53. termaid-0.2.0/tests/fixtures/expected/classdiagram/basic.txt +0 -10
  54. termaid-0.2.0/tests/fixtures/expected/classdiagram/inheritance.txt +0 -20
  55. termaid-0.2.0/tests/fixtures/expected/classdiagram/relationships.txt +0 -19
  56. termaid-0.2.0/tests/fixtures/expected/comments.txt +0 -5
  57. termaid-0.2.0/tests/fixtures/expected/cycle.txt +0 -7
  58. termaid-0.2.0/tests/fixtures/expected/diamond.txt +0 -23
  59. termaid-0.2.0/tests/fixtures/expected/dotted_arrow.txt +0 -5
  60. termaid-0.2.0/tests/fixtures/expected/duplicate_labels.txt +0 -13
  61. termaid-0.2.0/tests/fixtures/expected/empty_graph.txt +0 -5
  62. termaid-0.2.0/tests/fixtures/expected/erdiagram/attributes.txt +0 -20
  63. termaid-0.2.0/tests/fixtures/expected/erdiagram/basic.txt +0 -19
  64. termaid-0.2.0/tests/fixtures/expected/erdiagram/dashed.txt +0 -12
  65. termaid-0.2.0/tests/fixtures/expected/erdiagram/multiple_entities.txt +0 -12
  66. termaid-0.2.0/tests/fixtures/expected/fan_in.txt +0 -13
  67. termaid-0.2.0/tests/fixtures/expected/fan_out.txt +0 -13
  68. termaid-0.2.0/tests/fixtures/expected/flowchart_keyword.txt +0 -5
  69. termaid-0.2.0/tests/fixtures/expected/gitgraph/cherry_pick.txt +0 -7
  70. termaid-0.2.0/tests/fixtures/expected/gitgraph/feature_branch.txt +0 -7
  71. termaid-0.2.0/tests/fixtures/expected/gitgraph/linear.txt +0 -4
  72. termaid-0.2.0/tests/fixtures/expected/gitgraph/tags.txt +0 -4
  73. termaid-0.2.0/tests/fixtures/expected/gitgraph/tb_direction.txt +0 -18
  74. termaid-0.2.0/tests/fixtures/expected/graph_bt.txt +0 -25
  75. termaid-0.2.0/tests/fixtures/expected/graph_rl.txt +0 -5
  76. termaid-0.2.0/tests/fixtures/expected/labeled_edges.txt +0 -13
  77. termaid-0.2.0/tests/fixtures/expected/large_graph.txt +0 -53
  78. termaid-0.2.0/tests/fixtures/expected/long_labels.txt +0 -7
  79. termaid-0.2.0/tests/fixtures/expected/mermaid_comprehensive.txt +0 -13
  80. termaid-0.2.0/tests/fixtures/expected/mixed_arrow_styles.txt +0 -5
  81. termaid-0.2.0/tests/fixtures/expected/multiple_links.txt +0 -21
  82. termaid-0.2.0/tests/fixtures/expected/no_arrow_dotted.txt +0 -5
  83. termaid-0.2.0/tests/fixtures/expected/no_arrow_solid.txt +0 -5
  84. termaid-0.2.0/tests/fixtures/expected/no_arrow_thick.txt +0 -5
  85. termaid-0.2.0/tests/fixtures/expected/node_with_label.txt +0 -5
  86. termaid-0.2.0/tests/fixtures/expected/parallelogram.txt +0 -5
  87. termaid-0.2.0/tests/fixtures/expected/self_ref_with_edge.txt +0 -5
  88. termaid-0.2.0/tests/fixtures/expected/self_reference.txt +0 -5
  89. termaid-0.2.0/tests/fixtures/expected/semicolons.txt +0 -5
  90. termaid-0.2.0/tests/fixtures/expected/sequence/arrows.txt +0 -16
  91. termaid-0.2.0/tests/fixtures/expected/sequence/autonumber.txt +0 -12
  92. termaid-0.2.0/tests/fixtures/expected/sequence/basic.txt +0 -12
  93. termaid-0.2.0/tests/fixtures/expected/sequence/multiline_notes.txt +0 -19
  94. termaid-0.2.0/tests/fixtures/expected/sequence/nested_blocks.txt +0 -22
  95. termaid-0.2.0/tests/fixtures/expected/sequence/notes.txt +0 -16
  96. termaid-0.2.0/tests/fixtures/expected/sequence/participant_kinds.txt +0 -14
  97. termaid-0.2.0/tests/fixtures/expected/sequence/self_message.txt +0 -12
  98. termaid-0.2.0/tests/fixtures/expected/simple_lr.txt +0 -5
  99. termaid-0.2.0/tests/fixtures/expected/simple_tb.txt +0 -13
  100. termaid-0.2.0/tests/fixtures/expected/simple_td.txt +0 -13
  101. termaid-0.2.0/tests/fixtures/expected/single_node.txt +0 -5
  102. termaid-0.2.0/tests/fixtures/expected/statediagram/basic.txt +0 -21
  103. termaid-0.2.0/tests/fixtures/expected/statediagram/choice.txt +0 -31
  104. termaid-0.2.0/tests/fixtures/expected/statediagram/composite.txt +0 -28
  105. termaid-0.2.0/tests/fixtures/expected/statediagram/start_end.txt +0 -29
  106. termaid-0.2.0/tests/fixtures/expected/subgraph_basic.txt +0 -12
  107. termaid-0.2.0/tests/fixtures/expected/subgraph_nested.txt +0 -27
  108. termaid-0.2.0/tests/fixtures/expected/subgraph_three_levels.txt +0 -24
  109. termaid-0.2.0/tests/fixtures/expected/subgraph_two_separate.txt +0 -12
  110. termaid-0.2.0/tests/fixtures/expected/subgraph_with_labels.txt +0 -12
  111. termaid-0.2.0/tests/fixtures/expected/thick_arrow.txt +0 -5
  112. termaid-0.2.0/tests/fixtures/expected/three_nodes_inline.txt +0 -5
  113. termaid-0.2.0/tests/fixtures/expected/trapezoid.txt +0 -5
  114. termaid-0.2.0/tests/fixtures/expected/two_roots.txt +0 -13
  115. termaid-0.2.0/tests/fixtures/expected/unicode_labels.txt +0 -5
  116. {termaid-0.2.0 → termaid-0.3.0}/.github/workflows/ci.yml +0 -0
  117. {termaid-0.2.0 → termaid-0.3.0}/.github/workflows/publish.yml +0 -0
  118. {termaid-0.2.0 → termaid-0.3.0}/CONTRIBUTING.md +0 -0
  119. {termaid-0.2.0 → termaid-0.3.0}/LICENSE +0 -0
  120. {termaid-0.2.0 → termaid-0.3.0}/demo/termaid-demo.gif +0 -0
  121. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/graph/__init__.py +0 -0
  122. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/graph/model.py +0 -0
  123. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/graph/shapes.py +0 -0
  124. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/layout/__init__.py +0 -0
  125. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/model/__init__.py +0 -0
  126. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/model/blockdiagram.py +0 -0
  127. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/model/classdiagram.py +0 -0
  128. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/model/erdiagram.py +0 -0
  129. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/model/gitgraph.py +0 -0
  130. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/model/piechart.py +0 -0
  131. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/model/sequence.py +0 -0
  132. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/model/treemap.py +0 -0
  133. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/output/__init__.py +0 -0
  134. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/output/rich.py +0 -0
  135. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/output/widget.py +0 -0
  136. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/parser/__init__.py +0 -0
  137. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/parser/blockdiagram.py +0 -0
  138. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/parser/classdiagram.py +0 -0
  139. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/parser/erdiagram.py +0 -0
  140. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/parser/gitgraph.py +0 -0
  141. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/parser/piechart.py +0 -0
  142. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/parser/sequence.py +0 -0
  143. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/parser/statediagram.py +0 -0
  144. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/parser/tokens.py +0 -0
  145. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/parser/treemap.py +0 -0
  146. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/py.typed +0 -0
  147. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/renderer/__init__.py +0 -0
  148. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/renderer/blockdiagram.py +0 -0
  149. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/renderer/charset.py +0 -0
  150. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/renderer/classdiagram.py +0 -0
  151. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/renderer/erdiagram.py +0 -0
  152. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/renderer/gitgraph.py +0 -0
  153. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/renderer/piechart.py +0 -0
  154. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/renderer/sequence.py +0 -0
  155. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/renderer/shapes/__init__.py +0 -0
  156. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/renderer/themes.py +0 -0
  157. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/renderer/treemap.py +0 -0
  158. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/routing/__init__.py +0 -0
  159. {termaid-0.2.0 → termaid-0.3.0}/src/termaid/routing/pathfinder.py +0 -0
  160. {termaid-0.2.0 → termaid-0.3.0}/tests/__init__.py +0 -0
  161. {termaid-0.2.0 → termaid-0.3.0}/tests/conftest.py +0 -0
  162. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/blockdiagram/basic.mmd +0 -0
  163. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/blockdiagram/col_span.mmd +0 -0
  164. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/blockdiagram/grid.mmd +0 -0
  165. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/blockdiagram/links.mmd +0 -0
  166. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/classdiagram/annotation.mmd +0 -0
  167. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/classdiagram/basic.mmd +0 -0
  168. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/classdiagram/inheritance.mmd +0 -0
  169. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/classdiagram/relationships.mmd +0 -0
  170. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/erdiagram/attributes.mmd +0 -0
  171. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/erdiagram/basic.mmd +0 -0
  172. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/erdiagram/dashed.mmd +0 -0
  173. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/erdiagram/multiple_entities.mmd +0 -0
  174. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/all_shapes.mmd +0 -0
  175. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/ampersand_both.mmd +0 -0
  176. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/backlink_complex.mmd +0 -0
  177. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/bidir_dotted.mmd +0 -0
  178. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/bidir_labeled.mmd +0 -0
  179. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/bidir_td.mmd +0 -0
  180. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/bidir_thick.mmd +0 -0
  181. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/bidirectional.mmd +0 -0
  182. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/branching.mmd +0 -0
  183. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/chain.mmd +0 -0
  184. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/comments.mmd +0 -0
  185. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/cycle.mmd +0 -0
  186. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/diamond.mmd +0 -0
  187. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/dotted_arrow.mmd +0 -0
  188. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/duplicate_labels.mmd +0 -0
  189. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/empty_graph.mmd +0 -0
  190. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/fan_in.mmd +0 -0
  191. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/fan_out.mmd +0 -0
  192. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/flowchart_keyword.mmd +0 -0
  193. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/graph_bt.mmd +0 -0
  194. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/graph_rl.mmd +0 -0
  195. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/labeled_edges.mmd +0 -0
  196. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/large_graph.mmd +0 -0
  197. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/long_labels.mmd +0 -0
  198. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/mermaid_comprehensive.mmd +0 -0
  199. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/mixed_arrow_styles.mmd +0 -0
  200. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/multiple_links.mmd +0 -0
  201. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/no_arrow_dotted.mmd +0 -0
  202. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/no_arrow_solid.mmd +0 -0
  203. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/no_arrow_thick.mmd +0 -0
  204. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/node_with_label.mmd +0 -0
  205. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/parallelogram.mmd +0 -0
  206. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/self_ref_with_edge.mmd +0 -0
  207. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/self_reference.mmd +0 -0
  208. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/semicolons.mmd +0 -0
  209. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/simple_lr.mmd +0 -0
  210. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/simple_tb.mmd +0 -0
  211. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/simple_td.mmd +0 -0
  212. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/single_node.mmd +0 -0
  213. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/subgraph_basic.mmd +0 -0
  214. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/subgraph_nested.mmd +0 -0
  215. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/subgraph_three_levels.mmd +0 -0
  216. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/subgraph_two_separate.mmd +0 -0
  217. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/subgraph_with_labels.mmd +0 -0
  218. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/thick_arrow.mmd +0 -0
  219. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/three_nodes_inline.mmd +0 -0
  220. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/trapezoid.mmd +0 -0
  221. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/two_roots.mmd +0 -0
  222. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/flowcharts/unicode_labels.mmd +0 -0
  223. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/gitgraph/cherry_pick.mmd +0 -0
  224. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/gitgraph/feature_branch.mmd +0 -0
  225. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/gitgraph/linear.mmd +0 -0
  226. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/gitgraph/tags.mmd +0 -0
  227. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/gitgraph/tb_direction.mmd +0 -0
  228. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/sequence/arrows.mmd +0 -0
  229. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/sequence/autonumber.mmd +0 -0
  230. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/sequence/basic.mmd +0 -0
  231. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/sequence/multiline_notes.mmd +0 -0
  232. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/sequence/nested_blocks.mmd +0 -0
  233. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/sequence/notes.mmd +0 -0
  234. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/sequence/participant_kinds.mmd +0 -0
  235. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/sequence/self_message.mmd +0 -0
  236. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/statediagram/basic.mmd +0 -0
  237. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/statediagram/choice.mmd +0 -0
  238. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/statediagram/composite.mmd +0 -0
  239. {termaid-0.2.0 → termaid-0.3.0}/tests/fixtures/statediagram/start_end.mmd +0 -0
  240. {termaid-0.2.0 → termaid-0.3.0}/tests/test_blockdiagram.py +0 -0
  241. {termaid-0.2.0 → termaid-0.3.0}/tests/test_classdiagram.py +0 -0
  242. {termaid-0.2.0 → termaid-0.3.0}/tests/test_erdiagram.py +0 -0
  243. {termaid-0.2.0 → termaid-0.3.0}/tests/test_gitgraph.py +0 -0
  244. {termaid-0.2.0 → termaid-0.3.0}/tests/test_integration.py +0 -0
  245. {termaid-0.2.0 → termaid-0.3.0}/tests/test_layout.py +0 -0
  246. {termaid-0.2.0 → termaid-0.3.0}/tests/test_parser_comprehensive.py +0 -0
  247. {termaid-0.2.0 → termaid-0.3.0}/tests/test_piechart.py +0 -0
  248. {termaid-0.2.0 → termaid-0.3.0}/tests/test_renderer.py +0 -0
  249. {termaid-0.2.0 → termaid-0.3.0}/tests/test_routing.py +0 -0
  250. {termaid-0.2.0 → termaid-0.3.0}/tests/test_sequence.py +0 -0
  251. {termaid-0.2.0 → termaid-0.3.0}/tests/test_shapes.py +0 -0
  252. {termaid-0.2.0 → termaid-0.3.0}/tests/test_snapshots.py +0 -0
  253. {termaid-0.2.0 → termaid-0.3.0}/tests/test_state_diagram.py +0 -0
  254. {termaid-0.2.0 → termaid-0.3.0}/tests/test_themes.py +0 -0
  255. {termaid-0.2.0 → termaid-0.3.0}/tests/test_treemap.py +0 -0
  256. {termaid-0.2.0 → termaid-0.3.0}/tests/test_warnings.py +0 -0
  257. {termaid-0.2.0 → termaid-0.3.0}/uv.lock +0 -0
@@ -0,0 +1,20 @@
1
+ .DS_Store
2
+ __pycache__/
3
+ *.pyc
4
+ *.egg-info/
5
+ dist/
6
+ build/
7
+ .venv/
8
+ .pytest_cache/
9
+ # Scratch diagram files in root
10
+ /*.mmd
11
+
12
+ # Demo source files (tape scripts, scratch mmd) — keep only the gif
13
+ demo/*.tape
14
+ demo/*.mmd
15
+ demo/.DS_Store
16
+
17
+ # Other scratch files
18
+ .coverage
19
+ *.txt
20
+ screenshot.png
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.1 (2026-03-25)
4
+
5
+ - Add `--gap` CLI flag and `gap` parameter for compact diagram spacing
6
+ - Document wide LR diagram workarounds in README
7
+
3
8
  ## 0.2.0 (2026-03-20)
4
9
 
5
10
  - Add pie chart support (`pie` syntax, rendered as horizontal bar charts)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: termaid
3
- Version: 0.2.0
3
+ Version: 0.3.0
4
4
  Summary: Render Mermaid diagrams in your terminal or Python app
5
5
  License-Expression: MIT
6
6
  License-File: LICENSE
@@ -34,10 +34,13 @@ Description-Content-Type: text/markdown
34
34
  <img src="demo/termaid-demo.gif" alt="termaid demo" width="800">
35
35
  </p>
36
36
 
37
+ **[Try it online at termaid.com](https://termaid.com)**
38
+
37
39
  ## Features
38
40
 
39
- - **9 diagram types:** flowcharts, sequence, class, ER, state, block, git graphs, pie charts, and treemaps
41
+ - **10 diagram types:** flowcharts, sequence, class, ER, state, block, git graphs, pie charts, treemaps, and mindmaps
40
42
  - **Zero dependencies:** pure Python, nothing to install beyond the package itself
43
+ - **Terminal-aware:** auto-fits diagrams to terminal width with progressive compaction
41
44
  - **Rich and Textual integration:** colored output and TUI widgets with optional extras
42
45
  - **6 color themes:** default, terra, neon, mono, amber, phosphor
43
46
  - **ASCII fallback:** works on any terminal, even the most basic ones
@@ -400,6 +403,30 @@ treemap-beta
400
403
 
401
404
  **Features:** nested sections via indentation, `"label": value` syntax, proportional sizing, `%%` comments
402
405
 
406
+ ### Mindmaps
407
+
408
+ ```mermaid
409
+ mindmap
410
+ Project
411
+ Design
412
+ Wireframes
413
+ Mockups
414
+ Development
415
+ Frontend
416
+ Backend
417
+ Testing
418
+ ```
419
+
420
+ ```
421
+ ╭─ Design ──╭─ Wireframes
422
+ │ ╰─ Mockups
423
+ Project ──├─ Development ──╭─ Frontend
424
+ │ ╰─ Backend
425
+ ╰─ Testing
426
+ ```
427
+
428
+ **Features:** indentation-based nesting, automatic overflow to the left when many children, rounded/sharp/ASCII branch characters, Mermaid shape markers stripped (`(round)`, `[square]`, `{{hexagon}}`, `)cloud(`)
429
+
403
430
  ## CLI options
404
431
 
405
432
  | Flag | Description |
@@ -409,7 +436,12 @@ treemap-beta
409
436
  | `--theme NAME` | Color theme: `default`, `terra`, `neon`, `mono`, `amber`, `phosphor` (requires `pip install termaid[rich]`) |
410
437
  | `--padding-x N` | Horizontal padding inside boxes (default: 4) |
411
438
  | `--padding-y N` | Vertical padding inside boxes (default: 2) |
439
+ | `--gap N` | Space between nodes (default: 4). Use `1` or `2` for compact diagrams |
440
+ | `--width N` | Max output width. Re-renders with smaller gap/padding if exceeded |
441
+ | `--no-auto-fit` | Disable automatic compaction when diagram exceeds terminal width |
412
442
  | `--sharp-edges` | Sharp corners on edge turns instead of rounded |
443
+ | `-o FILE` | Write output to file instead of stdout |
444
+ | `--show-ids` | Show node IDs alongside labels for debugging (e.g. `myId: My Label`) |
413
445
 
414
446
  ## Python API
415
447
 
@@ -455,8 +487,13 @@ pip install termaid[textual] # Textual TUI widget
455
487
 
456
488
  ## Limitations
457
489
 
458
- - **Layout engine is approximate.** Node positioning uses a grid-based barycenter heuristic. Graphs with many cross-layer edges may still produce crossings.
459
- - **Manhattan-only edge routing.** Edges use A* pathfinding on a grid. Very dense graphs may have overlapping edges.
490
+ - **Layout engine is approximate.** Node positioning uses a grid-based barycenter heuristic. Very dense graphs may still produce some edge crossings.
491
+ - **Manhattan-only edge routing.** Edges use A* pathfinding on a grid. The engine auto-expands gaps for crossing edges and biases toward flow-aligned routes.
492
+ - **Wide diagrams.** The CLI auto-compacts when the diagram exceeds terminal width. For very wide LR chains, use `--width N`, `--gap 1`, or pipe through `less -S`.
493
+
494
+ ## Gallery
495
+
496
+ See [docs/gallery.md](docs/gallery.md) for rendered examples of all 78 supported diagram fixtures.
460
497
 
461
498
  ## Acknowledgements
462
499
 
@@ -6,10 +6,13 @@
6
6
  <img src="demo/termaid-demo.gif" alt="termaid demo" width="800">
7
7
  </p>
8
8
 
9
+ **[Try it online at termaid.com](https://termaid.com)**
10
+
9
11
  ## Features
10
12
 
11
- - **9 diagram types:** flowcharts, sequence, class, ER, state, block, git graphs, pie charts, and treemaps
13
+ - **10 diagram types:** flowcharts, sequence, class, ER, state, block, git graphs, pie charts, treemaps, and mindmaps
12
14
  - **Zero dependencies:** pure Python, nothing to install beyond the package itself
15
+ - **Terminal-aware:** auto-fits diagrams to terminal width with progressive compaction
13
16
  - **Rich and Textual integration:** colored output and TUI widgets with optional extras
14
17
  - **6 color themes:** default, terra, neon, mono, amber, phosphor
15
18
  - **ASCII fallback:** works on any terminal, even the most basic ones
@@ -372,6 +375,30 @@ treemap-beta
372
375
 
373
376
  **Features:** nested sections via indentation, `"label": value` syntax, proportional sizing, `%%` comments
374
377
 
378
+ ### Mindmaps
379
+
380
+ ```mermaid
381
+ mindmap
382
+ Project
383
+ Design
384
+ Wireframes
385
+ Mockups
386
+ Development
387
+ Frontend
388
+ Backend
389
+ Testing
390
+ ```
391
+
392
+ ```
393
+ ╭─ Design ──╭─ Wireframes
394
+ │ ╰─ Mockups
395
+ Project ──├─ Development ──╭─ Frontend
396
+ │ ╰─ Backend
397
+ ╰─ Testing
398
+ ```
399
+
400
+ **Features:** indentation-based nesting, automatic overflow to the left when many children, rounded/sharp/ASCII branch characters, Mermaid shape markers stripped (`(round)`, `[square]`, `{{hexagon}}`, `)cloud(`)
401
+
375
402
  ## CLI options
376
403
 
377
404
  | Flag | Description |
@@ -381,7 +408,12 @@ treemap-beta
381
408
  | `--theme NAME` | Color theme: `default`, `terra`, `neon`, `mono`, `amber`, `phosphor` (requires `pip install termaid[rich]`) |
382
409
  | `--padding-x N` | Horizontal padding inside boxes (default: 4) |
383
410
  | `--padding-y N` | Vertical padding inside boxes (default: 2) |
411
+ | `--gap N` | Space between nodes (default: 4). Use `1` or `2` for compact diagrams |
412
+ | `--width N` | Max output width. Re-renders with smaller gap/padding if exceeded |
413
+ | `--no-auto-fit` | Disable automatic compaction when diagram exceeds terminal width |
384
414
  | `--sharp-edges` | Sharp corners on edge turns instead of rounded |
415
+ | `-o FILE` | Write output to file instead of stdout |
416
+ | `--show-ids` | Show node IDs alongside labels for debugging (e.g. `myId: My Label`) |
385
417
 
386
418
  ## Python API
387
419
 
@@ -427,8 +459,13 @@ pip install termaid[textual] # Textual TUI widget
427
459
 
428
460
  ## Limitations
429
461
 
430
- - **Layout engine is approximate.** Node positioning uses a grid-based barycenter heuristic. Graphs with many cross-layer edges may still produce crossings.
431
- - **Manhattan-only edge routing.** Edges use A* pathfinding on a grid. Very dense graphs may have overlapping edges.
462
+ - **Layout engine is approximate.** Node positioning uses a grid-based barycenter heuristic. Very dense graphs may still produce some edge crossings.
463
+ - **Manhattan-only edge routing.** Edges use A* pathfinding on a grid. The engine auto-expands gaps for crossing edges and biases toward flow-aligned routes.
464
+ - **Wide diagrams.** The CLI auto-compacts when the diagram exceeds terminal width. For very wide LR chains, use `--width N`, `--gap 1`, or pipe through `less -S`.
465
+
466
+ ## Gallery
467
+
468
+ See [docs/gallery.md](docs/gallery.md) for rendered examples of all 78 supported diagram fixtures.
432
469
 
433
470
  ## Acknowledgements
434
471