Puzzle Library is a C# code library for interacting with Portal 2's P2C puzzle file format. It lets you read, write, create, and modify puzzle files. I built it with the aim of making it easy to build tools to modify puzzle files - abstracting away some of the confusing things like rotation angle order, providing bulk voxel editing capabilities, and simplifying connection management.
This code library also documents (through code) the full P2C file format. Every item is supported - I spent considerable time determining how each item worked (there are some crazy things in there), and when I couldn't determine what a property was for, I documented it in the library as such.
Please check it out and let me know what you think! It includes a sample program that can generate a puzzle file with demonstrations of how to create and use each item.
