Initial import of HEROLL source and design documents

This commit is contained in:
toshiocn
2026-10-26 16:05:39 +08:00
commit fdb55672c1
1846 changed files with 290692 additions and 0 deletions
+15
View File
@@ -0,0 +1,15 @@
component,layer,reference_size_1080x1920,minimum_hit_area,outline,corner_radius,states,color_role,content_rule,motion_rule,acceptance
TopResourceChip,HUD,220x72,220x72,4px tinted ink,16px,normal/change/insufficient,currency,icon+value; max 7 digits; use compact suffix after 999999,change pulse 180ms; value roll 300ms,No clipping in CJK and 200% value test
PrimaryButton,HUD or Modal,360x112,360x112,6px outer + 2px inner highlight,20px,normal/hover/pressed/disabled/locked,primary gold or cyan,verb first; maximum 6 Chinese characters,press 70ms down + 110ms rebound,Disabled state still readable at 4.5:1
SecondaryButton,HUD or Modal,240x96,240x96,5px outer,18px,normal/pressed/disabled,slate violet,icon optional; never compete with primary,press 60ms down + 100ms rebound,Primary remains dominant in grayscale
DangerButton,Modal,240x96,240x96,5px outer,18px,normal/pressed/disabled,danger crimson,must include destructive verb and icon,press 60ms; no idle pulse,Not used for ordinary exit or back
ModalPanel,Modal,880xAuto,n/a,8px outer + 3px inner bevel,28px,enter/idle/exit,panel violet,one decision per modal; max two primary choices,enter 220ms overshoot; exit 160ms,Background dim 58-68%; no stacked modal
TutorialBubble,Modal,820x220,n/a,6px outer + 2px inner,24px,enter/idle/advance,warm parchment or violet,one sentence; highlight one keyword only,type or fade 180-260ms; pointer bounce 600ms,Pointer targets current control; text <= 44 Chinese chars
BoardNode,WorldUI,132x132,132x132,6px outer,50%,locked/current/cleared/reward/boss,node semantic,icon + ring + state badge; no text inside,unlock 300ms; reward pulse 900ms; current breathe 1200ms,Recognizable at 64x64 thumbnail
PathRibbon,WorldUI,72px width,n/a,4px shadow edge,36px,current/cleared/locked,path gold,current path saturated; cleared desaturated 25%,flow sweep 600ms only on unlock,Never overlaps tappable node center
TileCard,Choice,320x440,320x440,7px outer + quality frame,24px,normal/focused/selected/disabled,quality dual-code,title + icon + 2-line effect + cost,deal 180ms stagger; select 220ms,All candidates visible without horizontal scroll
RewardCard,Reward,280x390,280x390,7px outer + quality frame,24px,hidden/reveal/claimed,quality dual-code,icon occupies 52-60%; quantity bottom-right,common flip 250ms; legendary 633ms,Quality readable without glow and without color
StatusIcon,CombatHUD,72x72,88x88,3px outer,16px,active/expiring/stacked,status semantic,icon + stack count; timer ring outside,enter 120ms; expiry flash 300ms,At most 6 expanded; overflow collapses
BossGauge,CombatHUD,760x64,n/a,5px outer,20px,normal/phase/break/danger,boss crimson or biome accent,name + phase marks + HP; no decorative text,phase break 350ms; damage lag 220ms,Readable over all six biome palettes
Toast,HUD,680x92,n/a,4px outer,18px,info/success/warning/error,semantic neutral,one line + icon; no input,enter 180ms; hold 1400ms; exit 160ms,Does not cover dice button or boss tell
1 component layer reference_size_1080x1920 minimum_hit_area outline corner_radius states color_role content_rule motion_rule acceptance
2 TopResourceChip HUD 220x72 220x72 4px tinted ink 16px normal/change/insufficient currency icon+value; max 7 digits; use compact suffix after 999999 change pulse 180ms; value roll 300ms No clipping in CJK and 200% value test
3 PrimaryButton HUD or Modal 360x112 360x112 6px outer + 2px inner highlight 20px normal/hover/pressed/disabled/locked primary gold or cyan verb first; maximum 6 Chinese characters press 70ms down + 110ms rebound Disabled state still readable at 4.5:1
4 SecondaryButton HUD or Modal 240x96 240x96 5px outer 18px normal/pressed/disabled slate violet icon optional; never compete with primary press 60ms down + 100ms rebound Primary remains dominant in grayscale
5 DangerButton Modal 240x96 240x96 5px outer 18px normal/pressed/disabled danger crimson must include destructive verb and icon press 60ms; no idle pulse Not used for ordinary exit or back
6 ModalPanel Modal 880xAuto n/a 8px outer + 3px inner bevel 28px enter/idle/exit panel violet one decision per modal; max two primary choices enter 220ms overshoot; exit 160ms Background dim 58-68%; no stacked modal
7 TutorialBubble Modal 820x220 n/a 6px outer + 2px inner 24px enter/idle/advance warm parchment or violet one sentence; highlight one keyword only type or fade 180-260ms; pointer bounce 600ms Pointer targets current control; text <= 44 Chinese chars
8 BoardNode WorldUI 132x132 132x132 6px outer 50% locked/current/cleared/reward/boss node semantic icon + ring + state badge; no text inside unlock 300ms; reward pulse 900ms; current breathe 1200ms Recognizable at 64x64 thumbnail
9 PathRibbon WorldUI 72px width n/a 4px shadow edge 36px current/cleared/locked path gold current path saturated; cleared desaturated 25% flow sweep 600ms only on unlock Never overlaps tappable node center
10 TileCard Choice 320x440 320x440 7px outer + quality frame 24px normal/focused/selected/disabled quality dual-code title + icon + 2-line effect + cost deal 180ms stagger; select 220ms All candidates visible without horizontal scroll
11 RewardCard Reward 280x390 280x390 7px outer + quality frame 24px hidden/reveal/claimed quality dual-code icon occupies 52-60%; quantity bottom-right common flip 250ms; legendary 633ms Quality readable without glow and without color
12 StatusIcon CombatHUD 72x72 88x88 3px outer 16px active/expiring/stacked status semantic icon + stack count; timer ring outside enter 120ms; expiry flash 300ms At most 6 expanded; overflow collapses
13 BossGauge CombatHUD 760x64 n/a 5px outer 20px normal/phase/break/danger boss crimson or biome accent name + phase marks + HP; no decorative text phase break 350ms; damage lag 220ms Readable over all six biome palettes
14 Toast HUD 680x92 n/a 4px outer 18px info/success/warning/error semantic neutral one line + icon; no input enter 180ms; hold 1400ms; exit 160ms Does not cover dice button or boss tell