60 lines
5.4 KiB
XML
60 lines
5.4 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 620" role="img" aria-labelledby="title desc">
|
|
<title id="title">Timeline deprecation от warning до removal gate</title>
|
|
<desc id="desc">Четыре отдельные стадии жизненного цикла API: warning, deprecation, sunset boundary и removal gate. Под каждой стадией указано, что она сообщает и чего не доказывает.</desc>
|
|
<rect width="800" height="620" fill="#111827"/>
|
|
<text x="48" y="55" fill="#f9fafb" font-family="Arial, sans-serif" font-size="28" font-weight="700">Lifecycle: signal не равен удалению</text>
|
|
<text x="48" y="84" fill="#cbd5e1" font-family="Arial, sans-serif" font-size="16">Каждая boundary отвечает на свой вопрос</text>
|
|
|
|
<line x1="93" y1="237" x2="710" y2="237" stroke="#64748b" stroke-width="6" stroke-linecap="round"/>
|
|
<circle cx="120" cy="237" r="18" fill="#38bdf8"/>
|
|
<circle cx="312" cy="237" r="18" fill="#818cf8"/>
|
|
<circle cx="504" cy="237" r="18" fill="#fbbf24"/>
|
|
<circle cx="696" cy="237" r="18" fill="#f472b6"/>
|
|
|
|
<rect x="48" y="124" width="144" height="79" rx="12" fill="#0c4a6e"/>
|
|
<text x="69" y="157" fill="#e0f2fe" font-family="Arial, sans-serif" font-size="18" font-weight="700">Warning</text>
|
|
<text x="69" y="184" fill="#bae6fd" font-family="Arial, sans-serif" font-size="14">guide + owner</text>
|
|
<rect x="240" y="124" width="144" height="79" rx="12" fill="#312e81"/>
|
|
<text x="259" y="157" fill="#e0e7ff" font-family="Arial, sans-serif" font-size="18" font-weight="700">Deprecated</text>
|
|
<text x="259" y="184" fill="#c7d2fe" font-family="Arial, sans-serif" font-size="14">contract / signal</text>
|
|
<rect x="432" y="124" width="144" height="79" rx="12" fill="#713f12"/>
|
|
<text x="452" y="157" fill="#fef3c7" font-family="Arial, sans-serif" font-size="18" font-weight="700">Sunset</text>
|
|
<text x="452" y="184" fill="#fde68a" font-family="Arial, sans-serif" font-size="14">planned boundary</text>
|
|
<rect x="624" y="124" width="144" height="79" rx="12" fill="#831843"/>
|
|
<text x="643" y="157" fill="#fce7f3" font-family="Arial, sans-serif" font-size="18" font-weight="700">Removal</text>
|
|
<text x="643" y="184" fill="#fbcfe8" font-family="Arial, sans-serif" font-size="14">separate review</text>
|
|
|
|
<rect x="48" y="290" width="144" height="164" rx="12" fill="#172554"/>
|
|
<text x="66" y="325" fill="#dbeafe" font-family="Arial, sans-serif" font-size="16" font-weight="700">Visible</text>
|
|
<text x="66" y="356" fill="#f8fafc" font-family="Arial, sans-serif" font-size="15">replacement</text>
|
|
<text x="66" y="382" fill="#f8fafc" font-family="Arial, sans-serif" font-size="15">affected scope</text>
|
|
<text x="66" y="419" fill="#93c5fd" font-family="Arial, sans-serif" font-size="14">Не доказывает:</text>
|
|
<text x="66" y="442" fill="#bfdbfe" font-family="Arial, sans-serif" font-size="14">notice прочитан</text>
|
|
|
|
<rect x="240" y="290" width="144" height="164" rx="12" fill="#312e81"/>
|
|
<text x="258" y="325" fill="#e0e7ff" font-family="Arial, sans-serif" font-size="16" font-weight="700">Visible</text>
|
|
<text x="258" y="356" fill="#f8fafc" font-family="Arial, sans-serif" font-size="15">deprecated state</text>
|
|
<text x="258" y="382" fill="#f8fafc" font-family="Arial, sans-serif" font-size="15">documentation link</text>
|
|
<text x="258" y="419" fill="#c7d2fe" font-family="Arial, sans-serif" font-size="14">Не доказывает:</text>
|
|
<text x="258" y="442" fill="#ddd6fe" font-family="Arial, sans-serif" font-size="14">migration done</text>
|
|
|
|
<rect x="432" y="290" width="144" height="164" rx="12" fill="#713f12"/>
|
|
<text x="450" y="325" fill="#fef3c7" font-family="Arial, sans-serif" font-size="16" font-weight="700">Visible</text>
|
|
<text x="450" y="356" fill="#f8fafc" font-family="Arial, sans-serif" font-size="15">planned date</text>
|
|
<text x="450" y="382" fill="#f8fafc" font-family="Arial, sans-serif" font-size="15">scope policy</text>
|
|
<text x="450" y="419" fill="#fde68a" font-family="Arial, sans-serif" font-size="14">Не доказывает:</text>
|
|
<text x="450" y="442" fill="#fef3c7" font-family="Arial, sans-serif" font-size="14">hard availability</text>
|
|
|
|
<rect x="624" y="290" width="144" height="164" rx="12" fill="#831843"/>
|
|
<text x="642" y="325" fill="#fce7f3" font-family="Arial, sans-serif" font-size="16" font-weight="700">Required</text>
|
|
<text x="642" y="356" fill="#f8fafc" font-family="Arial, sans-serif" font-size="15">evidence scope</text>
|
|
<text x="642" y="382" fill="#f8fafc" font-family="Arial, sans-serif" font-size="15">restore boundary</text>
|
|
<text x="642" y="419" fill="#fbcfe8" font-family="Arial, sans-serif" font-size="14">Не обещает:</text>
|
|
<text x="642" y="442" fill="#fce7f3" font-family="Arial, sans-serif" font-size="14">no hidden users</text>
|
|
|
|
<rect x="48" y="500" width="720" height="68" rx="12" fill="#0f172a" stroke="#64748b" stroke-width="2"/>
|
|
<text x="75" y="530" fill="#f8fafc" font-family="Arial, sans-serif" font-size="17" font-weight="700">Stop condition:</text>
|
|
<text x="218" y="530" fill="#cbd5e1" font-family="Arial, sans-serif" font-size="17">active or unresolved row → stop proposal, do not widen change.</text>
|
|
<text x="75" y="555" fill="#94a3b8" font-family="Arial, sans-serif" font-size="14">Даты на схеме не являются календарной политикой.</text>
|
|
</svg>
|