MemoryPack is a high-performance binary serialization library for .NET (C#) that achieves extreme speed through 'zero encoding'βdirect memory copies for blittable types rather than varint/tag-based encodings. It is primarily a library, distributed as multiple NuGet packages, including a Roslyn source generator that compiles serialization code for types marked with [MemoryPackable]. The core library (MemoryPack.Core) provides writer/reader ref structs, a customizable formatter architecture, and support for compression (Brotli), streaming (PipeWriter/PipeReader), version-tolerant and circular-reference serialization, and polymorphism via union types. It integrates with ASP.NET Core via input/output formatters, generates TypeScript/JavaScript serializers for web clients, and ships a Unity package with shims for common Unity types. The codebase is extensively benchmarked and tested, focusing on allocation-free, high-throughput serialization. While not a data research project, it may be used in data pipelines requiring fast, compact binary data exchange.
This repository is a developer toolchain for creating custom node graph logic in Genshin Impact's UGC mode (Miliastra Wonderland). It compiles a subset of TypeScript into a binary GIA format (protobuf) and injects it into game map files (.gil). The system includes a CLI (gsts) for build/inject/watch, a multi-stage compiler (TS β GS intermediate β IR JSON β GIA), an injector that patches save files, and a comprehensive set of custom ESLint rules enforcing the supported TypeScript subset. It supports both server-side and client-side node graphs with two modes (classic and beyond), and provides extensive type definitions, bilingual support (Chinese/English), and auto-generated tests covering thousands of node combinations. The codebase demonstrates strong engineering practices: rigorous testing, type safety, i18n, and modular architecture. However, it depends heavily on reverse-engineered game data (node IDs, pin records, protobuf schemas) that must be updated with each game patch, and some components are tightly coupled to internal definitions.
VisualPinball.Engine is a comprehensive pinball simulation engine and Unity package for authoring and playing virtual pinball tables. It provides a complete pipeline for importing Visual Pinball (.vpx) files, generating 3D meshes and physics colliders for every playfield element (bumpers, flippers, ramps, rubbers, targets, etc.), and running a Burst-compiled physics simulation with collision detection, flipper mechanics, nudge, and game logic wiring (switches, coils, lamps). The codebase is structured as a Unity package with extensive editor tooling (inspectors, manager windows, asset browser, packaging system) and a runtime player. It is not a standalone application but a library/framework that integrates deeply with Unity's editor and runtime. The architecture is modular, with clear separation of concerns: data classes with BiffAttribute-based binary serialization, mesh generators, collider generators, API interfaces for game logic, and a packaging system for distributing tables as .vpe files. The code demonstrates high craftsmanship in physics simulation, mesh tessellation, and binary format handling, though some legacy components and editor coupling exist.