Castlers 棋社 v3.0 — 2026-09-17 Original: UI, Go, Xiangqi, freestyle Gomoku and Flight friendly-play engines, bounded heuristic AI and multiplayer room service written for this project. Company logo: existing Castlers brand asset, unchanged. Chess glyphs: text glyphs rendered by the user's operating-system font (no redistributed font). No downloaded art, no external CDN, no analytics, no inventory access. Online rooms reuse the logged-in WMS display name (read-only), or a guest session. International chess move engine: chess.js 1.4.0, Jeff Hlywa and contributors. License: BSD-2-Clause, included in vendor/chess-LICENSE.txt. Source: https://github.com/jhlywa/chess.js Package: https://registry.npmjs.org/chess.js/-/chess.js-1.4.0.tgz Registry integrity: sha512-BBJgrrtKQOzFLonR0l+k64A98NLemPwNsCskwb+29bRwobUa4iTm51E1kwGPbWXAcfdDa18nad6vpPPKPWarqw== Rules references (not copied text; implementation limitations are shown in the UI): https://handbook.fide.com/chapter/e012023 https://www.usgo.org/content.aspx?club_id=454497&item_id=105706&page_id=5 https://www.wxf-xiangqi.org/images/wxf-rules/2018_World_XiangQi_Rules_English2018.pdf Go: friendly area scoring, 7.5 komi, positional superko, mutual dead-group agreement. Xiangqi: friendly threefold-position draw; NOT WXF perpetual-chase adjudication. Chess: no tournament arbiter or clock; repetition / 50-move draw claims supported. Additional rules references (ideas only, no copied code, text or assets): https://www.jj.cn/news/320/20121031164100025915.shtml https://www.gomokuflow.com/en/rules/ Gomoku: 15x15 freestyle, five OR MORE wins, no forbidden points or swap opening. Flight: project-specific friendly variant, 6 to launch, extra roll on 6, color hop, one shortcut and one hop per move, capture on landing, exact finish with bounce. No stacking blockade, no three-sixes penalty or powerups. This differs from JJ's 5/6-launch variant and is not represented as an exact licensed implementation. All variants and limitations are shown in the game's own rules panel. Persistence: same-device and AI modes use a new localStorage key, leaving v2 local saves intact. New online rooms use additive club_* tables in the same isolated tabletop.sqlite3; old v2 room links remain supported. No WMS/racer data is migrated. Online dice are generated on the server; client-supplied dice are not trusted. Public/private rooms and read-only spectators are supported. Flight allows 2–4 seats including server-driven robots; other online games allow two human seats. Undo, draw and restart proposals require all seated humans' consent. Go scoring requires each player's own confirmation. No tournament clock or professional AI. AI levels use random/local heuristics and bounded search in a local Web Worker, not a downloaded external engine. Go AI accepts the human's dead-group markings. Private room passwords are salted hashes, never shown in room listings or links.