chart-loop.html 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>达尔文.skill - Core Loop</title>
  6. <link rel="preconnect" href="https://fonts.googleapis.com">
  7. <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  8. <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800;900&display=swap" rel="stylesheet">
  9. <style>
  10. * { margin: 0; padding: 0; box-sizing: border-box; }
  11. html, body {
  12. width: 1200px;
  13. height: 500px;
  14. background: #111111;
  15. overflow: hidden;
  16. font-family: 'Inter', sans-serif;
  17. }
  18. </style>
  19. </head>
  20. <body>
  21. <svg width="1200" height="500" xmlns="http://www.w3.org/2000/svg">
  22. <defs>
  23. <!-- Arrow markers -->
  24. <marker id="arr-orange" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto">
  25. <polygon points="0 0, 10 3.5, 0 7" fill="#D4532B"/>
  26. </marker>
  27. <marker id="arr-green" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto">
  28. <polygon points="0 0, 10 3.5, 0 7" fill="#2B8A3E"/>
  29. </marker>
  30. <marker id="arr-red" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto">
  31. <polygon points="0 0, 10 3.5, 0 7" fill="#C92A2A"/>
  32. </marker>
  33. <marker id="arr-orange-up" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto">
  34. <polygon points="0 0, 10 3.5, 0 7" fill="#D4532B"/>
  35. </marker>
  36. </defs>
  37. <!-- Background -->
  38. <rect width="1200" height="500" fill="#111111"/>
  39. <!-- CORE LOOP label -->
  40. <text x="48" y="50" fill="#D4532B" font-family="Inter, sans-serif" font-size="11" font-weight="700" letter-spacing="3">CORE LOOP</text>
  41. <!--
  42. Layout plan (y-center = 200):
  43. Block width = 120, height = 70
  44. Gap between blocks = 36 (arrow)
  45. Decision diamond: center at x=750, size 90×90
  46. Blocks horizontal positions (left edge):
  47. B1 EVALUATE: x=48, center=108
  48. B2 IMPROVE: x=228, center=288
  49. B3 VALIDATE: x=408, center=468
  50. B4 CONFIRM: x=588, center=648
  51. Diamond: center=790
  52. YES block: x=958, center=1018 (top, y=145)
  53. NO block: x=958, center=1018 (bottom, y=255)
  54. All vertical center: y=200
  55. YES block center y = 160
  56. NO block center y = 260
  57. -->
  58. <!-- ======================== -->
  59. <!-- MAIN PROCESS BLOCKS -->
  60. <!-- ======================== -->
  61. <!-- B1: EVALUATE -->
  62. <rect x="48" y="165" width="124" height="70" fill="#FFFFFF"/>
  63. <text x="110" y="196" fill="#111111" font-family="Inter, sans-serif" font-size="13" font-weight="800" text-anchor="middle">EVALUATE</text>
  64. <text x="110" y="213" fill="#555555" font-family="Inter, sans-serif" font-size="10" font-weight="600" text-anchor="middle">评估当前技能</text>
  65. <!-- Arrow B1→B2 -->
  66. <line x1="172" y1="200" x2="204" y2="200" stroke="#D4532B" stroke-width="2" marker-end="url(#arr-orange)"/>
  67. <!-- B2: IMPROVE -->
  68. <rect x="210" y="165" width="124" height="70" fill="#FFFFFF"/>
  69. <text x="272" y="196" fill="#111111" font-family="Inter, sans-serif" font-size="13" font-weight="800" text-anchor="middle">IMPROVE</text>
  70. <text x="272" y="213" fill="#555555" font-family="Inter, sans-serif" font-size="10" font-weight="600" text-anchor="middle">生成改进方案</text>
  71. <!-- Arrow B2→B3 -->
  72. <line x1="334" y1="200" x2="366" y2="200" stroke="#D4532B" stroke-width="2" marker-end="url(#arr-orange)"/>
  73. <!-- B3: VALIDATE -->
  74. <rect x="372" y="165" width="124" height="70" fill="#FFFFFF"/>
  75. <text x="434" y="196" fill="#111111" font-family="Inter, sans-serif" font-size="13" font-weight="800" text-anchor="middle">VALIDATE</text>
  76. <text x="434" y="213" fill="#555555" font-family="Inter, sans-serif" font-size="10" font-weight="600" text-anchor="middle">实测验证效果</text>
  77. <!-- Arrow B3→B4 -->
  78. <line x1="496" y1="200" x2="528" y2="200" stroke="#D4532B" stroke-width="2" marker-end="url(#arr-orange)"/>
  79. <!-- B4: CONFIRM -->
  80. <rect x="534" y="165" width="124" height="70" fill="#FFFFFF"/>
  81. <text x="596" y="196" fill="#111111" font-family="Inter, sans-serif" font-size="13" font-weight="800" text-anchor="middle">CONFIRM</text>
  82. <text x="596" y="213" fill="#555555" font-family="Inter, sans-serif" font-size="10" font-weight="600" text-anchor="middle">人类确认结果</text>
  83. <!-- Arrow B4→Diamond -->
  84. <line x1="658" y1="200" x2="698" y2="200" stroke="#D4532B" stroke-width="2" marker-end="url(#arr-orange)"/>
  85. <!-- ======================== -->
  86. <!-- DECISION DIAMOND -->
  87. <!-- center: 790, 200 -->
  88. <!-- size: 96×80 -->
  89. <!-- ======================== -->
  90. <polygon points="790,152 838,200 790,248 742,200" fill="#D4532B"/>
  91. <text x="790" y="196" fill="#FFFFFF" font-family="Inter, sans-serif" font-size="12" font-weight="800" text-anchor="middle">SCORE</text>
  92. <text x="790" y="212" fill="#FFFFFF" font-family="Inter, sans-serif" font-size="12" font-weight="800" text-anchor="middle">UP?</text>
  93. <!-- ======================== -->
  94. <!-- YES PATH (top branch) -->
  95. <!-- ======================== -->
  96. <!-- YES PATH: diamond top → up → right to YES block -->
  97. <!-- Diamond top point: 790, 152 -->
  98. <path d="M790,152 L790,120 L954,120"
  99. stroke="#2B8A3E" stroke-width="2" fill="none" marker-end="url(#arr-green)"/>
  100. <!-- YES label -->
  101. <text x="860" y="113" fill="#2B8A3E" font-family="Inter, sans-serif" font-size="10" font-weight="700" letter-spacing="1" text-anchor="middle">YES</text>
  102. <!-- YES result block: KEEP / git commit -->
  103. <rect x="960" y="85" width="130" height="70" fill="#2B8A3E"/>
  104. <text x="1025" y="115" fill="#FFFFFF" font-family="Inter, sans-serif" font-size="13" font-weight="800" text-anchor="middle">KEEP</text>
  105. <text x="1025" y="133" fill="rgba(255,255,255,0.75)" font-family="Inter, sans-serif" font-size="10" font-weight="600" text-anchor="middle">git commit</text>
  106. <!-- ======================== -->
  107. <!-- NO PATH (bottom branch) -->
  108. <!-- ======================== -->
  109. <!-- NO PATH: diamond bottom → down → right to NO block -->
  110. <!-- Diamond bottom point: 790, 248 -->
  111. <path d="M790,248 L790,280 L954,280"
  112. stroke="#C92A2A" stroke-width="2" fill="none" marker-end="url(#arr-red)"/>
  113. <!-- NO label -->
  114. <text x="860" y="298" fill="#C92A2A" font-family="Inter, sans-serif" font-size="10" font-weight="700" letter-spacing="1" text-anchor="middle">NO</text>
  115. <!-- NO result block: REVERT / git revert -->
  116. <rect x="960" y="245" width="130" height="70" fill="#C92A2A"/>
  117. <text x="1025" y="275" fill="#FFFFFF" font-family="Inter, sans-serif" font-size="13" font-weight="800" text-anchor="middle">REVERT</text>
  118. <text x="1025" y="293" fill="rgba(255,255,255,0.75)" font-family="Inter, sans-serif" font-size="10" font-weight="600" text-anchor="middle">git revert</text>
  119. <!-- ======================== -->
  120. <!-- LOOP BACK ARROW -->
  121. <!-- from KEEP/REVERT → back to EVALUATE -->
  122. <!-- ======================== -->
  123. <!-- From right side of YES block (1090, 120) → right to 1155 → down to 420 → left to 48 → up to 200 (B1 left) -->
  124. <path d="M1090,120 L1155,120 L1155,420 L48,420 L48,235"
  125. stroke="#D4532B" stroke-width="2" fill="none" stroke-dasharray="6,4"/>
  126. <!-- Also from NO block right → join same vertical -->
  127. <path d="M1090,280 L1155,280"
  128. stroke="#D4532B" stroke-width="2" fill="none" stroke-dasharray="6,4"/>
  129. <!-- Arrow head pointing up at B1 left -->
  130. <polygon points="42,236 54,236 48,222" fill="#D4532B"/>
  131. <!-- LOOP BACK label along bottom -->
  132. <text x="590" y="448" fill="#444444" font-family="Inter, sans-serif" font-size="11" font-weight="600" text-anchor="middle" letter-spacing="3">LOOP BACK</text>
  133. <!-- ======================== -->
  134. <!-- STEP NUMBERS -->
  135. <!-- ======================== -->
  136. <text x="48" y="158" fill="#D4532B" font-family="Inter, sans-serif" font-size="10" font-weight="700">01</text>
  137. <text x="210" y="158" fill="#D4532B" font-family="Inter, sans-serif" font-size="10" font-weight="700">02</text>
  138. <text x="372" y="158" fill="#D4532B" font-family="Inter, sans-serif" font-size="10" font-weight="700">03</text>
  139. <text x="534" y="158" fill="#D4532B" font-family="Inter, sans-serif" font-size="10" font-weight="700">04</text>
  140. <text x="762" y="145" fill="#D4532B" font-family="Inter, sans-serif" font-size="10" font-weight="700" opacity="0.9">05</text>
  141. <!-- ======================== -->
  142. <!-- SUBTITLE TEXT -->
  143. <!-- ======================== -->
  144. <text x="48" y="476" fill="#333333" font-family="Inter, sans-serif" font-size="10" font-weight="600" letter-spacing="1">达尔文.skill</text>
  145. <text x="1152" y="476" fill="#333333" font-family="Inter, sans-serif" font-size="10" font-weight="600" text-anchor="end" letter-spacing="1">CONTINUOUS IMPROVEMENT ENGINE</text>
  146. </svg>
  147. </body>
  148. </html>