feat: version campaigns and document original puzzle design

Restore v0.1 and v0.2 archives with separate progress, publish the curved v0.3 campaign, and document the original 24-level design with reproducible evidence. Refine board presentation and movement, and keep video lab tooling within its own directory.
This commit is contained in:
cabinw
2026-09-09 13:17:30 +08:00
parent 70b021d4cc
commit e92cccba82
52 changed files with 76449 additions and 15076 deletions
+26
View File
@@ -0,0 +1,26 @@
import { CAMPAIGN, LEVELS } from './levels.js';
import { ARCHIVED_LEVELS } from './levels-archive.js';
// Public layout versions are distinct from the level JSON schema's `version: 1`.
// Historical layouts stay intact; all editions share the current game rules.
export const CAMPAIGN_VERSIONS = [
{
id:'v0.1', name:'最初设计', description:'最初的 24 关,保留原始布局与顺序。',
chapters:['转盘初体验','糖果回旋','碰撞大挑战'], chapterSize:8,
levels:ARCHIVED_LEVELS['v0.1'], legacyStorageKeys:['hex-trails-v2'],
},
{
id:'v0.2', name:'直线较多版', description:'扩展为 48 关,直线路径较多,按舒展与挑战交替推进。',
chapters:['看见出口','转出新路','连成节奏','轻巧解结','展开天地','从容变换','长路常新','自在回响'], chapterSize:6,
levels:ARCHIVED_LEVELS['v0.2'], legacyStorageKeys:['hex-trails-observe-v3-r1','hex-trails-observe-v3'],
},
{
id:'v0.3', name:'弯轨观察版', description:'当前的 48 关,以沿弯轨观察出口为主,保留起伏节奏。',
chapters:CAMPAIGN.chapters, chapterSize:CAMPAIGN.chapterSize,
levels:LEVELS, legacyStorageKeys:[`hex-trails-${CAMPAIGN.id}-r${CAMPAIGN.revision||1}`],
},
];
export const DEFAULT_CAMPAIGN_VERSION = 'v0.3';
export function campaignVersion(id) {
return CAMPAIGN_VERSIONS.find(c=>c.id===id)||CAMPAIGN_VERSIONS.find(c=>c.id===DEFAULT_CAMPAIGN_VERSION);
}