纠正仓库内容为衍生项目,标明 campaign-200-r2 最新版

This commit is contained in:
toshiocn
2026-10-19 16:56:31 +08:00
parent a492c5b80e
commit fdca4f67ea
1396 changed files with 392768 additions and 19530 deletions
@@ -0,0 +1,9 @@
# 原项目隔离校验
核对 91 个原项目文件的SHA-256与文件清单。
修改 0,删除 0,新增 0。
通过:原项目受检查文件全部保持一致。
.git与node_modules未纳入内容遍历;本任务未执行原项目Git写入或依赖操作。所有任务输出都在NumberSwipe-Variants。
@@ -0,0 +1,12 @@
# 最终检查摘要
本次完成于2026-10-13。
- 7个独立原型,56关;每个玩法入门、普通、进阶、难各两关。
- 31项测试通过:22项纯规则测试、9项离线界面脚本测试。
- 56/56关自动验收通过:有序完整解唯一,所有新机制逐项必要。
- 7套单文件离线试玩页;7套设计评审页;56张原始盘面、56张作者解SVG。
- 原NumberSwipe项目91个受检查文件,修改0、删除0、新增0。
- 浏览器file协议访问被工具策略阻止;未完成实际浏览器视觉及真机触感检查。人工难度校准待试玩。
详见VALIDATION.md、validation.json、TESTING.md、ISOLATION.md及各玩法DESIGN.html。
@@ -0,0 +1,29 @@
# 验证范围与限制
## 已完成
- 56/56关合法、有序完整解唯一;每项新机制单独解除后至少两解。
- 非教学辅助数字逐个删除检查;每个玩法最后一关无起点1。
- 22项纯规则测试,包括7个玩法各两关的独立完整枚举对照。
- 9项离线界面脚本测试:实际运行play.html的内嵌脚本,在独立DOM/Canvas替身中逐关完成全部56关。
- 界面测试覆盖难度与选关、点按、回退、撤销、重开、提示、通关后恢复、松手续画、快速拖动插值、关闭门与开关状态。
- 340px画布、420px高度布局坐标检查;节点中心均在盘面内。
- 单文件内无远程脚本、模块加载或fetch;作者解字段不进入试玩包。
## 未完成
浏览器工具拒绝file://协议,无法执行实际浏览器显示与交互验收。没有通过其他协议或工具绕过这项限制。DOM/Canvas替身验证的是脚本逻辑和几何坐标,不能验证浏览器字体、像素、下载行为、真实触屏命中或系统差异。
未完成3–5位新玩家试玩;四档难度是设计标签,思考时间、推理质量、触感和难度曲线仍需人工验证。
## 推荐人工检查
双击index.html打开入口;每个玩法入门两关确认规则易懂;进阶/难关检查标记是否挤压;手机检查大格凹口、六边边界及开门反馈。使用“记录本关体验”导出反馈,观察者补充口述推理。
## 可复现命令
node --test tests/*.test.mjs
node tools/validate.mjs
node tools/isolation.mjs
@@ -0,0 +1,64 @@
# 关卡自动校验报告
通过 56/56 关,7 个玩法,每档两关。每关完整有序解唯一,逐项解除新机制后均至少出现两条完整解。辅助数字除教学起点外逐项必要。
| 玩法 | 关 | 难度 | 格数 | 必要机制数 | 起点 |
|---|---|---|---:|---:|---|
| 相对步差 | 01 | 入门 | 6 | 1 | 给定 |
| 相对步差 | 02 | 入门 | 8 | 1 | 给定 |
| 相对步差 | 03 | 普通 | 10 | 1 | 给定 |
| 相对步差 | 04 | 普通 | 12 | 2 | 给定 |
| 相对步差 | 05 | 进阶 | 14 | 2 | 给定 |
| 相对步差 | 06 | 进阶 | 16 | 2 | 给定 |
| 相对步差 | 07 | 难 | 18 | 3 | 给定 |
| 相对步差 | 08 | 难 | 19 | 2 | 未知 |
| 先后链 | 01 | 入门 | 6 | 1 | 给定 |
| 先后链 | 02 | 入门 | 8 | 1 | 给定 |
| 先后链 | 03 | 普通 | 10 | 2 | 给定 |
| 先后链 | 04 | 普通 | 12 | 2 | 给定 |
| 先后链 | 05 | 进阶 | 14 | 2 | 给定 |
| 先后链 | 06 | 进阶 | 16 | 2 | 给定 |
| 先后链 | 07 | 难 | 18 | 4 | 给定 |
| 先后链 | 08 | 难 | 19 | 4 | 未知 |
| 到达窗口 | 01 | 入门 | 6 | 1 | 给定 |
| 到达窗口 | 02 | 入门 | 8 | 1 | 给定 |
| 到达窗口 | 03 | 普通 | 10 | 1 | 给定 |
| 到达窗口 | 04 | 普通 | 12 | 2 | 给定 |
| 到达窗口 | 05 | 进阶 | 14 | 2 | 给定 |
| 到达窗口 | 06 | 进阶 | 16 | 2 | 给定 |
| 到达窗口 | 07 | 难 | 18 | 3 | 给定 |
| 到达窗口 | 08 | 难 | 19 | 3 | 未知 |
| 直行/转弯 | 01 | 入门 | 6 | 1 | 给定 |
| 直行/转弯 | 02 | 入门 | 8 | 1 | 给定 |
| 直行/转弯 | 03 | 普通 | 10 | 2 | 给定 |
| 直行/转弯 | 04 | 普通 | 12 | 2 | 给定 |
| 直行/转弯 | 05 | 进阶 | 14 | 2 | 给定 |
| 直行/转弯 | 06 | 进阶 | 16 | 2 | 给定 |
| 直行/转弯 | 07 | 难 | 18 | 3 | 给定 |
| 直行/转弯 | 08 | 难 | 19 | 3 | 未知 |
| 大格交替 | 01 | 入门 | 7 | 1 | 给定 |
| 大格交替 | 02 | 入门 | 9 | 1 | 给定 |
| 大格交替 | 03 | 普通 | 11 | 1 | 给定 |
| 大格交替 | 04 | 普通 | 13 | 1 | 给定 |
| 大格交替 | 05 | 进阶 | 13 | 1 | 给定 |
| 大格交替 | 06 | 进阶 | 15 | 1 | 给定 |
| 大格交替 | 07 | 难 | 16 | 1 | 给定 |
| 大格交替 | 08 | 难 | 17 | 1 | 未知 |
| 六边交替 | 01 | 入门 | 6 | 1 | 给定 |
| 六边交替 | 02 | 入门 | 8 | 1 | 给定 |
| 六边交替 | 03 | 普通 | 11 | 1 | 给定 |
| 六边交替 | 04 | 普通 | 12 | 1 | 给定 |
| 六边交替 | 05 | 进阶 | 14 | 1 | 给定 |
| 六边交替 | 06 | 进阶 | 16 | 1 | 给定 |
| 六边交替 | 07 | 难 | 18 | 1 | 给定 |
| 六边交替 | 08 | 难 | 19 | 1 | 未知 |
| 路径开门 | 01 | 入门 | 6 | 1 | 给定 |
| 路径开门 | 02 | 入门 | 8 | 1 | 给定 |
| 路径开门 | 03 | 普通 | 10 | 1 | 给定 |
| 路径开门 | 04 | 普通 | 12 | 2 | 给定 |
| 路径开门 | 05 | 进阶 | 14 | 2 | 给定 |
| 路径开门 | 06 | 进阶 | 16 | 2 | 给定 |
| 路径开门 | 07 | 难 | 18 | 3 | 给定 |
| 路径开门 | 08 | 难 | 19 | 3 | 未知 |
详细作者解与机制解除反例见 validation.json。自动通过不代表真人难度或推理品质已校准。
@@ -0,0 +1,37 @@
[
{
"mode": "relative",
"title": "相对步差",
"count": 8
},
{
"mode": "order",
"title": "先后链",
"count": 8
},
{
"mode": "window",
"title": "到达窗口",
"count": 8
},
{
"mode": "direction",
"title": "直行/转弯",
"count": 8
},
{
"mode": "block-alternation",
"title": "大格交替",
"count": 8
},
{
"mode": "hex-alternation",
"title": "六边交替",
"count": 8
},
{
"mode": "gates",
"title": "路径开门",
"count": 8
}
]
@@ -0,0 +1,13 @@
{
"checkedAt": "2026-10-13T02:43:10.033Z",
"source": "G:\\项目\\NumberSwipe",
"checkedFiles": 91,
"changed": [],
"missing": [],
"added": [],
"unchanged": true,
"excluded": [
".git",
"node_modules"
]
}
@@ -0,0 +1,366 @@
[
{
"path": "G:\\项目\\NumberSwipe\\.gitignore",
"hash": "55548CBD9EE5309615D9011CF230986AFE028C6DBC93AE70172B18E2699711BF"
},
{
"path": "G:\\项目\\NumberSwipe\\README.md",
"hash": "B9445AD67AE6CEAAE7BEA8B59DB1E9FD6DB11D2166A775CCFE7D1898897ABCAA"
},
{
"path": "G:\\项目\\NumberSwipe\\docs\\关卡设计规范.md",
"hash": "E04C2BB9688987E667CCA35F5B9EF2BC69529D4F7D0EDC767E7ED61EEF6F6EBF"
},
{
"path": "G:\\项目\\NumberSwipe\\docs\\design.html",
"hash": "E2C5EC8A6396A6956A44FE3AE9D943BE68730851DB491EA956F209D52F105BD2"
},
{
"path": "G:\\项目\\NumberSwipe\\docs\\design.md",
"hash": "B50E38B60DA3AAE5CEAE0286E01FE85795CD5087B6216E11360D8DF9F49B2A8A"
},
{
"path": "G:\\项目\\NumberSwipe\\docs\\PRODUCT.md",
"hash": "0569851C3BFCDC93846524047C6D1692714D93D5D0D63444219ABFD044EBF044"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\.gitignore",
"hash": "D420BD58545C4F89CE045197D412BB0321E0B931BBBC5BBD437B6AD79B7D4969"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\package-lock.json",
"hash": "33C8A7A0407DC36AE762507AF47819216E7DC74EDFD6C52413CF9C2CD6346B80"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\package.json",
"hash": "D3125C545563AE26D8196F684D73D6502CFCDF0377CBC18180EFE27A81D9FFAE"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\README.md",
"hash": "0B5D29597C855736FCEFC7CECB1A5FE205E9CFA4C8A3654C0DE1A6FBFF752694"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\tsconfig.json",
"hash": "FC799CE19916A443B1C96451DEB8972CB204B5EAA6A1B0610249EAA496B9AC91"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\tsconfig.src.json",
"hash": "1B16113A622C95D80C3CFCE3ABEDC6F8319271867E9C63EB75E90675F9537246"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\docs\\GDD.md",
"hash": "4E16F1202840047FCCCAE4F4B16D31440A67FD7EF1AD561494D50E37290D913B"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\docs\\HANDOFF.md",
"hash": "2BAB4F8011A9FDDD60E842794DDADE68F44B6B78E3E1BBA745F8CD74423A0812"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\levels\\pack-1-tutorial.json",
"hash": "6664FC07F5931456BF353C86951E35F3076D8A6113C18F149D5717A6CD671B2E"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\levels\\pack-2-advanced.json",
"hash": "3DD5C499DB17DD6F54E84086D0853F7609B2FABBD08688C87C0299DC0049AB22"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\levels\\pack-3-parity.json",
"hash": "78E8F822B4A9798F570269AB6801006D6453779A7BC803EDD51F6D43548C550B"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\scripts\\build.mjs",
"hash": "3C012B79676662237A823A5FC7DFC9C4794A6918C0382C51E5091A22D71A7425"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\scripts\\standalone.mjs",
"hash": "DA214CE1E6879EE3490C897AB8EDECBB542FBFCAEC4A085FD94749031951D07B"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\src\\board.ts",
"hash": "9BFD683CB4E9B87A22A9737A34F870ACFBB631EBDA1A1FDC43F2787468240E48"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\src\\clue-hint.ts",
"hash": "DB0FCF8DB9FA07356F6167B8288F7F95F97CCC322EED6ADD43D62FD388FAA69E"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\src\\clue.ts",
"hash": "8AAA9357B899AD601463F0917C4438BF6770336E5EBA3D0253768088A030A783"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\src\\game.ts",
"hash": "C58A85AA5B47AC5D169DFED4B9F9B1BA032CAFD3A68E886C1D97E14BAE977EA4"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\src\\input.ts",
"hash": "86D5597908786DFD296489CA06A8B2ECEEC5D4882C5CBE4BB4F50135C317FAF7"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\src\\layout.ts",
"hash": "70C0ABEC51F70ADBC5EB2CE976684FA0A6B9809E22C409D8939B498A29166698"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\src\\levels.ts",
"hash": "B6416DC7B4FFCB9154D98222B091C0AD51287F94C244CD3FC2814FF0987DB734"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\src\\painter.ts",
"hash": "7994476FDF687FADC1CA6002188FAABD0C6CDB9F3D59A0F29CE0B6AEBF133461"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\src\\progress.ts",
"hash": "C9780B5EF751D5FAAE00AFF81B6883DB0CD808EDF4326E4A6B321D9146B1E650"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\src\\solver.ts",
"hash": "E79CE0BAFB55AC88DF0449F04E080C85B93519CD35F1C93316859B117D559561"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\src\\theme.ts",
"hash": "7EA3A99963F9E03BE2C1BED170F4E9899FAE3F7EA3D8427DFBB4CA1C863DB5AC"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\src\\types.ts",
"hash": "3B95E5F2CD42E83749F64B5F4ACD28AA94E1F015488BBD328B063639E3BB8DD2"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\src\\view.ts",
"hash": "6C1FD1C4A4EC2E5B22F5C22F3C89013CA8C01A15E852B08B50AE52AAFD2E43FA"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\tests\\board.test.ts",
"hash": "A7274A58591886743F96AF0375C0A87C11739D5727A170FBFF14E4E7567F1062"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\tests\\clue-hint.test.ts",
"hash": "86DF4DA9CD7685715EC0083487F295A42EDA42FEFEA33F50A96DA5BC99375987"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\tests\\game.test.ts",
"hash": "7946ACC582DB75394AC261DBCCD0C7414CB5E61D4EF9FFB8AA3B9289EF6F2D95"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\tests\\input.test.ts",
"hash": "6FF683492B7A2DB002FFB11C6F2C8C32B41A1737A108CF556891C510AAE471D6"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\tests\\layout.test.ts",
"hash": "8D239FFCF6AF9F24ADD01068E15B73977EA726C78D9A7236C4EC4EFABD44B93B"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\tests\\parity.test.ts",
"hash": "9F04D2F4B6ACB4541CC8151CC635F72089C7D2DAF9D4F1EB5DC1ADE5A8BC3A39"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\tests\\progress.test.ts",
"hash": "6FE2A71C0EF7DF7F8696452C1E9B99E167EA6FE92281FC4654E169E12A326A0B"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\tests\\reserved-step.test.ts",
"hash": "D70727ABDCD642604CF74AE9E0DF2B9A789A416AC9BCDA26AF218D181EF0AA4E"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\tests\\solver.test.ts",
"hash": "FF6227D715EF295F8349CB90781E60FAAFEB89C32C1279EA3F74F6DF6448792D"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\tests\\theme.test.ts",
"hash": "1A41979F0996D6ED2EE228F3FA8A7EAB686F1CEB7FFEC624E2440D0FAC04516F"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\tools\\ascii.ts",
"hash": "40ECD6E5F773BBFE24578717F786396BA387B06976BE4B42D691B4F7F3132A34"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\tools\\design.ts",
"hash": "38D7C3953018CAE33F185FACFDE0BD1006E278A739D04A729A6F78D1291B2D6E"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\tools\\generate.ts",
"hash": "60F651E88A9C6E00A5D2C5B648B30E67C916882C401036317E389F16412D3890"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\tools\\validate.ts",
"hash": "B4F35C43F4C8F508A075E857E4FBBAAA63163AD0948EF4CEFC37047538CD6CBE"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\web\\audio.ts",
"hash": "9E2E257BA976A65DC1540B72BABDFD31AD5F8CAC747D1FB15076DB4E072EF386"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\web\\canvas-painter.ts",
"hash": "B024CB61421FB8C32396EA189D587891FA09E3BB966D916DC9229693C664D2DD"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\web\\index.html",
"hash": "B43A1D86A69A446791C3C4C096DBE1A6812EB9FBC690696947DC353E8F5AA706"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\web\\main.ts",
"hash": "ABF9038EED5B6536F47DA8812D3D75BC4086E144707FA97681276C4010CC9DD9"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\01-number-stroke\\web\\style.css",
"hash": "93BF49331040D426D0DC9EDBBC8465C4E38B69B24E0CF011C8DA9E00669A36E3"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\.gitignore",
"hash": "D420BD58545C4F89CE045197D412BB0321E0B931BBBC5BBD437B6AD79B7D4969"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\package-lock.json",
"hash": "E9EE452E29528007515CF94D6BD78EFB894248DD677B63CF5882AB92D9FC0958"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\package.json",
"hash": "745D6AB416533BCD4B55FA4CE712BDCBFE5FD6E7D6DAF712E33C9CB69C4F7416"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\README.md",
"hash": "0DFCA0CA92E3A7A5DCBC7F04D27FF1C13B609DBC8C7FADAF3F6E49BA709613F4"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\tsconfig.json",
"hash": "FC799CE19916A443B1C96451DEB8972CB204B5EAA6A1B0610249EAA496B9AC91"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\tsconfig.src.json",
"hash": "1B16113A622C95D80C3CFCE3ABEDC6F8319271867E9C63EB75E90675F9537246"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\docs\\GDD.md",
"hash": "2E00C4CB9BFDA49690B4C24141F177ADCB22F578546044151B5DFA0FF12FCAEC"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\docs\\HANDOFF.md",
"hash": "A4417298C6FD7886C290A92782F2F56DAC6975228C9F7A6D1D902500C6E7ECEE"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\levels\\pack-1-tutorial.json",
"hash": "C6EC79A1AE01FA0DFA69C1EA46926AD941AFB07B53A8E332788342AAD78740C0"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\levels\\pack-2-spinner.json",
"hash": "CDAADA71CB6FDF2735077233BC95FA4F272ED12A9030CE7E252896D602C149D5"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\scripts\\build.mjs",
"hash": "AB4250CA1DEE80FBD8A0A84CC1261C1D8F291E2EFC103BC1415BA63C5A126E19"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\src\\board.ts",
"hash": "0E855EC1B1A420C25BAA82B978BA036A89CA00AB855B148EFE1C79EB2F04D8CE"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\src\\game.ts",
"hash": "80EF43C7D1CCB3C82B535465B1DBA98EA509CB79FF7A2A653309D6DCAAF9ED24"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\src\\geom.ts",
"hash": "55A00D57523AA2EE6B434AC05F723D77876BE357B383E72DCAD68F2F9D75AB3E"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\src\\input.ts",
"hash": "9555C7B5B82C2A3F3A743C12F2775A172554AFBEC957E4FF065D44E7BCF7F61B"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\src\\layout.ts",
"hash": "B6BECDF619FCD503AD25FD5C3F3575F7B84DD879DC1FEC4C68774B09CF7B4799"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\src\\levels.ts",
"hash": "DD8CCB28B127ECF206B20110B3FBC61056218AFBA9F0551216CC703F7BB66C30"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\src\\painter.ts",
"hash": "CFEFCBB96B1E851B0ED658DBED4CABB51D8A0492E4433F8E64BAB7B3BE870CA6"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\src\\progress.ts",
"hash": "1457F4015D1401544A5F5E7CD1240603DE2538B0256380A37A875836B4B284A2"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\src\\solver.ts",
"hash": "A6A595BC30CDAF630E7EB0B0400854890CE260A9EC943AF246A7CC371E3DBEC2"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\src\\theme.ts",
"hash": "455CD9D15ED403FADACA03C9125197CEBFEFCAC0B9442DD7527FCA40CA4F4FB6"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\src\\types.ts",
"hash": "5DD777AE6249ABBD13D99CC92CDB78BD99EB86882C10CB093706B1E555961D0A"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\src\\view.ts",
"hash": "319017E6B4B999CC4772CE4AD8297210993A19EF4ACCA2560ABAFABB77FD3BE1"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\tests\\board.test.ts",
"hash": "4B8E6D53C5D6D72402D5E67AFA08BBEBED36106EE436024F8E630440FAD3824D"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\tests\\game.test.ts",
"hash": "004B53DCE7BBC79A1A4494FF86286F6FB33BF326F99B0DF7247BB0078F03C73B"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\tests\\input.test.ts",
"hash": "DFDC0F64C22F5BFD0F6D2C2AE53E2A6B8747A632CCF6FBBEC790B32F8432D563"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\tests\\layout.test.ts",
"hash": "EBDAF872F55798F6D2252EB74BCD8C8BEE280FDFFF023D17200CC75DCD1713D4"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\tests\\progress.test.ts",
"hash": "81A7F2CD0231B833CE8E0799A4F060618E5AF0E31C588612830FAFFE0114EC61"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\tests\\solver.test.ts",
"hash": "F8A3FB6B3254BA4762F7ACF1DFB82C98B596D24C84074D7FEF340029B11030C0"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\tools\\ascii.ts",
"hash": "DAF190AF785B52E91105036C8BE228771A53662716FFBC1AF571EF46CFA8953E"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\tools\\design.ts",
"hash": "B820D8F684DC4E3DE19F3EEECEE0C40525A0140850088F4F40561587D78BFE65"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\tools\\generate.ts",
"hash": "7E48D5587167AD332CFE5DEBB8A59D98952C36CBC1F36DE873539290B88D088B"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\tools\\validate.ts",
"hash": "500AE3D03DA1CEC78F52FC3EA4F4AC10A07BB636D4C7BB1DD01F1DA3452DDE48"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\web\\audio.ts",
"hash": "E4F6D9AB157970EC7ADF1F3D968CDF002CC332C1EB937DC9F853D8343AB7BD4C"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\web\\canvas-painter.ts",
"hash": "5D6F473E914F9CF788E2CE3AC95B3E8142ADBAC11D620AC110CFECA4DCB37C93"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\web\\index.html",
"hash": "E055A3E7F752B81E96A7BD8DD7DA5C08BE3217FFF933210B7073F1836896424D"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\web\\main.ts",
"hash": "0AFDD7625020D5DC4ACA23CA088C843DC6D5AE3F667102F4555D881E89AF3C41"
},
{
"path": "G:\\项目\\NumberSwipe\\modes\\03-hex-walls\\web\\style.css",
"hash": "BA7C42FF71CF732CAC94C82E7EE02C6F7DE61C05BF9B1732B27F54349EADF836"
},
{
"path": "G:\\项目\\NumberSwipe\\releases\\数字一笔-试玩版.html",
"hash": "0C835D234238F7A094466AE10FAA5F797BBCF144E61213E8369C77A0DE53DC15"
},
{
"path": "G:\\项目\\NumberSwipe\\shared\\README.md",
"hash": "2F0A4351C2ECBD06EE0083BBBC240A7D0F26A4E09413AEF679D0876E21F302F5"
}
]
@@ -0,0 +1 @@
participant,mode,level,difficulty,thinking_seconds,first_error_step,first_error_reason,backtracks,restarts,hints,completed,rule_understood,key_reasoning,boundary_readability,comments
1 participant mode level difficulty thinking_seconds first_error_step first_error_reason backtracks restarts hints completed rule_understood key_reasoning boundary_readability comments
File diff suppressed because it is too large Load Diff