@playcraft/common 0.0.33 → 0.0.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent/context-usage.d.ts +41 -0
- package/dist/agent/context-usage.d.ts.map +1 -0
- package/dist/agent/context-usage.js +68 -0
- package/dist/agent/context-usage.js.map +1 -0
- package/dist/agent/index.d.ts +1 -0
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +1 -0
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/model-context-window.d.ts.map +1 -1
- package/dist/agent/model-context-window.js +2 -0
- package/dist/agent/model-context-window.js.map +1 -1
- package/dist/agent-tools/types.d.ts +75 -0
- package/dist/agent-tools/types.d.ts.map +1 -1
- package/dist/image-studio/alpha-strategy.d.ts +75 -0
- package/dist/image-studio/alpha-strategy.d.ts.map +1 -0
- package/dist/image-studio/alpha-strategy.js +184 -0
- package/dist/image-studio/alpha-strategy.js.map +1 -0
- package/dist/image-studio/index.d.ts +3 -0
- package/dist/image-studio/index.d.ts.map +1 -0
- package/dist/image-studio/index.js +3 -0
- package/dist/image-studio/index.js.map +1 -0
- package/dist/image-studio/keyframe-sheet.d.ts +16 -0
- package/dist/image-studio/keyframe-sheet.d.ts.map +1 -0
- package/dist/image-studio/keyframe-sheet.js +45 -0
- package/dist/image-studio/keyframe-sheet.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/prefab/constants.d.ts +8 -0
- package/dist/prefab/constants.d.ts.map +1 -1
- package/dist/prefab/constants.js +10 -0
- package/dist/prefab/constants.js.map +1 -1
- package/dist/prefab/image-padding-color.d.ts +17 -0
- package/dist/prefab/image-padding-color.d.ts.map +1 -0
- package/dist/prefab/image-padding-color.js +49 -0
- package/dist/prefab/image-padding-color.js.map +1 -0
- package/dist/prefab/index.d.ts +2 -0
- package/dist/prefab/index.d.ts.map +1 -1
- package/dist/prefab/index.js +2 -0
- package/dist/prefab/index.js.map +1 -1
- package/dist/prefab/mime-type-list.d.ts +37 -0
- package/dist/prefab/mime-type-list.d.ts.map +1 -0
- package/dist/prefab/mime-type-list.js +135 -0
- package/dist/prefab/mime-type-list.js.map +1 -0
- package/dist/prefab/types.d.ts +36 -1
- package/dist/prefab/types.d.ts.map +1 -1
- package/dist/recommend/atom-graph/basic-atom-graph.d.ts.map +1 -1
- package/dist/recommend/atom-graph/basic-atom-graph.js +771 -266
- package/dist/recommend/atom-graph/basic-atom-graph.js.map +1 -1
- package/dist/recommend/atom-graph/basic-atom-skill-graph.d.ts +11 -0
- package/dist/recommend/atom-graph/basic-atom-skill-graph.d.ts.map +1 -1
- package/dist/recommend/atom-graph/basic-atom-skill-graph.js +74 -9
- package/dist/recommend/atom-graph/basic-atom-skill-graph.js.map +1 -1
- package/dist/recommend/atom-graph/graph-generator.d.ts +63 -0
- package/dist/recommend/atom-graph/graph-generator.d.ts.map +1 -0
- package/dist/recommend/atom-graph/graph-generator.js +284 -0
- package/dist/recommend/atom-graph/graph-generator.js.map +1 -0
- package/dist/recommend/atom-graph/index.js +3 -0
- package/dist/recommend/atom-graph/index.js.map +1 -1
- package/dist/recommend/atom-graph/types.d.ts +39 -9
- package/dist/recommend/atom-graph/types.d.ts.map +1 -1
- package/dist/recommend/atom-graph/validate.js +2 -2
- package/dist/recommend/atom-graph/validate.js.map +1 -1
- package/dist/storage/cos-url.d.ts +18 -0
- package/dist/storage/cos-url.d.ts.map +1 -0
- package/dist/storage/cos-url.js +24 -0
- package/dist/storage/cos-url.js.map +1 -0
- package/dist/storage/cos.d.ts.map +1 -1
- package/dist/storage/cos.js +8 -13
- package/dist/storage/cos.js.map +1 -1
- package/dist/storage/index.d.ts +1 -0
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +1 -0
- package/dist/storage/index.js.map +1 -1
- package/package.json +16 -2
|
@@ -17,275 +17,780 @@ export const basicAtomGraph = {
|
|
|
17
17
|
id: 'basic-atom-graph',
|
|
18
18
|
version: 1,
|
|
19
19
|
status: 'prototype',
|
|
20
|
-
description: '
|
|
20
|
+
description: 'Auto-generated Atom Graph from skills/skills manifests',
|
|
21
21
|
nodes: [
|
|
22
|
-
node('phaser', 'engine', 'fixed', 'Phaser
|
|
23
|
-
node('
|
|
24
|
-
node('
|
|
25
|
-
node('
|
|
26
|
-
node('
|
|
27
|
-
node('
|
|
28
|
-
node('
|
|
29
|
-
node('
|
|
30
|
-
node('
|
|
31
|
-
node('
|
|
32
|
-
node('
|
|
33
|
-
node('
|
|
34
|
-
node('
|
|
35
|
-
node('
|
|
36
|
-
node('
|
|
37
|
-
node('
|
|
38
|
-
node('
|
|
39
|
-
node('
|
|
40
|
-
node('
|
|
41
|
-
node('
|
|
42
|
-
node('
|
|
43
|
-
node('
|
|
44
|
-
node('
|
|
45
|
-
node('
|
|
46
|
-
node('
|
|
47
|
-
node('
|
|
48
|
-
node('
|
|
49
|
-
node('
|
|
50
|
-
node('
|
|
51
|
-
node('
|
|
52
|
-
node('
|
|
53
|
-
node('
|
|
54
|
-
node('
|
|
55
|
-
node('
|
|
56
|
-
node('
|
|
57
|
-
node('
|
|
58
|
-
node('
|
|
59
|
-
node('
|
|
60
|
-
node('
|
|
61
|
-
node('
|
|
62
|
-
node('
|
|
63
|
-
node('
|
|
64
|
-
node('
|
|
65
|
-
node('
|
|
66
|
-
node('
|
|
67
|
-
node('
|
|
68
|
-
node('
|
|
69
|
-
node('
|
|
70
|
-
node('
|
|
71
|
-
node('
|
|
72
|
-
node('
|
|
73
|
-
node('
|
|
74
|
-
node('
|
|
75
|
-
node('
|
|
76
|
-
node('
|
|
77
|
-
node('
|
|
78
|
-
node('
|
|
22
|
+
node('phaser', 'engine', 'fixed', 'Phaser 3 游戏引擎', 'Phaser 3 game engine', ["gameEngine"], ["phaser", "game-engine", "webgl", "2d", "canvas", "scene", "runtime", "skeleton", "responsive", "mobile"]),
|
|
23
|
+
node('theme_switcher_build', 'engine', 'fixed', '主题切换构建器', 'Theme switcher build helper', [], ["theme", "build", "switcher", "variant", "multi-theme"]),
|
|
24
|
+
node('threejs', 'engine', 'fixed', 'Three.js 3D 引擎', 'Three.js 3D engine', ["gameEngine"], ["three", "threejs", "game-engine", "webgl", "3d", "scene", "runtime", "skeleton", "responsive", "mobile"]),
|
|
25
|
+
node('ad_compliance_rules', 'asset', 'fixed', '广告合规规则配置', 'Ad compliance rules config', ["adPlatformConfig"], ["config", "compliance", "rules", "platform", "facebook", "google", "tiktok", "policy", "playable-ads"]),
|
|
26
|
+
node('app_metadata', 'asset', 'parametric', '应用元数据配置', 'App metadata config', ["appMetadata"], ["config", "metadata", "app-title", "app-desc", "stars", "loading-page"]),
|
|
27
|
+
node('appear_sfx', 'asset', 'generative', '路径出现音效', 'Path appear SFX', ["sfxAppear"], ["audio", "sfx", "appear", "spawn", "path"]),
|
|
28
|
+
node('arrow_move_error_sfx', 'asset', 'generative', '箭头移动错误音效', 'Arrow move error SFX', ["sfxArrowMoveError"], ["audio", "sfx", "arrow", "error", "invalid"]),
|
|
29
|
+
node('bg_music', 'asset', 'generative', '路径消除背景音乐', 'Path elimination BGM', ["bgMusic"], ["audio", "bgm", "music", "loop", "puzzle", "casual"]),
|
|
30
|
+
node('billiards-ball-sprites', 'asset', 'fixed', '台球贴图集(16颗球 matcap)', 'Billiards Ball Sprites (16 matcap)', ["billiardBallSet"], ["billiards", "ball", "matcap", "spritesheet", "rendering"]),
|
|
31
|
+
node('button_click_sfx', 'asset', 'generative', '按钮点击音效', 'Button click SFX', ["sfxButtonClick"], ["audio", "sfx", "button", "click", "ui"]),
|
|
32
|
+
node('calm_piano', 'asset', 'generative', '舒缓钢琴 BGM', 'Calm piano BGM', ["bgMusic"], ["audio", "bgm", "music", "calm", "piano", "relaxing", "loop", "gentle"]),
|
|
33
|
+
node('cheerful_ukulele', 'asset', 'generative', '轻快尤克里里 BGM', 'Cheerful ukulele BGM', ["bgMusic"], ["audio", "bgm", "music", "cheerful", "ukulele", "casual", "loop", "upbeat"]),
|
|
34
|
+
node('click_sfx', 'asset', 'generative', '路径点击消除音效', 'Path click elimination SFX', ["sfxClick"], ["audio", "sfx", "click", "success", "path"]),
|
|
35
|
+
node('cta_platform_config', 'asset', 'parametric', 'CTA 多平台适配配置', 'CTA platform adaptation config', ["adPlatformConfig"], ["config", "cta", "platform", "facebook", "google", "tiktok", "unity-ads", "playable-ads", "download", "install"]),
|
|
36
|
+
node('difficulty_curve_designer', 'asset', 'parametric', '试玩广告难度曲线设计', 'Playable ads difficulty curve designer', ["difficultyConfig"], ["config", "difficulty", "curve", "design", "progression", "cta", "playable-ads"]),
|
|
37
|
+
node('easy_to_hard', 'asset', 'parametric', '先易后难难度曲线', 'Easy-to-hard difficulty curve', ["difficultyConfig"], ["config", "difficulty", "curve", "level", "progression", "casual"]),
|
|
38
|
+
node('energetic_electronic', 'asset', 'generative', '紧张电子 BGM', 'Energetic electronic BGM', ["bgMusic"], ["audio", "bgm", "music", "energetic", "electronic", "tension", "escape", "loop", "intense"]),
|
|
39
|
+
node('fail_sfx', 'asset', 'generative', '失败音效', 'Fail SFX', ["sfxFail"], ["audio", "sfx", "fail", "game-over"]),
|
|
40
|
+
node('game-backgrounds', 'asset', 'fixed', '游戏场景背景图', 'Game scene backgrounds', ["backgroundTexture"], ["background", "landscape", "portrait", "scene", "match3"]),
|
|
41
|
+
node('level_data_pack', 'asset', 'generative', '关卡数据包', 'Level data pack', ["levelDataPack"], ["config", "level-data", "json", "puzzle", "paths", "grid"]),
|
|
42
|
+
node('lose_sfx', 'asset', 'generative', '失去生命音效', 'Lose life SFX', ["sfxLose"], ["audio", "sfx", "lose", "life", "hearts"]),
|
|
43
|
+
node('mahjong-match2-tile-assets-cats', 'asset', 'fixed', '猫咪风格麻将牌精灵图资源包', 'Cat-Style Mahjong Tile Spritesheet', ["tileAssets", "assetPack"], ["asset-pack"]),
|
|
44
|
+
node('mahjong-match2-tile-assets-dog', 'asset', 'fixed', '萌狗风格麻将牌精灵图', 'Dog Style Mahjong Tile Spritesheet', ["tileAssets"], ["asset-pack", "phaser", "threejs"]),
|
|
45
|
+
node('mahjong-match2-tile-assets-draft', 'asset', 'fixed', 'draft 风格麻将牌精灵图资源包', 'Draft Mahjong Tile Spritesheet Asset Pack', ["tileAsset", "mahjongTileSprite"], ["asset-pack", "phaser", "spritesheet", "casual", "puzzle"]),
|
|
46
|
+
node('mahjong-match2-tile-assets-maple', 'asset', 'fixed', '枫叶风格麻将牌精灵图资源包', 'Maple Leaf Mahjong Tile Spritesheet Asset Pack', ["tileAsset", "mahjongTileSprite"], ["asset-pack", "phaser", "spritesheet", "casual", "puzzle"]),
|
|
47
|
+
node('mahjong-match2-tile-assets-treasure', 'asset', 'fixed', '宝箱风格麻将牌精灵图资源包', 'Treasure Box Mahjong Tile Spritesheet Pack', ["tileSpritesheet"], ["asset-pack", "spritesheet", "phaser", "threejs", "puzzle"]),
|
|
48
|
+
node('mahjong-scroll-bg-chibi', 'asset', 'fixed', '麻将卷轴背景-Q版风格', 'Mahjong Scroll Bg - Chibi', ["backgroundTexture"], ["background", "mahjong", "scroll-match", "chibi"]),
|
|
49
|
+
node('mahjong-scroll-bg-dark', 'asset', 'fixed', '麻将卷轴背景-暗黑风格', 'Mahjong Scroll Bg - Dark', ["backgroundTexture"], ["background", "mahjong", "scroll-match", "dark"]),
|
|
50
|
+
node('mahjong-scroll-bg-default', 'asset', 'fixed', '麻将卷轴背景-默认风格', 'Mahjong Scroll Bg - Default', ["backgroundTexture"], ["background", "mahjong", "scroll-match", "default"]),
|
|
51
|
+
node('mahjong-scroll-bg-elder', 'asset', 'fixed', '麻将卷轴背景-长辈风格', 'Mahjong Scroll Bg - Elder', ["backgroundTexture"], ["background", "mahjong", "scroll-match", "elder"]),
|
|
52
|
+
node('mahjong-scroll-bg-meditation', 'asset', 'fixed', '麻将卷轴背景-禅意风格', 'Mahjong Scroll Bg - Meditation', ["backgroundTexture"], ["background", "mahjong", "scroll-match", "meditation"]),
|
|
53
|
+
node('mahjong-scroll-bg-nature', 'asset', 'fixed', '麻将卷轴背景-自然风格', 'Mahjong Scroll Bg - Nature', ["backgroundTexture"], ["background", "mahjong", "scroll-match", "nature"]),
|
|
54
|
+
node('mahjong-scroll-bg-wood', 'asset', 'fixed', '麻将卷轴背景-木纹风格', 'Mahjong Scroll Bg - Wood', ["backgroundTexture"], ["background", "mahjong", "scroll-match", "wood"]),
|
|
55
|
+
node('mahjong-scroll-slot-bg', 'asset', 'fixed', '麻将卷轴槽位卡片背景', 'Mahjong Scroll Slot Card Background', ["slotCardBackground"], ["slot", "card-background", "mahjong", "scroll-match"]),
|
|
56
|
+
node('mahjong-scroll-tile-chibi', 'asset', 'fixed', '麻将卷轴牌面-Q版风格', 'Mahjong Scroll Tile - Chibi', ["tileTextureSet"], ["tile", "spritesheet", "mahjong", "scroll-match", "chibi"]),
|
|
57
|
+
node('mahjong-scroll-tile-dark', 'asset', 'fixed', '麻将卷轴牌面-暗黑风格', 'Mahjong Scroll Tile - Dark', ["tileTextureSet"], ["tile", "spritesheet", "mahjong", "scroll-match", "dark"]),
|
|
58
|
+
node('mahjong-scroll-tile-default', 'asset', 'fixed', '麻将卷轴牌面-默认风格', 'Mahjong Scroll Tile - Default', ["tileTextureSet"], ["tile", "spritesheet", "mahjong", "scroll-match", "default"]),
|
|
59
|
+
node('mahjong-scroll-tile-elder', 'asset', 'fixed', '麻将卷轴牌面-长辈风格', 'Mahjong Scroll Tile - Elder', ["tileTextureSet"], ["tile", "spritesheet", "mahjong", "scroll-match", "elder"]),
|
|
60
|
+
node('mahjong-scroll-tile-meditation', 'asset', 'fixed', '麻将卷轴牌面-禅意风格', 'Mahjong Scroll Tile - Meditation', ["tileTextureSet"], ["tile", "spritesheet", "mahjong", "scroll-match", "meditation"]),
|
|
61
|
+
node('mahjong-scroll-tile-nature', 'asset', 'fixed', '麻将卷轴牌面-自然风格', 'Mahjong Scroll Tile - Nature', ["tileTextureSet"], ["tile", "spritesheet", "mahjong", "scroll-match", "nature"]),
|
|
62
|
+
node('mahjong-scroll-tile-wood', 'asset', 'fixed', '麻将卷轴牌面-木纹风格', 'Mahjong Scroll Tile - Wood', ["tileTextureSet"], ["tile", "spritesheet", "mahjong", "scroll-match", "wood"]),
|
|
63
|
+
node('mistake_sfx', 'asset', 'generative', '阻挡失败音效', 'Blocked path mistake SFX', ["sfxMistake"], ["audio", "sfx", "mistake", "blocked", "error"]),
|
|
64
|
+
node('score_goal', 'asset', 'parametric', '分数达标目标配置', 'Score goal config', ["levelGoalConfig"], ["config", "goal", "score", "target", "mechanism", "level"]),
|
|
65
|
+
node('success_sfx', 'asset', 'generative', '关卡通关音效', 'Level success SFX', ["sfxSuccess"], ["audio", "sfx", "success", "win", "level-complete"]),
|
|
66
|
+
node('theme_variant', 'asset', 'parametric', '主题变体配置', 'Theme variant config', ["themeVariantConfig"], ["config", "theme", "variant", "color", "level-mode", "style"]),
|
|
67
|
+
node('tile-effect-atlas', 'asset', 'fixed', '牌面特效 Atlas', 'Tile Effect Atlas', ["tileOverlayAtlas"], ["tile", "overlay", "atlas", "sprite-atlas", "lock-icon", "highlight", "mahjong", "match3", "asset-pack"]),
|
|
68
|
+
node('tile-sheets-animals', 'asset', 'fixed', '动物牌面贴图', 'Animals tile sheet', ["tileTextureSet"], ["tile", "spritesheet", "mahjong", "animals", "cute", "match3"]),
|
|
69
|
+
node('tile-sheets-colorful', 'asset', 'fixed', '彩色牌面贴图', 'Colorful tile sheet', ["tileTextureSet"], ["tile", "spritesheet", "mahjong", "colorful", "match3"]),
|
|
70
|
+
node('tile-sheets-gold', 'asset', 'fixed', '金色牌面贴图', 'Gold tile sheet', ["tileTextureSet"], ["tile", "spritesheet", "mahjong", "gold", "premium", "match3"]),
|
|
71
|
+
node('tile-sheets-normal', 'asset', 'fixed', '标准牌面贴图', 'Normal tile sheet', ["tileTextureSet"], ["tile", "spritesheet", "mahjong", "normal", "standard", "match3"]),
|
|
72
|
+
node('time_clear_goal', 'asset', 'parametric', '限时清除目标配置', 'Timed clear goal config', ["levelGoalConfig"], ["config", "goal", "timer", "time", "pressure", "mechanism", "level"]),
|
|
73
|
+
node('ui-interact-atlas', 'asset', 'fixed', '游戏结算/CTA UI Atlas', 'UI Interact Atlas', ["uiButtonSet", "ctaPanel", "resultScreenAtlas"], ["ui", "cta", "result-screen", "atlas", "sprite-atlas", "play-button", "end-game", "mahjong", "asset-pack"]),
|
|
74
|
+
node('ux_flow_spec', 'asset', 'parametric', '试玩广告 UX 流程规范', 'Playable ads UX flow spec', ["adPlatformConfig"], ["config", "ux", "flow", "user-experience", "playable-ads", "tutorial", "onboarding", "cta"]),
|
|
75
|
+
node('wave_difficulty', 'asset', 'parametric', '波浪难度曲线', 'Wave difficulty curve', ["difficultyConfig"], ["config", "difficulty", "wave", "curve", "level", "dynamic"]),
|
|
76
|
+
node('win_anim_sfx', 'asset', 'generative', '胜利动画音效', 'Win animation SFX', ["sfxWinAnim"], ["audio", "sfx", "win", "animation", "sparkle", "victory"]),
|
|
77
|
+
node('arrow_path_data_format', 'gameplay', 'fixed', '箭头路径关卡数据格式', 'Arrow path level data format', ["levelDataFormat"], ["level-data", "parser", "types", "json", "path", "arrow", "cocos-format", "threejs", "3d", "xz-plane"]),
|
|
78
|
+
node('billiards-shot-scene-phaser', 'gameplay', 'fixed', 'billiards-shot-scene-phaser', 'Billiards Shot Scene Phaser', [], ["scene", "phaser", "game-loop", "physics", "tutorial", "shader", "3d-rendering", "gameplay-rule", "billiards"]),
|
|
79
|
+
node('car_parking', 'gameplay', 'fixed', '停车场解谜玩法', 'Car Parking Puzzle gameplay', ["gameplayRule"], ["gameplay", "puzzle", "parking", "sliding", "grid", "casual"]),
|
|
80
|
+
node('collect-match-scene-phaser', 'gameplay', 'fixed', 'collect-match-scene-phaser', 'Collect Match Scene Phaser', [], ["system", "phaser", "gameplay-rule", "match3"]),
|
|
81
|
+
node('collect-match-scroll-gameplay', 'gameplay', 'fixed', '麻将卷轴收集匹配玩法规则', 'Mahjong Scroll Collect-Match Gameplay Rule', ["collectMatchRule"], ["gameplay-rule", "mahjong", "scroll", "collect-match", "casual"]),
|
|
82
|
+
node('cue-aim-line-phaser', 'gameplay', 'fixed', '球杆瞄准线 + Stick 精灵', 'Cue Aim Line + Stick Sprites', [], ["component", "phaser", "aim", "physics-preview", "gameplay-system", "billiards"]),
|
|
83
|
+
node('eight_ball_pool', 'gameplay', 'fixed', '8球台球玩法', '8-Ball Pool gameplay', ["gameplayRule"], ["gameplay", "billiards", "pool", "physics", "aim", "sports"]),
|
|
84
|
+
node('game_scene', 'gameplay', 'fixed', '主游戏场景', 'Main game scene', ["gameMainScene"], ["scene", "game", "main", "coordinator", "phaser"]),
|
|
85
|
+
node('grid_board_layout', 'gameplay', 'fixed', '格子棋盘布局', 'Grid board layout', ["gridBoardLayout"], ["layout", "grid", "board", "cell-size", "zoom", "pan", "drag-bounds", "threejs", "3d", "xz-plane"]),
|
|
86
|
+
node('layered-grid-layout', 'gameplay', 'fixed', 'layered-grid-layout', 'Layered Grid Layout', [], ["layout", "gameplay-data"]),
|
|
87
|
+
node('layered-stack-board-phaser', 'gameplay', 'fixed', 'layered-stack-board-phaser', 'Layered Stack Board Phaser', [], ["component", "phaser", "gameplay-system"]),
|
|
88
|
+
node('level_state', 'gameplay', 'fixed', '关卡进度状态', 'Level progress state', ["levelProgress"], ["state", "level", "progress", "level-manager", "level-data"]),
|
|
89
|
+
node('mahjong-board-layout-system', 'gameplay', 'fixed', '麻将棋盘布局坐标系统', 'Mahjong Board Layout Coordinate System', ["tileEntity", "boardLayoutSystem"], ["gameplay-entity", "gameplay-data", "layout", "grid", "coordinate", "board", "tile", "mahjong", "match2"]),
|
|
90
|
+
node('mahjong-match2-audio-manager', 'gameplay', 'fixed', '音频管理器', 'Audio Manager', ["audioManager"], ["gameplay-system", "audio", "phaser"]),
|
|
91
|
+
node('mahjong-match2-board-entity', 'gameplay', 'fixed', '麻将连连看棋盘实体', 'Mahjong Match-2 Board Entity', ["boardEntity"], ["gameplay-entity", "puzzle", "board"]),
|
|
92
|
+
node('mahjong-match2-core-rule', 'gameplay', 'fixed', '麻将二消核心规则', 'Mahjong Match-2 Core Rule', ["gameplayRule"], ["gameplay-rule", "match2", "mahjong", "puzzle", "state-machine", "board", "component"]),
|
|
93
|
+
node('mahjong-match2-gameplay-rule', 'gameplay', 'fixed', '麻将连连看玩法规则', 'Mahjong Match-2 Gameplay Rules', ["gameplayRule", "matchRule", "puzzleRule"], ["gameplay-rule", "match3", "casual", "puzzle", "board"]),
|
|
94
|
+
node('mahjong-match2-layout-castle', 'gameplay', 'fixed', '城堡布局', 'Castle Shape Layout', ["boardLayout"], ["gameplay-data", "layout", "board", "mahjong", "match2"]),
|
|
95
|
+
node('mahjong-match2-layout-data', 'gameplay', 'fixed', '麻将连连看布局数据', 'Mahjong Match2 Layout Data', ["layoutData"], ["gameplay-data", "layout", "puzzle", "mahjong"]),
|
|
96
|
+
node('mahjong-match2-layout-duncher', 'gameplay', 'fixed', '弯钩布局', 'Duncher Shape Layout', ["boardLayout"], ["gameplay-data", "layout", "board", "mahjong", "match2"]),
|
|
97
|
+
node('mahjong-match2-layout-flat', 'gameplay', 'fixed', '平铺布局', 'Flat Grid Layout', ["boardLayout"], ["gameplay-data", "layout", "board", "mahjong", "match2"]),
|
|
98
|
+
node('mahjong-match2-layout-heart', 'gameplay', 'fixed', '爱心布局', 'Heart Shape Layout', ["boardLayout"], ["gameplay-data", "layout", "board", "mahjong", "match2"]),
|
|
99
|
+
node('mahjong-match2-layout-turtle', 'gameplay', 'fixed', '乌龟布局', 'Turtle Shape Layout', ["boardLayout"], ["gameplay-data", "layout", "board", "mahjong", "match2"]),
|
|
100
|
+
node('mahjong-match2-tile-entity', 'gameplay', 'fixed', '麻将牌实体完整定义', 'Mahjong Tile Entity', ["tileEntity"], ["gameplay-entity", "puzzle"]),
|
|
101
|
+
node('mahjong-scroll-scene-phaser', 'gameplay', 'fixed', 'mahjong-scroll-scene-phaser', 'Mahjong Scroll Scene Phaser', [], ["component", "phaser", "input-touch", "gameplay-rule", "match3"]),
|
|
102
|
+
node('mahjong-tile-atlas-factory', 'gameplay', 'fixed', '精灵图切割工厂 — 将统一精灵图按行列切割为4种牌面图集', 'Tile Atlas Factory — cut a unified spritesheet into 4 tile-type atlases by row/column assignment', ["tileAtlasFactory"], ["gameplay-data", "util", "mahjong", "puzzle", "spritesheet"]),
|
|
103
|
+
node('mahjong-triple-elimination-rule', 'gameplay', 'fixed', '麻将三合消除规则 — 翻牌/锁定/槽位配对/多模式胜负的核心玩法规则体系', 'Mahjong Triple-Elimination Rule — flip, lock, slot-matching, multi-mode win/loss gameplay rule system', ["collectMatchRule"], ["gameplay-rule", "mahjong", "puzzle", "casual", "component"]),
|
|
104
|
+
node('mahjong-triple-match-scene-phaser', 'gameplay', 'fixed', '麻将三合消除主场景', 'Mahjong Triple Match Scene', [], ["system", "phaser", "gameplay-rule", "match3"]),
|
|
105
|
+
node('match-combo-effect-system', 'gameplay', 'fixed', '匹配连击特效系统', 'Match Combo Effect System', ["comboEffectSystem", "scoreDisplay"], ["gameplay-system", "combo", "score", "praise", "effect", "phaser", "component"]),
|
|
106
|
+
node('match3_core', 'gameplay', 'fixed', '三消核心玩法', 'Match-3 core gameplay', ["gameplayRule"], ["gameplay", "match3", "casual", "grid", "eliminate", "core"]),
|
|
107
|
+
node('memory_match', 'gameplay', 'fixed', '记忆翻牌配对玩法', 'Memory Match Card gameplay', ["gameplayRule"], ["gameplay", "memory", "cards", "match", "casual", "puzzle"]),
|
|
108
|
+
node('path_elimination_rules', 'gameplay', 'fixed', '路径消除核心玩法', 'Path elimination core gameplay', ["gameplayRule"], ["gameplay", "path", "elimination", "arrow", "puzzle", "grid", "core", "swipe"]),
|
|
109
|
+
node('phaser_scene_lifecycle', 'gameplay', 'fixed', 'Phaser 双场景生命周期骨架', 'Phaser dual scene lifecycle skeleton', ["sceneLifecycle"], ["scene", "lifecycle", "preloader", "game-scene", "phaser", "skeleton"]),
|
|
110
|
+
node('phaser-preload-scene', 'gameplay', 'fixed', 'phaser-preload-scene', 'Phaser Preload Scene', [], ["system", "phaser", "overlay", "gameplay-system"]),
|
|
111
|
+
node('phaser-responsive-scale', 'gameplay', 'fixed', 'phaser-responsive-scale', 'Phaser Responsive Scale', [], ["system", "phaser", "overlay", "gameplay-system"]),
|
|
112
|
+
node('pick_and_match_rules', 'gameplay', 'fixed', '拾取三消核心玩法', 'Pick & match core gameplay', ["collectMatchRule"], ["gameplay", "pick", "match", "triple", "tray", "basket", "puzzle", "grid", "casual", "core", "stacking"]),
|
|
113
|
+
node('playable_end_screen_layout', 'gameplay', 'fixed', '可玩结算屏布局规范', 'Playable end-screen layout', ["playableEndScreenLayout"], ["layout", "end-screen", "result", "win", "lose", "cta", "modal", "framework-agnostic"]),
|
|
114
|
+
node('playable_guidance_layer', 'gameplay', 'fixed', '可玩指引层布局规范', 'Playable guidance layer layout', ["playableGuidanceLayout"], ["layout", "tutorial", "onboarding", "overlay", "spotlight", "framework-agnostic"]),
|
|
115
|
+
node('playable_hud_layout', 'gameplay', 'fixed', '可玩 HUD 屏幕分区规范', 'Playable HUD screen regions', ["playableHudLayout"], ["layout", "hud", "top-bar", "bottom-bar", "safe-area", "play-area", "framework-agnostic"]),
|
|
116
|
+
node('pool-ball-physics', 'gameplay', 'fixed', 'pool-ball-physics', 'Pool Ball Physics', [], ["util", "physics", "math", "gameplay-data"]),
|
|
117
|
+
node('pool-table-config', 'gameplay', 'fixed', '台球桌配置与贴图', 'Pool Table Config & Sprites', [], ["config", "physics", "layout", "gameplay-data", "billiards"]),
|
|
118
|
+
node('preloader_scene', 'gameplay', 'fixed', '预加载场景', 'Preloader scene', ["preloaderScene"], ["scene", "preloader", "asset-loading", "loading-ui", "phaser"]),
|
|
119
|
+
node('responsive_2d_layout', 'gameplay', 'fixed', '2D 自适应布局', 'Responsive 2D layout', ["responsiveLayout"], ["layout", "responsive", "scale", "design-size", "ui-scale", "phaser", "layout-canon", "framework-agnostic"]),
|
|
120
|
+
node('run_context_state', 'gameplay', 'fixed', '运行上下文状态', 'Run context state', ["runContext"], ["state", "run-context", "test-mode", "preview", "debug"]),
|
|
121
|
+
node('screw_puzzle', 'gameplay', 'fixed', '螺丝拆解玩法', 'Screw Puzzle gameplay', ["gameplayRule"], ["gameplay", "screw", "puzzle", "disassembly", "casual", "physics"]),
|
|
122
|
+
node('sdk-lazy-game-config', 'gameplay', 'fixed', 'sdk-lazy-game-config', 'Sdk Lazy Game Config', [], ["system", "gameplay-system"]),
|
|
123
|
+
node('settings_state', 'gameplay', 'fixed', '用户设置状态管理', 'User settings state manager', ["userSettings"], ["state", "settings", "music", "sound", "drag-speed", "preferences"]),
|
|
124
|
+
node('theme_state', 'gameplay', 'fixed', '主题状态管理器', 'Theme state manager', ["themeManager"], ["state", "theme", "color", "style", "arrow-style", "ui-text"]),
|
|
125
|
+
node('tile-data-generator', 'gameplay', 'fixed', 'tile-data-generator', 'Tile Data Generator', [], ["generator", "gameplay-data"]),
|
|
126
|
+
node('tile-flip-animator-phaser', 'gameplay', 'fixed', 'tile-flip-animator-phaser', 'Tile Flip Animator Phaser', [], ["component", "phaser", "input-touch", "animation", "gameplay-system"]),
|
|
127
|
+
node('tile-slot-storage-phaser', 'gameplay', 'fixed', 'tile-slot-storage-phaser', 'Tile Slot Storage Phaser', [], ["component", "phaser", "animation", "gameplay-system"]),
|
|
128
|
+
node('web-audio-manager', 'gameplay', 'fixed', 'web-audio-manager', 'Web Audio Manager', ["audioPlayHelper"], ["system", "vanilla", "gameplay-system"]),
|
|
129
|
+
node('web-sfx-synthesizer', 'gameplay', 'fixed', 'web-sfx-synthesizer', 'Web Sfx Synthesizer', ["audioPlayHelper"], ["system", "vanilla", "gameplay-system"]),
|
|
130
|
+
node('candy_tile', 'visual', 'generative', '糖果牌面贴图组', 'Candy tile set', ["tileTextureSet"], ["tile", "visual", "candy", "sweet", "match3", "cute", "colorful"]),
|
|
131
|
+
node('castle', 'visual', 'generative', '城堡背景', 'Castle background', ["backgroundTexture"], ["background", "visual", "castle", "fantasy", "medieval", "epic"]),
|
|
132
|
+
node('combo-vfx', 'visual', 'fixed', 'combo-vfx', 'Combo Vfx', [], ["component", "playcanvas", "animation"]),
|
|
133
|
+
node('desert', 'visual', 'generative', '沙漠背景', 'Desert background', ["backgroundTexture"], ["background", "visual", "desert", "sand", "hot", "arid", "casual"]),
|
|
134
|
+
node('figer_icon', 'visual', 'generative', '引导手指图标', 'Tutorial finger pointer', ["tutorialPointer"], ["visual", "finger", "tutorial", "pointer", "gesture", "tap"]),
|
|
135
|
+
node('forest', 'visual', 'generative', '森林背景', 'Forest background', ["backgroundTexture"], ["background", "visual", "forest", "nature", "casual", "green"]),
|
|
136
|
+
node('fruit_tile', 'visual', 'generative', '水果牌面贴图组', 'Fruit tile set', ["tileTextureSet"], ["tile", "visual", "fruit", "match3", "casual", "colorful"]),
|
|
137
|
+
node('idle-breathe', 'visual', 'fixed', '角色待机呼吸动画', 'Character Idle Breathe Animation', [], ["animation", "idle", "breathe", "character", "loop", "playcanvas", "phaser"]),
|
|
138
|
+
node('jewel_tile', 'visual', 'generative', '宝石牌面贴图组', 'Jewel tile set', ["tileTextureSet"], ["tile", "visual", "jewel", "gem", "match3", "premium", "shiny"]),
|
|
139
|
+
node('lose_result_panel', 'visual', 'generative', '失败结果面板', 'Lose result panel', ["failFeedbackPanel"], ["visual", "lose", "fail", "result-panel", "game-over"]),
|
|
140
|
+
node('mahjong-elimination-effects', 'visual', 'fixed', '麻将消除粒子特效', 'Mahjong Elimination Particle Effects', ["eliminationVfx"], ["component", "phaser", "animation", "vfx", "particle", "mahjong", "puzzle"]),
|
|
141
|
+
node('mahjong-match2-entrance-vfx', 'visual', 'fixed', '入场动画系统', 'Entrance VFX System', ["entranceAnimation"], ["component", "animation", "phaser", "vfx"]),
|
|
142
|
+
node('mahjong-match2-match-vfx', 'visual', 'fixed', '消除视觉特效', 'Match Visual Effects', ["matchVfx", "explosionEffect"], ["component", "vfx", "animation", "phaser", "particle"]),
|
|
143
|
+
node('mahjong-streak-celebration', 'visual', 'fixed', '麻将连击庆祝特效', 'Mahjong Streak Celebration Effects', ["streakCelebrationVfx"], ["component", "phaser", "animation", "vfx", "particle", "combo", "mahjong"]),
|
|
144
|
+
node('match-pop', 'visual', 'fixed', '三消元素消除动画', 'Match-3 Element Pop Animation', [], ["animation", "match3", "pop", "disappear", "particle", "playcanvas", "phaser"]),
|
|
145
|
+
node('nomove_hint_overlay', 'visual', 'generative', '危险闪光全屏遮罩', 'Danger flash overlay', ["dangerFlashOverlay"], ["visual", "danger", "flash", "overlay", "warning", "full-screen"]),
|
|
146
|
+
node('normal_dot', 'visual', 'generative', '普通粒子', 'Normal particle dot', ["particleAsset"], ["visual", "particle", "dot", "trail"]),
|
|
147
|
+
node('ocean', 'visual', 'generative', '海洋背景', 'Ocean background', ["backgroundTexture"], ["background", "visual", "ocean", "sea", "water", "casual", "blue"]),
|
|
148
|
+
node('particle-confetti', 'visual', 'fixed', '彩色纸屑庆祝特效', 'Celebration Confetti VFX', [], ["vfx", "confetti", "celebration", "level-complete", "reward", "phaser"]),
|
|
149
|
+
node('particle-explosion', 'visual', 'fixed', '粒子爆炸特效', 'Particle Explosion VFX', [], ["vfx", "particle", "explosion", "impact", "playcanvas", "phaser", "html5"]),
|
|
150
|
+
node('particle-system-2d', 'visual', 'fixed', 'particle-system-2d', 'Particle System 2d', [], ["system", "playcanvas", "particle", "pooling"]),
|
|
151
|
+
node('particle-trail', 'visual', 'fixed', '粒子拖尾特效', 'Particle Trail VFX', [], ["vfx", "particle", "trail", "follow", "movement", "playcanvas", "phaser"]),
|
|
152
|
+
node('playable_app_logo', 'visual', 'generative', '应用 Logo', 'App Logo', ["appLogo"], ["visual", "logo", "brand", "app-icon", "loading-screen"]),
|
|
153
|
+
node('score-fly', 'visual', 'fixed', '分数飞起动画', 'Score Fly-Up Animation', [], ["animation", "score", "ui", "text", "feedback", "playcanvas", "phaser"]),
|
|
154
|
+
node('screen-flash', 'visual', 'fixed', '全屏闪光特效', 'Screen Flash VFX', [], ["vfx", "screen-flash", "impact", "feedback", "ui", "playcanvas", "phaser"]),
|
|
155
|
+
node('screen-shake', 'visual', 'fixed', '屏幕震动效果', 'Screen Shake Effect', [], ["animation", "screen-shake", "camera", "impact", "playcanvas", "phaser"]),
|
|
156
|
+
node('slide_out_to_tray_animation', 'visual', 'fixed', '滑出棋盘+飞入篮子两阶段动画', 'Slide-out + fly-to-tray two-phase animation', ["slideOutToTrayAnimation"], ["animation", "slide-out", "fly", "tray", "bezier", "tween", "path", "arrow", "threejs", "3d"]),
|
|
157
|
+
node('slot-eliminate-vfx', 'visual', 'fixed', 'slot-eliminate-vfx', 'Slot Eliminate Vfx', [], ["component", "playcanvas", "animation"]),
|
|
158
|
+
node('sprite_entity_renderer', 'visual', 'fixed', '精灵实体渲染器(替代 Graphics 绘制)', 'Sprite entity renderer (replaces Graphics drawing)', ["entityRenderer"], ["sprite", "renderer", "image", "rotation", "entity", "phaser"]),
|
|
159
|
+
node('sprite-animation-2d', 'visual', 'fixed', '2D 精灵序列帧动画', '2D Sprite Sheet Animation', [], ["animation", "sprite-sheet", "2d", "playcanvas", "phaser", "html5"]),
|
|
160
|
+
node('tile-big-display-effect-phaser', 'visual', 'fixed', '消除后放大牌展示效果', 'Post-Match Big Tile Display Effect', ["matchEffect", "visualEffect"], ["big-tile", "display", "pop-in", "fade", "animation", "vfx", "phaser", "component"]),
|
|
161
|
+
node('tile-burn-effect-phaser', 'visual', 'fixed', '麻将牌燃烧消除效果', 'Tile Burn Destruction Effect', ["vfx", "destructionEffect"], ["burn", "fire", "particle", "vfx", "tile", "phaser", "component"]),
|
|
162
|
+
node('tile-collision-fly-animation-phaser', 'visual', 'fixed', '配对碰撞飞行动画', 'Tile Collision Fly Animation', ["collisionAnimation", "flyAnimation", "matchAnimation"], ["animation", "collision", "fly", "match", "component", "phaser", "vfx"]),
|
|
163
|
+
node('tile-eliminate-vfx', 'visual', 'fixed', 'tile-eliminate-vfx', 'Tile Eliminate Vfx', [], ["component", "playcanvas", "animation"]),
|
|
164
|
+
node('tile-entrance-animation-phaser', 'visual', 'fixed', '麻将牌入场动画(Phaser)', 'Mahjong Tile Entrance Animation (Phaser)', ["entranceAnimation"], ["animation", "entrance", "stagger", "reveal", "board", "phaser", "component", "visual"]),
|
|
165
|
+
node('tile-fragment-explosion-phaser', 'visual', 'fixed', '碎片爆炸效果', 'Tile Fragment Explosion', ["matchEffect", "tileExplosionVfx"], ["explosion", "fragment", "particle", "vfx", "tile", "phaser", "component"]),
|
|
166
|
+
node('tile-shuffle-vfx', 'visual', 'fixed', 'tile-shuffle-vfx', 'Tile Shuffle Vfx', [], ["component", "playcanvas", "animation"]),
|
|
167
|
+
node('tile-undo-vfx', 'visual', 'fixed', 'tile-undo-vfx', 'Tile Undo Vfx', [], ["component", "playcanvas", "animation"]),
|
|
168
|
+
node('tile-vfx', 'visual', 'fixed', 'tile-vfx', 'Tile Vfx', [], ["component", "playcanvas", "animation"]),
|
|
169
|
+
node('time_icon', 'visual', 'generative', '倒计时图标', 'Countdown clock icon', ["clockIcon"], ["visual", "clock", "timer", "countdown", "icon"]),
|
|
170
|
+
node('tween-animation-2d', 'visual', 'fixed', '2D 缓动动画', '2D Tween Animation', [], ["animation", "tween", "easing", "2d", "playcanvas", "phaser"]),
|
|
171
|
+
node('ui-transition', 'visual', 'fixed', 'UI 面板过渡动画', 'UI Panel Transition Animation', [], ["animation", "ui", "transition", "fade", "slide", "panel", "playcanvas", "phaser"]),
|
|
172
|
+
node('win_result_panel', 'visual', 'generative', '胜利结果面板', 'Win result panel', ["successFeedbackPanel"], ["visual", "win", "success", "result-panel", "game-over"]),
|
|
173
|
+
node('brain-age-ui-phaser', 'ui', 'fixed', 'brain-age-ui-phaser', 'Brain Age Ui Phaser', [], ["component", "phaser", "timer", "numeric"]),
|
|
174
|
+
node('claw-intro-animator-phaser', 'ui', 'fixed', '演出: two claws descend from screen top, d…', 'Claw Intro Animator Phaser', [], ["component", "phaser", "animation"]),
|
|
175
|
+
node('countdown-ui-phaser', 'ui', 'fixed', '倒计时 UI 组件(麻将版)', 'Countdown UI Component', ["countdownTimer", "hudComponent"], ["component", "timer", "phaser", "hud"]),
|
|
176
|
+
node('cta-play-button-phaser', 'ui', 'fixed', 'cta-play-button-phaser', 'Cta Play Button Phaser', [], ["component", "phaser", "overlay"]),
|
|
177
|
+
node('door-open-animator-phaser', 'ui', 'fixed', 'door-open-animator-phaser', 'Door Open Animator Phaser', [], ["component", "phaser", "overlay", "animation", "asset-pack"]),
|
|
178
|
+
node('fine-tuning-phaser', 'ui', 'fixed', '瞄准微调滑块', 'Fine Tuning Slider', [], ["component", "phaser", "aim", "tuning", "calibration", "ui-overlay"]),
|
|
179
|
+
node('game_over_panel', 'ui', 'fixed', '结果弹窗 UI', 'Result Popup UI', ["gameOverDialog", "resultPopup", "endGameOverlay"], ["component", "overlay", "phaser", "popup", "end-game"]),
|
|
180
|
+
node('graphics-helper-phaser', 'ui', 'fixed', 'graphics-helper-phaser', 'Graphics Helper Phaser', [], ["component", "phaser"]),
|
|
181
|
+
node('hand-guide-overlay-phaser', 'ui', 'fixed', 'hand-guide-overlay-phaser', 'Hand Guide Overlay Phaser', [], ["component", "phaser", "input-touch", "tutorial"]),
|
|
182
|
+
node('mahjong-match2-hint-ui', 'ui', 'fixed', '手指提示 UI 组件', 'Finger Hint UI Component', ["tutorialHint", "pairHint", "fingerGuide"], ["component", "tutorial", "phaser", "overlay"]),
|
|
183
|
+
node('pair-guide-phaser', 'ui', 'fixed', 'pair-guide-phaser', 'Pair Guide Phaser', [], ["component", "phaser", "tutorial"]),
|
|
184
|
+
node('power-bar-phaser', 'ui', 'fixed', 'power-bar-phaser', 'Power Bar Phaser', [], ["component", "phaser", "input", "animation", "billiards"]),
|
|
185
|
+
node('score-ui-phaser', 'ui', 'fixed', 'score-ui-phaser', 'Score Ui Phaser', ["scoreDisplay"], ["component", "phaser", "numeric"]),
|
|
186
|
+
node('shot-count-ui-phaser', 'ui', 'fixed', 'shot-count-ui-phaser', 'Shot Count Ui Phaser', [], ["component", "phaser", "hud", "animation"]),
|
|
187
|
+
node('tray_container', 'ui', 'fixed', '底部篮子/托盘容器', 'Bottom tray container (slot-based)', ["trayContainer"], ["ui", "tray", "basket", "container", "slot", "collect", "match-3", "pick-and-match", "threejs", "html-overlay", "3d"]),
|
|
188
|
+
node('agent_remix_orchestrator', 'misc', 'fixed', 'Remix 编排器指南', 'Remix Orchestrator Guide', [], ["orchestrator", "l0-manager", "agent-workflow", "remix-assembly", "decision-making"]),
|
|
189
|
+
node('asset_pipeline_scripts', 'misc', 'fixed', '资源管线自动化脚本', 'Asset pipeline automation scripts', ["assetPipeline"], ["asset", "pipeline", "automation", "image", "generate", "script"]),
|
|
190
|
+
node('bottom_ui_bar', 'misc', 'fixed', '底部 UI 条', 'Bottom UI bar', ["bottomUiBar"], ["ui", "bottom-bar", "hud", "phaser", "layout"]),
|
|
191
|
+
node('camera_controller_3d', 'misc', 'fixed', '3D 相机控制器', '3D Camera Controller', ["cameraController"], ["camera", "3d", "threejs", "isometric", "top-down", "follow", "shake", "transition", "puzzle-view"]),
|
|
192
|
+
node('combo_display', 'misc', 'fixed', '连击计数 UI', 'Combo display UI', ["comboDisplay"], ["ui", "combo", "streak", "chain", "multiplier"]),
|
|
193
|
+
node('combo_praise_text', 'misc', 'fixed', '连击表扬文案弹出', 'Combo praise text popup', ["comboPraiseText"], ["ui", "combo", "praise", "text", "popup", "animation", "GOOD", "NICE", "GREAT"]),
|
|
194
|
+
node('countdown_timer', 'misc', 'fixed', '倒计时显示器', 'Countdown timer display', ["countdownTimer"], ["ui", "countdown", "timer", "seven-segment", "digit"]),
|
|
195
|
+
node('debug_overlay', 'misc', 'fixed', '开发调试覆盖层', 'Debug overlay for development', ["debugTool"], ["debug", "overlay", "grid", "collision", "fps", "development"]),
|
|
196
|
+
node('digit_renderer', 'misc', 'fixed', '七段数码管渲染器', 'Seven-segment digit renderer', ["digitGlyphRenderer"], ["ui", "digit", "seven-segment", "number-display", "graphics", "phaser"]),
|
|
197
|
+
node('download_button', 'misc', 'fixed', '下载转化按钮', 'Download CTA button', ["downloadCta"], ["ui", "download", "cta", "button", "install", "conversion", "playable-ads"]),
|
|
198
|
+
node('gameplay_balance_check', 'misc', 'fixed', '玩法平衡性校验器', 'Gameplay balance checker', ["levelValidator"], ["validator", "balance", "gameplay", "difficulty", "level", "quality", "playable-ads"]),
|
|
199
|
+
node('gameplay_unit_test', 'misc', 'fixed', '玩法逻辑单元测试', 'Gameplay logic unit tests', ["testFramework"], ["test", "unit-test", "vitest", "gameplay", "quality", "validation"]),
|
|
200
|
+
node('heart_lives', 'misc', 'fixed', '心形生命值显示', 'Heart lives indicator', ["livesIndicator"], ["ui", "lives", "hearts", "health", "indicator"]),
|
|
201
|
+
node('level_data_validator', 'misc', 'fixed', '关卡数据校验器', 'Level data validator', ["dataValidator"], ["validation", "level", "data", "debug", "quality"]),
|
|
202
|
+
node('level_lifecycle', 'misc', 'fixed', '关卡生命周期控制器', 'Level lifecycle controller', ["levelLifecycleController"], ["lifecycle", "lives", "timer", "gameover", "win", "lose", "next-level"]),
|
|
203
|
+
node('level_solvability_validator', 'misc', 'fixed', '关卡可解性验证器', 'Level solvability validator', ["levelValidator"], ["logic", "validator", "level", "solvability", "constraint", "debug", "tool"]),
|
|
204
|
+
node('loading_screen', 'misc', 'fixed', 'Loading 页面 UI', 'Loading screen UI', ["loadingScreen"], ["ui", "loading", "preloader", "logo", "animation", "dots"]),
|
|
205
|
+
node('match_engine', 'misc', 'fixed', '通用篮子匹配引擎(N消检测)', 'Generic tray match engine (N-match detection)', ["matchEngine"], ["logic", "match", "tray", "engine", "match-3", "grouping", "eliminate", "pure-function"]),
|
|
206
|
+
node('path_animation', 'misc', 'fixed', '路径动画导演', 'Path animation director', ["pathAnimationDirector"], ["animation", "path", "tween", "phaser", "elimination", "blocked", "victory", "threejs", "3d", "raf"]),
|
|
207
|
+
node('path_input_handler', 'misc', 'fixed', '棋盘输入处理器', 'Board input handler', ["boardInputHandler"], ["input", "touch", "drag", "zoom", "pinch", "hit-detection", "phaser", "board", "threejs", "raycaster", "3d"]),
|
|
208
|
+
node('path_renderer', 'misc', 'fixed', '路径批量渲染器', 'Path batch renderer', ["pathBatchRenderer"], ["renderer", "path", "graphics", "arrow", "phaser", "canvas", "draw", "threejs", "3d", "mesh-per-cell"]),
|
|
209
|
+
node('playable_scripts_build', 'misc', 'fixed', '试玩广告构建管线(已废弃)', 'Playable ads build pipeline (deprecated)', ["buildPipeline"], ["build", "playable-scripts", "webpack", "bundle", "multi-channel", "playable-ads"]),
|
|
210
|
+
node('progress_bar', 'misc', 'fixed', '关卡进度条', 'Level progress bar', ["progressBar"], ["ui", "progress", "bar", "level-progress"]),
|
|
211
|
+
node('sound_utils', 'misc', 'fixed', '音频工具函数', 'Sound utility functions', ["audioPlayHelper"], ["util", "audio", "sound", "safe-play", "phaser"]),
|
|
212
|
+
node('top_ui_bar', 'misc', 'fixed', '顶部 UI 条', 'Top UI bar', ["topUiBar"], ["ui", "top-bar", "lives", "timer", "progress", "phaser"]),
|
|
213
|
+
node('tutorial_overlay', 'misc', 'fixed', '新手引导浮层', 'Tutorial overlay', ["tutorialOverlay"], ["ui", "tutorial", "onboarding", "guide", "first-level"]),
|
|
214
|
+
node('typescript_module_patterns', 'misc', 'fixed', 'TypeScript 模块模式与错误修复指南', 'TypeScript module patterns & error fix guide', ["typeDeclaration"], ["typescript", "module", "import", "error-fix", "infrastructure", "dx"]),
|
|
215
|
+
node('webpack_build', 'misc', 'fixed', '通用 Webpack 构建配置', 'Generic Webpack build configuration', ["buildSystem"], ["build", "webpack", "dev-server", "typescript", "bundler", "infrastructure"]),
|
|
79
216
|
],
|
|
80
217
|
edges: [
|
|
81
|
-
edge('
|
|
82
|
-
edge('
|
|
83
|
-
edge('
|
|
84
|
-
edge('
|
|
85
|
-
edge('
|
|
86
|
-
edge('
|
|
87
|
-
edge('
|
|
88
|
-
edge('
|
|
89
|
-
edge('
|
|
90
|
-
edge('
|
|
91
|
-
edge('
|
|
92
|
-
edge('
|
|
93
|
-
edge('
|
|
94
|
-
edge('
|
|
95
|
-
edge('
|
|
96
|
-
edge('
|
|
97
|
-
edge('
|
|
98
|
-
edge('
|
|
99
|
-
edge('
|
|
100
|
-
edge('
|
|
101
|
-
edge('
|
|
102
|
-
edge('
|
|
103
|
-
edge('
|
|
104
|
-
edge('
|
|
105
|
-
edge('
|
|
106
|
-
edge('
|
|
107
|
-
edge('
|
|
108
|
-
edge('
|
|
109
|
-
edge('
|
|
110
|
-
edge('
|
|
111
|
-
edge('
|
|
112
|
-
edge('
|
|
113
|
-
edge('
|
|
114
|
-
edge('
|
|
115
|
-
edge('
|
|
116
|
-
edge('
|
|
117
|
-
edge('
|
|
118
|
-
edge('
|
|
119
|
-
edge('
|
|
120
|
-
edge('
|
|
121
|
-
edge('
|
|
122
|
-
edge('
|
|
123
|
-
edge('
|
|
124
|
-
edge('
|
|
125
|
-
edge('
|
|
126
|
-
edge('
|
|
127
|
-
edge('
|
|
128
|
-
edge('
|
|
129
|
-
edge('
|
|
130
|
-
edge('
|
|
131
|
-
edge('
|
|
132
|
-
edge('
|
|
133
|
-
edge('
|
|
134
|
-
edge('
|
|
135
|
-
edge('
|
|
136
|
-
edge('
|
|
137
|
-
edge('
|
|
138
|
-
edge('
|
|
139
|
-
edge('
|
|
140
|
-
edge('
|
|
141
|
-
edge('
|
|
142
|
-
edge('
|
|
143
|
-
edge('
|
|
144
|
-
edge('
|
|
145
|
-
edge('
|
|
146
|
-
edge('
|
|
147
|
-
edge('
|
|
148
|
-
edge('
|
|
149
|
-
edge('
|
|
150
|
-
edge('
|
|
151
|
-
edge('
|
|
152
|
-
edge('
|
|
153
|
-
edge('
|
|
154
|
-
edge('
|
|
155
|
-
edge('
|
|
156
|
-
edge('
|
|
157
|
-
edge('
|
|
158
|
-
edge('
|
|
159
|
-
edge('
|
|
160
|
-
edge('
|
|
161
|
-
edge('
|
|
162
|
-
edge('
|
|
163
|
-
edge('
|
|
164
|
-
edge('
|
|
165
|
-
edge('
|
|
166
|
-
edge('
|
|
167
|
-
edge('
|
|
168
|
-
edge('
|
|
169
|
-
edge('
|
|
170
|
-
edge('
|
|
171
|
-
edge('
|
|
172
|
-
edge('
|
|
173
|
-
edge('
|
|
174
|
-
edge('
|
|
175
|
-
edge('
|
|
176
|
-
edge('
|
|
177
|
-
edge('
|
|
178
|
-
edge('
|
|
179
|
-
edge('
|
|
180
|
-
edge('
|
|
181
|
-
edge('
|
|
182
|
-
edge('
|
|
183
|
-
edge('
|
|
184
|
-
edge('
|
|
185
|
-
edge('
|
|
186
|
-
edge('
|
|
187
|
-
edge('
|
|
188
|
-
edge('
|
|
189
|
-
edge('
|
|
190
|
-
edge('
|
|
191
|
-
edge('
|
|
192
|
-
edge('
|
|
193
|
-
edge('
|
|
194
|
-
edge('
|
|
195
|
-
edge('
|
|
196
|
-
edge('
|
|
197
|
-
edge('
|
|
198
|
-
edge('
|
|
199
|
-
edge('
|
|
200
|
-
edge('
|
|
201
|
-
edge('
|
|
202
|
-
edge('
|
|
203
|
-
edge('
|
|
204
|
-
edge('
|
|
205
|
-
edge('
|
|
206
|
-
edge('
|
|
207
|
-
edge('
|
|
208
|
-
edge('
|
|
209
|
-
edge('
|
|
210
|
-
edge('
|
|
211
|
-
edge('
|
|
212
|
-
edge('
|
|
213
|
-
edge('
|
|
214
|
-
edge('
|
|
215
|
-
edge('
|
|
216
|
-
edge('
|
|
217
|
-
edge('
|
|
218
|
-
edge('
|
|
219
|
-
edge('
|
|
220
|
-
edge('
|
|
221
|
-
edge('
|
|
222
|
-
edge('
|
|
223
|
-
edge('
|
|
224
|
-
edge('
|
|
225
|
-
edge('
|
|
226
|
-
edge('
|
|
227
|
-
edge('
|
|
228
|
-
edge('
|
|
229
|
-
edge('
|
|
230
|
-
edge('
|
|
231
|
-
edge('
|
|
232
|
-
edge('
|
|
233
|
-
edge('
|
|
234
|
-
edge('
|
|
235
|
-
edge('
|
|
236
|
-
edge('
|
|
237
|
-
edge('
|
|
238
|
-
edge('
|
|
239
|
-
edge('
|
|
240
|
-
edge('
|
|
241
|
-
edge('
|
|
242
|
-
edge('
|
|
243
|
-
edge('
|
|
244
|
-
edge('
|
|
245
|
-
edge('
|
|
246
|
-
edge('
|
|
247
|
-
edge('
|
|
248
|
-
edge('
|
|
249
|
-
edge('
|
|
250
|
-
edge('
|
|
251
|
-
edge('
|
|
252
|
-
edge('
|
|
253
|
-
edge('
|
|
254
|
-
edge('
|
|
255
|
-
edge('
|
|
256
|
-
edge('
|
|
257
|
-
edge('
|
|
258
|
-
edge('
|
|
259
|
-
edge('
|
|
260
|
-
edge('
|
|
261
|
-
edge('
|
|
262
|
-
edge('
|
|
263
|
-
edge('
|
|
264
|
-
edge('
|
|
265
|
-
edge('
|
|
266
|
-
edge('
|
|
267
|
-
edge('
|
|
268
|
-
edge('
|
|
269
|
-
edge('
|
|
270
|
-
edge('
|
|
271
|
-
edge('
|
|
272
|
-
edge('
|
|
273
|
-
edge('
|
|
274
|
-
edge('
|
|
275
|
-
edge('
|
|
276
|
-
edge('
|
|
277
|
-
edge('
|
|
278
|
-
edge('
|
|
279
|
-
edge('
|
|
280
|
-
edge('
|
|
281
|
-
edge('
|
|
282
|
-
edge('
|
|
283
|
-
edge('
|
|
284
|
-
edge('
|
|
285
|
-
edge('
|
|
286
|
-
edge('
|
|
287
|
-
edge('
|
|
288
|
-
edge('
|
|
218
|
+
edge('theme_switcher_build', 'playable_scripts_build', 'requires', 'buildPipeline'),
|
|
219
|
+
edge('level_data_pack', 'arrow_path_data_format', 'requires', 'dataFormat'),
|
|
220
|
+
edge('mahjong-match2-tile-assets-cats', 'mahjong-match2-tile-entity', 'requires', 'tile-definition'),
|
|
221
|
+
edge('mahjong-match2-tile-assets-dog', 'mahjong-match2-tile-entity', 'requires', 'tileDefinition'),
|
|
222
|
+
edge('mahjong-match2-tile-assets-draft', 'mahjong-match2-tile-entity', 'requires', 'tile-definition'),
|
|
223
|
+
edge('mahjong-match2-tile-assets-maple', 'mahjong-match2-tile-entity', 'requires', 'tile-definition'),
|
|
224
|
+
edge('mahjong-match2-tile-assets-treasure', 'mahjong-match2-tile-entity', 'requires', 'tile-definition'),
|
|
225
|
+
edge('theme_variant', 'level_data_pack', 'requires', 'levelDataPack'),
|
|
226
|
+
edge('theme_variant', 'arrow_path_data_format', 'requires', 'dataFormat'),
|
|
227
|
+
edge('billiards-shot-scene-phaser', 'billiards-ball-sprites', 'requires', '16 颗 matcap 球贴图(WebGL shader 纹理输入)'),
|
|
228
|
+
edge('billiards-shot-scene-phaser', 'cue-aim-line-phaser', 'requires', '球杆瞄准线(含单次反弹预览)'),
|
|
229
|
+
edge('billiards-shot-scene-phaser', 'pool-ball-physics', 'requires', '台球物理运算(碰撞、运动、袋口检测)'),
|
|
230
|
+
edge('billiards-shot-scene-phaser', 'pool-table-config', 'requires', '台球桌尺寸、球半径、袋口位置配置'),
|
|
231
|
+
edge('billiards-shot-scene-phaser', 'fine-tuning-phaser', 'requires', '瞄准微调滑块(竖屏精瞄用)'),
|
|
232
|
+
edge('billiards-shot-scene-phaser', 'power-bar-phaser', 'requires', '力度条 UI(拖拽控制出球力度)'),
|
|
233
|
+
edge('billiards-shot-scene-phaser', 'shot-count-ui-phaser', 'requires', '剩余击球次数 HUD'),
|
|
234
|
+
edge('car_parking', 'phaser', 'requires', 'engine'),
|
|
235
|
+
edge('car_parking', 'bg_music', 'compatibleWith', '背景循环音乐'),
|
|
236
|
+
edge('car_parking', 'calm_piano', 'compatibleWith', '背景循环音乐'),
|
|
237
|
+
edge('car_parking', 'cheerful_ukulele', 'compatibleWith', '背景循环音乐'),
|
|
238
|
+
edge('car_parking', 'energetic_electronic', 'compatibleWith', '背景循环音乐'),
|
|
239
|
+
edge('car_parking', 'game-backgrounds', 'compatibleWith', '停车场背景图'),
|
|
240
|
+
edge('car_parking', 'level_data_pack', 'compatibleWith', '关卡数据包'),
|
|
241
|
+
edge('car_parking', 'mahjong-scroll-bg-chibi', 'compatibleWith', '停车场背景图'),
|
|
242
|
+
edge('car_parking', 'mahjong-scroll-bg-dark', 'compatibleWith', '停车场背景图'),
|
|
243
|
+
edge('car_parking', 'mahjong-scroll-bg-default', 'compatibleWith', '停车场背景图'),
|
|
244
|
+
edge('car_parking', 'mahjong-scroll-bg-elder', 'compatibleWith', '停车场背景图'),
|
|
245
|
+
edge('car_parking', 'mahjong-scroll-bg-meditation', 'compatibleWith', '停车场背景图'),
|
|
246
|
+
edge('car_parking', 'mahjong-scroll-bg-nature', 'compatibleWith', '停车场背景图'),
|
|
247
|
+
edge('car_parking', 'mahjong-scroll-bg-wood', 'compatibleWith', '停车场背景图'),
|
|
248
|
+
edge('car_parking', 'playable_end_screen_layout', 'compatibleWith', '可玩广告结算屏(含 CTA 按钮)'),
|
|
249
|
+
edge('car_parking', 'castle', 'compatibleWith', '停车场背景图'),
|
|
250
|
+
edge('car_parking', 'desert', 'compatibleWith', '停车场背景图'),
|
|
251
|
+
edge('car_parking', 'forest', 'compatibleWith', '停车场背景图'),
|
|
252
|
+
edge('car_parking', 'lose_result_panel', 'compatibleWith', '失败反馈面板视觉'),
|
|
253
|
+
edge('car_parking', 'ocean', 'compatibleWith', '停车场背景图'),
|
|
254
|
+
edge('car_parking', 'win_result_panel', 'compatibleWith', '通关反馈面板视觉'),
|
|
255
|
+
edge('car_parking', 'tutorial_overlay', 'compatibleWith', '新手引导浮层'),
|
|
256
|
+
edge('collect-match-scene-phaser', 'bg_music', 'compatibleWith', '背景循环音乐'),
|
|
257
|
+
edge('collect-match-scene-phaser', 'button_click_sfx', 'compatibleWith', '按钮点击音效'),
|
|
258
|
+
edge('collect-match-scene-phaser', 'calm_piano', 'compatibleWith', '背景循环音乐'),
|
|
259
|
+
edge('collect-match-scene-phaser', 'cheerful_ukulele', 'compatibleWith', '背景循环音乐'),
|
|
260
|
+
edge('collect-match-scene-phaser', 'click_sfx', 'compatibleWith', '消除/点击音效'),
|
|
261
|
+
edge('collect-match-scene-phaser', 'energetic_electronic', 'compatibleWith', '背景循环音乐'),
|
|
262
|
+
edge('collect-match-scene-phaser', 'fail_sfx', 'compatibleWith', '失败音效'),
|
|
263
|
+
edge('collect-match-scene-phaser', 'game-backgrounds', 'compatibleWith', '场景背景图'),
|
|
264
|
+
edge('collect-match-scene-phaser', 'mahjong-scroll-bg-chibi', 'compatibleWith', '场景背景图'),
|
|
265
|
+
edge('collect-match-scene-phaser', 'mahjong-scroll-bg-dark', 'compatibleWith', '场景背景图'),
|
|
266
|
+
edge('collect-match-scene-phaser', 'mahjong-scroll-bg-default', 'compatibleWith', '场景背景图'),
|
|
267
|
+
edge('collect-match-scene-phaser', 'mahjong-scroll-bg-elder', 'compatibleWith', '场景背景图'),
|
|
268
|
+
edge('collect-match-scene-phaser', 'mahjong-scroll-bg-meditation', 'compatibleWith', '场景背景图'),
|
|
269
|
+
edge('collect-match-scene-phaser', 'mahjong-scroll-bg-nature', 'compatibleWith', '场景背景图'),
|
|
270
|
+
edge('collect-match-scene-phaser', 'mahjong-scroll-bg-wood', 'compatibleWith', '场景背景图'),
|
|
271
|
+
edge('collect-match-scene-phaser', 'mahjong-scroll-tile-chibi', 'compatibleWith', '牌面贴图组'),
|
|
272
|
+
edge('collect-match-scene-phaser', 'mahjong-scroll-tile-dark', 'compatibleWith', '牌面贴图组'),
|
|
273
|
+
edge('collect-match-scene-phaser', 'mahjong-scroll-tile-default', 'compatibleWith', '牌面贴图组'),
|
|
274
|
+
edge('collect-match-scene-phaser', 'mahjong-scroll-tile-elder', 'compatibleWith', '牌面贴图组'),
|
|
275
|
+
edge('collect-match-scene-phaser', 'mahjong-scroll-tile-meditation', 'compatibleWith', '牌面贴图组'),
|
|
276
|
+
edge('collect-match-scene-phaser', 'mahjong-scroll-tile-nature', 'compatibleWith', '牌面贴图组'),
|
|
277
|
+
edge('collect-match-scene-phaser', 'mahjong-scroll-tile-wood', 'compatibleWith', '牌面贴图组'),
|
|
278
|
+
edge('collect-match-scene-phaser', 'mistake_sfx', 'compatibleWith', '选错/阻挡音效'),
|
|
279
|
+
edge('collect-match-scene-phaser', 'success_sfx', 'compatibleWith', '胜利/通关音效'),
|
|
280
|
+
edge('collect-match-scene-phaser', 'tile-effect-atlas', 'requires', 'tile-effect-atlas'),
|
|
281
|
+
edge('collect-match-scene-phaser', 'tile-sheets-animals', 'compatibleWith', '牌面贴图组'),
|
|
282
|
+
edge('collect-match-scene-phaser', 'tile-sheets-colorful', 'compatibleWith', '牌面贴图组'),
|
|
283
|
+
edge('collect-match-scene-phaser', 'tile-sheets-gold', 'compatibleWith', '牌面贴图组'),
|
|
284
|
+
edge('collect-match-scene-phaser', 'tile-sheets-normal', 'compatibleWith', '牌面贴图组'),
|
|
285
|
+
edge('collect-match-scene-phaser', 'ui-interact-atlas', 'requires', 'ui-interact-atlas'),
|
|
286
|
+
edge('collect-match-scene-phaser', 'collect-match-scroll-gameplay', 'compatibleWith', '核心消除玩法规则(拾取三消类)'),
|
|
287
|
+
edge('collect-match-scene-phaser', 'layered-stack-board-phaser', 'requires', 'layered-stack-board-phaser'),
|
|
288
|
+
edge('collect-match-scene-phaser', 'mahjong-tile-atlas-factory', 'compatibleWith', '牌面精灵图切割工厂(preload 阶段将统一大图切割为4种图集)'),
|
|
289
|
+
edge('collect-match-scene-phaser', 'mahjong-triple-elimination-rule', 'compatibleWith', '核心消除玩法规则(拾取三消类)'),
|
|
290
|
+
edge('collect-match-scene-phaser', 'match-combo-effect-system', 'compatibleWith', '分数显示 UI'),
|
|
291
|
+
edge('collect-match-scene-phaser', 'pick_and_match_rules', 'compatibleWith', '核心消除玩法规则(拾取三消类)'),
|
|
292
|
+
edge('collect-match-scene-phaser', 'sdk-lazy-game-config', 'requires', 'sdk-lazy-game-config'),
|
|
293
|
+
edge('collect-match-scene-phaser', 'tile-slot-storage-phaser', 'requires', 'tile-slot-storage-phaser'),
|
|
294
|
+
edge('collect-match-scene-phaser', 'web-audio-manager', 'requires', '音频管理器(BGM + SFX 统一管理)'),
|
|
295
|
+
edge('collect-match-scene-phaser', 'web-sfx-synthesizer', 'requires', '程序化 SFX 合成器(选对/错/槽满音)'),
|
|
296
|
+
edge('collect-match-scene-phaser', 'candy_tile', 'compatibleWith', '牌面贴图组'),
|
|
297
|
+
edge('collect-match-scene-phaser', 'castle', 'compatibleWith', '场景背景图'),
|
|
298
|
+
edge('collect-match-scene-phaser', 'desert', 'compatibleWith', '场景背景图'),
|
|
299
|
+
edge('collect-match-scene-phaser', 'forest', 'compatibleWith', '场景背景图'),
|
|
300
|
+
edge('collect-match-scene-phaser', 'fruit_tile', 'compatibleWith', '牌面贴图组'),
|
|
301
|
+
edge('collect-match-scene-phaser', 'jewel_tile', 'compatibleWith', '牌面贴图组'),
|
|
302
|
+
edge('collect-match-scene-phaser', 'ocean', 'compatibleWith', '场景背景图'),
|
|
303
|
+
edge('collect-match-scene-phaser', 'claw-intro-animator-phaser', 'requires', 'claw-intro-animator-phaser'),
|
|
304
|
+
edge('collect-match-scene-phaser', 'countdown-ui-phaser', 'compatibleWith', '倒计时 UI'),
|
|
305
|
+
edge('collect-match-scene-phaser', 'cta-play-button-phaser', 'requires', 'cta-play-button-phaser'),
|
|
306
|
+
edge('collect-match-scene-phaser', 'door-open-animator-phaser', 'requires', 'door-open-animator-phaser'),
|
|
307
|
+
edge('collect-match-scene-phaser', 'game_over_panel', 'compatibleWith', '游戏结算 UI(胜利/失败)'),
|
|
308
|
+
edge('collect-match-scene-phaser', 'pair-guide-phaser', 'requires', 'pair-guide-phaser'),
|
|
309
|
+
edge('collect-match-scene-phaser', 'score-ui-phaser', 'compatibleWith', '分数显示 UI'),
|
|
310
|
+
edge('collect-match-scene-phaser', 'countdown_timer', 'compatibleWith', '倒计时 UI'),
|
|
311
|
+
edge('collect-match-scene-phaser', 'heart_lives', 'compatibleWith', '脑力值/生命指示 UI'),
|
|
312
|
+
edge('collect-match-scroll-gameplay', 'phaser', 'requires', 'Phaser 3 引擎,ref/ 中参考实现依赖'),
|
|
313
|
+
edge('collect-match-scroll-gameplay', 'game-backgrounds', 'compatibleWith', '场景背景图'),
|
|
314
|
+
edge('collect-match-scroll-gameplay', 'mahjong-scroll-bg-chibi', 'compatibleWith', '场景背景图'),
|
|
315
|
+
edge('collect-match-scroll-gameplay', 'mahjong-scroll-bg-dark', 'compatibleWith', '场景背景图'),
|
|
316
|
+
edge('collect-match-scroll-gameplay', 'mahjong-scroll-bg-default', 'compatibleWith', '场景背景图'),
|
|
317
|
+
edge('collect-match-scroll-gameplay', 'mahjong-scroll-bg-elder', 'compatibleWith', '场景背景图'),
|
|
318
|
+
edge('collect-match-scroll-gameplay', 'mahjong-scroll-bg-meditation', 'compatibleWith', '场景背景图'),
|
|
319
|
+
edge('collect-match-scroll-gameplay', 'mahjong-scroll-bg-nature', 'compatibleWith', '场景背景图'),
|
|
320
|
+
edge('collect-match-scroll-gameplay', 'mahjong-scroll-bg-wood', 'compatibleWith', '场景背景图'),
|
|
321
|
+
edge('collect-match-scroll-gameplay', 'mahjong-scroll-tile-chibi', 'compatibleWith', '牌面精灵图(11列×4行均匀网格,空帧32、43)'),
|
|
322
|
+
edge('collect-match-scroll-gameplay', 'mahjong-scroll-tile-dark', 'compatibleWith', '牌面精灵图(11列×4行均匀网格,空帧32、43)'),
|
|
323
|
+
edge('collect-match-scroll-gameplay', 'mahjong-scroll-tile-default', 'compatibleWith', '牌面精灵图(11列×4行均匀网格,空帧32、43)'),
|
|
324
|
+
edge('collect-match-scroll-gameplay', 'mahjong-scroll-tile-elder', 'compatibleWith', '牌面精灵图(11列×4行均匀网格,空帧32、43)'),
|
|
325
|
+
edge('collect-match-scroll-gameplay', 'mahjong-scroll-tile-meditation', 'compatibleWith', '牌面精灵图(11列×4行均匀网格,空帧32、43)'),
|
|
326
|
+
edge('collect-match-scroll-gameplay', 'mahjong-scroll-tile-nature', 'compatibleWith', '牌面精灵图(11列×4行均匀网格,空帧32、43)'),
|
|
327
|
+
edge('collect-match-scroll-gameplay', 'mahjong-scroll-tile-wood', 'compatibleWith', '牌面精灵图(11列×4行均匀网格,空帧32、43)'),
|
|
328
|
+
edge('collect-match-scroll-gameplay', 'tile-sheets-animals', 'compatibleWith', '牌面精灵图(11列×4行均匀网格,空帧32、43)'),
|
|
329
|
+
edge('collect-match-scroll-gameplay', 'tile-sheets-colorful', 'compatibleWith', '牌面精灵图(11列×4行均匀网格,空帧32、43)'),
|
|
330
|
+
edge('collect-match-scroll-gameplay', 'tile-sheets-gold', 'compatibleWith', '牌面精灵图(11列×4行均匀网格,空帧32、43)'),
|
|
331
|
+
edge('collect-match-scroll-gameplay', 'tile-sheets-normal', 'compatibleWith', '牌面精灵图(11列×4行均匀网格,空帧32、43)'),
|
|
332
|
+
edge('collect-match-scroll-gameplay', 'candy_tile', 'compatibleWith', '牌面精灵图(11列×4行均匀网格,空帧32、43)'),
|
|
333
|
+
edge('collect-match-scroll-gameplay', 'castle', 'compatibleWith', '场景背景图'),
|
|
334
|
+
edge('collect-match-scroll-gameplay', 'desert', 'compatibleWith', '场景背景图'),
|
|
335
|
+
edge('collect-match-scroll-gameplay', 'forest', 'compatibleWith', '场景背景图'),
|
|
336
|
+
edge('collect-match-scroll-gameplay', 'fruit_tile', 'compatibleWith', '牌面精灵图(11列×4行均匀网格,空帧32、43)'),
|
|
337
|
+
edge('collect-match-scroll-gameplay', 'jewel_tile', 'compatibleWith', '牌面精灵图(11列×4行均匀网格,空帧32、43)'),
|
|
338
|
+
edge('collect-match-scroll-gameplay', 'ocean', 'compatibleWith', '场景背景图'),
|
|
339
|
+
edge('cue-aim-line-phaser', 'pool-ball-physics', 'requires', 'pool-ball-physics'),
|
|
340
|
+
edge('cue-aim-line-phaser', 'pool-table-config', 'requires', 'pool-table-config'),
|
|
341
|
+
edge('eight_ball_pool', 'phaser', 'requires', 'engine'),
|
|
342
|
+
edge('eight_ball_pool', 'bg_music', 'compatibleWith', '背景循环音乐'),
|
|
343
|
+
edge('eight_ball_pool', 'calm_piano', 'compatibleWith', '背景循环音乐'),
|
|
344
|
+
edge('eight_ball_pool', 'cheerful_ukulele', 'compatibleWith', '背景循环音乐'),
|
|
345
|
+
edge('eight_ball_pool', 'energetic_electronic', 'compatibleWith', '背景循环音乐'),
|
|
346
|
+
edge('eight_ball_pool', 'game-backgrounds', 'compatibleWith', '台球桌背景图'),
|
|
347
|
+
edge('eight_ball_pool', 'mahjong-scroll-bg-chibi', 'compatibleWith', '台球桌背景图'),
|
|
348
|
+
edge('eight_ball_pool', 'mahjong-scroll-bg-dark', 'compatibleWith', '台球桌背景图'),
|
|
349
|
+
edge('eight_ball_pool', 'mahjong-scroll-bg-default', 'compatibleWith', '台球桌背景图'),
|
|
350
|
+
edge('eight_ball_pool', 'mahjong-scroll-bg-elder', 'compatibleWith', '台球桌背景图'),
|
|
351
|
+
edge('eight_ball_pool', 'mahjong-scroll-bg-meditation', 'compatibleWith', '台球桌背景图'),
|
|
352
|
+
edge('eight_ball_pool', 'mahjong-scroll-bg-nature', 'compatibleWith', '台球桌背景图'),
|
|
353
|
+
edge('eight_ball_pool', 'mahjong-scroll-bg-wood', 'compatibleWith', '台球桌背景图'),
|
|
354
|
+
edge('eight_ball_pool', 'billiards-shot-scene-phaser', 'requires', '核心打球场景(渲染、物理、瞄准、局内 HUD)'),
|
|
355
|
+
edge('eight_ball_pool', 'playable_end_screen_layout', 'compatibleWith', '可玩广告结算屏(含 CTA 按钮)'),
|
|
356
|
+
edge('eight_ball_pool', 'castle', 'compatibleWith', '台球桌背景图'),
|
|
357
|
+
edge('eight_ball_pool', 'desert', 'compatibleWith', '台球桌背景图'),
|
|
358
|
+
edge('eight_ball_pool', 'forest', 'compatibleWith', '台球桌背景图'),
|
|
359
|
+
edge('eight_ball_pool', 'lose_result_panel', 'compatibleWith', '失败反馈面板视觉'),
|
|
360
|
+
edge('eight_ball_pool', 'ocean', 'compatibleWith', '台球桌背景图'),
|
|
361
|
+
edge('eight_ball_pool', 'win_result_panel', 'compatibleWith', '通关反馈面板视觉'),
|
|
362
|
+
edge('eight_ball_pool', 'cta-play-button-phaser', 'requires', '游戏结束后的下载 CTA 按钮'),
|
|
363
|
+
edge('eight_ball_pool', 'hand-guide-overlay-phaser', 'requires', '新手引导手指浮层(首次进入时触发)'),
|
|
364
|
+
edge('eight_ball_pool', 'tutorial_overlay', 'compatibleWith', '新手引导浮层'),
|
|
365
|
+
edge('game_scene', 'phaser', 'requires', 'engine'),
|
|
366
|
+
edge('game_scene', 'grid_board_layout', 'requires', 'boardLayout'),
|
|
367
|
+
edge('game_scene', 'path_elimination_rules', 'requires', 'gameplay'),
|
|
368
|
+
edge('game_scene', 'phaser_scene_lifecycle', 'requires', 'lifecycle'),
|
|
369
|
+
edge('grid_board_layout', 'phaser', 'requires', 'engine'),
|
|
370
|
+
edge('grid_board_layout', 'responsive_2d_layout', 'requires', 'responsiveLayout'),
|
|
371
|
+
edge('layered-stack-board-phaser', 'mahjong-scroll-tile-chibi', 'compatibleWith', '牌面贴图组(colorfulTile/goldTile/animalsTile/normalTile)'),
|
|
372
|
+
edge('layered-stack-board-phaser', 'mahjong-scroll-tile-dark', 'compatibleWith', '牌面贴图组(colorfulTile/goldTile/animalsTile/normalTile)'),
|
|
373
|
+
edge('layered-stack-board-phaser', 'mahjong-scroll-tile-default', 'compatibleWith', '牌面贴图组(colorfulTile/goldTile/animalsTile/normalTile)'),
|
|
374
|
+
edge('layered-stack-board-phaser', 'mahjong-scroll-tile-elder', 'compatibleWith', '牌面贴图组(colorfulTile/goldTile/animalsTile/normalTile)'),
|
|
375
|
+
edge('layered-stack-board-phaser', 'mahjong-scroll-tile-meditation', 'compatibleWith', '牌面贴图组(colorfulTile/goldTile/animalsTile/normalTile)'),
|
|
376
|
+
edge('layered-stack-board-phaser', 'mahjong-scroll-tile-nature', 'compatibleWith', '牌面贴图组(colorfulTile/goldTile/animalsTile/normalTile)'),
|
|
377
|
+
edge('layered-stack-board-phaser', 'mahjong-scroll-tile-wood', 'compatibleWith', '牌面贴图组(colorfulTile/goldTile/animalsTile/normalTile)'),
|
|
378
|
+
edge('layered-stack-board-phaser', 'tile-effect-atlas', 'requires', 'tile-effect-atlas'),
|
|
379
|
+
edge('layered-stack-board-phaser', 'tile-sheets-animals', 'compatibleWith', '牌面贴图组(colorfulTile/goldTile/animalsTile/normalTile)'),
|
|
380
|
+
edge('layered-stack-board-phaser', 'tile-sheets-colorful', 'compatibleWith', '牌面贴图组(colorfulTile/goldTile/animalsTile/normalTile)'),
|
|
381
|
+
edge('layered-stack-board-phaser', 'tile-sheets-gold', 'compatibleWith', '牌面贴图组(colorfulTile/goldTile/animalsTile/normalTile)'),
|
|
382
|
+
edge('layered-stack-board-phaser', 'tile-sheets-normal', 'compatibleWith', '牌面贴图组(colorfulTile/goldTile/animalsTile/normalTile)'),
|
|
383
|
+
edge('layered-stack-board-phaser', 'layered-grid-layout', 'requires', 'layered-grid-layout'),
|
|
384
|
+
edge('layered-stack-board-phaser', 'tile-flip-animator-phaser', 'requires', 'tile-flip-animator-phaser'),
|
|
385
|
+
edge('layered-stack-board-phaser', 'tile-slot-storage-phaser', 'requires', 'collection target for tiles clicked on this board'),
|
|
386
|
+
edge('layered-stack-board-phaser', 'candy_tile', 'compatibleWith', '牌面贴图组(colorfulTile/goldTile/animalsTile/normalTile)'),
|
|
387
|
+
edge('layered-stack-board-phaser', 'fruit_tile', 'compatibleWith', '牌面贴图组(colorfulTile/goldTile/animalsTile/normalTile)'),
|
|
388
|
+
edge('layered-stack-board-phaser', 'jewel_tile', 'compatibleWith', '牌面贴图组(colorfulTile/goldTile/animalsTile/normalTile)'),
|
|
389
|
+
edge('level_state', 'phaser', 'requires', 'engine'),
|
|
390
|
+
edge('level_state', 'arrow_path_data_format', 'requires', 'levelData'),
|
|
391
|
+
edge('mahjong-match2-board-entity', 'mahjong-match2-gameplay-rule', 'requires', 'rule'),
|
|
392
|
+
edge('mahjong-match2-board-entity', 'mahjong-match2-tile-entity', 'requires', 'tileEntity'),
|
|
393
|
+
edge('mahjong-match2-core-rule', 'mahjong-board-layout-system', 'requires', 'tileEntity'),
|
|
394
|
+
edge('mahjong-match2-core-rule', 'mahjong-board-layout-system', 'requires', 'boardLayout'),
|
|
395
|
+
edge('mahjong-match2-core-rule', 'match-combo-effect-system', 'compatibleWith', 'comboEffect'),
|
|
396
|
+
edge('mahjong-match2-core-rule', 'tile-collision-fly-animation-phaser', 'compatibleWith', 'collisionAnimation'),
|
|
397
|
+
edge('mahjong-match2-core-rule', 'tile-fragment-explosion-phaser', 'compatibleWith', 'explosionEffect'),
|
|
398
|
+
edge('mahjong-match2-core-rule', 'countdown-ui-phaser', 'compatibleWith', 'countdownTimer'),
|
|
399
|
+
edge('mahjong-match2-core-rule', 'countdown_timer', 'compatibleWith', 'countdownTimer'),
|
|
400
|
+
edge('mahjong-match2-gameplay-rule', 'bg_music', 'compatibleWith', 'bgMusic'),
|
|
401
|
+
edge('mahjong-match2-gameplay-rule', 'calm_piano', 'compatibleWith', 'bgMusic'),
|
|
402
|
+
edge('mahjong-match2-gameplay-rule', 'cheerful_ukulele', 'compatibleWith', 'bgMusic'),
|
|
403
|
+
edge('mahjong-match2-gameplay-rule', 'energetic_electronic', 'compatibleWith', 'bgMusic'),
|
|
404
|
+
edge('mahjong-match2-gameplay-rule', 'game-backgrounds', 'compatibleWith', 'background'),
|
|
405
|
+
edge('mahjong-match2-gameplay-rule', 'mahjong-scroll-bg-chibi', 'compatibleWith', 'background'),
|
|
406
|
+
edge('mahjong-match2-gameplay-rule', 'mahjong-scroll-bg-dark', 'compatibleWith', 'background'),
|
|
407
|
+
edge('mahjong-match2-gameplay-rule', 'mahjong-scroll-bg-default', 'compatibleWith', 'background'),
|
|
408
|
+
edge('mahjong-match2-gameplay-rule', 'mahjong-scroll-bg-elder', 'compatibleWith', 'background'),
|
|
409
|
+
edge('mahjong-match2-gameplay-rule', 'mahjong-scroll-bg-meditation', 'compatibleWith', 'background'),
|
|
410
|
+
edge('mahjong-match2-gameplay-rule', 'mahjong-scroll-bg-nature', 'compatibleWith', 'background'),
|
|
411
|
+
edge('mahjong-match2-gameplay-rule', 'mahjong-scroll-bg-wood', 'compatibleWith', 'background'),
|
|
412
|
+
edge('mahjong-match2-gameplay-rule', 'castle', 'compatibleWith', 'background'),
|
|
413
|
+
edge('mahjong-match2-gameplay-rule', 'desert', 'compatibleWith', 'background'),
|
|
414
|
+
edge('mahjong-match2-gameplay-rule', 'forest', 'compatibleWith', 'background'),
|
|
415
|
+
edge('mahjong-match2-gameplay-rule', 'mahjong-match2-match-vfx', 'compatibleWith', 'matchVfx'),
|
|
416
|
+
edge('mahjong-match2-gameplay-rule', 'ocean', 'compatibleWith', 'background'),
|
|
417
|
+
edge('mahjong-match2-layout-castle', 'mahjong-board-layout-system', 'requires', 'boardLayoutSystem'),
|
|
418
|
+
edge('mahjong-match2-layout-duncher', 'mahjong-board-layout-system', 'requires', 'boardLayoutSystem'),
|
|
419
|
+
edge('mahjong-match2-layout-flat', 'mahjong-board-layout-system', 'requires', 'boardLayoutSystem'),
|
|
420
|
+
edge('mahjong-match2-layout-heart', 'mahjong-board-layout-system', 'requires', 'boardLayoutSystem'),
|
|
421
|
+
edge('mahjong-match2-layout-turtle', 'mahjong-board-layout-system', 'requires', 'boardLayoutSystem'),
|
|
422
|
+
edge('mahjong-match2-tile-entity', 'mahjong-match2-gameplay-rule', 'requires', 'rule'),
|
|
423
|
+
edge('mahjong-scroll-scene-phaser', 'bg_music', 'compatibleWith', '背景循环音乐'),
|
|
424
|
+
edge('mahjong-scroll-scene-phaser', 'button_click_sfx', 'compatibleWith', '按钮点击音效'),
|
|
425
|
+
edge('mahjong-scroll-scene-phaser', 'calm_piano', 'compatibleWith', '背景循环音乐'),
|
|
426
|
+
edge('mahjong-scroll-scene-phaser', 'cheerful_ukulele', 'compatibleWith', '背景循环音乐'),
|
|
427
|
+
edge('mahjong-scroll-scene-phaser', 'click_sfx', 'compatibleWith', '消除/点击音效'),
|
|
428
|
+
edge('mahjong-scroll-scene-phaser', 'energetic_electronic', 'compatibleWith', '背景循环音乐'),
|
|
429
|
+
edge('mahjong-scroll-scene-phaser', 'fail_sfx', 'compatibleWith', '失败音效'),
|
|
430
|
+
edge('mahjong-scroll-scene-phaser', 'game-backgrounds', 'compatibleWith', '场景背景图'),
|
|
431
|
+
edge('mahjong-scroll-scene-phaser', 'mahjong-scroll-bg-chibi', 'compatibleWith', '场景背景图'),
|
|
432
|
+
edge('mahjong-scroll-scene-phaser', 'mahjong-scroll-bg-dark', 'compatibleWith', '场景背景图'),
|
|
433
|
+
edge('mahjong-scroll-scene-phaser', 'mahjong-scroll-bg-default', 'compatibleWith', '场景背景图'),
|
|
434
|
+
edge('mahjong-scroll-scene-phaser', 'mahjong-scroll-bg-elder', 'compatibleWith', '场景背景图'),
|
|
435
|
+
edge('mahjong-scroll-scene-phaser', 'mahjong-scroll-bg-meditation', 'compatibleWith', '场景背景图'),
|
|
436
|
+
edge('mahjong-scroll-scene-phaser', 'mahjong-scroll-bg-nature', 'compatibleWith', '场景背景图'),
|
|
437
|
+
edge('mahjong-scroll-scene-phaser', 'mahjong-scroll-bg-wood', 'compatibleWith', '场景背景图'),
|
|
438
|
+
edge('mahjong-scroll-scene-phaser', 'mahjong-scroll-tile-chibi', 'compatibleWith', '牌面贴图组'),
|
|
439
|
+
edge('mahjong-scroll-scene-phaser', 'mahjong-scroll-tile-dark', 'compatibleWith', '牌面贴图组'),
|
|
440
|
+
edge('mahjong-scroll-scene-phaser', 'mahjong-scroll-tile-default', 'compatibleWith', '牌面贴图组'),
|
|
441
|
+
edge('mahjong-scroll-scene-phaser', 'mahjong-scroll-tile-elder', 'compatibleWith', '牌面贴图组'),
|
|
442
|
+
edge('mahjong-scroll-scene-phaser', 'mahjong-scroll-tile-meditation', 'compatibleWith', '牌面贴图组'),
|
|
443
|
+
edge('mahjong-scroll-scene-phaser', 'mahjong-scroll-tile-nature', 'compatibleWith', '牌面贴图组'),
|
|
444
|
+
edge('mahjong-scroll-scene-phaser', 'mahjong-scroll-tile-wood', 'compatibleWith', '牌面贴图组'),
|
|
445
|
+
edge('mahjong-scroll-scene-phaser', 'mistake_sfx', 'compatibleWith', '选错/阻挡音效'),
|
|
446
|
+
edge('mahjong-scroll-scene-phaser', 'success_sfx', 'compatibleWith', '胜利/通关音效'),
|
|
447
|
+
edge('mahjong-scroll-scene-phaser', 'tile-sheets-animals', 'compatibleWith', '牌面贴图组'),
|
|
448
|
+
edge('mahjong-scroll-scene-phaser', 'tile-sheets-colorful', 'compatibleWith', '牌面贴图组'),
|
|
449
|
+
edge('mahjong-scroll-scene-phaser', 'tile-sheets-gold', 'compatibleWith', '牌面贴图组'),
|
|
450
|
+
edge('mahjong-scroll-scene-phaser', 'tile-sheets-normal', 'compatibleWith', '牌面贴图组'),
|
|
451
|
+
edge('mahjong-scroll-scene-phaser', 'ui-interact-atlas', 'requires', 'ui-interact-atlas'),
|
|
452
|
+
edge('mahjong-scroll-scene-phaser', 'collect-match-scroll-gameplay', 'compatibleWith', '核心消除玩法规则(拾取三消类)'),
|
|
453
|
+
edge('mahjong-scroll-scene-phaser', 'layered-stack-board-phaser', 'requires', 'layered-stack-board-phaser'),
|
|
454
|
+
edge('mahjong-scroll-scene-phaser', 'mahjong-triple-elimination-rule', 'compatibleWith', '核心消除玩法规则(拾取三消类)'),
|
|
455
|
+
edge('mahjong-scroll-scene-phaser', 'match-combo-effect-system', 'compatibleWith', '分数显示 UI'),
|
|
456
|
+
edge('mahjong-scroll-scene-phaser', 'pick_and_match_rules', 'compatibleWith', '核心消除玩法规则(拾取三消类)'),
|
|
457
|
+
edge('mahjong-scroll-scene-phaser', 'tile-data-generator', 'requires', 'tile-data-generator'),
|
|
458
|
+
edge('mahjong-scroll-scene-phaser', 'web-audio-manager', 'compatibleWith', '游戏音效包'),
|
|
459
|
+
edge('mahjong-scroll-scene-phaser', 'web-audio-manager', 'requires', '音频管理器'),
|
|
460
|
+
edge('mahjong-scroll-scene-phaser', 'web-sfx-synthesizer', 'compatibleWith', '游戏音效包'),
|
|
461
|
+
edge('mahjong-scroll-scene-phaser', 'web-sfx-synthesizer', 'requires', '程序化 SFX 合成器'),
|
|
462
|
+
edge('mahjong-scroll-scene-phaser', 'candy_tile', 'compatibleWith', '牌面贴图组'),
|
|
463
|
+
edge('mahjong-scroll-scene-phaser', 'castle', 'compatibleWith', '场景背景图'),
|
|
464
|
+
edge('mahjong-scroll-scene-phaser', 'desert', 'compatibleWith', '场景背景图'),
|
|
465
|
+
edge('mahjong-scroll-scene-phaser', 'forest', 'compatibleWith', '场景背景图'),
|
|
466
|
+
edge('mahjong-scroll-scene-phaser', 'fruit_tile', 'compatibleWith', '牌面贴图组'),
|
|
467
|
+
edge('mahjong-scroll-scene-phaser', 'jewel_tile', 'compatibleWith', '牌面贴图组'),
|
|
468
|
+
edge('mahjong-scroll-scene-phaser', 'ocean', 'compatibleWith', '场景背景图'),
|
|
469
|
+
edge('mahjong-scroll-scene-phaser', 'countdown-ui-phaser', 'compatibleWith', '倒计时 UI'),
|
|
470
|
+
edge('mahjong-scroll-scene-phaser', 'cta-play-button-phaser', 'requires', 'cta-play-button-phaser'),
|
|
471
|
+
edge('mahjong-scroll-scene-phaser', 'game_over_panel', 'compatibleWith', '通关成功 UI'),
|
|
472
|
+
edge('mahjong-scroll-scene-phaser', 'graphics-helper-phaser', 'requires', 'graphics-helper-phaser'),
|
|
473
|
+
edge('mahjong-scroll-scene-phaser', 'hand-guide-overlay-phaser', 'requires', 'hand-guide-overlay-phaser'),
|
|
474
|
+
edge('mahjong-scroll-scene-phaser', 'score-ui-phaser', 'compatibleWith', '分数显示 UI'),
|
|
475
|
+
edge('mahjong-scroll-scene-phaser', 'countdown_timer', 'compatibleWith', '倒计时 UI'),
|
|
476
|
+
edge('mahjong-scroll-scene-phaser', 'heart_lives', 'compatibleWith', '脑力值指示 UI'),
|
|
477
|
+
edge('mahjong-scroll-scene-phaser', 'sound_utils', 'compatibleWith', '游戏音效包'),
|
|
478
|
+
edge('mahjong-tile-atlas-factory', 'mahjong-scroll-tile-chibi', 'requires', '待切割的统一牌面精灵图(tileTextureSet 资产)'),
|
|
479
|
+
edge('mahjong-tile-atlas-factory', 'mahjong-scroll-tile-dark', 'requires', '待切割的统一牌面精灵图(tileTextureSet 资产)'),
|
|
480
|
+
edge('mahjong-tile-atlas-factory', 'mahjong-scroll-tile-default', 'requires', '待切割的统一牌面精灵图(tileTextureSet 资产)'),
|
|
481
|
+
edge('mahjong-tile-atlas-factory', 'mahjong-scroll-tile-elder', 'requires', '待切割的统一牌面精灵图(tileTextureSet 资产)'),
|
|
482
|
+
edge('mahjong-tile-atlas-factory', 'mahjong-scroll-tile-meditation', 'requires', '待切割的统一牌面精灵图(tileTextureSet 资产)'),
|
|
483
|
+
edge('mahjong-tile-atlas-factory', 'mahjong-scroll-tile-nature', 'requires', '待切割的统一牌面精灵图(tileTextureSet 资产)'),
|
|
484
|
+
edge('mahjong-tile-atlas-factory', 'mahjong-scroll-tile-wood', 'requires', '待切割的统一牌面精灵图(tileTextureSet 资产)'),
|
|
485
|
+
edge('mahjong-tile-atlas-factory', 'tile-sheets-animals', 'requires', '待切割的统一牌面精灵图(tileTextureSet 资产)'),
|
|
486
|
+
edge('mahjong-tile-atlas-factory', 'tile-sheets-colorful', 'requires', '待切割的统一牌面精灵图(tileTextureSet 资产)'),
|
|
487
|
+
edge('mahjong-tile-atlas-factory', 'tile-sheets-gold', 'requires', '待切割的统一牌面精灵图(tileTextureSet 资产)'),
|
|
488
|
+
edge('mahjong-tile-atlas-factory', 'tile-sheets-normal', 'requires', '待切割的统一牌面精灵图(tileTextureSet 资产)'),
|
|
489
|
+
edge('mahjong-tile-atlas-factory', 'candy_tile', 'requires', '待切割的统一牌面精灵图(tileTextureSet 资产)'),
|
|
490
|
+
edge('mahjong-tile-atlas-factory', 'fruit_tile', 'requires', '待切割的统一牌面精灵图(tileTextureSet 资产)'),
|
|
491
|
+
edge('mahjong-tile-atlas-factory', 'jewel_tile', 'requires', '待切割的统一牌面精灵图(tileTextureSet 资产)'),
|
|
492
|
+
edge('mahjong-triple-elimination-rule', 'layered-grid-layout', 'semanticallyRelatedTo', '布局数据:MahjongLayoutConfig 格式,pyramid/heart 等预置布局'),
|
|
493
|
+
edge('mahjong-triple-elimination-rule', 'layered-stack-board-phaser', 'semanticallyRelatedTo', 'Board 实体:多层布局、AABB 遮挡判定、牌面分配(easy/normal)'),
|
|
494
|
+
edge('mahjong-triple-elimination-rule', 'tile-flip-animator-phaser', 'semanticallyRelatedTo', 'Tile 实体:翻牌状态机、遮挡/双边锁定检测、setOnFail 回调'),
|
|
495
|
+
edge('mahjong-triple-elimination-rule', 'tile-slot-storage-phaser', 'semanticallyRelatedTo', '槽位系统:配对检测、消除动画、连击计数、满槽检测,回调驱动输出'),
|
|
496
|
+
edge('mahjong-triple-elimination-rule', 'mahjong-elimination-effects', 'compatibleWith', '消除粒子特效(碎片/花瓣/菊花散射)'),
|
|
497
|
+
edge('mahjong-triple-elimination-rule', 'mahjong-streak-celebration', 'compatibleWith', '连击庆祝特效(碎片雨+彩带炮+IP弹出)'),
|
|
498
|
+
edge('mahjong-triple-match-scene-phaser', 'mahjong-scroll-tile-chibi', 'compatibleWith', '麻将牌面贴图组'),
|
|
499
|
+
edge('mahjong-triple-match-scene-phaser', 'mahjong-scroll-tile-dark', 'compatibleWith', '麻将牌面贴图组'),
|
|
500
|
+
edge('mahjong-triple-match-scene-phaser', 'mahjong-scroll-tile-default', 'compatibleWith', '麻将牌面贴图组'),
|
|
501
|
+
edge('mahjong-triple-match-scene-phaser', 'mahjong-scroll-tile-elder', 'compatibleWith', '麻将牌面贴图组'),
|
|
502
|
+
edge('mahjong-triple-match-scene-phaser', 'mahjong-scroll-tile-meditation', 'compatibleWith', '麻将牌面贴图组'),
|
|
503
|
+
edge('mahjong-triple-match-scene-phaser', 'mahjong-scroll-tile-nature', 'compatibleWith', '麻将牌面贴图组'),
|
|
504
|
+
edge('mahjong-triple-match-scene-phaser', 'mahjong-scroll-tile-wood', 'compatibleWith', '麻将牌面贴图组'),
|
|
505
|
+
edge('mahjong-triple-match-scene-phaser', 'tile-sheets-animals', 'compatibleWith', '麻将牌面贴图组'),
|
|
506
|
+
edge('mahjong-triple-match-scene-phaser', 'tile-sheets-colorful', 'compatibleWith', '麻将牌面贴图组'),
|
|
507
|
+
edge('mahjong-triple-match-scene-phaser', 'tile-sheets-gold', 'compatibleWith', '麻将牌面贴图组'),
|
|
508
|
+
edge('mahjong-triple-match-scene-phaser', 'tile-sheets-normal', 'compatibleWith', '麻将牌面贴图组'),
|
|
509
|
+
edge('mahjong-triple-match-scene-phaser', 'collect-match-scene-phaser', 'requires', 'skeleton'),
|
|
510
|
+
edge('mahjong-triple-match-scene-phaser', 'web-audio-manager', 'compatibleWith', '游戏音效包'),
|
|
511
|
+
edge('mahjong-triple-match-scene-phaser', 'web-sfx-synthesizer', 'compatibleWith', '游戏音效包'),
|
|
512
|
+
edge('mahjong-triple-match-scene-phaser', 'candy_tile', 'compatibleWith', '麻将牌面贴图组'),
|
|
513
|
+
edge('mahjong-triple-match-scene-phaser', 'fruit_tile', 'compatibleWith', '麻将牌面贴图组'),
|
|
514
|
+
edge('mahjong-triple-match-scene-phaser', 'jewel_tile', 'compatibleWith', '麻将牌面贴图组'),
|
|
515
|
+
edge('mahjong-triple-match-scene-phaser', 'claw-intro-animator-phaser', 'requires', 'clawIntro'),
|
|
516
|
+
edge('mahjong-triple-match-scene-phaser', 'door-open-animator-phaser', 'requires', 'doorOpen'),
|
|
517
|
+
edge('mahjong-triple-match-scene-phaser', 'pair-guide-phaser', 'requires', 'pairGuide'),
|
|
518
|
+
edge('mahjong-triple-match-scene-phaser', 'sound_utils', 'compatibleWith', '游戏音效包'),
|
|
519
|
+
edge('match3_core', 'phaser', 'requires', 'engine'),
|
|
520
|
+
edge('match3_core', 'bg_music', 'compatibleWith', '背景循环音乐'),
|
|
521
|
+
edge('match3_core', 'calm_piano', 'compatibleWith', '背景循环音乐'),
|
|
522
|
+
edge('match3_core', 'cheerful_ukulele', 'compatibleWith', '背景循环音乐'),
|
|
523
|
+
edge('match3_core', 'energetic_electronic', 'compatibleWith', '背景循环音乐'),
|
|
524
|
+
edge('match3_core', 'game-backgrounds', 'compatibleWith', '游戏背景图'),
|
|
525
|
+
edge('match3_core', 'level_data_pack', 'compatibleWith', '关卡数据包'),
|
|
526
|
+
edge('match3_core', 'mahjong-scroll-bg-chibi', 'compatibleWith', '游戏背景图'),
|
|
527
|
+
edge('match3_core', 'mahjong-scroll-bg-dark', 'compatibleWith', '游戏背景图'),
|
|
528
|
+
edge('match3_core', 'mahjong-scroll-bg-default', 'compatibleWith', '游戏背景图'),
|
|
529
|
+
edge('match3_core', 'mahjong-scroll-bg-elder', 'compatibleWith', '游戏背景图'),
|
|
530
|
+
edge('match3_core', 'mahjong-scroll-bg-meditation', 'compatibleWith', '游戏背景图'),
|
|
531
|
+
edge('match3_core', 'mahjong-scroll-bg-nature', 'compatibleWith', '游戏背景图'),
|
|
532
|
+
edge('match3_core', 'mahjong-scroll-bg-wood', 'compatibleWith', '游戏背景图'),
|
|
533
|
+
edge('match3_core', 'mahjong-scroll-tile-chibi', 'compatibleWith', '牌面贴图组(三消块的视觉贴图集)'),
|
|
534
|
+
edge('match3_core', 'mahjong-scroll-tile-dark', 'compatibleWith', '牌面贴图组(三消块的视觉贴图集)'),
|
|
535
|
+
edge('match3_core', 'mahjong-scroll-tile-default', 'compatibleWith', '牌面贴图组(三消块的视觉贴图集)'),
|
|
536
|
+
edge('match3_core', 'mahjong-scroll-tile-elder', 'compatibleWith', '牌面贴图组(三消块的视觉贴图集)'),
|
|
537
|
+
edge('match3_core', 'mahjong-scroll-tile-meditation', 'compatibleWith', '牌面贴图组(三消块的视觉贴图集)'),
|
|
538
|
+
edge('match3_core', 'mahjong-scroll-tile-nature', 'compatibleWith', '牌面贴图组(三消块的视觉贴图集)'),
|
|
539
|
+
edge('match3_core', 'mahjong-scroll-tile-wood', 'compatibleWith', '牌面贴图组(三消块的视觉贴图集)'),
|
|
540
|
+
edge('match3_core', 'tile-sheets-animals', 'compatibleWith', '牌面贴图组(三消块的视觉贴图集)'),
|
|
541
|
+
edge('match3_core', 'tile-sheets-colorful', 'compatibleWith', '牌面贴图组(三消块的视觉贴图集)'),
|
|
542
|
+
edge('match3_core', 'tile-sheets-gold', 'compatibleWith', '牌面贴图组(三消块的视觉贴图集)'),
|
|
543
|
+
edge('match3_core', 'tile-sheets-normal', 'compatibleWith', '牌面贴图组(三消块的视觉贴图集)'),
|
|
544
|
+
edge('match3_core', 'grid_board_layout', 'requires', 'boardLayout'),
|
|
545
|
+
edge('match3_core', 'candy_tile', 'compatibleWith', '牌面贴图组(三消块的视觉贴图集)'),
|
|
546
|
+
edge('match3_core', 'castle', 'compatibleWith', '游戏背景图'),
|
|
547
|
+
edge('match3_core', 'desert', 'compatibleWith', '游戏背景图'),
|
|
548
|
+
edge('match3_core', 'forest', 'compatibleWith', '游戏背景图'),
|
|
549
|
+
edge('match3_core', 'fruit_tile', 'compatibleWith', '牌面贴图组(三消块的视觉贴图集)'),
|
|
550
|
+
edge('match3_core', 'jewel_tile', 'compatibleWith', '牌面贴图组(三消块的视觉贴图集)'),
|
|
551
|
+
edge('match3_core', 'lose_result_panel', 'compatibleWith', '失败反馈面板视觉'),
|
|
552
|
+
edge('match3_core', 'ocean', 'compatibleWith', '游戏背景图'),
|
|
553
|
+
edge('match3_core', 'win_result_panel', 'compatibleWith', '通关反馈面板视觉'),
|
|
554
|
+
edge('memory_match', 'phaser', 'requires', 'engine'),
|
|
555
|
+
edge('memory_match', 'bg_music', 'compatibleWith', '背景循环音乐'),
|
|
556
|
+
edge('memory_match', 'calm_piano', 'compatibleWith', '背景循环音乐'),
|
|
557
|
+
edge('memory_match', 'cheerful_ukulele', 'compatibleWith', '背景循环音乐'),
|
|
558
|
+
edge('memory_match', 'energetic_electronic', 'compatibleWith', '背景循环音乐'),
|
|
559
|
+
edge('memory_match', 'game-backgrounds', 'compatibleWith', '游戏背景图'),
|
|
560
|
+
edge('memory_match', 'mahjong-scroll-bg-chibi', 'compatibleWith', '游戏背景图'),
|
|
561
|
+
edge('memory_match', 'mahjong-scroll-bg-dark', 'compatibleWith', '游戏背景图'),
|
|
562
|
+
edge('memory_match', 'mahjong-scroll-bg-default', 'compatibleWith', '游戏背景图'),
|
|
563
|
+
edge('memory_match', 'mahjong-scroll-bg-elder', 'compatibleWith', '游戏背景图'),
|
|
564
|
+
edge('memory_match', 'mahjong-scroll-bg-meditation', 'compatibleWith', '游戏背景图'),
|
|
565
|
+
edge('memory_match', 'mahjong-scroll-bg-nature', 'compatibleWith', '游戏背景图'),
|
|
566
|
+
edge('memory_match', 'mahjong-scroll-bg-wood', 'compatibleWith', '游戏背景图'),
|
|
567
|
+
edge('memory_match', 'mahjong-scroll-tile-chibi', 'compatibleWith', '卡牌正面贴图集'),
|
|
568
|
+
edge('memory_match', 'mahjong-scroll-tile-dark', 'compatibleWith', '卡牌正面贴图集'),
|
|
569
|
+
edge('memory_match', 'mahjong-scroll-tile-default', 'compatibleWith', '卡牌正面贴图集'),
|
|
570
|
+
edge('memory_match', 'mahjong-scroll-tile-elder', 'compatibleWith', '卡牌正面贴图集'),
|
|
571
|
+
edge('memory_match', 'mahjong-scroll-tile-meditation', 'compatibleWith', '卡牌正面贴图集'),
|
|
572
|
+
edge('memory_match', 'mahjong-scroll-tile-nature', 'compatibleWith', '卡牌正面贴图集'),
|
|
573
|
+
edge('memory_match', 'mahjong-scroll-tile-wood', 'compatibleWith', '卡牌正面贴图集'),
|
|
574
|
+
edge('memory_match', 'tile-sheets-animals', 'compatibleWith', '卡牌正面贴图集'),
|
|
575
|
+
edge('memory_match', 'tile-sheets-colorful', 'compatibleWith', '卡牌正面贴图集'),
|
|
576
|
+
edge('memory_match', 'tile-sheets-gold', 'compatibleWith', '卡牌正面贴图集'),
|
|
577
|
+
edge('memory_match', 'tile-sheets-normal', 'compatibleWith', '卡牌正面贴图集'),
|
|
578
|
+
edge('memory_match', 'playable_end_screen_layout', 'compatibleWith', '可玩广告结算屏(含 CTA 按钮)'),
|
|
579
|
+
edge('memory_match', 'candy_tile', 'compatibleWith', '卡牌正面贴图集'),
|
|
580
|
+
edge('memory_match', 'castle', 'compatibleWith', '游戏背景图'),
|
|
581
|
+
edge('memory_match', 'desert', 'compatibleWith', '游戏背景图'),
|
|
582
|
+
edge('memory_match', 'forest', 'compatibleWith', '游戏背景图'),
|
|
583
|
+
edge('memory_match', 'fruit_tile', 'compatibleWith', '卡牌正面贴图集'),
|
|
584
|
+
edge('memory_match', 'jewel_tile', 'compatibleWith', '卡牌正面贴图集'),
|
|
585
|
+
edge('memory_match', 'lose_result_panel', 'compatibleWith', '失败反馈面板视觉'),
|
|
586
|
+
edge('memory_match', 'ocean', 'compatibleWith', '游戏背景图'),
|
|
587
|
+
edge('memory_match', 'win_result_panel', 'compatibleWith', '通关反馈面板视觉'),
|
|
588
|
+
edge('memory_match', 'tutorial_overlay', 'compatibleWith', '新手引导浮层'),
|
|
589
|
+
edge('path_elimination_rules', 'phaser', 'requires', 'engine'),
|
|
590
|
+
edge('path_elimination_rules', 'bg_music', 'compatibleWith', '背景循环音乐'),
|
|
591
|
+
edge('path_elimination_rules', 'calm_piano', 'compatibleWith', '背景循环音乐'),
|
|
592
|
+
edge('path_elimination_rules', 'cheerful_ukulele', 'compatibleWith', '背景循环音乐'),
|
|
593
|
+
edge('path_elimination_rules', 'energetic_electronic', 'compatibleWith', '背景循环音乐'),
|
|
594
|
+
edge('path_elimination_rules', 'game-backgrounds', 'compatibleWith', '游戏背景图'),
|
|
595
|
+
edge('path_elimination_rules', 'level_data_pack', 'compatibleWith', '关卡数据包(RawLevelJson 数组)'),
|
|
596
|
+
edge('path_elimination_rules', 'mahjong-scroll-bg-chibi', 'compatibleWith', '游戏背景图'),
|
|
597
|
+
edge('path_elimination_rules', 'mahjong-scroll-bg-dark', 'compatibleWith', '游戏背景图'),
|
|
598
|
+
edge('path_elimination_rules', 'mahjong-scroll-bg-default', 'compatibleWith', '游戏背景图'),
|
|
599
|
+
edge('path_elimination_rules', 'mahjong-scroll-bg-elder', 'compatibleWith', '游戏背景图'),
|
|
600
|
+
edge('path_elimination_rules', 'mahjong-scroll-bg-meditation', 'compatibleWith', '游戏背景图'),
|
|
601
|
+
edge('path_elimination_rules', 'mahjong-scroll-bg-nature', 'compatibleWith', '游戏背景图'),
|
|
602
|
+
edge('path_elimination_rules', 'mahjong-scroll-bg-wood', 'compatibleWith', '游戏背景图'),
|
|
603
|
+
edge('path_elimination_rules', 'theme_variant', 'compatibleWith', '主题变体配置(颜色/关卡模式等)'),
|
|
604
|
+
edge('path_elimination_rules', 'arrow_path_data_format', 'requires', 'levelData'),
|
|
605
|
+
edge('path_elimination_rules', 'grid_board_layout', 'requires', 'boardLayout'),
|
|
606
|
+
edge('path_elimination_rules', 'castle', 'compatibleWith', '游戏背景图'),
|
|
607
|
+
edge('path_elimination_rules', 'desert', 'compatibleWith', '游戏背景图'),
|
|
608
|
+
edge('path_elimination_rules', 'forest', 'compatibleWith', '游戏背景图'),
|
|
609
|
+
edge('path_elimination_rules', 'lose_result_panel', 'compatibleWith', '失败反馈面板视觉'),
|
|
610
|
+
edge('path_elimination_rules', 'ocean', 'compatibleWith', '游戏背景图'),
|
|
611
|
+
edge('path_elimination_rules', 'win_result_panel', 'compatibleWith', '通关反馈面板视觉'),
|
|
612
|
+
edge('path_elimination_rules', 'level_lifecycle', 'requires', 'lifecycle'),
|
|
613
|
+
edge('path_elimination_rules', 'path_animation', 'requires', 'animator'),
|
|
614
|
+
edge('path_elimination_rules', 'path_input_handler', 'requires', 'input'),
|
|
615
|
+
edge('path_elimination_rules', 'path_renderer', 'requires', 'renderer'),
|
|
616
|
+
edge('phaser_scene_lifecycle', 'phaser', 'requires', 'engine'),
|
|
617
|
+
edge('phaser-preload-scene', 'phaser-responsive-scale', 'requires', 'phaser-responsive-scale'),
|
|
618
|
+
edge('pick_and_match_rules', 'phaser', 'requires', 'engine'),
|
|
619
|
+
edge('pick_and_match_rules', 'bg_music', 'compatibleWith', '背景循环音乐'),
|
|
620
|
+
edge('pick_and_match_rules', 'calm_piano', 'compatibleWith', '背景循环音乐'),
|
|
621
|
+
edge('pick_and_match_rules', 'cheerful_ukulele', 'compatibleWith', '背景循环音乐'),
|
|
622
|
+
edge('pick_and_match_rules', 'energetic_electronic', 'compatibleWith', '背景循环音乐'),
|
|
623
|
+
edge('pick_and_match_rules', 'game-backgrounds', 'compatibleWith', '游戏背景图'),
|
|
624
|
+
edge('pick_and_match_rules', 'level_data_pack', 'compatibleWith', '关卡数据包(物品布局定义数组)'),
|
|
625
|
+
edge('pick_and_match_rules', 'mahjong-scroll-bg-chibi', 'compatibleWith', '游戏背景图'),
|
|
626
|
+
edge('pick_and_match_rules', 'mahjong-scroll-bg-dark', 'compatibleWith', '游戏背景图'),
|
|
627
|
+
edge('pick_and_match_rules', 'mahjong-scroll-bg-default', 'compatibleWith', '游戏背景图'),
|
|
628
|
+
edge('pick_and_match_rules', 'mahjong-scroll-bg-elder', 'compatibleWith', '游戏背景图'),
|
|
629
|
+
edge('pick_and_match_rules', 'mahjong-scroll-bg-meditation', 'compatibleWith', '游戏背景图'),
|
|
630
|
+
edge('pick_and_match_rules', 'mahjong-scroll-bg-nature', 'compatibleWith', '游戏背景图'),
|
|
631
|
+
edge('pick_and_match_rules', 'mahjong-scroll-bg-wood', 'compatibleWith', '游戏背景图'),
|
|
632
|
+
edge('pick_and_match_rules', 'mahjong-scroll-tile-chibi', 'compatibleWith', '物品瓦片贴图集(颜色×形状组合的精灵图集)'),
|
|
633
|
+
edge('pick_and_match_rules', 'mahjong-scroll-tile-dark', 'compatibleWith', '物品瓦片贴图集(颜色×形状组合的精灵图集)'),
|
|
634
|
+
edge('pick_and_match_rules', 'mahjong-scroll-tile-default', 'compatibleWith', '物品瓦片贴图集(颜色×形状组合的精灵图集)'),
|
|
635
|
+
edge('pick_and_match_rules', 'mahjong-scroll-tile-elder', 'compatibleWith', '物品瓦片贴图集(颜色×形状组合的精灵图集)'),
|
|
636
|
+
edge('pick_and_match_rules', 'mahjong-scroll-tile-meditation', 'compatibleWith', '物品瓦片贴图集(颜色×形状组合的精灵图集)'),
|
|
637
|
+
edge('pick_and_match_rules', 'mahjong-scroll-tile-nature', 'compatibleWith', '物品瓦片贴图集(颜色×形状组合的精灵图集)'),
|
|
638
|
+
edge('pick_and_match_rules', 'mahjong-scroll-tile-wood', 'compatibleWith', '物品瓦片贴图集(颜色×形状组合的精灵图集)'),
|
|
639
|
+
edge('pick_and_match_rules', 'theme_variant', 'compatibleWith', '主题变体配置(颜色/物品视觉等)'),
|
|
640
|
+
edge('pick_and_match_rules', 'tile-sheets-animals', 'compatibleWith', '物品瓦片贴图集(颜色×形状组合的精灵图集)'),
|
|
641
|
+
edge('pick_and_match_rules', 'tile-sheets-colorful', 'compatibleWith', '物品瓦片贴图集(颜色×形状组合的精灵图集)'),
|
|
642
|
+
edge('pick_and_match_rules', 'tile-sheets-gold', 'compatibleWith', '物品瓦片贴图集(颜色×形状组合的精灵图集)'),
|
|
643
|
+
edge('pick_and_match_rules', 'tile-sheets-normal', 'compatibleWith', '物品瓦片贴图集(颜色×形状组合的精灵图集)'),
|
|
644
|
+
edge('pick_and_match_rules', 'grid_board_layout', 'requires', 'boardLayout'),
|
|
645
|
+
edge('pick_and_match_rules', 'candy_tile', 'compatibleWith', '物品瓦片贴图集(颜色×形状组合的精灵图集)'),
|
|
646
|
+
edge('pick_and_match_rules', 'castle', 'compatibleWith', '游戏背景图'),
|
|
647
|
+
edge('pick_and_match_rules', 'desert', 'compatibleWith', '游戏背景图'),
|
|
648
|
+
edge('pick_and_match_rules', 'forest', 'compatibleWith', '游戏背景图'),
|
|
649
|
+
edge('pick_and_match_rules', 'fruit_tile', 'compatibleWith', '物品瓦片贴图集(颜色×形状组合的精灵图集)'),
|
|
650
|
+
edge('pick_and_match_rules', 'jewel_tile', 'compatibleWith', '物品瓦片贴图集(颜色×形状组合的精灵图集)'),
|
|
651
|
+
edge('pick_and_match_rules', 'lose_result_panel', 'compatibleWith', '失败反馈面板视觉'),
|
|
652
|
+
edge('pick_and_match_rules', 'ocean', 'compatibleWith', '游戏背景图'),
|
|
653
|
+
edge('pick_and_match_rules', 'win_result_panel', 'compatibleWith', '通关反馈面板视觉'),
|
|
654
|
+
edge('playable_end_screen_layout', 'responsive_2d_layout', 'requires', 'layout'),
|
|
655
|
+
edge('playable_guidance_layer', 'responsive_2d_layout', 'requires', 'layout'),
|
|
656
|
+
edge('playable_hud_layout', 'responsive_2d_layout', 'requires', 'layout'),
|
|
657
|
+
edge('preloader_scene', 'phaser', 'requires', 'engine'),
|
|
658
|
+
edge('preloader_scene', 'phaser_scene_lifecycle', 'requires', 'lifecycle'),
|
|
659
|
+
edge('preloader_scene', 'loading_screen', 'compatibleWith', 'Loading 页面 UI 组件(logo/title/stars/desc/dots 动画)'),
|
|
660
|
+
edge('responsive_2d_layout', 'phaser', 'requires', 'engine'),
|
|
661
|
+
edge('screw_puzzle', 'phaser', 'requires', 'engine'),
|
|
662
|
+
edge('screw_puzzle', 'bg_music', 'compatibleWith', '背景循环音乐'),
|
|
663
|
+
edge('screw_puzzle', 'calm_piano', 'compatibleWith', '背景循环音乐'),
|
|
664
|
+
edge('screw_puzzle', 'cheerful_ukulele', 'compatibleWith', '背景循环音乐'),
|
|
665
|
+
edge('screw_puzzle', 'energetic_electronic', 'compatibleWith', '背景循环音乐'),
|
|
666
|
+
edge('screw_puzzle', 'game-backgrounds', 'compatibleWith', '游戏背景图'),
|
|
667
|
+
edge('screw_puzzle', 'mahjong-scroll-bg-chibi', 'compatibleWith', '游戏背景图'),
|
|
668
|
+
edge('screw_puzzle', 'mahjong-scroll-bg-dark', 'compatibleWith', '游戏背景图'),
|
|
669
|
+
edge('screw_puzzle', 'mahjong-scroll-bg-default', 'compatibleWith', '游戏背景图'),
|
|
670
|
+
edge('screw_puzzle', 'mahjong-scroll-bg-elder', 'compatibleWith', '游戏背景图'),
|
|
671
|
+
edge('screw_puzzle', 'mahjong-scroll-bg-meditation', 'compatibleWith', '游戏背景图'),
|
|
672
|
+
edge('screw_puzzle', 'mahjong-scroll-bg-nature', 'compatibleWith', '游戏背景图'),
|
|
673
|
+
edge('screw_puzzle', 'mahjong-scroll-bg-wood', 'compatibleWith', '游戏背景图'),
|
|
674
|
+
edge('screw_puzzle', 'mahjong-scroll-tile-chibi', 'compatibleWith', '螺丝与零件贴图集'),
|
|
675
|
+
edge('screw_puzzle', 'mahjong-scroll-tile-dark', 'compatibleWith', '螺丝与零件贴图集'),
|
|
676
|
+
edge('screw_puzzle', 'mahjong-scroll-tile-default', 'compatibleWith', '螺丝与零件贴图集'),
|
|
677
|
+
edge('screw_puzzle', 'mahjong-scroll-tile-elder', 'compatibleWith', '螺丝与零件贴图集'),
|
|
678
|
+
edge('screw_puzzle', 'mahjong-scroll-tile-meditation', 'compatibleWith', '螺丝与零件贴图集'),
|
|
679
|
+
edge('screw_puzzle', 'mahjong-scroll-tile-nature', 'compatibleWith', '螺丝与零件贴图集'),
|
|
680
|
+
edge('screw_puzzle', 'mahjong-scroll-tile-wood', 'compatibleWith', '螺丝与零件贴图集'),
|
|
681
|
+
edge('screw_puzzle', 'tile-sheets-animals', 'compatibleWith', '螺丝与零件贴图集'),
|
|
682
|
+
edge('screw_puzzle', 'tile-sheets-colorful', 'compatibleWith', '螺丝与零件贴图集'),
|
|
683
|
+
edge('screw_puzzle', 'tile-sheets-gold', 'compatibleWith', '螺丝与零件贴图集'),
|
|
684
|
+
edge('screw_puzzle', 'tile-sheets-normal', 'compatibleWith', '螺丝与零件贴图集'),
|
|
685
|
+
edge('screw_puzzle', 'playable_end_screen_layout', 'compatibleWith', '可玩广告结算屏(含 CTA 按钮)'),
|
|
686
|
+
edge('screw_puzzle', 'candy_tile', 'compatibleWith', '螺丝与零件贴图集'),
|
|
687
|
+
edge('screw_puzzle', 'castle', 'compatibleWith', '游戏背景图'),
|
|
688
|
+
edge('screw_puzzle', 'desert', 'compatibleWith', '游戏背景图'),
|
|
689
|
+
edge('screw_puzzle', 'forest', 'compatibleWith', '游戏背景图'),
|
|
690
|
+
edge('screw_puzzle', 'fruit_tile', 'compatibleWith', '螺丝与零件贴图集'),
|
|
691
|
+
edge('screw_puzzle', 'jewel_tile', 'compatibleWith', '螺丝与零件贴图集'),
|
|
692
|
+
edge('screw_puzzle', 'lose_result_panel', 'compatibleWith', '失败反馈面板视觉'),
|
|
693
|
+
edge('screw_puzzle', 'ocean', 'compatibleWith', '游戏背景图'),
|
|
694
|
+
edge('screw_puzzle', 'win_result_panel', 'compatibleWith', '通关反馈面板视觉'),
|
|
695
|
+
edge('screw_puzzle', 'tutorial_overlay', 'compatibleWith', '新手引导浮层'),
|
|
696
|
+
edge('settings_state', 'phaser', 'requires', 'engine'),
|
|
697
|
+
edge('theme_state', 'phaser', 'requires', 'engine'),
|
|
698
|
+
edge('tile-flip-animator-phaser', 'mahjong-scroll-tile-chibi', 'compatibleWith', '牌面贴图组'),
|
|
699
|
+
edge('tile-flip-animator-phaser', 'mahjong-scroll-tile-dark', 'compatibleWith', '牌面贴图组'),
|
|
700
|
+
edge('tile-flip-animator-phaser', 'mahjong-scroll-tile-default', 'compatibleWith', '牌面贴图组'),
|
|
701
|
+
edge('tile-flip-animator-phaser', 'mahjong-scroll-tile-elder', 'compatibleWith', '牌面贴图组'),
|
|
702
|
+
edge('tile-flip-animator-phaser', 'mahjong-scroll-tile-meditation', 'compatibleWith', '牌面贴图组'),
|
|
703
|
+
edge('tile-flip-animator-phaser', 'mahjong-scroll-tile-nature', 'compatibleWith', '牌面贴图组'),
|
|
704
|
+
edge('tile-flip-animator-phaser', 'mahjong-scroll-tile-wood', 'compatibleWith', '牌面贴图组'),
|
|
705
|
+
edge('tile-flip-animator-phaser', 'tile-effect-atlas', 'requires', 'tile-effect-atlas'),
|
|
706
|
+
edge('tile-flip-animator-phaser', 'tile-sheets-animals', 'compatibleWith', '牌面贴图组'),
|
|
707
|
+
edge('tile-flip-animator-phaser', 'tile-sheets-colorful', 'compatibleWith', '牌面贴图组'),
|
|
708
|
+
edge('tile-flip-animator-phaser', 'tile-sheets-gold', 'compatibleWith', '牌面贴图组'),
|
|
709
|
+
edge('tile-flip-animator-phaser', 'tile-sheets-normal', 'compatibleWith', '牌面贴图组'),
|
|
710
|
+
edge('tile-flip-animator-phaser', 'candy_tile', 'compatibleWith', '牌面贴图组'),
|
|
711
|
+
edge('tile-flip-animator-phaser', 'fruit_tile', 'compatibleWith', '牌面贴图组'),
|
|
712
|
+
edge('tile-flip-animator-phaser', 'jewel_tile', 'compatibleWith', '牌面贴图组'),
|
|
713
|
+
edge('tile-slot-storage-phaser', 'tile-effect-atlas', 'requires', 'tile-effect-atlas'),
|
|
714
|
+
edge('tile-slot-storage-phaser', 'ui-interact-atlas', 'requires', 'UI 交互图集(连击庆祝用 ip/good 帧)'),
|
|
715
|
+
edge('tile-slot-storage-phaser', 'layered-stack-board-phaser', 'requires', 'source board providing tiles to collect'),
|
|
716
|
+
edge('tile-slot-storage-phaser', 'tile-flip-animator-phaser', 'requires', 'tile-flip-animator-phaser'),
|
|
717
|
+
edge('tile-slot-storage-phaser', 'mahjong-elimination-effects', 'compatibleWith', '消除粒子特效(碎片/花瓣/菊花散射)'),
|
|
718
|
+
edge('tile-slot-storage-phaser', 'mahjong-streak-celebration', 'compatibleWith', '连击庆祝特效(碎片雨+彩带炮+IP弹出)'),
|
|
719
|
+
edge('tile-slot-storage-phaser', 'match_engine', 'compatibleWith', '托盘 N 消匹配引擎'),
|
|
720
|
+
edge('combo-vfx', 'tile-eliminate-vfx', 'requires', 'Fires tileEliminateVFX:on_eliminated which combo-vfx listens to for screen position'),
|
|
721
|
+
edge('combo-vfx', 'tile-vfx', 'requires', 'All-in-one alternative that includes combo text functionality'),
|
|
722
|
+
edge('mahjong-match2-entrance-vfx', 'mahjong-match2-board-entity', 'requires', 'boardEntity'),
|
|
723
|
+
edge('mahjong-match2-match-vfx', 'mahjong-match2-tile-entity', 'requires', 'tile-entity'),
|
|
724
|
+
edge('slide_out_to_tray_animation', 'phaser', 'requires', 'engine'),
|
|
725
|
+
edge('slide_out_to_tray_animation', 'grid_board_layout', 'requires', 'boardLayout'),
|
|
726
|
+
edge('slide_out_to_tray_animation', 'tray_container', 'requires', 'tray'),
|
|
727
|
+
edge('tile-collision-fly-animation-phaser', 'mahjong-board-layout-system', 'requires', 'tileEntity'),
|
|
728
|
+
edge('tile-eliminate-vfx', 'combo-vfx', 'requires', 'Listens to tileEliminateVFX:on_eliminated to render combo text'),
|
|
729
|
+
edge('tile-eliminate-vfx', 'particle-system-2d', 'requires', 'Optional particle pool provider for scatter particles'),
|
|
730
|
+
edge('tile-eliminate-vfx', 'tile-vfx', 'requires', 'All-in-one alternative that includes this functionality'),
|
|
731
|
+
edge('tile-entrance-animation-phaser', 'mahjong-board-layout-system', 'requires', 'board'),
|
|
732
|
+
edge('tile-entrance-animation-phaser', 'mahjong-board-layout-system', 'requires', 'tileEntity'),
|
|
733
|
+
edge('tile-shuffle-vfx', 'tile-vfx', 'requires', 'All-in-one alternative that includes shuffle functionality'),
|
|
734
|
+
edge('tile-undo-vfx', 'tile-vfx', 'requires', 'All-in-one alternative that includes undo functionality'),
|
|
735
|
+
edge('tile-vfx', 'combo-vfx', 'requires', 'Separate combo-text-only variant of this extension'),
|
|
736
|
+
edge('tile-vfx', 'particle-system-2d', 'requires', 'Optional particle pool provider — used when available, fallback particles created otherwise'),
|
|
737
|
+
edge('tile-vfx', 'tile-eliminate-vfx', 'requires', 'Separate elimination-only variant of this extension'),
|
|
738
|
+
edge('tile-vfx', 'tile-shuffle-vfx', 'requires', 'Separate shuffle-only variant of this extension'),
|
|
739
|
+
edge('tile-vfx', 'tile-undo-vfx', 'requires', 'Separate undo-only variant of this extension'),
|
|
740
|
+
edge('claw-intro-animator-phaser', 'layered-stack-board-phaser', 'requires', 'layered-stack-board-phaser'),
|
|
741
|
+
edge('claw-intro-animator-phaser', 'tile-slot-storage-phaser', 'requires', 'tile-slot-storage-phaser'),
|
|
742
|
+
edge('claw-intro-animator-phaser', 'tile-slot-storage-phaser', 'requires', 'collection target receiving claw-grabbed tiles'),
|
|
743
|
+
edge('countdown-ui-phaser', 'mahjong-match2-gameplay-rule', 'requires', 'rule'),
|
|
744
|
+
edge('game_over_panel', 'mahjong-match2-gameplay-rule', 'requires', 'rule'),
|
|
745
|
+
edge('game_over_panel', 'lose_result_panel', 'compatibleWith', 'losePanel'),
|
|
746
|
+
edge('game_over_panel', 'win_result_panel', 'compatibleWith', 'winPanel'),
|
|
747
|
+
edge('mahjong-match2-hint-ui', 'mahjong-match2-tile-entity', 'requires', 'tileEntity'),
|
|
748
|
+
edge('pair-guide-phaser', 'ui-interact-atlas', 'requires', 'ui-interact-atlas'),
|
|
749
|
+
edge('pair-guide-phaser', 'layered-stack-board-phaser', 'requires', 'layered-stack-board-phaser'),
|
|
750
|
+
edge('pair-guide-phaser', 'layered-stack-board-phaser', 'requires', 'source board providing matchable tile pairs for guide targeting'),
|
|
751
|
+
edge('tray_container', 'phaser', 'requires', 'engine'),
|
|
752
|
+
edge('bottom_ui_bar', 'phaser', 'requires', 'engine'),
|
|
753
|
+
edge('bottom_ui_bar', 'responsive_2d_layout', 'requires', 'layout'),
|
|
754
|
+
edge('camera_controller_3d', 'threejs', 'requires', 'engine'),
|
|
755
|
+
edge('combo_display', 'phaser', 'requires', 'engine'),
|
|
756
|
+
edge('combo_praise_text', 'phaser', 'requires', 'engine'),
|
|
757
|
+
edge('countdown_timer', 'phaser', 'requires', 'engine'),
|
|
758
|
+
edge('countdown_timer', 'time_icon', 'compatibleWith', '倒计时时钟图标'),
|
|
759
|
+
edge('countdown_timer', 'digit_renderer', 'requires', 'digitRenderer'),
|
|
760
|
+
edge('digit_renderer', 'phaser', 'requires', 'engine'),
|
|
761
|
+
edge('download_button', 'phaser', 'requires', 'engine'),
|
|
762
|
+
edge('heart_lives', 'phaser', 'requires', 'engine'),
|
|
763
|
+
edge('level_lifecycle', 'phaser', 'requires', 'engine'),
|
|
764
|
+
edge('level_lifecycle', 'fail_sfx', 'compatibleWith', '关卡失败音效'),
|
|
765
|
+
edge('level_lifecycle', 'lose_sfx', 'compatibleWith', '生命耗尽/游戏结束音效'),
|
|
766
|
+
edge('level_lifecycle', 'success_sfx', 'compatibleWith', '关卡通关成功音效'),
|
|
767
|
+
edge('level_lifecycle', 'level_state', 'requires', 'levelState'),
|
|
768
|
+
edge('level_lifecycle', 'nomove_hint_overlay', 'compatibleWith', '危险提示全屏闪光覆盖层图片'),
|
|
769
|
+
edge('level_lifecycle', 'game_over_panel', 'compatibleWith', '游戏结束面板组件(胜利/失败结果展示)'),
|
|
770
|
+
edge('loading_screen', 'phaser', 'requires', 'engine'),
|
|
771
|
+
edge('loading_screen', 'responsive_2d_layout', 'requires', 'layout'),
|
|
772
|
+
edge('loading_screen', 'playable_app_logo', 'compatibleWith', '应用 logo 图片(每次投放不同)'),
|
|
773
|
+
edge('path_animation', 'phaser', 'requires', 'engine'),
|
|
774
|
+
edge('path_animation', 'normal_dot', 'compatibleWith', '普通消除粒子特效图片资产'),
|
|
775
|
+
edge('path_animation', 'normal_dot', 'compatibleWith', '胜利钻石粒子特效图片资产'),
|
|
776
|
+
edge('path_animation', 'path_renderer', 'requires', 'renderer'),
|
|
777
|
+
edge('path_input_handler', 'phaser', 'requires', 'engine'),
|
|
778
|
+
edge('path_input_handler', 'appear_sfx', 'compatibleWith', '新元素出现/弹出音效'),
|
|
779
|
+
edge('path_input_handler', 'arrow_move_error_sfx', 'compatibleWith', '箭头移动错误音效'),
|
|
780
|
+
edge('path_input_handler', 'click_sfx', 'compatibleWith', '点击/选中路径头部音效'),
|
|
781
|
+
edge('path_input_handler', 'mistake_sfx', 'compatibleWith', '操作错误/无效移动音效'),
|
|
782
|
+
edge('path_input_handler', 'grid_board_layout', 'requires', 'boardLayout'),
|
|
783
|
+
edge('path_input_handler', 'path_renderer', 'requires', 'renderer'),
|
|
784
|
+
edge('path_renderer', 'phaser', 'requires', 'engine'),
|
|
785
|
+
edge('path_renderer', 'arrow_path_data_format', 'requires', 'levelData'),
|
|
786
|
+
edge('path_renderer', 'theme_state', 'requires', 'themeState'),
|
|
787
|
+
edge('playable_scripts_build', 'phaser', 'requires', 'engine'),
|
|
788
|
+
edge('progress_bar', 'phaser', 'requires', 'engine'),
|
|
789
|
+
edge('sound_utils', 'phaser', 'requires', 'engine'),
|
|
790
|
+
edge('top_ui_bar', 'phaser', 'requires', 'engine'),
|
|
791
|
+
edge('top_ui_bar', 'responsive_2d_layout', 'requires', 'layout'),
|
|
792
|
+
edge('tutorial_overlay', 'phaser', 'requires', 'engine'),
|
|
793
|
+
edge('tutorial_overlay', 'figer_icon', 'compatibleWith', '引导手指图标'),
|
|
289
794
|
],
|
|
290
795
|
};
|
|
291
796
|
//# sourceMappingURL=basic-atom-graph.js.map
|