Pipe Visualizer 2.0 - Pin

by xal3xhx

Fork of PipeVisualizer-Updated. Hover a pipe and press Control + Y to pin its fluid system on screen; press Control + Y on a pinned system to remove it. Press Control + Y with nothing hovered to clear all pins. Press Shift + Y to draw all visible fluid systems. Press Alt + Y to visualize systems on mouse-over. Press Control + Shift + Y to toggle color-by-fluid / color-by-system. Not compatible with PipeVisualizer-Updated (replaces it).

Utilities
4 hours ago
2.0
0

Changelog

Version: 2.6.4
Date: 2026-09-20
  Bugfixes:
    - Pumps, offshore pumps and other segment-less machines next to a pinned system now clear
      when that system is unpinned. They have no connection data, so the clear path never
      matched them; the iterator now remembers which pinned systems pulled each one in.
Version: 2.6.3
Date: 2026-09-20
  Bugfixes:
    - Fixed crash when pinning ("attempt to index local 'obj'"): the 2.6.1 orphan guard also
      dropped segment-less neighbours such as pumps and tried to clear render objects that were
      never created. The guard now only applies to entities whose segments were all unpinned,
      and clearing a missing sprite is a no-op.
Version: 2.6.2
Date: 2026-09-20
  Bugfixes:
    - Fixed crash on load introduced in 2.6.1 ("An interface already exists under with name:
      PipeVisualizer"): the event_handler library already registers each library's remote
      interface, so the extra explicit registration was removed.
Version: 2.6.1
Date: 2026-09-20
  Bugfixes:
    - Unpinning one system no longer wipes every other pinned system's drawing (inherited bug: the
      clear path removed every entity that was not part of the cleared system).
    - Fixed an operator-precedence bug that made "(not id == 'none')" always false: pinned systems
      are now colored by the fluid in the whole segment, not just the fluid in the hovered entity,
      and pressing the pin key on an entity of an already-pinned system consistently unpins it.
    - Entities still queued when their system is unpinned are dropped instead of being drawn as
      orphaned grey shapes.
    - Render objects popped from the reuse cache for a different surface are destroyed instead of
      leaking as invisible objects.
  Optimisations:
    - on_tick skips iterators with an empty queue (pinned systems no longer cost anything per tick).
    - renderer.draw reads surface / player list / settings once per entity instead of once per
      sprite, and looks arrow sprite names up from a table instead of concatenating strings.
    - Removed dead code: migrations from the upstream mod (never apply to this fork), an unused
      entity_data.get_or_create, an unused global and a debug snippet.
Version: 2.6.0
Date: 2026-09-20
  Changes:
    - Removed the mouse-over mode (Alt + Y, plus its shortcut bar button) and the color-by-system
      toggle (Control + Shift + Y), including their code, locale strings and icons. The mod now has
      exactly two controls: Control + Y (pin / unpin hovered system) and Shift + Y (overlay).
    - Systems are always colored by fluid.
