π PHASE 2 API SURFACE
engine.create(config) β Engine instance
engine.validateCanonical() β {ok, errorCode?}
engine.getHandshakeDigest() β {ok, hashHex, errorCode?}
engine.acceptPlayboardHandshake(hashHex) β {ok, handshake, errorCode?}
engine.getHandshakeState() β {ok, handshake}
engine.resetGame() β void
engine.initStartingPosition() β {ok, revision, events, errorCode?}
engine.verifyStartingPosition() β {ok, counts, errorCode?}
engine.getSnapshot() β GameSnapshot
engine.getContainer(index) β ContainerRecord
engine.getLegalMovesFrom(fromIndex) β {ok, moves, requiresIntent, errorCode?}
engine.requiresIntent(fromIndex) β {ok, requiresIntent}
engine.tryMove(moveRequest) β MoveResult
engine.getGameStatus() β {ok, status, detail?}