2df8a106d4
Reorganize nip64Chess event classes into individual packages with dedicated tag classes, TagArrayBuilderExt, and TagArrayExt files, following the same structure used by nip88Polls. New package structure: - challenge/ - LiveChessGameChallengeEvent with PlayerColorTag, TimeControlTag - accept/ - LiveChessGameAcceptEvent with ChallengeEventTag - move/ - LiveChessMoveEvent with GameIdTag, MoveNumberTag, SanTag, FenTag - end/ - LiveChessGameEndEvent with ResultTag, TerminationTag, WinnerTag - draw/ - LiveChessDrawOfferEvent - game/ - ChessGameEvent (Kind 64) - jester/ - JesterEvent, JesterProtocol, JesterContent, JesterGameEvents Each tag class follows the companion object pattern with isTag(), parse(), and assemble() methods. Each event package includes TagArrayBuilderExt for building and TagArrayExt for parsing. https://claude.ai/code/session_01Qtzhka3p5N3Hbns4xrRbsv