Version: 2.5.0
Date: 2026-09-20
  Changes:
    - Forked from PipeVisualizer-Updated 2.4.4 as "PipeVisualizer-Pin". Marked incompatible with
      PipeVisualizer-Updated and the original PipeVisualizer; this mod replaces them.
    - "Visualize selected pipe system" is now "Pin / unpin hovered pipe system" and defaults to
      Control + Y instead of Y. Hover a pipe and press it to keep that fluid system drawn; press it
      again while hovering a pinned system to remove it. Any number of systems can be pinned at
      once. Pressing it with nothing hovered clears every pin.
    - Reason: in packs where another mod uses plain Y (helmod's recipe explorer, for example) the
      old default fired both actions at once and the pipe visualization was easy to miss.
Version: 2.4.4
Date: 2025-11-15
  Changes:
    - Added rendering to the map view! It can be hard to see at times due to the limitations of the 
      rendering system used in the mod. But seen with the overlay and pollution off it's easier to see.
    - Added player option to scale up the overlay view range.
      - This was added specifically to increase the utility via map view. Untested with large numbers
        and so it might cause lag. I haven't yet seen any lag at 8x however.
Version: 2.4.3
Date: 2025-09-28
  Changes:
    - Added setting to enabled ultra-wide support.
      - This increases the max overlay size and could potentially cause lag or long delays when enabling and disabling the overlay
Version: 2.4.2
Date: 2025-09-26
  Changes:
    - Removed .git and screenshots.
Version: 2.4.1
Date: 2025-09-24
  Bugfixes:
    - Fixed crash when FluidsMustFlow was not enabled
Version: 2.4.0
Date: 2025-09-23
  Features:
    - Added an option in the player options to enable colored pumps (and buildings with singular fluidboxes) when using the Shift+Y overlay feature.
    - Added compatibility for Fluids Must Flow. Future compatibility can be added easily for oother mods that don't show as expected. 
      - Submit a request on the mod portal with information or a PR/Issue on github for compatibility additions
  Bugfixes:
    - Fixed boxes not showing for pumps and other complex fluid boxes
Version: 2.3.3
Date: 2025-01-16
  Bugfixes:
    - Changed default keybind for "Color By System" to CTRL + SHIFT + Y so it doesn't conflict with the redo function
Version: 2.3.2
Date: 2025-01-16
  Bugfixes:
    - Fix to rendering displaying incorrect rotations for arrows and underground pipes
Version: 2.3.1
Date: 2025-01-15
  Bugfixes:
    - Fixed crash on start up
Version: 2.3.0
Date: 2025-01-14
  Bugfixes:
    - Updated to Factorio 2.0 and changed default keybind to "Y" to not conflict with the default "H" being flipping horizontally. Does not modify existing 2.0 pipe visualization.
    - Developer changed to AmberAtelier (amberatelier on Discord)
Version: 2.2.2
Date: ????
  Bugfixes:
    - Fixed a crash when the overlay background is (somehow) destroyed. (#35)
Version: 2.2.1
Date: 2024-03-29
  Bugfixes:
    - Fixed a crash when a cached render object is destroyed. (#28)
  Compatibility:
    - Added a remote interface to blacklist entities from being visualized. (#26)
Version: 2.2.0
Date: 2023-11-24
  Features:
    - Added a map setting to adjust the number of entities visualized per tick. (#24)
    - Re-added mouse-over visualization, toggled with Alt+H or the shortcut button. (#20)
      - Pressing H while hovering will make that entity's fluid systems persist.
  Bugfixes:
    - Fixed a crash when an entity is invalidated while in the queue to be visualized. (#21)
Version: 2.1.0
Date: 2023-10-15
  Features:
    - Added a per-player setting to adjust overlay opacity. (#19)
  Changes:
    - Box colors are more consistent, being decided by prototype order instead of fluid system ID.
  Bugfixes:
    - Fixed that underground connections would cause entity rendering to end prematurely.
    - Fixed that the default pipe color was semitransparent.
Version: 2.0.1
Date: 2023-10-14
  Bugfixes:
    - Fixed a crash when visualizing a fluid wagon.
    - Fixed that the color mode GUI from 1.0.x would be left behind when migrating (#17).
    - Fixed offshore pump boxes being off-center.
Version: 2.0.0
Date: 2023-10-14
  Features:
    - Added a hotkey to visualize an individual system without needing to remain hovered over it (default: H).
    - Pipe connections on each entity are visualized individually.
  Changes:
    - Changed color mode selection from a GUI toggle to a hotkey (default: Control + H).
    - Changed overlay hotkey from Control + P to Shift + H.
    - Removed hover-over visualizer in favor of the individual system visualization hotkey.
    - Visualization is performed over multiple ticks.
Version: 1.0.6
Date: 2023-03-26
  Bugfixes:
    - Fixed that the visualizer would show two output-only fluidboxes as connected (#11)
Version: 1.0.5
Date: 2023-03-09
  Changes:
    - Pumps are now drawn with a diode shape (by nekizalb)
  Bugfixes:
    - Fixed blue fluid colors being distorted to similar shades of cyan
    - Fixed that fluid-burning labs would not be visualized
Version: 1.0.4
Date: 2022-03-18
  Changes:
    - Improved shortcut icons
  Bugfixes:
    - Fixed a crash when hovering over a flamethrower (#9)
Version: 1.0.3
Date: 2022-03-16
  Bugfixes:
    - Fixed a crash when hovering a reactor with a fluid energy source (#8)
Version: 1.0.2
Date: 2022-03-14
  Bugfixes:
    - Fixed a crash when iterating a reactor with a fluid energy source (#8)
Version: 1.0.1
Date: 2022-02-27
  Bugfixes:
    - Fixed a crash when starting a new freeplay game (#5)
Version: 1.0.0
Date: 2022-02-24
  Features:
    - Initial release