PageSourceSearch

https://spectrue.net/for-reviewers

html spectrue.net collected 2026-10-02 01:05:29 UTC 10,274 bytes, 264 lines download raw bytes

1<!doctype html>
2<html lang="en" data-i18n-ready="false">
3  <head>
4    <meta charset="utf-8" />
5    <meta name="viewport" content="width=device-width, initial-scale=1" />
6    <meta name="color-scheme" content="light dark" />
7    
7<script>
8      (function () {
9        try {
10          const savedTheme = localStorage.getItem('spectrue_theme');
11          const prefersDark = window.matchMedia(
12            '(prefers-color-scheme: dark)'
13          ).matches;
14          if (savedTheme === 'dark' || (!savedTheme && prefersDark)) {
15            document.documentElement.setAttribute('data-theme', 'dark');
16          }
17        } catch (e) {}
18
19        try {
20          const supportedLangs = [
21            'en',
22            'uk',
23            'de',
24            'es',
25            'fr',
26            'ja',
27            'zh',
28            'ru',
29          ];
30          const params = new URLSearchParams(location.search);
31          const urlLang = params.get('lang');
32          const savedLang = localStorage.getItem('spectrue_lang');
33          let detectedLang = 'en';
34
35          if (urlLang) {
36            const code = urlLang.split('-')[0];
37            if (supportedLangs.includes(code)) detectedLang = code;
38          } else if (savedLang && supportedLangs.includes(savedLang)) {
39            detectedLang = savedLang;
40          } else {
41            const langs = navigator.languages || [navigator.language];
42            for (const l of langs) {
43              const code = String(l).split('-')[0];
44              if (supportedLangs.includes(code)) {
45                detectedLang = code;
46                break;
47              }
48            }
49          }
50
51          document.documentElement.lang = detectedLang;
52          window.currentLocale = window.currentLocale || detectedLang;
53        } catch (e) {}
54      })();
55    </script>
55
56    <title data-i18n="nav.for_reviewers">For Reviewers — Spectrue</title>
57    <link rel="stylesheet" href="/css/variables.css?v=M42h_fix17" />
58    <link rel="stylesheet" href="/css/style.css?v=M42h_fix17" />
59    <link rel="icon" href="/favicon.ico" type="image/x-icon" />
60    
60<script type="module" src="/js/ui_theme.js?v=M42h_fix17"></script>
60
61    
61<script>
62      window.SPECTRUE = window.SPECTRUE || {};
63      window.SPECTRUE.cfg = { assetVersion: 'M42h_fix17', firebaseConfig: { apiKey: 'AIzaSyC9DL6NDtBiZFxsTU0H-t9mrprSUmzEm9A', authDomain: 'spectrue.net', projectId: 'spectrue-v2', storageBucket: 'spectrue-v2.firebasestorage.app', messagingSenderId: '147009414005', appId: '1:147009414005:web:4afbc01f7446e3e04ce93c', measurementId: 'G-WYSC3E6P9L' }, apiBase: (location.hostname === 'localhost' || location.hostname === '127.0.0.1') ? 'http://127.0.0.1:8000' : 'https://spectrue-api-v2-147009414005.europe-west1.run.app' };
64    </script>
64
65    
65<script type="module" src="/js/legal_app.js?v=M42h_fix17"></script>
65
66    <style>
67      .audience-note {
68        background: var(--bg-surface-subtle);
69        padding: 1rem;
70        border-radius: var(--radius-md);
71        margin-bottom: 1.5rem;
72        font-style: italic;
73        color: var(--fg-muted);
74      }
75    </style>
76  </head>
77
78  <body>
79    <select id="language-select" class="lang-select-fixed">
80      <option value="en">🇬🇧 English</option>
81      <option value="uk">🇺🇦 Українська</option>
82      <option value="de">🇩🇪 Deutsch</option>
83      <option value="es">🇪🇸 Español</option>
84      <option value="fr">🇫🇷 Français</option>
85      <option value="ja">🇯🇵 日本語</option>
86      <option value="zh">🇨🇳 中文</option>
87      <option value="ru">🇷🇺 Русский</option>
88    </select>
89    <button
90      id="theme-toggle"
91      class="icon-button"
92      aria-label="Toggle Theme"
93      style="position: fixed; top: 20px; right: 20px; z-index: 1000"
94    >
95      <svg class="icon theme-sun">
96        <use href="/assets/icons.svg#sun"></use>
97      </svg>
98      <svg class="icon theme-moon">
99        <use href="/assets/icons.svg#moon"></use>
100      </svg>
101    </button>
102    <div class="container">
103      <main
104        class="standalone-content"
105        style="max-width: 800px; margin: 40px auto"
106      >
107        <header
108          class="main-header"
109          style="
110            justify-content: center;
111            text-align: center;
112            flex-direction: column;
113          "
114        >
115          <a href="/" class="logo-link">
116            <img
117              src="/images/logo.svg"
118              alt="Spectrue Logo"
119              class="logo"
120              style="width: 150px; height: auto; margin-bottom: 10px"
121            />
122          </a>
123          <h1 data-i18n="nav.for_reviewers"></h1>
124        </header>
125
126        <div class="card">
127          <div
128            class="audience-note"
129            data-i18n="for_reviewers.audience_note"
130          ></div>
131
132          <h2 data-i18n="for_reviewers.what_is_title"></h2>
133
134          <p data-i18n="for_reviewers.what_is_intro"></p>
135
136          <p data-i18n="for_reviewers.not_title"></p>
137          <ul>
138            <li data-i18n="for_reviewers.not_list1"></li>
139            <li data-i18n="for_reviewers.not_list2"></li>
140            <li data-i18n="for_reviewers.not_list3"></li>
141            <li data-i18n="for_reviewers.not_list4"></li>
142          </ul>
143
144          <h2 data-i18n="for_reviewers.philosophy_title"></h2>
145
146          <p data-i18n="for_reviewers.philosophy_intro"></p>
147
148          <ul>
149            <li data-i18n="for_reviewers.philosophy_list1"></li>
150            <li data-i18n="for_reviewers.philosophy_list2"></li>
151            <li data-i18n="for_reviewers.philosophy_list3"></li>
152            <li data-i18n="for_reviewers.philosophy_list4"></li>
153          </ul>
154
155          <div
156            class="callout"
157            style="
158              background: var(--bg-surface-subtle);
159              border-left: 4px solid var(--color-primary);
160              padding: 1rem;
161              margin: 1rem 0;
162              border-radius: 0 var(--radius-md) var(--radius-md) 0;
163            "
164            data-i18n="for_reviewers.core_principle"
165          ></div>
166
167          <h2 data-i18n="for_reviewers.arch_title"></h2>
168
169          <h3 data-i18n="for_reviewers.pipeline_overview"></h3>
170          <ol>
171            <li data-i18n="for_reviewers.pipeline_step1"></li>
172            <li data-i18n="for_reviewers.pipeline_step2"></li>
173            <li data-i18n="for_reviewers.pipeline_step3"></li>
174            <li data-i18n="for_reviewers.pipeline_step4"></li>
175            <li data-i18n="for_reviewers.pipeline_step5"></li>
176            <li data-i18n="for_reviewers.pipeline_step6"></li>
177          </ol>
178
179          <h3 data-i18n="for_reviewers.rgba_framework"></h3>
180          <p data-i18n="for_reviewers.rgba_intro"></p>
181          <ul>
182            <li data-i18n="for_reviewers.rgba_r"></li>
183            <li data-i18n="for_reviewers.rgba_g"></li>
184            <li data-i18n="for_reviewers.rgba_b"></li>
185            <li data-i18n="for_reviewers.rgba_a"></li>
186          </ul>
187
188          <h2 data-i18n="for_reviewers.outputs_title"></h2>
189
190          <h3 data-i18n="for_reviewers.normal_behavior"></h3>
191          <ul>
192            <li data-i18n="for_reviewers.normal_list1"></li>
193            <li data-i18n="for_reviewers.normal_list2"></li>
194            <li data-i18n="for_reviewers.normal_list3"></li>
195            <li data-i18n="for_reviewers.normal_list4"></li>
196          </ul>
197
198          <h3 data-i18n="for_reviewers.limitations"></h3>
199          <ul>
200            <li data-i18n="for_reviewers.limitations_list1"></li>
201            <li data-i18n="for_reviewers.limitations_list2"></li>
202            <li data-i18n="for_reviewers.limitations_list3"></li>
203            <li data-i18n="for_reviewers.limitations_list4"></li>
204          </ul>
205
206          <h2 data-i18n="for_reviewers.opensource_title"></h2>
207
208          <p data-i18n="for_reviewers.opensource_desc"></p>
209          <ul>
210            <li data-i18n="for_reviewers.opensource_list1"></li>
211            <li data-i18n="for_reviewers.opensource_list2"></li>
212            <li data-i18n="for_reviewers.opensource_list3"></li>
213            <li data-i18n="for_reviewers.opensource_list4"></li>
214          </ul>
215
216          <div
217            class="callout"
218            style="
219              background: var(--bg-surface-subtle);
220              border-left: 4px solid var(--color-info, var(--color-primary));
221              padding: 1rem;
222              margin: 1rem 0;
223              border-radius: 0 var(--radius-md) var(--radius-md) 0;
224            "
225            data-i18n="for_reviewers.opensource_note"
226          ></div>
227
228          <h2 data-i18n="for_reviewers.eval_criteria_title"></h2>
229
230          <p data-i18n="for_reviewers.eval_intro"></p>
231          <ul>
232            <li data-i18n="for_reviewers.eval_list1"></li>
233            <li data-i18n="for_reviewers.eval_list2"></li>
234            <li data-i18n="for_reviewers.eval_list3"></li>
235            <li data-i18n="for_reviewers.eval_list4"></li>
236            <li data-i18n="for_reviewers.eval_list5"></li>
237          </ul>
238
239          <h2 data-i18n="for_reviewers.contact_title"></h2>
240
241          <p data-i18n="for_reviewers.contact_text"></p>
242        </div>
243
244        <footer class="main-footer">
245          <a href="/" data-i18n="legal.back_link"></a>
246          <span>&middot;</span>
247          <a href="/docs" data-i18n="nav.docs"></a>
248          <span>&middot;</span>
249          <a href="/how-to-read" data-i18n="nav.how_to_read"></a>
250          <span>&middot;</span>
251          <a href="/how-it-works" data-i18n="nav.how_it_works"></a>
252          <span>&middot;</span>
253          <a href="/for-reviewers" data-i18n="nav.for_reviewers"></a>
254          <span>&middot;</span>
255          <a href="/terms.html" data-i18n="legal.terms_link_short"></a>
256          <span>&middot;</span>
257          <a href="/privacy.html" data-i18n="legal.privacy_link_short"></a>
258          <span class="copyright">&copy; 2025 Ivan Bondarenko</span>
259        </footer>
260      </main>
261    </div>
262  
262<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"dcaea4398a5d4ef7a2efcfeb089093d3","r":1,"spa":2}' crossorigin="anonymous"></script>
262
263</body>
264</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.