Generated streamers for stats/parlor data + narya 1.22 (Epic A1 Phase 5)
vilya's wire-value classes streamed reflectively, which breaks on Android/ART (nondeterministic Class.getDeclaredFields order): a Stat read on-device pulled a Place object into Stat._type and desynced the game-object subscription. Generated explicit declaration-ordered read/writeObject for stats/data (Stat subclasses + StatModifier pass-through substitution), parlor/data (Table & co.) and parlor/game/data via bang's genStreamableLibs task — byte-identical on HotSpot, deterministic on ART. narya 1.17 -> 1.22 (generated code references com.threerings.io.GenStreamUtil) + explicit jsr250 provided dep (@Generated no longer supplied transitively). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HhfHCXYp2ctWi76Z91y9Ut
This commit is contained in:
+11
-1
@@ -21,7 +21,17 @@
|
||||
<dependency>
|
||||
<groupId>com.threerings</groupId>
|
||||
<artifactId>narya</artifactId>
|
||||
<version>1.17</version>
|
||||
<!-- 1.22: the Epic A1 Phase 5 generated streamers reference
|
||||
com.threerings.io.GenStreamUtil (added in narya 1.21) -->
|
||||
<version>1.22</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<!-- javax.annotation.Generated on the genservice-generated sources (SOURCE retention, so
|
||||
compile-only); narya 1.17 supplied it transitively, 1.22 no longer does -->
|
||||
<groupId>javax.annotation</groupId>
|
||||
<artifactId>jsr250-api</artifactId>
|
||||
<version>1.0</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.threerings</groupId>
|
||||
|
||||
Reference in New Issue
Block a user