TomLabs.PixelBridge 0.3.2

dotnet add package TomLabs.PixelBridge --version 0.3.2
                    
NuGet\Install-Package TomLabs.PixelBridge -Version 0.3.2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="TomLabs.PixelBridge" Version="0.3.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="TomLabs.PixelBridge" Version="0.3.2" />
                    
Directory.Packages.props
<PackageReference Include="TomLabs.PixelBridge" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add TomLabs.PixelBridge --version 0.3.2
                    
#r "nuget: TomLabs.PixelBridge, 0.3.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package TomLabs.PixelBridge@0.3.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=TomLabs.PixelBridge&version=0.3.2
                    
Install as a Cake Addin
#tool nuget:?package=TomLabs.PixelBridge&version=0.3.2
                    
Install as a Cake Tool

TomLabs.PixelBridge

The .NET side of PixelBridge, the channel that carries data out of World of Warcraft. The in-game PixelBridge addon draws a strip of coloured cells in the top-left corner; a bridge host (any app using TomLabs.PixelBridge.Host, for example ForeverPresence) captures and decodes it and republishes each message on the local pipe \\.\pipe\tomlabs-pixelbridge.

The full contract is docs/protocol.md in this package.

Read messages from the host

using TomLabs.PixelBridge;
using TomLabs.PixelBridge.Pipe;

var client = new PixelBridgeClient("MyTool", [Channels.FoxieEvents, Channels.FoxieState]);
await foreach (var message in client.ReadAllAsync(cancellationToken))
{
    foreach (var field in message.Fields())
        Console.WriteLine($"#{message.Channel} {message.Kind} seq {message.Seq}: tag {field.Tag} = {field.AsUInt()}");
}
  • The client reconnects by itself; start it before or after the host.
  • After subscribing, the host replays the latest state of each subscribed channel (Replay = true).
  • Events arrive once: the host deduplicates the repeated copies by (Session, Channel, Seq).

Protocol types

  • StripDecoder.Decode(BgraImage) decodes a capture into a StripFrame (session, counter, messages).
  • StripEncoder and StripRenderer make synthetic strips for tests.
  • MessageDeduplicator turns repeated frames into new messages only.
  • TlvBuilder / TlvReader build and read the payload fields.
  • BridgeStatus.Parse reads channel 0.

Test your addon against the real bridge

The package carries the addon's Lua (addon/PixelBridge/Codec.lua and PixelBridge.lua). Copy them to the test output and run them under a Lua interpreter such as MoonSharp next to your own addon:

<PackageReference Include="TomLabs.PixelBridge" Version="0.3.0" GeneratePathProperty="true" />
<None Include="$(PkgTomLabs_PixelBridge)\addon\PixelBridge\*.lua" LinkBase="Lua" CopyToOutputDirectory="PreserveNewest" />

The addon itself is on CurseForge. It only draws; it never sends input, and neither do these packages.

Licence

MIT.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on TomLabs.PixelBridge:

Package Downloads
TomLabs.PixelBridge.Host

PixelBridge host for Windows: finds the World of Warcraft window (retail, Classic, PTR, beta, WoW Forever), captures the strip from the screen or with PrintWindow, decodes it and republishes the messages on a local named pipe. The first app becomes the host; later ones connect as clients and take over when it exits.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.3.2 99 11/6/2026
0.3.1 86 11/6/2026
0.3.0 132 10/30/2026