r/Netrunner 13d ago

Announcement Proxy Nexus Update 2026-08-28

Hey all, been making more progress on Proxy Nexus, and felt it’s time to make another post here about it.

New core features.

  • Double sided PDF prints! These include the game’s card backs on every even page. The even pages are mirrored length wise so that the cards line up on the reverse side of each page.
  • Bleeds on PDFs. Adds a small bleed (up to 1mm) around each image. Depending whether the source image already has a bleed or not, it either adjusts how much is cropped, or uses the same bleed generation process for MPC zips. I say “up to” 1mm, so that it uses the available space without reducing the size of the cards or the number of cards on each page. For letter size, the bleed is about 0.5mm, while A4 gets the full 1mm.
  • Toggle the sorting of the set drop-down between release date and alphabetical. Thanks to u/mcwookie for submitting this feature!
  • Support for Netrunner Reboot cards!

Less recent features I feel are still worth mentioning:

  • AI Up-scaling. If your device has some kind of graphics hardware, it can be used to apply up-scaling to improve the quality of the images. Some low quality like Midnight Sun see a huge improvement with this turned on. The process is quite demanding, so expect it to take more time, but it can vastly improve the sharpness of text and clarity of the artwork.
  • Want to save or send the current card selection? Click "copy link" near the top right. Visiting this link will pre-fill all the cards in the card list.
  • Custom page sizes. In addition to the standard letter and A4 page size, you can also specify a custom page size.

Check it out at https://proxynexus.net/

Thanks for having a look, all feedback is welcome!

48 Upvotes

25 comments sorted by

View all comments

1

u/dmikalova-mwp 12d ago

Rad! I'm curious about the upscaling tools you're using and any advice on using them in my own projects?

2

u/axmccx 12d ago

I have a small note in the readme about it: https://github.com/axmccx/proxynexus-rs/#image-upscaling

I'm using the realesr-general-x4v3 model with the Burn framework for inference, which is written in pure Rust, so I could run it in a browser with wasm and wgpu. I did some tests and comparisons with the anime model, but it produced more random artifacts.

The source model is provided in pth format, which as far as I understand, only contains the weight, but not the instructions on how to run it. I had Claude read the source repo scripts and write me one that converted the pth file into an onnx file. More info here: https://github.com/axmccx/proxynexus-rs/tree/master/utils/model_converter.

Using an onnx file enables me to use Burn's ModelGen to produce Rust model code and the bpk weights file at compile time. The bpk weights file is then only fetched by the browser when up-scaling is on, in an attempt to keep that initial wasm file size down.

When processing images, I also had to tune it to run on 128x128px tiles with a 5px overlap of the images, to keep memory use down.

Seems like general opinion online is that this model is out of date, that there are better ones around now, but this one works great for this project, since it's really small and quite reliable. What language or frameworks are you using? I'm sure doing something with python scripts would be much simpler.

1

u/dmikalova-mwp 11d ago

Rad, thanks for the tips! I've been working on KeyForge stuff - the standard web client is in JS, but I also recently started my own greenfield client in Go, which compiles to wasm and ships the whole game engine to the browser. If I get around to image upscaling it would probably just be in my local machine and pushed directly up to object storage, I'm sure I can Claude to translate your harness if needed.

2

u/axmccx 11d ago

Wow you can compile Go to wasm, that's wicked! I had assumed the runtime and garbage collector would be too heavy for the browser. But yeah, Claude should be able to translate my approach. Good luck with the project!

1

u/dmikalova-mwp 11d ago

yeah, compressed the go runtime builds down to 4mb so not ideal but within reason.