488db49f11
0.2.6: CHANGELOG — the #569 line sits with the other scene line (no stray blank line splitting the list)
sganggs2026-10-13 18:57:03 +08:00
205f3bb7f7
0.2.6: the device slabs stay drawn on an official scene (GitHub #569) — 射击台, 特制水上平台 and 封印的地面 lived only in the procedural board's bucket that a scene replaces, so 战场#03's raised tiles by the blue gate were flat and 战场#05(上半)'s water platforms read as open water; buildBoard repeats them into buckets.raised / raisedDecal with sides reaching under the scene's ground and setStage draws just those on a scene (the 'h' high ground is the scenes' own and is not repeated); DESIGN §31.11, client §15; golden: unchanged
sganggs2026-10-13 17:45:04 +08:00
d8aab0a2db
0.2.6: README / DEPLOY give the full bundle's built size (556 MB, about 790 MB extracted; the disk lines' stale 710 MB too)
sganggs2026-10-13 16:22:29 +08:00
566f3a7cd6
0.2.6: version 0.2.6 — package.json / package-lock.json / APP_VERSION (DEV_BUILD turns false), README release form and current-version line, CHANGELOG 0.2.6 — 2026-10-13, DESIGN versions line and index, §31 header
sganggs2026-10-13 16:17:03 +08:00
b5d0c3f96f
0.2.6-dev: a dropped connection to the web-font host (fonts.googleapis.com / fonts.gstatic.com — the page falls back to the local and system fonts) no longer fails real.e2e, mock.e2e or leftovers.e2e, as loadout / match-info / i18n already allowed; golden: unchanged
sganggs2026-10-13 16:16:36 +08:00
9a0af9e891
0.2.6-dev: connect the history of PR #558 by IceCodeNew — the reviewed adaptation is kept (tree unchanged)
sganggs2026-10-13 16:04:32 +08:00
347343d739
0.2.6-dev: 魂灵之影 only on a board of its field (#557, PR #558 by IceCodeNew adapted) — shadowTile requires Battle.onFieldBoard: a teammate's half counts, a boss field's hand / 临时整备区 rows and a solo boss field's empty half do not, no summon when nothing fits (the PR cut the bench rows by number, which left an empty half legal); the PR's test plus a solo / pair case; DESIGN §3, §31.10, SIM; golden: unchanged
sganggs2026-10-13 16:04:32 +08:00
1df530f2b9
0.2.6-dev: a piece has no screen rect until it is first drawn — pieceScreenRect returned a just-built view's unprojected (0, 0) record, so a browser test grabbed a piece bought that frame at the canvas corner (the intermittent .fwheel__dia timeout in coop.e2e / real.e2e); the tests' piecePoint waits for a drawn piece that holds still; golden: unchanged
sganggs2026-10-13 15:54:40 +08:00
2b685011e9
0.2.6-dev: browser tests read the round's real rules — free deploy tiles come from the client's own placement legality (terrain 机变 cards, devices, the boss half) instead of the stage's plain tiles, the facing tour waits for a later round when its purchase merged into an elite, and real.e2e skips its one strategy turn only while 跳过 is enabled (PR #546); golden: unchanged
sganggs2026-10-13 14:20:02 +08:00
a1f0d1bb6e
0.2.6-dev: merge claude/r37-impostor — GitHub #542: impostor boxes from each skeleton's measured clip bounds (idle core, played clips within limits, the rest drawn directly while they play), every slot drawn inside its own scissor, frozen models posed at their clip's first frame, PIXI's pooled batch buffers (no Apple GPU stall from the per-slot flushes); golden: unchanged
sganggs2026-10-13 06:30:53 +08:00
47004a3651
0.2.6-dev: impostor review follow-ups (#542) — a skeleton stays in the clip-bounds queue only while an actor uses it (the last one destroyed drops its pending clips, the clip in progress and its scratch skeleton; a later actor queues them again), a clip whose sampling throws is recorded as not measurable and drawn directly while it plays instead of counting as empty, and a frozen model's first update counts as posed only when it succeeded; DESIGN §31.6 updated; golden: unchanged
sganggs2026-10-13 06:29:20 +08:00
d4cdd567dc
0.2.6-dev: the lobby flood test floods in bursts until the server closes the socket and waits for the close with a timeout — on a heavily loaded machine one burst of 600 could be read over more than the 1 s drop window, the socket was never closed and the unbounded wait hung the whole file; golden: unchanged
sganggs2026-10-13 06:18:17 +08:00
bd932158f3
0.2.6-dev: connect the history of PR #552 by IceCodeNew — the reviewed adaptation is kept (tree unchanged)
sganggs2026-10-13 06:14:03 +08:00
57c9cc528e
0.2.6-dev: connect the history of PR #416 by Cromemadnd — the reviewed adaptation is kept (tree unchanged)
sganggs2026-10-13 06:14:03 +08:00
349debb320
0.2.6-dev: merge claude/r37-ui — PR #416 ported (each round start replays the own board's Start clips and landing sounds in deployment order, as the maintainer confirmed from official play; landings on buy / a new board tile [ASSUMED]; one sound per landing, a landing pool that hands the oldest voice to the newest) and PR #552 ported as the optional 「弹药数量」 setting, default off; golden: unchanged
sganggs2026-10-13 06:14:01 +08:00
3a6ec26127
0.2.6-dev: the co-op browser test skips its one strategy turn only while 跳过 is enabled — since PR #546 the last player still to pick sees it disabled, which a random draft order gives the guest about one time in three; golden: unchanged
sganggs2026-10-13 06:13:39 +08:00
0ceb6641ec
0.2.6-dev: PR #416 by Cromemadnd — every landing of a round start is heard: prep landing sounds take a voice of their own pool (LAND_VOICES 3, the oldest fading out over 30 ms) instead of being dropped by the battle limiter, which let only the first two of a chain sound since 192 of 210 operators share the 1.41 s b_char_set (Grok's review); per-piece cooldown, SFX volume and mute kept, the battle sounds' limiting unchanged, the generic files fetched ahead when a match view comes up; DESIGN §31.8; golden: unchanged
sganggs2026-10-13 05:46:29 +08:00
4c2fe9431d
0.2.6-dev: DESIGN §31.6 for the impostor box without the setup pose (slots 1.26× the old area on the roster, the DPR-2 crowd numbers, the batch-buffer setting; the open item resolved), docs/design/client.md, CHANGELOG 0.2.6-dev (#542); golden: unchanged
sganggs2026-10-13 05:26:05 +08:00
c973c1a1ad
0.2.6-dev: impostor boxes without the setup-pose floor (#542) — a model frozen before its first update (built while stunned without a stun clip, or dead without a death or idle clip) shows its clip's first frame instead of its setup pose, the box's core is the idle clip (looping clips up to 5× it, one-off clips 2×), and PIXI gets a vertex buffer per batch flush (the per-slot scissor's flushes stalled Apple GPUs: 42–58 → 60 fps for 120 units at 1920 × 1080); golden: unchanged
sganggs2026-10-13 05:26:04 +08:00
a3da5c2775
0.2.6-dev: DESIGN §31.8 says how PR #416 by Cromemadnd sounded twice — its wheel-confirm hook restarted a Start that had run 0.3 s (a purchase then a move) and its round-start sequence forced every piece; the state that follows a wheel drop never landed there
sganggs2026-10-13 04:47:58 +08:00
461a7747e1
0.2.6-dev: port PR #552 by IceCodeNew — an optional 「弹药数量」 setting (default off: the official HUD has no such number, the maintainer's decision of 2026-10-13) shows an ammo skill's rounds left / magazine under its bar, from the exact b.snap ammo counts; sanitised with the other settings, applied by the field view live, all four language packs, the diagnostics line; the simplified board has no ammo bar; DESIGN §31.9; golden: unchanged
sganggs2026-10-13 04:43:39 +08:00
231da0efbc
0.2.6-dev: port PR #416 by Cromemadnd — at every round start the own board's pieces replay their Start clip and landing sound one after another in deployment order (the maintainer's confirmation from official play, 2026-10-13), and a purchase or a move onto / across the board plays them too ([ASSUMED], the PR author's account); one sound per landing, idle prep pieces only, the round marked once the view took the sequence, own board only, timers cleared when prep mode ends and on destroy; DESIGN §31.8; golden: unchanged
sganggs2026-10-13 04:36:56 +08:00
281cf01ff0
0.2.6-dev: connect the history of PR #554 by xcdoge — the reviewed adaptation is kept (tree unchanged)
sganggs2026-10-13 03:48:47 +08:00
47b9e5b63e
0.2.6-dev: the official battlefield scenes use the extracted light at full strength — SCENE_LIGHT direct and indirect 1 instead of 0.2.5's eye-tuned 0.8 / 0.4 (GitHub #549, the light half of PR #554 by xcdoge; its emissive change to the metal board is not taken); DESIGN §31.7; golden: unchanged
sganggs2026-10-13 03:48:47 +08:00
d7cb8770da
0.2.6-dev: DESIGN §31.6 open item worded plainly (the setup pose could be dropped from the impostor box if a model frozen before its first update were posed at its clip's first frame) (#542); golden: unchanged
sganggs2026-10-13 03:44:06 +08:00
f5b3908804
0.2.6-dev: DESIGN §31.6 adds the slot cost at DPR 2 (the 120-unit crowd keeps 39 of its units in the atlas at 1280 × 720 instead of 119) and, as open, the share of the setup-pose floor (1.16 × instead of 2 × without it) (#542); golden: unchanged
sganggs2026-10-13 03:43:49 +08:00
c45d86f70c
0.2.6-dev: impostor slots sized from every clip a unit plays and clipped to themselves (GitHub #542 by @ImPQlc: in a crowd 野鬃's idle flag, 浊心斯卡蒂's S3 flight and 隐现's pistol were cut, offset or left stray pixels) — spine.js measures each skeleton's clips once within a 2.5 ms frame budget, units.js impostorBox covers the setup pose and the played clips (a clip past 4× / 2× of that core is drawn directly while it plays, the slot kept), impostor.js draws each slot's skeleton under a scissor rect of the slot; golden: unchanged
sganggs2026-10-13 03:30:48 +08:00
e825254850
0.2.6-dev: the render demo's stress scene takes &ops=<chessId>,… — up to 6 given chess in the crowd's front row (ids 6, 8, 10, …), a given model inside an impostor-rendered crowd (#542); golden: unchanged
sganggs2026-10-13 03:30:48 +08:00
cc3c210779
fix(sim): keep Wisdel shadows off the boss bench (#557)
IceCodeNew2026-10-12 17:59:40 +00:00
975c79da70
0.2.6-dev: PR #546's design note moves from the released 0.2.5 chapter to DESIGN §31.5 (docs/history/0.2.6.md, now host bandwidth and community follow-up); CHANGELOG 0.2.6-dev credits PRs #546 and #547; golden: unchanged
sganggs2026-10-13 01:44:20 +08:00
77865e6bc2
0.2.6-dev: merge PR #546 by Xinglan233 — the strategy draft enables 跳过 only while another unpicked player remains (finished players stay in the shown order but are not skip targets)
sganggs2026-10-13 01:43:55 +08:00
1d55c93e3a
0.2.6-dev: merge PR #547 by Xinglan233 — the scene-asset test resolves the repository root with fileURLToPath (on Windows the URL pathname doubled the drive letter)
sganggs2026-10-13 01:43:55 +08:00
c5925a76fa
0.2.6-dev: the emote fallback browser test blocks the mirror copies under their content-hashed URLs too (/assets/~<hash>/ui/emoticon/…, host bandwidth layer 1); golden: unchanged
sganggs2026-10-13 00:19:44 +08:00
0295d95d08
chore: sync ammo readout with upstream dev (#552)
IceCodeNew2026-10-12 15:03:43 +00:00
909abee0b8
0.2.6-dev: the loadout module-card browser test accepts the content-hash segment the served manifest now puts in local-art URLs (host bandwidth layer 1); golden: unchanged
sganggs2026-10-12 21:19:41 +08:00
7db277b327
test: 修复场景资源测试在 Windows 下的路径解析
星闌2026-10-12 20:24:31 +08:00
79bb26b317
0.2.6-dev: the maintainer's decisions of 2026-10-12 — the 玩法说明 pages' WebP copies are lossy at quality 90 (25.6 MB of PNG → 4.2 MB; lossless stays a GUIDE_WEBP_MODE away) and /healthz?traffic=1 answers the counters to a loopback or private-network client only (a public visitor, also one a local tunnel or proxy forwards, gets the plain report; TRUST_PROXY applies as for the WebSocket limits); golden: unchanged
sganggs2026-10-12 19:09:54 +08:00
35f4895219
0.2.6-dev: merge the 0.2.5 release's last commit (README / DEPLOY package size)
sganggs2026-10-12 18:37:25 +08:00
cf7a940027
0.2.5: README / DEPLOY give the full bundle's built size (552 MB, about 780 MB extracted)
sganggs2026-10-12 18:36:56 +08:00
3d5d6b380d
0.2.6-dev: merge claude/bw-l01 — host bandwidth layers 0 and 1 (no BGM download while the music is silent, WebSocket permessage-deflate, lossless WebP 玩法说明 pages, traffic counters, content-hashed asset URLs with immutable caching, brotli q5) on top of the 0.2.5 release; its note becomes DESIGN §31 in docs/history/0.2.6.md, CHANGELOG 0.2.6-dev, version 0.2.6-dev; golden: unchanged
sganggs2026-10-12 18:28:50 +08:00
88d4b2544b
0.2.5: version 0.2.5 — package.json / package-lock.json / APP_VERSION (DEV_BUILD turns false), README release form and package sizes (the full bundle now carries the battlefield scenes), CHANGELOG 0.2.5 — 2026-10-12 in the usual sections with credits, DESIGN versions line, §30 header
sganggs2026-10-12 18:20:53 +08:00
658f0fc392
0.2.5-dev: merge PR #490 by D-Roote — Korean: 「恢复本机对局」 reads 게임 복귀 (the PR's latest commit; its earlier commits are already connected)
sganggs2026-10-12 18:13:28 +08:00
02fd42abe5
fix(render): show exact remaining ammunition
IceCodeNew2026-10-12 09:55:51 +00:00
3bb7fef74c
0.2.5-dev: official scenes merge chunks that share a material / lightmap into one mesh at load (draw calls on the 3D board back within budget, e.g. act2autochess_m02 prep 22 → 13); the boss-round real-server test reads the actual random pairing instead of assuming the host on the left half; golden: unchanged
sganggs2026-10-12 17:48:31 +08:00
a119793af6
0.2.6-dev: the WebSocket compression figures in the code and docs are the server counters' measurement (173 KB of frames → 60 KB on the wire)
sganggs2026-10-12 16:53:43 +08:00
409fec90d5
0.2.6-dev: the browser suites load the served manifests' content-hashed URLs (e2e servers wait for the asset index) and check Spine, audio and art through them; the history note of host bandwidth layers 0 and 1 for the next version; golden: unchanged
sganggs2026-10-12 16:52:40 +08:00
0bb16fd616
0.2.6-dev: brotli (quality 5) on the fly with the existing memory cache for clients that name br, gzip for the rest; separate ETags per encoding (measured against gzip-6: .skel −27 %, data JSON −26 %, vendor −14 %, scripts −5 %) — host bandwidth layer 1.4; golden: unchanged
sganggs2026-10-12 16:29:52 +08:00
35b09bb63b
0.2.6-dev: the client fetches a served manifest's content-hashed audio as /media/~<hash>/… (download-manager route kept), and the token death sound derived beside charDie drops charDie's hash — host bandwidth layer 1.3; golden: unchanged
sganggs2026-10-12 16:25:16 +08:00
893d17e725
0.2.6-dev: /data/assets.json and /data/local-assets.json are served with content-hashed URLs (/assets/~<hash>/…, one hash per Spine model, the committed files unchanged); the ~hash routes of /assets/ /fonts/ /media/ answer immutable when the hash names the file and the current file with no-cache otherwise; content ETags — host bandwidth layer 1.2; golden: unchanged
sganggs2026-10-12 16:24:03 +08:00
521dd984e7
0.2.6-dev: a background content-hash index of public/assets and public/fonts (SHA-256, 16 hex; cached by path + size + mtime in .cache/asset-hashes.json; Spine models share one hash; SP_ASSET_INDEX=0 turns it off) — host bandwidth layer 1.1; golden: unchanged
sganggs2026-10-12 16:20:17 +08:00
fb5f4493f2
0.2.6-dev: DEPLOY — a stable address keeps every player's cache (quick tunnels change domain), HTTP/2 through the proxy, brotli only on HTTPS pages, a Cloudflare cache rule for /assets/ /fonts/ /media/ (host bandwidth layer 0.5)
sganggs2026-10-12 16:06:35 +08:00
be8d382c05
0.2.6-dev: traffic counters — HTTP body bytes by category (assets / audio / code / data) and WebSocket wire / payload bytes since the start at GET /healthz?traffic=1, and the page's own downloads (Resource Timing transferSize) as a traffic line in the 问题反馈 diagnostics (host bandwidth layer 0.4); golden: unchanged
sganggs2026-10-12 16:05:49 +08:00
e2bc005c88
0.2.5-dev: docs — §30 sections renumbered in order after the merges and every reference pointed at its topic; the 0.2.5 CHANGELOG section regrouped under the usual headings (no change to code behaviour)
sganggs2026-10-12 16:02:41 +08:00
05b0dba8b5
0.2.6-dev: the 19 local 玩法说明 pages get a lossless WebP copy in tools/local-extract (25.6 → 17.4 MB; lossy waits for the owner's comparison) and the guide preloads only the next page (host bandwidth layer 0.3); golden: unchanged
sganggs2026-10-12 16:00:08 +08:00
8edda589f3
0.2.6-dev: WebSocket permessage-deflate for frames from 1 KB (no server context takeover, 2 KB server window, memLevel 7; a client offering a narrower window connects uncompressed) — host bandwidth layer 0.2; golden: unchanged
sganggs2026-10-12 15:57:33 +08:00
3c1952afc0
0.2.5-dev: connect the history of PR #544 by Siornya — the reviewed adaptation is kept (tree unchanged)
sganggs2026-10-12 15:52:10 +08:00
92d14aeefa
0.2.5-dev: connect the history of PR #533 by Andrew — the reviewed adaptation is kept (tree unchanged)
sganggs2026-10-12 15:52:10 +08:00
7fe0ffc33f
0.2.5-dev: connect the history of PR #523 by YinqiMargatroid — the reviewed adaptation is kept (tree unchanged)
sganggs2026-10-12 15:52:10 +08:00
da2f0ef93a
0.2.5-dev: connect the history of PR #518 by IceCodeNew — the reviewed adaptation is kept (tree unchanged)
sganggs2026-10-12 15:52:10 +08:00
b6a8c132b3
0.2.5-dev: connect the history of PR #520 by Cloudnyco — the reviewed adaptation is kept (tree unchanged)
sganggs2026-10-12 15:52:10 +08:00
0882ed2dcc
0.2.5-dev: connect the history of PR #535 by 星闌 — the reviewed adaptation is kept (tree unchanged)
sganggs2026-10-12 15:52:10 +08:00
c2c712ac0b
0.2.5-dev: connect the history of PR #536 by 星闌 — the reviewed adaptation is kept (tree unchanged)
sganggs2026-10-12 15:52:10 +08:00
fbd4684a7b
0.2.5-dev: connect the history of PR #537 by 星闌 — the reviewed adaptation is kept (tree unchanged)
sganggs2026-10-12 15:52:10 +08:00
f1ea116f23
0.2.5-dev: golden matches recomputed on the merged tree — the #523 Touch aggro change and the funnel ports both move full-match scenarios and interact there ( 1 file changed, 11 insertions(+), 11 deletions(-)); roster / bonds / fields / standins / diy equal the branch results
sganggs2026-10-12 15:51:45 +08:00
a451ddcf6b
0.2.5-dev: 耶拉 S2 (both forms) and 荒芜拉普兰德 S1 keep the operator's own hit next to the drone hit — only drone-only skills skip it (review fix of the funnel port); golden: more funnel scenarios move, attributed in docs/history/0.2.5.md
sganggs2026-10-12 15:50:41 +08:00
69011d2b54
0.2.6-dev: no BGM download while the music is muted or at BGM volume 0; the wanted track is fetched once it is audible again (host bandwidth layer 0.1); golden: unchanged
sganggs2026-10-12 15:45:38 +08:00
9b37a68fcf
0.2.5-dev: 萨卡兹枯朽战士 (and every enemy sharing its death fog) leaves no 污秽侵蚀 when it dies silenced — the owner's official-play recall, against the PRTS / in-game wording (#470); the 调度中心 5 / 6 promotion reward includes 自选 operators of the newly reached tier (#515, after research; the owner's decision); golden: unchanged
sganggs2026-10-12 15:24:07 +08:00
d482fbb8ba
0.2.5-dev: official battlefield scenes on the 3D board — a local fetch / extract step for the season scene bundles, per-field scene rendering with the metal board as fallback, the full bundle can include the extracted scenes and setup can fetch them (--scenes); nothing official is stored in the repository (PR #533 by @andrew05060414, ported; the owner's decision of 2026-10-12); golden: unchanged
sganggs2026-10-12 14:59:20 +08:00
a3e8460bb0
0.2.5-dev: an optional 「官方伤害数字」 setting (default off) shows only the numbers the official game shows per the PRTS red-number rule (#412, the owner's decision of 2026-10-12); a small link to the project's GitHub repository on the title page (#543); golden: unchanged
sganggs2026-10-12 14:59:20 +08:00
37e0fffb34
0.2.5-dev: the 外勤医疗 (Touch) reserve medic takes the initial aggro order of PR #523 and its detail opens in the preparation phase (PR #523 by @YinqiMargatroid, ported; the owner's decision of 2026-10-12); golden: one more scenario moves (named in docs/history/0.2.5.md)
sganggs2026-10-12 14:59:19 +08:00
10d1fdef5f
0.2.5-dev: connect the history of PR #538 by 星闌 — the reviewed adaptation in dcdaeec9 is kept (tree unchanged)
sganggs2026-10-12 14:45:12 +08:00
502a2c13ba
0.2.5-dev: connect the history of PR #540 by 星闌 — the reviewed adaptation in dcdaeec9 is kept (tree unchanged)
sganggs2026-10-12 14:45:12 +08:00
dcdaeec933
0.2.5-dev: merge the round-36 client / tools ports — #540 / #538 loadout sync and import guards, #531 / #530 player-package scripts and links; golden: unchanged
sganggs2026-10-12 14:45:12 +08:00
e0f3771821
0.2.5-dev: 驭械术师 normal attacks keep the operator's own hit plus one drone hit, the drone multiplier and per-target map reset on redeploy, 洛洛 S2 keeps its lock until a kill or the skill ends (PRs #537 / #536 / #535 by @Xinglan233, ported); hit tiles use the official round-half-to-even with an edge inset (PR #520 by @Cloudnyco, ported); bots softly avoid living teammates' opening factions until they are eliminated (PR #518 by @IceCodeNew, ported with changes); golden: 43 more scenarios move, each named in docs/history/0.2.5.md
sganggs2026-10-12 14:45:01 +08:00
52b70434d0
0.2.5-dev: a restore-defaults loadout sync is never overwritten by an older in-flight sync (PR #540 by @Xinglan233, ported); importing a loadout with ops is refused before writing when the DIY data is missing (PR #538 by @Xinglan233, ported); the player package's package.json keeps only scripts whose files ship (#531) and its docs link unshipped files to the release tag on GitHub (#530); golden: unchanged
sganggs2026-10-12 14:45:01 +08:00
e2ec2cbf21
0.2.5-dev: merge PR #541 by BowenJXD — fix(windows): 修复 Node 版本检测在 Volta 等环境下
sganggs2026-10-12 14:08:09 +08:00
7a17f9c9b6
0.2.5-dev: connect the history of PR #511 by RainoutOvO — the reviewed adaptation in 221e6b8d is kept (tree unchanged)
sganggs2026-10-12 14:07:08 +08:00
56e7757dd3
0.2.5-dev: connect the history of PR #507 by robll-v1 — the reviewed adaptation in 221e6b8d is kept (tree unchanged)
sganggs2026-10-12 14:07:08 +08:00
7247e67f44
0.2.5-dev: connect the history of PR #505 by 星闌 — the reviewed adaptation in 221e6b8d is kept (tree unchanged)
sganggs2026-10-12 14:07:08 +08:00
0ce7c64255
0.2.5-dev: connect the history of PR #504 by robll-v1 — the reviewed adaptation in 221e6b8d is kept (tree unchanged)
sganggs2026-10-12 14:07:08 +08:00
4ee1e1e9f0
0.2.5-dev: connect the history of PR #503 by 星闌 — the reviewed adaptation in 221e6b8d is kept (tree unchanged)
sganggs2026-10-12 14:07:08 +08:00
4bb22ddae9
0.2.5-dev: connect the history of PR #502 by 星闌 — the reviewed adaptation in 221e6b8d is kept (tree unchanged)
sganggs2026-10-12 14:07:08 +08:00
e0a3d6d9af
0.2.5-dev: connect the history of PR #499 by Yuri Restia — the reviewed adaptation in 221e6b8d is kept (tree unchanged)
sganggs2026-10-12 14:07:08 +08:00
1f5f445acf
0.2.5-dev: connect the history of PR #497 by Robin — the reviewed adaptation in 221e6b8d is kept (tree unchanged)
sganggs2026-10-12 14:07:08 +08:00
c1fef54b05
0.2.5-dev: connect the history of PR #494 by Yuri Restia — the reviewed adaptation in 221e6b8d is kept (tree unchanged)
sganggs2026-10-12 14:07:08 +08:00