Files
codex-bot 21439d4c4d
Verify Tessera GUI / verify (push) Failing after 1m30s
docs: render UML diagrams and embed portable previews
2026-10-25 22:09:47 +08:00

1 line
15 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 999 785" width="999" height="785"><rect x="0" y="0" width="100%" height="100%" fill="#FFFFFF"/><defs/><g><g class="title" data-source-line="6"><text x="291.92" y="22.67" font-size="14" fill="#000000" xml:space="preserve" style="white-space: pre" font-weight="bold" font-family="Arial">Tessera — implemented components (principal runtime flows)</text></g><g class="entity" data-qualified-name="Shell" id="ent0001" data-source-line="7"><rect x="118.78" y="43.64" width="238.44" height="61.28" rx="2.5" ry="2.5" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><rect x="337.22" y="48.64" width="15" height="10" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><rect x="335.22" y="50.64" width="4" height="2" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><rect x="335.22" y="54.64" width="4" height="2" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><text x="133.78" y="76.31" font-size="14" fill="#000000" xml:space="preserve" style="white-space: pre" font-family="Arial">shell</text><text x="133.78" y="91.96" font-size="14" fill="#000000" xml:space="preserve" style="white-space: pre" font-family="Arial">windows / tabs / developer tools</text></g><g class="entity" data-qualified-name="API" id="ent0002" data-source-line="8"><rect x="329.41" y="181.92" width="131.18" height="61.28" rx="2.5" ry="2.5" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><rect x="440.59" y="186.92" width="15" height="10" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><rect x="438.59" y="188.92" width="4" height="2" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><rect x="438.59" y="192.92" width="4" height="2" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><text x="344.41" y="214.59" font-size="14" fill="#000000" xml:space="preserve" style="white-space: pre" font-family="Arial">runtime/api</text><text x="344.41" y="230.24" font-size="14" fill="#000000" xml:space="preserve" style="white-space: pre" font-family="Arial">HTTP + queue</text></g><g class="entity" data-qualified-name="Worker" id="ent0003" data-source-line="9"><rect x="380.98" y="320.2" width="166.05" height="61.28" rx="2.5" ry="2.5" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><rect x="527.03" y="325.2" width="15" height="10" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><rect x="525.03" y="327.2" width="4" height="2" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><rect x="525.03" y="331.2" width="4" height="2" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><text x="395.98" y="352.87" font-size="14" fill="#000000" xml:space="preserve" style="white-space: pre" font-family="Arial">runtime/api/worker</text><text x="395.98" y="368.52" font-size="14" fill="#000000" xml:space="preserve" style="white-space: pre" font-family="Arial">serial VM ownership</text></g><g class="entity" data-qualified-name="Bridge" id="ent0004" data-source-line="10"><rect x="551.18" y="458.49" width="209.63" height="61.28" rx="2.5" ry="2.5" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><rect x="740.81" y="463.49" width="15" height="10" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><rect x="738.81" y="465.49" width="4" height="2" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><rect x="738.81" y="469.49" width="4" height="2" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><text x="566.18" y="491.16" font-size="14" fill="#000000" xml:space="preserve" style="white-space: pre" font-family="Arial">bridge/ui_bridge</text><text x="566.18" y="506.81" font-size="14" fill="#000000" xml:space="preserve" style="white-space: pre" font-family="Arial">types / native calls / refresh</text></g><g class="entity" data-qualified-name="Model" id="ent0005" data-source-line="11"><rect x="553.12" y="596.77" width="205.76" height="61.28" rx="2.5" ry="2.5" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><rect x="738.88" y="601.77" width="15" height="10" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><rect x="736.88" y="603.77" width="4" height="2" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><rect x="736.88" y="607.77" width="4" height="2" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><text x="568.12" y="629.44" font-size="14" fill="#000000" xml:space="preserve" style="white-space: pre" font-family="Arial">model</text><text x="568.12" y="645.09" font-size="14" fill="#000000" xml:space="preserve" style="white-space: pre" font-family="Arial">objects / mounts / bindings</text></g><g class="entity" data-qualified-name="Render" id="ent0006" data-source-line="12"><rect x="117.35" y="596.77" width="193.3" height="61.28" rx="2.5" ry="2.5" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><rect x="290.65" y="601.77" width="15" height="10" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><rect x="288.65" y="603.77" width="4" height="2" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><rect x="288.65" y="607.77" width="4" height="2" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><text x="132.35" y="629.44" font-size="14" fill="#000000" xml:space="preserve" style="white-space: pre" font-family="Arial">render</text><text x="132.35" y="645.09" font-size="14" fill="#000000" xml:space="preserve" style="white-space: pre" font-family="Arial">layout / paint / hit / raster</text></g><g class="entity" data-qualified-name="Aster" id="ent0007" data-source-line="13"><rect x="795.58" y="458.49" width="194.85" height="61.28" rx="2.5" ry="2.5" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><rect x="970.43" y="463.49" width="15" height="10" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><rect x="968.43" y="465.49" width="4" height="2" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><rect x="968.43" y="469.49" width="4" height="2" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><text x="810.58" y="491.16" font-size="14" fill="#000000" xml:space="preserve" style="white-space: pre" font-family="Arial">Aster</text><text x="810.58" y="506.81" font-size="14" fill="#000000" xml:space="preserve" style="white-space: pre" font-family="Arial">frontend / compiler / core</text></g><g class="entity" data-qualified-name="IO" id="ent0008" data-source-line="14"><rect x="85.46" y="458.49" width="173.08" height="61.28" rx="2.5" ry="2.5" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><rect x="238.54" y="463.49" width="15" height="10" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><rect x="236.54" y="465.49" width="4" height="2" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><rect x="236.54" y="469.49" width="4" height="2" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><text x="100.46" y="491.16" font-size="14" fill="#000000" xml:space="preserve" style="white-space: pre" font-family="Arial">runtime/io_tasks</text><text x="100.46" y="506.81" font-size="14" fill="#000000" xml:space="preserve" style="white-space: pre" font-family="Arial">plain-data completion</text></g><g class="entity" data-qualified-name="State" id="ent0009" data-source-line="15"><path d="M293.64,468.99 C293.64,458.99 405,458.99 405,458.99 C405,458.99 516.37,458.99 516.37,468.99 L516.37,509.27 C516.37,519.27 405,519.27 405,519.27 C405,519.27 293.64,519.27 293.64,509.27 L293.64,468.99" fill="#F1F1F1" stroke="#181818" stroke-width="0.5"/><path d="M293.64,468.99 C293.64,478.99 405,478.99 405,478.99 C405,478.99 516.37,478.99 516.37,468.99" fill="#00000000" stroke="#181818" stroke-width="0.5"/><text x="303.64" y="495.66" font-size="14" fill="#000000" xml:space="preserve" style="white-space: pre" font-family="Arial">NamespaceState</text><text x="303.64" y="511.31" font-size="14" fill="#000000" xml:space="preserve" style="white-space: pre" font-family="Arial">owned document + frame values</text></g><g class="entity" data-qualified-name="GMN20" id="ent0021" data-source-line="27"><path d="M518.28,719.05 L518.28,775.97 A0,0 0 0 0 518.28,775.97 L793.73,775.97 A0,0 0 0 0 793.73,775.97 L793.73,729.05 L783.73,719.05 L660,719.05 L656,658.52 L652,719.05 L518.28,719.05 A0,0 0 0 0 518.28,719.05" fill="#FEFFDD" stroke="#181818" stroke-width="0.5"/><path d="M783.73,719.05 L783.73,729.05 L793.73,729.05 L783.73,719.05" fill="#FEFFDD" stroke="#181818" stroke-width="0.5"/><text x="524.28" y="736.72" font-size="14" fill="#000000" xml:space="preserve" style="white-space: pre" font-family="Arial">Directory groups are not separate crates.</text><text x="524.28" y="752.37" font-size="14" fill="#000000" xml:space="preserve" style="white-space: pre" font-family="Arial">Imports still cross groups; this is not</text><text x="524.28" y="768.01" font-size="14" fill="#000000" xml:space="preserve" style="white-space: pre" font-family="Arial">an exhaustive or acyclic import graph.</text></g><g class="link" data-entity-1="ent0001" data-entity-2="ent0002" id="lnk10" data-source-line="16" data-link-type="dependency"><path d="M272.45,105.1906 C298.54,127.8306 330.4434,155.5339 356.5834,178.2139" fill="none" stroke="#181818" stroke-width="1"/><polygon points="360.36,181.49 356.18,172.57 356.58,178.21 350.94,178.61 360.36,181.49" fill="#181818" stroke="#181818" stroke-width="1"/><text x="326.9" y="148.59" font-size="14" fill="#000000" xml:space="preserve" style="white-space: pre" font-family="Arial">serialized input / Console</text></g><g class="link" data-entity-1="ent0002" data-entity-2="ent0003" id="lnk11" data-source-line="17" data-link-type="dependency"><path d="M410.14,243.4706 C421.65,266.1906 435.1427,292.8391 446.6327,315.5491" fill="none" stroke="#181818" stroke-width="1"/><polygon points="448.89,320.01 448.4,310.17 446.63,315.55 441.26,313.79 448.89,320.01" fill="#181818" stroke="#181818" stroke-width="1"/><text x="434.63" y="286.87" font-size="14" fill="#000000" xml:space="preserve" style="white-space: pre" font-family="Arial">bounded BuildRequest queue</text></g><g class="link" data-entity-1="ent0003" data-entity-2="ent0007" id="lnk12" data-source-line="18" data-link-type="dependency"><path d="M547.19,358.3606 C612.25,365.6206 703.95,380.6806 779,411.4906 C807.02,422.9906 831.3023,438.9242 852.6923,455.1042" fill="none" stroke="#181818" stroke-width="1"/><polygon points="856.68,458.12 851.92,449.5 852.69,455.1 847.09,455.88 856.68,458.12" fill="#181818" stroke="#181818" stroke-width="1"/><text x="813.54" y="425.16" font-size="14" fill="#000000" xml:space="preserve" style="white-space: pre" font-family="Arial">compile / execute</text></g><g class="link" data-entity-1="ent0003" data-entity-2="ent0004" id="lnk13" data-source-line="19" data-link-type="dependency"><path d="M547.45,381.1606 C565.11,389.4406 582.94,399.5306 598,411.4906 C614.21,424.3506 625.567,438.5568 635.817,454.0968" fill="none" stroke="#181818" stroke-width="1"/><polygon points="638.57,458.27 636.95,448.56 635.82,454.1 630.28,452.96 638.57,458.27" fill="#181818" stroke="#181818" stroke-width="1"/><text x="616.11" y="425.16" font-size="14" fill="#000000" xml:space="preserve" style="white-space: pre" font-family="Arial">install / refresh / dispatch</text></g><g class="link" data-entity-1="ent0004" data-entity-2="ent0005" id="lnk14" data-source-line="20" data-link-type="dependency"><path d="M656,525.0306 C656,547.7606 656,568.8606 656,591.5706" fill="none" stroke="#181818" stroke-width="1"/><polygon points="656,520.03 652,529.03 656,525.03 660,529.03 656,520.03" fill="#181818" stroke="#181818" stroke-width="1"/><polygon points="656,596.57 660,587.57 656,591.57 652,587.57 656,596.57" fill="#181818" stroke="#181818" stroke-width="1"/><text x="657" y="563.44" font-size="14" fill="#000000" xml:space="preserve" style="white-space: pre" font-family="Arial">managed graph + dependencies</text></g><g class="link" data-entity-1="ent0004" data-entity-2="ent0006" id="lnk15" data-source-line="21" data-link-type="dependency"><path d="M558.45,520.2006 C484.86,542.9006 389.1379,572.407 315.6979,595.057" fill="none" stroke="#181818" stroke-width="1"/><polygon points="310.92,596.53 320.7,597.7 315.7,595.06 318.34,590.06 310.92,596.53" fill="#181818" stroke="#181818" stroke-width="1"/><text x="462.46" y="563.44" font-size="14" fill="#000000" xml:space="preserve" style="white-space: pre" font-family="Arial">derive frame</text></g><g class="link" data-entity-1="ent0003" data-entity-2="ent0009" id="lnk16" data-source-line="22" data-link-type="dependency"><path d="M451.05,381.7506 C441.15,404.6306 429.5466,431.4222 419.6966,454.1722" fill="none" stroke="#181818" stroke-width="1"/><polygon points="417.71,458.76 424.96,452.09 419.7,454.17 417.62,448.91 417.71,458.76" fill="#181818" stroke="#181818" stroke-width="1"/><text x="439.03" y="425.16" font-size="14" fill="#000000" xml:space="preserve" style="white-space: pre" font-family="Arial">validate epoch + publish</text></g><g class="link" data-entity-1="ent0009" data-entity-2="ent0001" id="lnk17" data-source-line="23" data-link-type="dependency"><path d="M294.03,458.4906 C280.8,450.7006 268.87,440.8806 260,428.4906 C188.82,329.0806 213.8814,175.6616 229.0714,110.1016" fill="none" stroke="#181818" stroke-width="1"/><polygon points="230.2,105.23 224.27,113.1 229.07,110.1 232.07,114.9 230.2,105.23" fill="#181818" stroke="#181818" stroke-width="1"/><text x="215.21" y="286.87" font-size="14" fill="#000000" xml:space="preserve" style="white-space: pre" font-family="Arial">immutable snapshot</text></g><g class="link" data-entity-1="ent0001" data-entity-2="ent0006" id="lnk18" data-source-line="24" data-link-type="dependency"><path d="M118.6,99.7206 C61.76,119.0406 6,152.9406 6,211.5606 C6,211.5606 6,211.5606 6,490.1306 C6,547.8706 58.0859,580.7486 112.3059,600.6386" fill="none" stroke="#181818" stroke-width="1"/><polygon points="117,602.36 109.93,595.51 112.31,600.64 107.17,603.02 117,602.36" fill="#181818" stroke="#181818" stroke-width="1"/><text x="7" y="356.02" font-size="14" fill="#000000" xml:space="preserve" style="white-space: pre" font-family="Arial">compose chrome + rasterize</text></g><g class="link" data-entity-1="ent0003" data-entity-2="ent0008" id="lnk19" data-source-line="25" data-link-type="dependency"><path d="M376.1497,378.7705 C348.3197,388.3005 322.2,398.4106 295,411.4906 C267.34,424.7906 242.2805,440.0626 219.2505,455.2926" fill="none" stroke="#181818" stroke-width="1"/><polygon points="380.88,377.15 371.07,376.28 376.15,378.77 373.66,383.85 380.88,377.15" fill="#181818" stroke="#181818" stroke-width="1"/><polygon points="215.08,458.05 224.79,456.42 219.25,455.29 220.38,449.75 215.08,458.05" fill="#181818" stroke="#181818" stroke-width="1"/><text x="296" y="425.16" font-size="14" fill="#000000" xml:space="preserve" style="white-space: pre" font-family="Arial">request / completion</text></g><?plantuml-src TLJ1RXCn4BtlLupA1LIr4H8dG4XjKKKEfLLRmILIDMjFiYPUstYy3U74H_25V0aptctPIYMATftCc_7CUy_chGi9C_RGejbkSXo2FOi-PdXnNZyDFo8ihN7mvJo6yXbxWfFiq3yVlt4_2Lw_cGMvGnjtBcnWZPwfAJ51YT36KgAakaock1YQueedk2LcoWX_Vlq6roTFFOL25apiKmooPdYPiWl69VIGXr2SDBJsSSUlcaSG7717tg-2x2kRCooWOAilI_VaOw8iFKJF1u0CDugT9qzb5vZSAdowlRs2G_W-q40LVdAr_0zuiOjvItaLP0HX2BvSGDm5ojovL5E_rlWykytERcWnkBjnjGfbdqWx3LZSFO51x_LdfdKcxcgPqmgTb-cZ9Hatjj-4JONtecTTjCA0a3zEUg6m9yrJiDgmntqSYi0Jkg3lpkap8nVADVMw8kUv9nfRXNKMsIKeS0qwBzpgCaziAUevlboyAyXRNeNaPTCZYmLh1K_gXvgyl6pqxnQPu42jnmaDtHGiGfHIQy56CwX7HA9rLdFUenze4bQ1JPKNZeu-g7Bm5aPnnASMnADrwhCOE7fg5A30KIV1jdei17WwE6-lIKp0PRH2Cs5gNPrHqDFyKf1-a1dA4z0ecg1Su2AY_jDKRUbaicAwPaAzruogbYJq670ZJMmofaxcj9HK33a3n0y9YXybaWHvgdKg7_CMAXyI5ugSrIMbQBHY6bhlk6j6G8LMqgJPlXz401cA0oRkOfdn-RXXbLSqCbsE8i7XP1pX-67xEj3oKh1vOd4n4xi9KVQTheIuddpwiTuDCUz1hwV4W9b0aAAWNYsIOVJ9nyrIjizYTovEMZCvCayvxw1qZa6-ajXW46Kw7BWUBRdhqEoDTqQl6YamCdpSg9krexy0?></g></svg>