Skip to content

1.9.4

Choose a tag to compare

@SharbelMarshi SharbelMarshi released this 10 Aug 02:05
· 10 commits to main since this release

LuaTikZ 1.9.4

This release turns the visual editor into a much more complete drawing tool: a full circuitikz component palette, real fill styling (shades, gradients, patterns), configurable arrow tips, and a paint-bucket tool, plus several reliability fixes, including one for the "diagram.tex not found" error on cached diagrams.

Circuit components

  • New Circuit toolbar menu with 16 circuitikz elements: Resistor (zigzag and rectangular box), Capacitor, Inductor, Voltage source (+ − circle and single-cell plates), Current source, Battery, Diode, LED, Switch, Lamp, Ammeter, Voltmeter, junction Dot, and Ground.
  • Click to place: pick a component and a translucent preview of its exact schematic glyph follows your cursor; one click drops it (a 2 cm span, snap-aligned). No dragging needed — and the endpoints stay draggable afterwards to reroute or rotate.
  • Components are written as plain circuitikz (\draw (0,0) to[R] (2,0);, \node[ground] at (…) {};) and stay first-class editable objects. More generally, any to[...] path — including hand-written to[bend left] is now visually editable instead of source-only.
  • The canvas wireframe draws real schematic glyphs (zigzag, plates, coil, ±, diode triangle, …), and once the compiled symbol appears, the approximate wireframe hides so you see only the real component.
  • Voltage sources use the American + − style, kept upright at any orientation via an auto-inserted, version-safe \ctikzset line.

Color, fills, and arrows

  • Shade sliders on the Stroke and Fill palettes mix any color toward white or black as readable xcolor expressions (red!60, red!60!black).
  • Stroke "None" well (red slash): removes the outline entirely (draw=none) distinct from the default well, which restores black.
  • Fill styles: solid, vertical/horizontal/radial gradients, ball shade, written as native shading options (top color=, inner color=, ball color=, shading angle=).
  • Fill patterns: the full TikZ patterns library plus three editor patterns bold diagonal stripes and wider-spaced NE/NW lines (declared automatically per fence). A pattern can sit over a solid fill color; \usetikzlibrary{patterns} is inserted for you.
  • Arrow tips: choose Arrow (default), Stealth, Latex, Triangle, Circle, Square, Diamond, Bar, or Hooks (arrows.meta specs like -{Stealth}); direction and tip combine freely, legacy -latex specs are recognized.

Paint fill (bucket) tool

  • New Paint fill tool (key K): click inside any visually closed region — a shape, a circle split by a line, overlapping shapes, a closed freehand outline. Simple shapes get fill=… set directly; composite regions are flood-filled on a raster of the actual scene and traced into a \fill … -- cycle; path (holes handled via even odd rule), inserted beneath the bounding strokes. Unclosed regions are reported instead of guessed.

Function plot

  • LaTeX-style input now works: 0.02\cos(200t), \frac{x}{2}, \sqrt[3]{x}, 2\pi x, e^{-x}, \left(…\right).
  • The variable no longer has to be x — any single free letter (t, y, …) is plotted.
  • Expressions with two free variables get a clear explanation naming them, instead of a silent failure.

Fixes

  • Cached diagrams no longer break with "…tex not found": the startup temp-folder sweep could delete in-flight compile files when a cache-evicted diagram recompiled at launch, sticking the block in an error until a manual re-render. The sweep is now age-gated, and the compiler additionally self-heals by retrying once if its input file vanishes mid-compile.
  • iPad/TikZJax pattern rendering: patterned fills rendered invisible on the mobile engine (its converter drops pattern definitions); the missing tile definitions are now re-injected, so all patterns render on iPad too.
  • Toolbar on narrow panes: the toolbar wraps into extra rows instead of becoming an invisible horizontal scroll strip that hid the Shapes (Arc & co.) and Circuit buttons.
  • Node text, gradients, arrow tips, circuits, and patterns were all verified end-to-end on both engines (LuaLaTeX and the bundled TikZJax used on mobile).