@resultsafe/core-fp-result 0.1.1 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.ru.md CHANGED
@@ -1,4 +1,5 @@
1
1
  # @resultsafe/core-fp-result
2
+
2
3
  <a id="top"></a>
3
4
 
4
5
  [![npm version](https://img.shields.io/npm/v/@resultsafe/core-fp-result.svg)](https://www.npmjs.com/package/@resultsafe/core-fp-result)
@@ -16,20 +17,32 @@ Rust-inspired Result-пакет для явных, композиционных
16
17
  **Документация:** [API index](./docs/api/README.md) · [Modules](./docs/api/modules.md)
17
18
 
18
19
  ---
20
+
19
21
  ## Содержание
20
22
 
21
- - [Зачем нужен этот пакет](#зачем-нужен-этот-пакет)
22
- - [Контекст monorepo](#контекст-monorepo)
23
- - [Ключевые возможности](#ключевые-возможности)
24
- - [Пакет](#пакет)
25
- - [Установка](#установка)
26
- - [Быстрый старт](#быстрый-старт)
27
- - [Обзор основного API](#обзор-основного-api)
28
- - [Форматы сборки и поставки](#форматы-сборки-и-поставки)
29
- - [Структура monorepo и пакета](#структура-monorepo-и-пакета)
30
- - [Когда использовать этот проект](#когда-использовать-этот-проект)
31
- - [Ссылки на документацию](#ссылки-на-документацию)
32
- - [License](#license)
23
+ - [@resultsafe/core-fp-result](#resultsafecore-fp-result)
24
+ - [Содержание](#содержание)
25
+ - [Зачем нужен этот пакет](#зачем-нужен-этот-пакет)
26
+ - [Контекст monorepo](#контекст-monorepo)
27
+ - [Ключевые возможности](#ключевые-возможности)
28
+ - [Пакет](#пакет)
29
+ - [`@resultsafe/core-fp-result`](#resultsafecore-fp-result-1)
30
+ - [Установка](#установка)
31
+ - [Пакет](#пакет-1)
32
+ - [Monorepo](#monorepo)
33
+ - [Быстрый старт](#быстрый-старт)
34
+ - [Базовый пример `Ok` / `Err`](#базовый-пример-ok--err)
35
+ - [Обзор основного API](#обзор-основного-api)
36
+ - [Constructors](#constructors)
37
+ - [Guards](#guards)
38
+ - [Methods](#methods)
39
+ - [Refiners](#refiners)
40
+ - [Type aliases](#type-aliases)
41
+ - [Форматы сборки и поставки](#форматы-сборки-и-поставки)
42
+ - [Структура monorepo и пакета](#структура-monorepo-и-пакета)
43
+ - [Когда использовать этот проект](#когда-использовать-этот-проект)
44
+ - [Ссылки на документацию](#ссылки-на-документацию)
45
+ - [License](#license)
33
46
 
34
47
  ---
35
48
 
@@ -111,11 +124,7 @@ pnpm install
111
124
  Типичный Result flow начинается с явных конструкторов и затем компонуется через функции, а не через неявные пути исключений.
112
125
 
113
126
  ```ts
114
- import {
115
- Ok,
116
- map,
117
- unwrapOr,
118
- } from "@resultsafe/core-fp-result";
127
+ import { Ok, map, unwrapOr } from '@resultsafe/core-fp-result';
119
128
 
120
129
  const initial = Ok(21);
121
130
  const doubled = map(initial, (value) => value * 2);
@@ -127,17 +136,19 @@ console.log(finalValue); // 42
127
136
  ### Базовый пример `Ok` / `Err`
128
137
 
129
138
  ```ts
130
- import { Ok, Err, match } from "@resultsafe/core-fp-result";
139
+ import { Ok, Err, match } from '@resultsafe/core-fp-result';
131
140
 
132
141
  const parsePort = (input: string) => {
133
142
  const port = Number(input);
134
- return Number.isInteger(port) && port > 0
135
- ? Ok(port)
136
- : Err("Invalid port");
143
+ return Number.isInteger(port) && port > 0 ? Ok(port) : Err('Invalid port');
137
144
  };
138
145
 
139
- const result = parsePort("3000");
140
- const message = match(result, (value) => `Port: ${value}`, (error) => `Error: ${error}`);
146
+ const result = parsePort('3000');
147
+ const message = match(
148
+ result,
149
+ (value) => `Port: ${value}`,
150
+ (error) => `Error: ${error}`,
151
+ );
141
152
 
142
153
  console.log(message);
143
154
  ```
@@ -257,6 +268,7 @@ src/
257
268
  - [Type aliases module](./docs/api/type-aliases/index.md)
258
269
 
259
270
  ---
271
+
260
272
  Наверх: [@resultsafe/core-fp-result](#top)
261
273
 
262
274
  ---
package/dist/README.ru.md CHANGED
@@ -1,4 +1,5 @@
1
1
  # @resultsafe/core-fp-result
2
+
2
3
  <a id="top"></a>
3
4
 
4
5
  [![npm version](https://img.shields.io/npm/v/@resultsafe/core-fp-result.svg)](https://www.npmjs.com/package/@resultsafe/core-fp-result)
@@ -16,20 +17,32 @@ Rust-inspired Result-пакет для явных, композиционных
16
17
  **Документация:** [API index](./docs/api/README.md) · [Modules](./docs/api/modules.md)
17
18
 
18
19
  ---
20
+
19
21
  ## Содержание
20
22
 
21
- - [Зачем нужен этот пакет](#зачем-нужен-этот-пакет)
22
- - [Контекст monorepo](#контекст-monorepo)
23
- - [Ключевые возможности](#ключевые-возможности)
24
- - [Пакет](#пакет)
25
- - [Установка](#установка)
26
- - [Быстрый старт](#быстрый-старт)
27
- - [Обзор основного API](#обзор-основного-api)
28
- - [Форматы сборки и поставки](#форматы-сборки-и-поставки)
29
- - [Структура monorepo и пакета](#структура-monorepo-и-пакета)
30
- - [Когда использовать этот проект](#когда-использовать-этот-проект)
31
- - [Ссылки на документацию](#ссылки-на-документацию)
32
- - [License](#license)
23
+ - [@resultsafe/core-fp-result](#resultsafecore-fp-result)
24
+ - [Содержание](#содержание)
25
+ - [Зачем нужен этот пакет](#зачем-нужен-этот-пакет)
26
+ - [Контекст monorepo](#контекст-monorepo)
27
+ - [Ключевые возможности](#ключевые-возможности)
28
+ - [Пакет](#пакет)
29
+ - [`@resultsafe/core-fp-result`](#resultsafecore-fp-result-1)
30
+ - [Установка](#установка)
31
+ - [Пакет](#пакет-1)
32
+ - [Monorepo](#monorepo)
33
+ - [Быстрый старт](#быстрый-старт)
34
+ - [Базовый пример `Ok` / `Err`](#базовый-пример-ok--err)
35
+ - [Обзор основного API](#обзор-основного-api)
36
+ - [Constructors](#constructors)
37
+ - [Guards](#guards)
38
+ - [Methods](#methods)
39
+ - [Refiners](#refiners)
40
+ - [Type aliases](#type-aliases)
41
+ - [Форматы сборки и поставки](#форматы-сборки-и-поставки)
42
+ - [Структура monorepo и пакета](#структура-monorepo-и-пакета)
43
+ - [Когда использовать этот проект](#когда-использовать-этот-проект)
44
+ - [Ссылки на документацию](#ссылки-на-документацию)
45
+ - [License](#license)
33
46
 
34
47
  ---
35
48
 
@@ -111,11 +124,7 @@ pnpm install
111
124
  Типичный Result flow начинается с явных конструкторов и затем компонуется через функции, а не через неявные пути исключений.
112
125
 
113
126
  ```ts
114
- import {
115
- Ok,
116
- map,
117
- unwrapOr,
118
- } from "@resultsafe/core-fp-result";
127
+ import { Ok, map, unwrapOr } from '@resultsafe/core-fp-result';
119
128
 
120
129
  const initial = Ok(21);
121
130
  const doubled = map(initial, (value) => value * 2);
@@ -127,17 +136,19 @@ console.log(finalValue); // 42
127
136
  ### Базовый пример `Ok` / `Err`
128
137
 
129
138
  ```ts
130
- import { Ok, Err, match } from "@resultsafe/core-fp-result";
139
+ import { Ok, Err, match } from '@resultsafe/core-fp-result';
131
140
 
132
141
  const parsePort = (input: string) => {
133
142
  const port = Number(input);
134
- return Number.isInteger(port) && port > 0
135
- ? Ok(port)
136
- : Err("Invalid port");
143
+ return Number.isInteger(port) && port > 0 ? Ok(port) : Err('Invalid port');
137
144
  };
138
145
 
139
- const result = parsePort("3000");
140
- const message = match(result, (value) => `Port: ${value}`, (error) => `Error: ${error}`);
146
+ const result = parsePort('3000');
147
+ const message = match(
148
+ result,
149
+ (value) => `Port: ${value}`,
150
+ (error) => `Error: ${error}`,
151
+ );
141
152
 
142
153
  console.log(message);
143
154
  ```
@@ -257,6 +268,7 @@ src/
257
268
  - [Type aliases module](./docs/api/type-aliases/index.md)
258
269
 
259
270
  ---
271
+
260
272
  Наверх: [@resultsafe/core-fp-result](#top)
261
273
 
262
274
  ---
@@ -1,153 +1,93 @@
1
- <svg width="100%" viewBox="0 0 960 310" xmlns="http://www.w3.org/2000/svg">
1
+ <svg width="100%" viewBox="0 0 680 390" xmlns="http://www.w3.org/2000/svg" style="background:#ffffff;border-radius:12px">
2
2
  <defs>
3
3
  <marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse"><path d="M2 1L8 5L2 9" fill="none" stroke="context-stroke" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></marker>
4
- <clipPath id="ec"><rect x="0" y="0" width="960" height="300" rx="16"/></clipPath>
5
- <mask id="imagine-text-gaps-e1f1yu" maskUnits="userSpaceOnUse"><rect x="0" y="0" width="960" height="310" fill="white"/><rect x="353.801513671875" y="38.58457946777344" width="251.25546264648438" height="17.698503494262695" fill="black" rx="2"/><rect x="325.8604736328125" y="56.32911682128906" width="308.526123046875" height="79.34176635742188" fill="black" rx="2"/><rect x="273.1533508300781" y="120.30149841308594" width="412.7049865722656" height="21.12312889099121" fill="black" rx="2"/><rect x="264" y="156.7215118408203" width="32.18642044067383" height="16.556961059570312" fill="black" rx="2"/><rect x="394" y="156.7215118408203" width="68.44821548461914" height="16.556961059570312" fill="black" rx="2"/><rect x="490.3411865234375" y="154.4384307861328" width="12.566167831420898" height="21.12312889099121" fill="black" rx="2"/><rect x="524" y="156.7215118408203" width="68.44821548461914" height="16.556961059570312" fill="black" rx="2"/><rect x="630.159912109375" y="157.86306762695312" width="37.680091857910156" height="14.27387809753418" fill="black" rx="2"/><rect x="689.4384765625" y="157.86306762695312" width="24.740617752075195" height="14.27387809753418" fill="black" rx="2"/><rect x="91.99711608886719" y="197.7261199951172" width="94.86421203613281" height="16.556961059570312" fill="black" rx="2"/><rect x="100.5943603515625" y="226.57998657226562" width="79.11006927490234" height="18.840045928955078" fill="black" rx="2"/><rect x="66.1064453125" y="269.2922668457031" width="36.84121322631836" height="15.415419578552246" fill="black" rx="2"/><rect x="174.5011444091797" y="269.2922668457031" width="41.197662353515625" height="15.415419578552246" fill="black" rx="2"/><rect x="384.92864990234375" y="197.7261199951172" width="69.00114822387695" height="16.556961059570312" fill="black" rx="2"/><rect x="300.4888000488281" y="226.86306762695312" width="33.880897521972656" height="14.27387809753418" fill="black" rx="2"/><rect x="372.1007080078125" y="226.86306762695312" width="28.54475975036621" height="14.27387809753418" fill="black" rx="2"/><rect x="434.2102966308594" y="226.86306762695312" width="48.327491760253906" height="14.27387809753418" fill="black" rx="2"/><rect x="515.1599731445312" y="226.86306762695312" width="38.43612480163574" height="14.27387809753418" fill="black" rx="2"/><rect x="386.4562683105469" y="271.1507568359375" width="87.25355529785156" height="13.132335662841797" fill="black" rx="2"/><rect x="637.9456176757812" y="197.7261199951172" width="82.96720123291016" height="16.556961059570312" fill="black" rx="2"/><rect x="620" y="229.29229736328125" width="85.18158721923828" height="15.415419578552246" fill="black" rx="2"/><rect x="620" y="259.8630676269531" width="112.62137603759766" height="14.27387809753418" fill="black" rx="2"/><rect x="829.1204833984375" y="197.7261199951172" width="76.61737060546875" height="16.556961059570312" fill="black" rx="2"/><rect x="807.9999389648438" y="223.15074157714844" width="100.49047088623047" height="17.698503494262695" fill="black" rx="2"/><rect x="806.8583984375" y="241.1507568359375" width="90.26348114013672" height="18.840045928955078" fill="black" rx="2"/><rect x="806.8583984375" y="259.1507568359375" width="89.81826782226562" height="17.698503494262695" fill="black" rx="2"/><rect x="807.9999389648438" y="277.1507568359375" width="79.57998657226562" height="17.69852066040039" fill="black" rx="2"/></mask></defs>
6
-
7
- <!-- Card -->
8
- <rect x="0" y="0" width="960" height="300" rx="16" fill="var(--color-background-secondary)" stroke="var(--color-border-tertiary)" stroke-width="0.8" style="fill:rgb(38, 38, 36);stroke:rgba(222, 220, 209, 0.15);color:rgb(255, 255, 255);stroke-width:0.8px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
9
-
10
- <g clip-path="url(#ec)" style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
11
- <!-- Subtle corner triangles -->
12
- <path d="M0 0 L80 0 L0 50 Z" fill="#D85A30" opacity="0.035" style="fill:rgb(216, 90, 48);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.035;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
13
- <path d="M960 0 L880 0 L960 50 Z" fill="#378ADD" opacity="0.035" style="fill:rgb(55, 138, 221);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.035;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
14
- <path d="M0 300 L80 300 L0 250 Z" fill="#1D9E75" opacity="0.025" style="fill:rgb(29, 158, 117);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.025;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
15
- <path d="M960 300 L880 300 L960 250 Z" fill="#EF9F27" opacity="0.025" style="fill:rgb(239, 159, 39);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.025;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
4
+ <clipPath id="shield"><path d="M340 14 L600 44 L600 190 Q600 296 340 356 Q80 296 80 190 L80 44 Z"/></clipPath>
5
+ <mask id="imagine-text-gaps-0cldyt" maskUnits="userSpaceOnUse"><rect x="0" y="0" width="680" height="390" fill="white"/><rect x="270.4906921386719" y="42.63523483276367" width="139.01861572265625" height="13.00137996673584" fill="black" rx="2"/><rect x="233.4303436279297" y="61.221954345703125" width="213.1393280029297" height="73.55609130859375" fill="black" rx="2"/><rect x="269.5253601074219" y="112.63249206542969" width="140.94931030273438" height="54.73503112792969" fill="black" rx="2"/><rect x="218" y="175.2718505859375" width="29.384986877441406" height="15.456297874450684" fill="black" rx="2"/><rect x="302" y="175.2718505859375" width="60.698638916015625" height="15.456297874450684" fill="black" rx="2"/><rect x="376.2344970703125" y="173.63523864746094" width="15.530981540679932" height="18.729525566101074" fill="black" rx="2"/><rect x="406" y="175.2718505859375" width="60.69861602783203" height="15.456297874450684" fill="black" rx="2"/><rect x="293.1283874511719" y="213.22607421875" width="93.95484924316406" height="19.547832489013672" fill="black" rx="2"/><rect x="192.6876983642578" y="269.04437255859375" width="41.80630874633789" height="17.911218643188477" fill="black" rx="2"/><rect x="442.20721435546875" y="269.04437255859375" width="47.585601806640625" height="17.911218643188477" fill="black" rx="2"/><rect x="194.43930053710938" y="299.8169250488281" width="291.1214294433594" height="14.637990951538086" fill="black" rx="2"/><rect x="245.2032012939453" y="328.49932861328125" width="26.096651077270508" height="13.00137710571289" fill="black" rx="2"/><rect x="298.8111877441406" y="328.49932861328125" width="34.377614974975586" height="13.00137710571289" fill="black" rx="2"/><rect x="359.5841064453125" y="328.49932861328125" width="22.519354820251465" height="13.00137710571289" fill="black" rx="2"/><rect x="415.40240478515625" y="328.49932861328125" width="21.701047897338867" height="13.00137710571289" fill="black" rx="2"/><rect x="180.66871643066406" y="357.36199951171875" width="318.6625671386719" height="17.09291172027588" fill="black" rx="2"/></mask></defs>
6
+
7
+ <!-- Shield background -->
8
+ <path d="M340 14 L600 44 L600 190 Q600 296 340 356 Q80 296 80 190 L80 44 Z" fill="#faf9f5" stroke="#d3d1c7" stroke-width="0.8" style="fill:rgb(250, 249, 245);stroke:rgb(211, 209, 199);color:rgb(255, 255, 255);stroke-width:0.8px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
9
+
10
+ <!-- Inner accent shield -->
11
+ <path d="M340 28 L582 54 L582 186 Q582 286 340 342 Q98 286 98 186 L98 54 Z" fill="none" stroke="#7F77DD" stroke-width="0.4" opacity="0.3" mask="url(#imagine-text-gaps-0cldyt)" style="fill:none;stroke:rgb(127, 119, 221);color:rgb(255, 255, 255);stroke-width:0.4px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.3;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
12
+
13
+ <!-- Subtle diagonal texture -->
14
+ <g clip-path="url(#shield)" opacity="0.02" style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.02;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
15
+ <line x1="-20" y1="0" x2="280" y2="380" stroke="#2C2C2A" stroke-width="34" mask="url(#imagine-text-gaps-0cldyt)" style="fill:rgb(0, 0, 0);stroke:rgb(44, 44, 42);color:rgb(255, 255, 255);stroke-width:34px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
16
+ <line x1="80" y1="0" x2="380" y2="380" stroke="#2C2C2A" stroke-width="34" mask="url(#imagine-text-gaps-0cldyt)" style="fill:rgb(0, 0, 0);stroke:rgb(44, 44, 42);color:rgb(255, 255, 255);stroke-width:34px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
17
+ <line x1="180" y1="0" x2="480" y2="380" stroke="#2C2C2A" stroke-width="34" mask="url(#imagine-text-gaps-0cldyt)" style="fill:rgb(0, 0, 0);stroke:rgb(44, 44, 42);color:rgb(255, 255, 255);stroke-width:34px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
18
+ <line x1="280" y1="0" x2="580" y2="380" stroke="#2C2C2A" stroke-width="34" mask="url(#imagine-text-gaps-0cldyt)" style="fill:rgb(0, 0, 0);stroke:rgb(44, 44, 42);color:rgb(255, 255, 255);stroke-width:34px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
19
+ <line x1="380" y1="0" x2="680" y2="380" stroke="#2C2C2A" stroke-width="34" mask="url(#imagine-text-gaps-0cldyt)" style="fill:rgb(0, 0, 0);stroke:rgb(44, 44, 42);color:rgb(255, 255, 255);stroke-width:34px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
20
+ <line x1="480" y1="0" x2="780" y2="380" stroke="#2C2C2A" stroke-width="34" style="fill:rgb(0, 0, 0);stroke:rgb(44, 44, 42);color:rgb(255, 255, 255);stroke-width:34px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
16
21
  </g>
17
22
 
18
- <!-- ====== TOP RULE ====== -->
19
- <line x1="40" y1="20" x2="920" y2="20" stroke="var(--color-text-primary)" stroke-width="2" opacity="0.12" style="fill:rgb(0, 0, 0);stroke:rgb(250, 249, 245);color:rgb(255, 255, 255);stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.12;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
20
- <line x1="40" y1="24" x2="920" y2="24" stroke="var(--color-text-primary)" stroke-width="0.5" opacity="0.08" style="fill:rgb(0, 0, 0);stroke:rgb(250, 249, 245);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.08;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
21
-
22
- <!-- ====== MASTHEAD centered ====== -->
23
- <text x="480" y="52" text-anchor="middle" style="font-family:var(--font-serif);font-size:11px;letter-spacing:4px;opacity:0.35;fill:rgb(194, 192, 182);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.35;font-family:&quot;Anthropic Serif&quot;, Georgia, &quot;Times New Roman&quot;, serif;font-size:11px;font-weight:400;text-anchor:middle;dominant-baseline:auto" fill="var(--color-text-secondary)">THE RESULTSAFE PROJECT</text>
24
-
25
- <!-- Big title -->
26
- <text x="480" y="96" text-anchor="middle" dominant-baseline="central" style="font-family:var(--font-serif);font-size:60px;font-weight:500;letter-spacing:-1px;fill:rgb(250, 249, 245);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Serif&quot;, Georgia, &quot;Times New Roman&quot;, serif;font-size:60px;font-weight:500;text-anchor:middle;dominant-baseline:central" fill="var(--color-text-primary)">Result<tspan fill="#7F77DD" style="fill:rgb(127, 119, 221);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Serif&quot;, Georgia, &quot;Times New Roman&quot;, serif;font-size:60px;font-weight:500;text-anchor:middle;dominant-baseline:central">Safe</tspan></text>
27
-
28
- <!-- Thin rule under title -->
29
- <line x1="300" y1="116" x2="660" y2="116" stroke="var(--color-text-primary)" stroke-width="0.5" opacity="0.1" mask="url(#imagine-text-gaps-e1f1yu)" style="fill:rgb(0, 0, 0);stroke:rgb(250, 249, 245);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
30
-
31
- <!-- Centered subtitle -->
32
- <text x="480" y="136" text-anchor="middle" style="font-family:var(--font-serif);font-size:14px;letter-spacing:0.3px;fill:rgb(194, 192, 182);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Serif&quot;, Georgia, &quot;Times New Roman&quot;, serif;font-size:14px;font-weight:400;text-anchor:middle;dominant-baseline:auto" fill="var(--color-text-secondary)">Rust-style Result&lt;T, E&gt; brought to TypeScript &amp; JavaScript</text>
33
-
34
- <!-- ====== LANGUAGE BRIDGE — centered ornamental ====== -->
35
-
36
- <!-- Rust -->
37
- <rect x="240" y="152" width="76" height="26" rx="13" fill="#D85A30" opacity="0.1" stroke="#D85A30" stroke-width="0.5" style="fill:rgb(216, 90, 48);stroke:rgb(216, 90, 48);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
38
- <circle cx="256" cy="165" r="4.5" fill="none" stroke="#D85A30" stroke-width="0.9" style="fill:none;stroke:rgb(216, 90, 48);color:rgb(255, 255, 255);stroke-width:0.9px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
39
- <circle cx="256" cy="165" r="2" fill="#D85A30" opacity="0.3" style="fill:rgb(216, 90, 48);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.3;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
40
- <text x="268" y="165" dominant-baseline="central" style="font-family:var(--font-mono);font-size:11px;font-weight:500;fill:rgb(153, 60, 29);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:11px;font-weight:500;text-anchor:start;dominant-baseline:central" fill="#993C1D">Rust</text>
41
-
42
- <!-- Ornamental arrow -->
43
- <line x1="324" y1="165" x2="354" y2="165" stroke="#7F77DD" stroke-width="1" opacity="0.4" style="fill:rgb(0, 0, 0);stroke:rgb(127, 119, 221);color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.4;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
44
- <circle cx="339" cy="165" r="2" fill="#7F77DD" opacity="0.3" style="fill:rgb(127, 119, 221);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.3;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
45
- <line x1="354" y1="165" x2="370" y2="165" stroke="#7F77DD" stroke-width="1.2" marker-end="url(#arrow)" opacity="0.5" style="fill:rgb(0, 0, 0);stroke:rgb(127, 119, 221);color:rgb(255, 255, 255);stroke-width:1.2px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.5;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
46
-
47
- <!-- TS -->
48
- <rect x="378" y="152" width="106" height="26" rx="13" fill="#378ADD" opacity="0.1" stroke="#378ADD" stroke-width="0.5" style="fill:rgb(55, 138, 221);stroke:rgb(55, 138, 221);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
49
- <text x="398" y="165" dominant-baseline="central" style="font-family:var(--font-mono);font-size:11px;font-weight:500;fill:rgb(24, 95, 165);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:11px;font-weight:500;text-anchor:start;dominant-baseline:central" fill="#185FA5">TypeScript</text>
50
-
51
- <!-- · -->
52
- <text x="496" y="165" text-anchor="middle" dominant-baseline="central" style="font-family:var(--font-sans);font-size:14px;opacity:0.2;fill:rgb(194, 192, 182);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.2;font-family:&quot;Anthropic Sans&quot;, sans-serif;font-size:14px;font-weight:400;text-anchor:middle;dominant-baseline:central" fill="var(--color-text-secondary)">·</text>
53
-
54
- <!-- JS -->
55
- <rect x="508" y="152" width="100" height="26" rx="13" fill="#EF9F27" opacity="0.1" stroke="#EF9F27" stroke-width="0.5" style="fill:rgb(239, 159, 39);stroke:rgb(239, 159, 39);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
56
- <text x="528" y="165" dominant-baseline="central" style="font-family:var(--font-mono);font-size:11px;font-weight:500;fill:rgb(133, 79, 11);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:11px;font-weight:500;text-anchor:start;dominant-baseline:central" fill="#854F0B">JavaScript</text>
57
-
58
- <!-- Badges -->
59
- <rect x="624" y="154" width="50" height="22" rx="11" fill="var(--color-background-primary)" stroke="var(--color-border-tertiary)" stroke-width="0.4" style="fill:rgb(48, 48, 46);stroke:rgba(222, 220, 209, 0.15);color:rgb(255, 255, 255);stroke-width:0.4px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
60
- <text x="649" y="165" text-anchor="middle" dominant-baseline="central" style="font-family:var(--font-mono);font-size:9px;fill:rgb(156, 154, 146);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:9px;font-weight:400;text-anchor:middle;dominant-baseline:central" fill="var(--color-text-tertiary)">0 deps</text>
61
-
62
- <rect x="682" y="154" width="40" height="22" rx="11" fill="var(--color-background-primary)" stroke="var(--color-border-tertiary)" stroke-width="0.4" style="fill:rgb(48, 48, 46);stroke:rgba(222, 220, 209, 0.15);color:rgb(255, 255, 255);stroke-width:0.4px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
63
- <text x="702" y="165" text-anchor="middle" dominant-baseline="central" style="font-family:var(--font-mono);font-size:9px;fill:rgb(156, 154, 146);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:9px;font-weight:400;text-anchor:middle;dominant-baseline:central" fill="var(--color-text-tertiary)">MIT</text>
64
-
65
- <!-- ====== MAIN RULE ====== -->
66
- <line x1="40" y1="192" x2="920" y2="192" stroke="var(--color-text-primary)" stroke-width="0.5" opacity="0.1" style="fill:rgb(0, 0, 0);stroke:rgb(250, 249, 245);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
67
-
68
- <!-- ====== 4-COLUMN LAYOUT ====== -->
69
-
70
- <!-- COL 1: Ok / Err -->
71
- <text x="140" y="210" text-anchor="middle" style="font-family:var(--font-serif);font-size:10px;letter-spacing:1.5px;opacity:0.35;fill:rgb(194, 192, 182);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.35;font-family:&quot;Anthropic Serif&quot;, Georgia, &quot;Times New Roman&quot;, serif;font-size:10px;font-weight:400;text-anchor:middle;dominant-baseline:auto" fill="var(--color-text-secondary)">RESULT TYPE</text>
72
-
73
- <g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
74
- <rect x="86" y="222" width="108" height="28" rx="7" stroke-width="0.5" style="fill:rgb(60, 52, 137);stroke:rgb(175, 169, 236);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
75
- <text x="140" y="236" text-anchor="middle" dominant-baseline="central" style="font-size:12px;fill:rgb(206, 203, 246);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:12px;font-weight:500;text-anchor:middle;dominant-baseline:central">Result&lt;T, E&gt;</text>
23
+ <!-- Decorative grid dots -->
24
+ <g opacity="0.06" style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.06;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
25
+ <circle cx="150" cy="68" r="1.5" fill="#2C2C2A" style="fill:rgb(44, 44, 42);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/><circle cx="168" cy="68" r="1.5" fill="#2C2C2A" style="fill:rgb(44, 44, 42);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/><circle cx="186" cy="68" r="1.5" fill="#2C2C2A" style="fill:rgb(44, 44, 42);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
26
+ <circle cx="494" cy="68" r="1.5" fill="#2C2C2A" style="fill:rgb(44, 44, 42);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/><circle cx="512" cy="68" r="1.5" fill="#2C2C2A" style="fill:rgb(44, 44, 42);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/><circle cx="530" cy="68" r="1.5" fill="#2C2C2A" style="fill:rgb(44, 44, 42);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
27
+ <circle cx="150" cy="84" r="1.5" fill="#2C2C2A" style="fill:rgb(44, 44, 42);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/><circle cx="168" cy="84" r="1.5" fill="#2C2C2A" style="fill:rgb(44, 44, 42);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
28
+ <circle cx="512" cy="84" r="1.5" fill="#2C2C2A" style="fill:rgb(44, 44, 42);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/><circle cx="530" cy="84" r="1.5" fill="#2C2C2A" style="fill:rgb(44, 44, 42);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
76
29
  </g>
77
30
 
78
- <line x1="112" y1="250" x2="92" y2="264" stroke="#1D9E75" stroke-width="0.8" marker-end="url(#arrow)" style="fill:rgb(0, 0, 0);stroke:rgb(29, 158, 117);color:rgb(255, 255, 255);stroke-width:0.8px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
79
- <line x1="168" y1="250" x2="188" y2="264" stroke="#E24B4A" stroke-width="0.8" marker-end="url(#arrow)" style="fill:rgb(0, 0, 0);stroke:rgb(226, 75, 74);color:rgb(255, 255, 255);stroke-width:0.8px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
80
-
81
- <rect x="56" y="266" width="58" height="22" rx="11" fill="#1D9E75" opacity="0.15" stroke="#1D9E75" stroke-width="0.4" style="fill:rgb(29, 158, 117);stroke:rgb(29, 158, 117);color:rgb(255, 255, 255);stroke-width:0.4px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.15;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
82
- <text x="85" y="277" text-anchor="middle" dominant-baseline="central" style="font-family:var(--font-mono);font-size:10px;font-weight:500;fill:rgb(15, 110, 86);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:10px;font-weight:500;text-anchor:middle;dominant-baseline:central" fill="#0F6E56">Ok&lt;T&gt;</text>
83
-
84
- <rect x="166" y="266" width="58" height="22" rx="11" fill="#E24B4A" opacity="0.15" stroke="#E24B4A" stroke-width="0.4" style="fill:rgb(226, 75, 74);stroke:rgb(226, 75, 74);color:rgb(255, 255, 255);stroke-width:0.4px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.15;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
85
- <text x="195" y="277" text-anchor="middle" dominant-baseline="central" style="font-family:var(--font-mono);font-size:10px;font-weight:500;fill:rgb(163, 45, 45);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:10px;font-weight:500;text-anchor:middle;dominant-baseline:central" fill="#A32D2D">Err&lt;E&gt;</text>
31
+ <!-- FROM RUST tagline -->
32
+ <text x="340" y="52" text-anchor="middle" style="font-family:ui-monospace,monospace;font-size:8px;letter-spacing:2.5px;opacity:0.4;fill:rgb(216, 90, 48);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.4;font-family:ui-monospace, monospace;font-size:8px;font-weight:400;text-anchor:middle;dominant-baseline:auto" fill="#D85A30">FROM RUST WITH LOVE</text>
86
33
 
87
- <!-- COL SEPARATOR -->
88
- <line x1="264" y1="200" x2="264" y2="290" stroke="var(--color-text-primary)" stroke-width="0.3" opacity="0.08" style="fill:rgb(0, 0, 0);stroke:rgb(250, 249, 245);color:rgb(255, 255, 255);stroke-width:0.3px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.08;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
34
+ <!-- RESULT -->
35
+ <text x="340" y="98" text-anchor="middle" dominant-baseline="central" style="font-family:system-ui,-apple-system,sans-serif;font-size:52px;font-weight:600;letter-spacing:5px;fill:rgb(127, 119, 221);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:system-ui, -apple-system, sans-serif;font-size:52px;font-weight:600;text-anchor:middle;dominant-baseline:central" fill="#7F77DD">RESULT</text>
89
36
 
90
- <!-- COL 2: Pipeline -->
91
- <text x="420" y="210" text-anchor="middle" style="font-family:var(--font-serif);font-size:10px;letter-spacing:1.5px;opacity:0.35;fill:rgb(194, 192, 182);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.35;font-family:&quot;Anthropic Serif&quot;, Georgia, &quot;Times New Roman&quot;, serif;font-size:10px;font-weight:400;text-anchor:middle;dominant-baseline:auto" fill="var(--color-text-secondary)">PIPELINE</text>
37
+ <!-- SAFE -->
38
+ <text x="340" y="140" text-anchor="middle" dominant-baseline="central" style="font-family:system-ui,-apple-system,sans-serif;font-size:38px;font-weight:600;letter-spacing:12px;fill:rgb(29, 158, 117);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:system-ui, -apple-system, sans-serif;font-size:38px;font-weight:600;text-anchor:middle;dominant-baseline:central" fill="#1D9E75">SAFE</text>
92
39
 
93
- <!-- Compact vertical pipeline -->
94
- <rect x="292" y="224" width="52" height="20" rx="5" fill="#1D9E75" opacity="0.1" stroke="#1D9E75" stroke-width="0.4" style="fill:rgb(29, 158, 117);stroke:rgb(29, 158, 117);color:rgb(255, 255, 255);stroke-width:0.4px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
95
- <text x="318" y="234" text-anchor="middle" dominant-baseline="central" style="font-family:var(--font-mono);font-size:9px;font-weight:500;fill:rgb(15, 110, 86);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:9px;font-weight:500;text-anchor:middle;dominant-baseline:central" fill="#0F6E56">Ok(v)</text>
40
+ <!-- Divider -->
41
+ <line x1="200" y1="162" x2="480" y2="162" stroke="#d3d1c7" stroke-width="0.5" mask="url(#imagine-text-gaps-0cldyt)" style="fill:rgb(0, 0, 0);stroke:rgb(211, 209, 199);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
96
42
 
97
- <line x1="348" y1="234" x2="358" y2="234" stroke="#7F77DD" stroke-width="0.7" marker-end="url(#arrow)" opacity="0.4" style="fill:rgb(0, 0, 0);stroke:rgb(127, 119, 221);color:rgb(255, 255, 255);stroke-width:0.7px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.4;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
43
+ <!-- Language bridge -->
44
+ <rect x="196" y="172" width="62" height="22" rx="11" fill="#D85A30" opacity="0.1" stroke="#D85A30" stroke-width="0.4" style="fill:rgb(216, 90, 48);stroke:rgb(216, 90, 48);color:rgb(255, 255, 255);stroke-width:0.4px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
45
+ <circle cx="210" cy="183" r="4" fill="none" stroke="#D85A30" stroke-width="0.8" style="fill:none;stroke:rgb(216, 90, 48);color:rgb(255, 255, 255);stroke-width:0.8px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
46
+ <circle cx="210" cy="183" r="1.8" fill="#D85A30" opacity="0.3" style="fill:rgb(216, 90, 48);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.3;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
47
+ <text x="222" y="183" dominant-baseline="central" style="font-family:ui-monospace,monospace;font-size:9.5px;font-weight:600;fill:rgb(153, 60, 29);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:9.5px;font-weight:600;text-anchor:start;dominant-baseline:central" fill="#993C1D">Rust</text>
98
48
 
99
- <rect x="364" y="224" width="44" height="20" rx="5" fill="#7F77DD" opacity="0.08" stroke="#7F77DD" stroke-width="0.4" style="fill:rgb(127, 119, 221);stroke:rgb(127, 119, 221);color:rgb(255, 255, 255);stroke-width:0.4px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.08;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
100
- <text x="386" y="234" text-anchor="middle" dominant-baseline="central" style="font-family:var(--font-mono);font-size:9px;font-weight:500;fill:rgb(83, 74, 183);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:9px;font-weight:500;text-anchor:middle;dominant-baseline:central" fill="#534AB7">.map</text>
49
+ <line x1="264" y1="183" x2="282" y2="183" stroke="#7F77DD" stroke-width="0.8" marker-end="url(#arrow)" opacity="0.45" style="fill:rgb(0, 0, 0);stroke:rgb(127, 119, 221);color:rgb(255, 255, 255);stroke-width:0.8px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.45;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
101
50
 
102
- <line x1="412" y1="234" x2="422" y2="234" stroke="#7F77DD" stroke-width="0.7" marker-end="url(#arrow)" opacity="0.4" style="fill:rgb(0, 0, 0);stroke:rgb(127, 119, 221);color:rgb(255, 255, 255);stroke-width:0.7px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.4;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
51
+ <rect x="290" y="172" width="86" height="22" rx="11" fill="#378ADD" opacity="0.1" stroke="#378ADD" stroke-width="0.4" style="fill:rgb(55, 138, 221);stroke:rgb(55, 138, 221);color:rgb(255, 255, 255);stroke-width:0.4px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
52
+ <text x="306" y="183" dominant-baseline="central" style="font-family:ui-monospace,monospace;font-size:9.5px;font-weight:600;fill:rgb(24, 95, 165);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:9.5px;font-weight:600;text-anchor:start;dominant-baseline:central" fill="#185FA5">TypeScript</text>
103
53
 
104
- <rect x="428" y="224" width="60" height="20" rx="5" fill="#7F77DD" opacity="0.08" stroke="#7F77DD" stroke-width="0.4" style="fill:rgb(127, 119, 221);stroke:rgb(127, 119, 221);color:rgb(255, 255, 255);stroke-width:0.4px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.08;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
105
- <text x="458" y="234" text-anchor="middle" dominant-baseline="central" style="font-family:var(--font-mono);font-size:9px;font-weight:500;fill:rgb(83, 74, 183);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:9px;font-weight:500;text-anchor:middle;dominant-baseline:central" fill="#534AB7">.flatMap</text>
54
+ <text x="384" y="183" text-anchor="middle" dominant-baseline="central" style="font-family:system-ui,sans-serif;font-size:11px;opacity:0.2;fill:rgb(95, 94, 90);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.2;font-family:system-ui, sans-serif;font-size:11px;font-weight:400;text-anchor:middle;dominant-baseline:central" fill="#5F5E5A">+</text>
106
55
 
107
- <line x1="492" y1="234" x2="502" y2="234" stroke="#7F77DD" stroke-width="0.7" marker-end="url(#arrow)" opacity="0.4" style="fill:rgb(0, 0, 0);stroke:rgb(127, 119, 221);color:rgb(255, 255, 255);stroke-width:0.7px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.4;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
56
+ <rect x="394" y="172" width="84" height="22" rx="11" fill="#EF9F27" opacity="0.1" stroke="#EF9F27" stroke-width="0.4" style="fill:rgb(239, 159, 39);stroke:rgb(239, 159, 39);color:rgb(255, 255, 255);stroke-width:0.4px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
57
+ <text x="410" y="183" dominant-baseline="central" style="font-family:ui-monospace,monospace;font-size:9.5px;font-weight:600;fill:rgb(133, 79, 11);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:9.5px;font-weight:600;text-anchor:start;dominant-baseline:central" fill="#854F0B">JavaScript</text>
108
58
 
109
- <rect x="508" y="224" width="52" height="20" rx="5" fill="#7F77DD" opacity="0.08" stroke="#7F77DD" stroke-width="0.4" style="fill:rgb(127, 119, 221);stroke:rgb(127, 119, 221);color:rgb(255, 255, 255);stroke-width:0.4px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.08;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
110
- <text x="534" y="234" text-anchor="middle" dominant-baseline="central" style="font-family:var(--font-mono);font-size:9px;font-weight:500;fill:rgb(83, 74, 183);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:9px;font-weight:500;text-anchor:middle;dominant-baseline:central" fill="#534AB7">.match</text>
59
+ <!-- Result node -->
60
+ <rect x="278" y="206" width="124" height="34" rx="8" fill="#EEEDFE" stroke="#AFA9EC" stroke-width="0.5" style="fill:rgb(238, 237, 254);stroke:rgb(175, 169, 236);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
61
+ <text x="340" y="223" text-anchor="middle" dominant-baseline="central" style="font-family:ui-monospace,monospace;font-size:13px;font-weight:600;fill:rgb(60, 52, 137);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:13px;font-weight:600;text-anchor:middle;dominant-baseline:central" fill="#3C3489">Result&lt;T, E&gt;</text>
111
62
 
112
- <!-- Err bypass -->
113
- <path d="M318 248 Q318 264 430 264 Q534 264 534 248" fill="none" stroke="#E24B4A" stroke-width="0.6" stroke-dasharray="3 2" opacity="0.3" style="fill:none;stroke:rgb(226, 75, 74);color:rgb(255, 255, 255);stroke-width:0.6px;stroke-dasharray:3px, 2px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.3;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
114
- <text x="430" y="280" text-anchor="middle" style="font-family:var(--font-mono);font-size:8px;opacity:0.3;fill:rgb(163, 45, 45);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.3;font-family:ui-monospace, monospace;font-size:8px;font-weight:400;text-anchor:middle;dominant-baseline:auto" fill="#A32D2D">Err short-circuits</text>
63
+ <!-- Branch arrows -->
64
+ <line x1="308" y1="240" x2="240" y2="262" stroke="#1D9E75" stroke-width="1" marker-end="url(#arrow)" style="fill:rgb(0, 0, 0);stroke:rgb(29, 158, 117);color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
65
+ <line x1="372" y1="240" x2="440" y2="262" stroke="#E24B4A" stroke-width="1" marker-end="url(#arrow)" style="fill:rgb(0, 0, 0);stroke:rgb(226, 75, 74);color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
115
66
 
116
- <!-- COL SEPARATOR -->
117
- <line x1="580" y1="200" x2="580" y2="290" stroke="var(--color-text-primary)" stroke-width="0.3" opacity="0.08" style="fill:rgb(0, 0, 0);stroke:rgb(250, 249, 245);color:rgb(255, 255, 255);stroke-width:0.3px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.08;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
67
+ <!-- Ok pill -->
68
+ <rect x="172" y="264" width="84" height="28" rx="14" fill="#1D9E75" opacity="0.12" stroke="#1D9E75" stroke-width="0.5" style="fill:rgb(29, 158, 117);stroke:rgb(29, 158, 117);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.12;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
69
+ <text x="214" y="278" text-anchor="middle" dominant-baseline="central" style="font-family:ui-monospace,monospace;font-size:12px;font-weight:600;fill:rgb(15, 110, 86);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:12px;font-weight:600;text-anchor:middle;dominant-baseline:central" fill="#0F6E56">Ok&lt;T&gt;</text>
118
70
 
119
- <!-- COL 3: Monorepo -->
120
- <text x="680" y="210" text-anchor="middle" style="font-family:var(--font-serif);font-size:10px;letter-spacing:1.5px;opacity:0.35;fill:rgb(194, 192, 182);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.35;font-family:&quot;Anthropic Serif&quot;, Georgia, &quot;Times New Roman&quot;, serif;font-size:10px;font-weight:400;text-anchor:middle;dominant-baseline:auto" fill="var(--color-text-secondary)">MONOREPO</text>
71
+ <!-- Err pill -->
72
+ <rect x="424" y="264" width="84" height="28" rx="14" fill="#E24B4A" opacity="0.12" stroke="#E24B4A" stroke-width="0.5" style="fill:rgb(226, 75, 74);stroke:rgb(226, 75, 74);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.12;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
73
+ <text x="466" y="278" text-anchor="middle" dominant-baseline="central" style="font-family:ui-monospace,monospace;font-size:12px;font-weight:600;fill:rgb(163, 45, 45);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:12px;font-weight:600;text-anchor:middle;dominant-baseline:central" fill="#A32D2D">Err&lt;E&gt;</text>
121
74
 
122
- <rect x="608" y="224" width="144" height="26" rx="5" fill="var(--color-background-primary)" stroke="#7F77DD" stroke-width="0.6" style="fill:rgb(48, 48, 46);stroke:rgb(127, 119, 221);color:rgb(255, 255, 255);stroke-width:0.6px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
123
- <rect x="614" y="230" width="3" height="14" rx="1.5" fill="#7F77DD" style="fill:rgb(127, 119, 221);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
124
- <text x="624" y="237" dominant-baseline="central" style="font-family:var(--font-mono);font-size:10px;font-weight:500;fill:rgb(250, 249, 245);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:10px;font-weight:500;text-anchor:start;dominant-baseline:central" fill="var(--color-text-primary)">core-fp-result</text>
125
- <circle cx="740" cy="237" r="3" fill="#1D9E75" opacity="0.6" style="fill:rgb(29, 158, 117);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.6;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
75
+ <!-- Methods -->
76
+ <text x="340" y="310" text-anchor="middle" style="font-family:ui-monospace,monospace;font-size:9px;opacity:0.3;letter-spacing:0.5px;fill:rgb(95, 94, 90);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.3;font-family:ui-monospace, monospace;font-size:9px;font-weight:400;text-anchor:middle;dominant-baseline:auto" fill="#5F5E5A">.map · .flatMap · .match · .unwrap · .tap · .recover</text>
126
77
 
127
- <g opacity="0.35" style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.35;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
128
- <rect x="608" y="256" width="144" height="22" rx="5" fill="var(--color-background-primary)" stroke="var(--color-border-tertiary)" stroke-width="0.4" stroke-dasharray="3 2" style="fill:rgb(48, 48, 46);stroke:rgba(222, 220, 209, 0.15);color:rgb(255, 255, 255);stroke-width:0.4px;stroke-dasharray:3px, 2px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
129
- <rect x="614" y="261" width="3" height="12" rx="1.5" fill="var(--color-text-tertiary)" opacity="0.4" style="fill:rgb(156, 154, 146);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.4;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
130
- <text x="624" y="267" dominant-baseline="central" style="font-family:var(--font-mono);font-size:9px;fill:rgb(156, 154, 146);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:9px;font-weight:400;text-anchor:start;dominant-baseline:central" fill="var(--color-text-tertiary)">fp-option · fp-either</text>
131
- </g>
132
-
133
- <!-- COL SEPARATOR -->
134
- <line x1="776" y1="200" x2="776" y2="290" stroke="var(--color-text-primary)" stroke-width="0.3" opacity="0.08" style="fill:rgb(0, 0, 0);stroke:rgb(250, 249, 245);color:rgb(255, 255, 255);stroke-width:0.3px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.08;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
135
-
136
- <!-- COL 4: Features -->
137
- <text x="868" y="210" text-anchor="middle" style="font-family:var(--font-serif);font-size:10px;letter-spacing:1.5px;opacity:0.35;fill:rgb(194, 192, 182);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.35;font-family:&quot;Anthropic Serif&quot;, Georgia, &quot;Times New Roman&quot;, serif;font-size:10px;font-weight:400;text-anchor:middle;dominant-baseline:auto" fill="var(--color-text-secondary)">FEATURES</text>
138
-
139
- <g opacity="0.55" style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.55;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
140
- <circle cx="802" cy="232" r="2.5" fill="#1D9E75" opacity="0.6" style="fill:rgb(29, 158, 117);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.6;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
141
- <text x="812" y="232" dominant-baseline="central" style="font-family:var(--font-sans);font-size:11px;fill:rgb(194, 192, 182);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, sans-serif;font-size:11px;font-weight:400;text-anchor:start;dominant-baseline:central" fill="var(--color-text-secondary)">Exhaustive match</text>
78
+ <!-- Badges -->
79
+ <rect x="234" y="326" width="48" height="18" rx="9" fill="#7F77DD" opacity="0.1" stroke="#7F77DD" stroke-width="0.3" style="fill:rgb(127, 119, 221);stroke:rgb(127, 119, 221);color:rgb(255, 255, 255);stroke-width:0.3px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
80
+ <text x="258" y="335" text-anchor="middle" dominant-baseline="central" style="font-family:ui-monospace,monospace;font-size:8px;font-weight:500;fill:rgb(83, 74, 183);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:8px;font-weight:500;text-anchor:middle;dominant-baseline:central" fill="#534AB7">v1.0</text>
142
81
 
143
- <circle cx="802" cy="250" r="2.5" fill="#1D9E75" opacity="0.6" style="fill:rgb(29, 158, 117);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.6;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
144
- <text x="812" y="250" dominant-baseline="central" style="font-family:var(--font-sans);font-size:11px;fill:rgb(194, 192, 182);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, sans-serif;font-size:11px;font-weight:400;text-anchor:start;dominant-baseline:central" fill="var(--color-text-secondary)">Type narrowing</text>
82
+ <rect x="290" y="326" width="52" height="18" rx="9" fill="#ffffff" stroke="#d3d1c7" stroke-width="0.3" style="fill:rgb(255, 255, 255);stroke:rgb(211, 209, 199);color:rgb(255, 255, 255);stroke-width:0.3px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
83
+ <text x="316" y="335" text-anchor="middle" dominant-baseline="central" style="font-family:ui-monospace,monospace;font-size:8px;fill:rgb(136, 135, 128);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:8px;font-weight:400;text-anchor:middle;dominant-baseline:central" fill="#888780">0 deps</text>
145
84
 
146
- <circle cx="802" cy="268" r="2.5" fill="#1D9E75" opacity="0.6" style="fill:rgb(29, 158, 117);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.6;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
147
- <text x="812" y="268" dominant-baseline="central" style="font-family:var(--font-sans);font-size:11px;fill:rgb(194, 192, 182);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, sans-serif;font-size:11px;font-weight:400;text-anchor:start;dominant-baseline:central" fill="var(--color-text-secondary)">Tree-shakeable</text>
85
+ <rect x="350" y="326" width="42" height="18" rx="9" fill="#ffffff" stroke="#d3d1c7" stroke-width="0.3" style="fill:rgb(255, 255, 255);stroke:rgb(211, 209, 199);color:rgb(255, 255, 255);stroke-width:0.3px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
86
+ <text x="371" y="335" text-anchor="middle" dominant-baseline="central" style="font-family:ui-monospace,monospace;font-size:8px;fill:rgb(136, 135, 128);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:8px;font-weight:400;text-anchor:middle;dominant-baseline:central" fill="#888780">MIT</text>
148
87
 
149
- <circle cx="802" cy="286" r="2.5" fill="#1D9E75" opacity="0.6" style="fill:rgb(29, 158, 117);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.6;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
150
- <text x="812" y="286" dominant-baseline="central" style="font-family:var(--font-sans);font-size:11px;fill:rgb(194, 192, 182);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, sans-serif;font-size:11px;font-weight:400;text-anchor:start;dominant-baseline:central" fill="var(--color-text-secondary)">Full inference</text>
151
- </g>
88
+ <rect x="400" y="326" width="52" height="18" rx="9" fill="#ffffff" stroke="#d3d1c7" stroke-width="0.3" style="fill:rgb(255, 255, 255);stroke:rgb(211, 209, 199);color:rgb(255, 255, 255);stroke-width:0.3px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
89
+ <text x="426" y="335" text-anchor="middle" dominant-baseline="central" style="font-family:ui-monospace,monospace;font-size:8px;fill:rgb(136, 135, 128);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:8px;font-weight:400;text-anchor:middle;dominant-baseline:central" fill="#888780">ESM</text>
152
90
 
91
+ <!-- Bottom tagline -->
92
+ <text x="340" y="370" text-anchor="middle" style="font-family:system-ui,-apple-system,sans-serif;font-size:10px;letter-spacing:2px;opacity:0.2;fill:rgb(136, 135, 128);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.2;font-family:system-ui, -apple-system, sans-serif;font-size:10px;font-weight:400;text-anchor:middle;dominant-baseline:auto" fill="#888780">@resultsafe · type-safe functional error handling</text>
153
93
  </svg>
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@resultsafe/core-fp-result",
3
- "version": "0.1.1",
3
+ "version": "0.1.6",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "main": "./cjs/index.js",
@@ -1,153 +1,93 @@
1
- <svg width="100%" viewBox="0 0 960 310" xmlns="http://www.w3.org/2000/svg">
1
+ <svg width="100%" viewBox="0 0 680 390" xmlns="http://www.w3.org/2000/svg" style="background:#ffffff;border-radius:12px">
2
2
  <defs>
3
3
  <marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse"><path d="M2 1L8 5L2 9" fill="none" stroke="context-stroke" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></marker>
4
- <clipPath id="ec"><rect x="0" y="0" width="960" height="300" rx="16"/></clipPath>
5
- <mask id="imagine-text-gaps-e1f1yu" maskUnits="userSpaceOnUse"><rect x="0" y="0" width="960" height="310" fill="white"/><rect x="353.801513671875" y="38.58457946777344" width="251.25546264648438" height="17.698503494262695" fill="black" rx="2"/><rect x="325.8604736328125" y="56.32911682128906" width="308.526123046875" height="79.34176635742188" fill="black" rx="2"/><rect x="273.1533508300781" y="120.30149841308594" width="412.7049865722656" height="21.12312889099121" fill="black" rx="2"/><rect x="264" y="156.7215118408203" width="32.18642044067383" height="16.556961059570312" fill="black" rx="2"/><rect x="394" y="156.7215118408203" width="68.44821548461914" height="16.556961059570312" fill="black" rx="2"/><rect x="490.3411865234375" y="154.4384307861328" width="12.566167831420898" height="21.12312889099121" fill="black" rx="2"/><rect x="524" y="156.7215118408203" width="68.44821548461914" height="16.556961059570312" fill="black" rx="2"/><rect x="630.159912109375" y="157.86306762695312" width="37.680091857910156" height="14.27387809753418" fill="black" rx="2"/><rect x="689.4384765625" y="157.86306762695312" width="24.740617752075195" height="14.27387809753418" fill="black" rx="2"/><rect x="91.99711608886719" y="197.7261199951172" width="94.86421203613281" height="16.556961059570312" fill="black" rx="2"/><rect x="100.5943603515625" y="226.57998657226562" width="79.11006927490234" height="18.840045928955078" fill="black" rx="2"/><rect x="66.1064453125" y="269.2922668457031" width="36.84121322631836" height="15.415419578552246" fill="black" rx="2"/><rect x="174.5011444091797" y="269.2922668457031" width="41.197662353515625" height="15.415419578552246" fill="black" rx="2"/><rect x="384.92864990234375" y="197.7261199951172" width="69.00114822387695" height="16.556961059570312" fill="black" rx="2"/><rect x="300.4888000488281" y="226.86306762695312" width="33.880897521972656" height="14.27387809753418" fill="black" rx="2"/><rect x="372.1007080078125" y="226.86306762695312" width="28.54475975036621" height="14.27387809753418" fill="black" rx="2"/><rect x="434.2102966308594" y="226.86306762695312" width="48.327491760253906" height="14.27387809753418" fill="black" rx="2"/><rect x="515.1599731445312" y="226.86306762695312" width="38.43612480163574" height="14.27387809753418" fill="black" rx="2"/><rect x="386.4562683105469" y="271.1507568359375" width="87.25355529785156" height="13.132335662841797" fill="black" rx="2"/><rect x="637.9456176757812" y="197.7261199951172" width="82.96720123291016" height="16.556961059570312" fill="black" rx="2"/><rect x="620" y="229.29229736328125" width="85.18158721923828" height="15.415419578552246" fill="black" rx="2"/><rect x="620" y="259.8630676269531" width="112.62137603759766" height="14.27387809753418" fill="black" rx="2"/><rect x="829.1204833984375" y="197.7261199951172" width="76.61737060546875" height="16.556961059570312" fill="black" rx="2"/><rect x="807.9999389648438" y="223.15074157714844" width="100.49047088623047" height="17.698503494262695" fill="black" rx="2"/><rect x="806.8583984375" y="241.1507568359375" width="90.26348114013672" height="18.840045928955078" fill="black" rx="2"/><rect x="806.8583984375" y="259.1507568359375" width="89.81826782226562" height="17.698503494262695" fill="black" rx="2"/><rect x="807.9999389648438" y="277.1507568359375" width="79.57998657226562" height="17.69852066040039" fill="black" rx="2"/></mask></defs>
6
-
7
- <!-- Card -->
8
- <rect x="0" y="0" width="960" height="300" rx="16" fill="var(--color-background-secondary)" stroke="var(--color-border-tertiary)" stroke-width="0.8" style="fill:rgb(38, 38, 36);stroke:rgba(222, 220, 209, 0.15);color:rgb(255, 255, 255);stroke-width:0.8px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
9
-
10
- <g clip-path="url(#ec)" style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
11
- <!-- Subtle corner triangles -->
12
- <path d="M0 0 L80 0 L0 50 Z" fill="#D85A30" opacity="0.035" style="fill:rgb(216, 90, 48);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.035;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
13
- <path d="M960 0 L880 0 L960 50 Z" fill="#378ADD" opacity="0.035" style="fill:rgb(55, 138, 221);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.035;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
14
- <path d="M0 300 L80 300 L0 250 Z" fill="#1D9E75" opacity="0.025" style="fill:rgb(29, 158, 117);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.025;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
15
- <path d="M960 300 L880 300 L960 250 Z" fill="#EF9F27" opacity="0.025" style="fill:rgb(239, 159, 39);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.025;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
4
+ <clipPath id="shield"><path d="M340 14 L600 44 L600 190 Q600 296 340 356 Q80 296 80 190 L80 44 Z"/></clipPath>
5
+ <mask id="imagine-text-gaps-0cldyt" maskUnits="userSpaceOnUse"><rect x="0" y="0" width="680" height="390" fill="white"/><rect x="270.4906921386719" y="42.63523483276367" width="139.01861572265625" height="13.00137996673584" fill="black" rx="2"/><rect x="233.4303436279297" y="61.221954345703125" width="213.1393280029297" height="73.55609130859375" fill="black" rx="2"/><rect x="269.5253601074219" y="112.63249206542969" width="140.94931030273438" height="54.73503112792969" fill="black" rx="2"/><rect x="218" y="175.2718505859375" width="29.384986877441406" height="15.456297874450684" fill="black" rx="2"/><rect x="302" y="175.2718505859375" width="60.698638916015625" height="15.456297874450684" fill="black" rx="2"/><rect x="376.2344970703125" y="173.63523864746094" width="15.530981540679932" height="18.729525566101074" fill="black" rx="2"/><rect x="406" y="175.2718505859375" width="60.69861602783203" height="15.456297874450684" fill="black" rx="2"/><rect x="293.1283874511719" y="213.22607421875" width="93.95484924316406" height="19.547832489013672" fill="black" rx="2"/><rect x="192.6876983642578" y="269.04437255859375" width="41.80630874633789" height="17.911218643188477" fill="black" rx="2"/><rect x="442.20721435546875" y="269.04437255859375" width="47.585601806640625" height="17.911218643188477" fill="black" rx="2"/><rect x="194.43930053710938" y="299.8169250488281" width="291.1214294433594" height="14.637990951538086" fill="black" rx="2"/><rect x="245.2032012939453" y="328.49932861328125" width="26.096651077270508" height="13.00137710571289" fill="black" rx="2"/><rect x="298.8111877441406" y="328.49932861328125" width="34.377614974975586" height="13.00137710571289" fill="black" rx="2"/><rect x="359.5841064453125" y="328.49932861328125" width="22.519354820251465" height="13.00137710571289" fill="black" rx="2"/><rect x="415.40240478515625" y="328.49932861328125" width="21.701047897338867" height="13.00137710571289" fill="black" rx="2"/><rect x="180.66871643066406" y="357.36199951171875" width="318.6625671386719" height="17.09291172027588" fill="black" rx="2"/></mask></defs>
6
+
7
+ <!-- Shield background -->
8
+ <path d="M340 14 L600 44 L600 190 Q600 296 340 356 Q80 296 80 190 L80 44 Z" fill="#faf9f5" stroke="#d3d1c7" stroke-width="0.8" style="fill:rgb(250, 249, 245);stroke:rgb(211, 209, 199);color:rgb(255, 255, 255);stroke-width:0.8px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
9
+
10
+ <!-- Inner accent shield -->
11
+ <path d="M340 28 L582 54 L582 186 Q582 286 340 342 Q98 286 98 186 L98 54 Z" fill="none" stroke="#7F77DD" stroke-width="0.4" opacity="0.3" mask="url(#imagine-text-gaps-0cldyt)" style="fill:none;stroke:rgb(127, 119, 221);color:rgb(255, 255, 255);stroke-width:0.4px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.3;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
12
+
13
+ <!-- Subtle diagonal texture -->
14
+ <g clip-path="url(#shield)" opacity="0.02" style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.02;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
15
+ <line x1="-20" y1="0" x2="280" y2="380" stroke="#2C2C2A" stroke-width="34" mask="url(#imagine-text-gaps-0cldyt)" style="fill:rgb(0, 0, 0);stroke:rgb(44, 44, 42);color:rgb(255, 255, 255);stroke-width:34px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
16
+ <line x1="80" y1="0" x2="380" y2="380" stroke="#2C2C2A" stroke-width="34" mask="url(#imagine-text-gaps-0cldyt)" style="fill:rgb(0, 0, 0);stroke:rgb(44, 44, 42);color:rgb(255, 255, 255);stroke-width:34px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
17
+ <line x1="180" y1="0" x2="480" y2="380" stroke="#2C2C2A" stroke-width="34" mask="url(#imagine-text-gaps-0cldyt)" style="fill:rgb(0, 0, 0);stroke:rgb(44, 44, 42);color:rgb(255, 255, 255);stroke-width:34px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
18
+ <line x1="280" y1="0" x2="580" y2="380" stroke="#2C2C2A" stroke-width="34" mask="url(#imagine-text-gaps-0cldyt)" style="fill:rgb(0, 0, 0);stroke:rgb(44, 44, 42);color:rgb(255, 255, 255);stroke-width:34px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
19
+ <line x1="380" y1="0" x2="680" y2="380" stroke="#2C2C2A" stroke-width="34" mask="url(#imagine-text-gaps-0cldyt)" style="fill:rgb(0, 0, 0);stroke:rgb(44, 44, 42);color:rgb(255, 255, 255);stroke-width:34px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
20
+ <line x1="480" y1="0" x2="780" y2="380" stroke="#2C2C2A" stroke-width="34" style="fill:rgb(0, 0, 0);stroke:rgb(44, 44, 42);color:rgb(255, 255, 255);stroke-width:34px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
16
21
  </g>
17
22
 
18
- <!-- ====== TOP RULE ====== -->
19
- <line x1="40" y1="20" x2="920" y2="20" stroke="var(--color-text-primary)" stroke-width="2" opacity="0.12" style="fill:rgb(0, 0, 0);stroke:rgb(250, 249, 245);color:rgb(255, 255, 255);stroke-width:2px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.12;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
20
- <line x1="40" y1="24" x2="920" y2="24" stroke="var(--color-text-primary)" stroke-width="0.5" opacity="0.08" style="fill:rgb(0, 0, 0);stroke:rgb(250, 249, 245);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.08;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
21
-
22
- <!-- ====== MASTHEAD centered ====== -->
23
- <text x="480" y="52" text-anchor="middle" style="font-family:var(--font-serif);font-size:11px;letter-spacing:4px;opacity:0.35;fill:rgb(194, 192, 182);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.35;font-family:&quot;Anthropic Serif&quot;, Georgia, &quot;Times New Roman&quot;, serif;font-size:11px;font-weight:400;text-anchor:middle;dominant-baseline:auto" fill="var(--color-text-secondary)">THE RESULTSAFE PROJECT</text>
24
-
25
- <!-- Big title -->
26
- <text x="480" y="96" text-anchor="middle" dominant-baseline="central" style="font-family:var(--font-serif);font-size:60px;font-weight:500;letter-spacing:-1px;fill:rgb(250, 249, 245);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Serif&quot;, Georgia, &quot;Times New Roman&quot;, serif;font-size:60px;font-weight:500;text-anchor:middle;dominant-baseline:central" fill="var(--color-text-primary)">Result<tspan fill="#7F77DD" style="fill:rgb(127, 119, 221);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Serif&quot;, Georgia, &quot;Times New Roman&quot;, serif;font-size:60px;font-weight:500;text-anchor:middle;dominant-baseline:central">Safe</tspan></text>
27
-
28
- <!-- Thin rule under title -->
29
- <line x1="300" y1="116" x2="660" y2="116" stroke="var(--color-text-primary)" stroke-width="0.5" opacity="0.1" mask="url(#imagine-text-gaps-e1f1yu)" style="fill:rgb(0, 0, 0);stroke:rgb(250, 249, 245);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
30
-
31
- <!-- Centered subtitle -->
32
- <text x="480" y="136" text-anchor="middle" style="font-family:var(--font-serif);font-size:14px;letter-spacing:0.3px;fill:rgb(194, 192, 182);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Serif&quot;, Georgia, &quot;Times New Roman&quot;, serif;font-size:14px;font-weight:400;text-anchor:middle;dominant-baseline:auto" fill="var(--color-text-secondary)">Rust-style Result&lt;T, E&gt; brought to TypeScript &amp; JavaScript</text>
33
-
34
- <!-- ====== LANGUAGE BRIDGE — centered ornamental ====== -->
35
-
36
- <!-- Rust -->
37
- <rect x="240" y="152" width="76" height="26" rx="13" fill="#D85A30" opacity="0.1" stroke="#D85A30" stroke-width="0.5" style="fill:rgb(216, 90, 48);stroke:rgb(216, 90, 48);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
38
- <circle cx="256" cy="165" r="4.5" fill="none" stroke="#D85A30" stroke-width="0.9" style="fill:none;stroke:rgb(216, 90, 48);color:rgb(255, 255, 255);stroke-width:0.9px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
39
- <circle cx="256" cy="165" r="2" fill="#D85A30" opacity="0.3" style="fill:rgb(216, 90, 48);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.3;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
40
- <text x="268" y="165" dominant-baseline="central" style="font-family:var(--font-mono);font-size:11px;font-weight:500;fill:rgb(153, 60, 29);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:11px;font-weight:500;text-anchor:start;dominant-baseline:central" fill="#993C1D">Rust</text>
41
-
42
- <!-- Ornamental arrow -->
43
- <line x1="324" y1="165" x2="354" y2="165" stroke="#7F77DD" stroke-width="1" opacity="0.4" style="fill:rgb(0, 0, 0);stroke:rgb(127, 119, 221);color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.4;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
44
- <circle cx="339" cy="165" r="2" fill="#7F77DD" opacity="0.3" style="fill:rgb(127, 119, 221);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.3;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
45
- <line x1="354" y1="165" x2="370" y2="165" stroke="#7F77DD" stroke-width="1.2" marker-end="url(#arrow)" opacity="0.5" style="fill:rgb(0, 0, 0);stroke:rgb(127, 119, 221);color:rgb(255, 255, 255);stroke-width:1.2px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.5;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
46
-
47
- <!-- TS -->
48
- <rect x="378" y="152" width="106" height="26" rx="13" fill="#378ADD" opacity="0.1" stroke="#378ADD" stroke-width="0.5" style="fill:rgb(55, 138, 221);stroke:rgb(55, 138, 221);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
49
- <text x="398" y="165" dominant-baseline="central" style="font-family:var(--font-mono);font-size:11px;font-weight:500;fill:rgb(24, 95, 165);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:11px;font-weight:500;text-anchor:start;dominant-baseline:central" fill="#185FA5">TypeScript</text>
50
-
51
- <!-- · -->
52
- <text x="496" y="165" text-anchor="middle" dominant-baseline="central" style="font-family:var(--font-sans);font-size:14px;opacity:0.2;fill:rgb(194, 192, 182);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.2;font-family:&quot;Anthropic Sans&quot;, sans-serif;font-size:14px;font-weight:400;text-anchor:middle;dominant-baseline:central" fill="var(--color-text-secondary)">·</text>
53
-
54
- <!-- JS -->
55
- <rect x="508" y="152" width="100" height="26" rx="13" fill="#EF9F27" opacity="0.1" stroke="#EF9F27" stroke-width="0.5" style="fill:rgb(239, 159, 39);stroke:rgb(239, 159, 39);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
56
- <text x="528" y="165" dominant-baseline="central" style="font-family:var(--font-mono);font-size:11px;font-weight:500;fill:rgb(133, 79, 11);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:11px;font-weight:500;text-anchor:start;dominant-baseline:central" fill="#854F0B">JavaScript</text>
57
-
58
- <!-- Badges -->
59
- <rect x="624" y="154" width="50" height="22" rx="11" fill="var(--color-background-primary)" stroke="var(--color-border-tertiary)" stroke-width="0.4" style="fill:rgb(48, 48, 46);stroke:rgba(222, 220, 209, 0.15);color:rgb(255, 255, 255);stroke-width:0.4px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
60
- <text x="649" y="165" text-anchor="middle" dominant-baseline="central" style="font-family:var(--font-mono);font-size:9px;fill:rgb(156, 154, 146);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:9px;font-weight:400;text-anchor:middle;dominant-baseline:central" fill="var(--color-text-tertiary)">0 deps</text>
61
-
62
- <rect x="682" y="154" width="40" height="22" rx="11" fill="var(--color-background-primary)" stroke="var(--color-border-tertiary)" stroke-width="0.4" style="fill:rgb(48, 48, 46);stroke:rgba(222, 220, 209, 0.15);color:rgb(255, 255, 255);stroke-width:0.4px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
63
- <text x="702" y="165" text-anchor="middle" dominant-baseline="central" style="font-family:var(--font-mono);font-size:9px;fill:rgb(156, 154, 146);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:9px;font-weight:400;text-anchor:middle;dominant-baseline:central" fill="var(--color-text-tertiary)">MIT</text>
64
-
65
- <!-- ====== MAIN RULE ====== -->
66
- <line x1="40" y1="192" x2="920" y2="192" stroke="var(--color-text-primary)" stroke-width="0.5" opacity="0.1" style="fill:rgb(0, 0, 0);stroke:rgb(250, 249, 245);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
67
-
68
- <!-- ====== 4-COLUMN LAYOUT ====== -->
69
-
70
- <!-- COL 1: Ok / Err -->
71
- <text x="140" y="210" text-anchor="middle" style="font-family:var(--font-serif);font-size:10px;letter-spacing:1.5px;opacity:0.35;fill:rgb(194, 192, 182);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.35;font-family:&quot;Anthropic Serif&quot;, Georgia, &quot;Times New Roman&quot;, serif;font-size:10px;font-weight:400;text-anchor:middle;dominant-baseline:auto" fill="var(--color-text-secondary)">RESULT TYPE</text>
72
-
73
- <g style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
74
- <rect x="86" y="222" width="108" height="28" rx="7" stroke-width="0.5" style="fill:rgb(60, 52, 137);stroke:rgb(175, 169, 236);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
75
- <text x="140" y="236" text-anchor="middle" dominant-baseline="central" style="font-size:12px;fill:rgb(206, 203, 246);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:12px;font-weight:500;text-anchor:middle;dominant-baseline:central">Result&lt;T, E&gt;</text>
23
+ <!-- Decorative grid dots -->
24
+ <g opacity="0.06" style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.06;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
25
+ <circle cx="150" cy="68" r="1.5" fill="#2C2C2A" style="fill:rgb(44, 44, 42);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/><circle cx="168" cy="68" r="1.5" fill="#2C2C2A" style="fill:rgb(44, 44, 42);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/><circle cx="186" cy="68" r="1.5" fill="#2C2C2A" style="fill:rgb(44, 44, 42);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
26
+ <circle cx="494" cy="68" r="1.5" fill="#2C2C2A" style="fill:rgb(44, 44, 42);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/><circle cx="512" cy="68" r="1.5" fill="#2C2C2A" style="fill:rgb(44, 44, 42);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/><circle cx="530" cy="68" r="1.5" fill="#2C2C2A" style="fill:rgb(44, 44, 42);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
27
+ <circle cx="150" cy="84" r="1.5" fill="#2C2C2A" style="fill:rgb(44, 44, 42);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/><circle cx="168" cy="84" r="1.5" fill="#2C2C2A" style="fill:rgb(44, 44, 42);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
28
+ <circle cx="512" cy="84" r="1.5" fill="#2C2C2A" style="fill:rgb(44, 44, 42);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/><circle cx="530" cy="84" r="1.5" fill="#2C2C2A" style="fill:rgb(44, 44, 42);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
76
29
  </g>
77
30
 
78
- <line x1="112" y1="250" x2="92" y2="264" stroke="#1D9E75" stroke-width="0.8" marker-end="url(#arrow)" style="fill:rgb(0, 0, 0);stroke:rgb(29, 158, 117);color:rgb(255, 255, 255);stroke-width:0.8px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
79
- <line x1="168" y1="250" x2="188" y2="264" stroke="#E24B4A" stroke-width="0.8" marker-end="url(#arrow)" style="fill:rgb(0, 0, 0);stroke:rgb(226, 75, 74);color:rgb(255, 255, 255);stroke-width:0.8px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
80
-
81
- <rect x="56" y="266" width="58" height="22" rx="11" fill="#1D9E75" opacity="0.15" stroke="#1D9E75" stroke-width="0.4" style="fill:rgb(29, 158, 117);stroke:rgb(29, 158, 117);color:rgb(255, 255, 255);stroke-width:0.4px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.15;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
82
- <text x="85" y="277" text-anchor="middle" dominant-baseline="central" style="font-family:var(--font-mono);font-size:10px;font-weight:500;fill:rgb(15, 110, 86);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:10px;font-weight:500;text-anchor:middle;dominant-baseline:central" fill="#0F6E56">Ok&lt;T&gt;</text>
83
-
84
- <rect x="166" y="266" width="58" height="22" rx="11" fill="#E24B4A" opacity="0.15" stroke="#E24B4A" stroke-width="0.4" style="fill:rgb(226, 75, 74);stroke:rgb(226, 75, 74);color:rgb(255, 255, 255);stroke-width:0.4px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.15;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
85
- <text x="195" y="277" text-anchor="middle" dominant-baseline="central" style="font-family:var(--font-mono);font-size:10px;font-weight:500;fill:rgb(163, 45, 45);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:10px;font-weight:500;text-anchor:middle;dominant-baseline:central" fill="#A32D2D">Err&lt;E&gt;</text>
31
+ <!-- FROM RUST tagline -->
32
+ <text x="340" y="52" text-anchor="middle" style="font-family:ui-monospace,monospace;font-size:8px;letter-spacing:2.5px;opacity:0.4;fill:rgb(216, 90, 48);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.4;font-family:ui-monospace, monospace;font-size:8px;font-weight:400;text-anchor:middle;dominant-baseline:auto" fill="#D85A30">FROM RUST WITH LOVE</text>
86
33
 
87
- <!-- COL SEPARATOR -->
88
- <line x1="264" y1="200" x2="264" y2="290" stroke="var(--color-text-primary)" stroke-width="0.3" opacity="0.08" style="fill:rgb(0, 0, 0);stroke:rgb(250, 249, 245);color:rgb(255, 255, 255);stroke-width:0.3px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.08;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
34
+ <!-- RESULT -->
35
+ <text x="340" y="98" text-anchor="middle" dominant-baseline="central" style="font-family:system-ui,-apple-system,sans-serif;font-size:52px;font-weight:600;letter-spacing:5px;fill:rgb(127, 119, 221);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:system-ui, -apple-system, sans-serif;font-size:52px;font-weight:600;text-anchor:middle;dominant-baseline:central" fill="#7F77DD">RESULT</text>
89
36
 
90
- <!-- COL 2: Pipeline -->
91
- <text x="420" y="210" text-anchor="middle" style="font-family:var(--font-serif);font-size:10px;letter-spacing:1.5px;opacity:0.35;fill:rgb(194, 192, 182);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.35;font-family:&quot;Anthropic Serif&quot;, Georgia, &quot;Times New Roman&quot;, serif;font-size:10px;font-weight:400;text-anchor:middle;dominant-baseline:auto" fill="var(--color-text-secondary)">PIPELINE</text>
37
+ <!-- SAFE -->
38
+ <text x="340" y="140" text-anchor="middle" dominant-baseline="central" style="font-family:system-ui,-apple-system,sans-serif;font-size:38px;font-weight:600;letter-spacing:12px;fill:rgb(29, 158, 117);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:system-ui, -apple-system, sans-serif;font-size:38px;font-weight:600;text-anchor:middle;dominant-baseline:central" fill="#1D9E75">SAFE</text>
92
39
 
93
- <!-- Compact vertical pipeline -->
94
- <rect x="292" y="224" width="52" height="20" rx="5" fill="#1D9E75" opacity="0.1" stroke="#1D9E75" stroke-width="0.4" style="fill:rgb(29, 158, 117);stroke:rgb(29, 158, 117);color:rgb(255, 255, 255);stroke-width:0.4px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
95
- <text x="318" y="234" text-anchor="middle" dominant-baseline="central" style="font-family:var(--font-mono);font-size:9px;font-weight:500;fill:rgb(15, 110, 86);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:9px;font-weight:500;text-anchor:middle;dominant-baseline:central" fill="#0F6E56">Ok(v)</text>
40
+ <!-- Divider -->
41
+ <line x1="200" y1="162" x2="480" y2="162" stroke="#d3d1c7" stroke-width="0.5" mask="url(#imagine-text-gaps-0cldyt)" style="fill:rgb(0, 0, 0);stroke:rgb(211, 209, 199);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
96
42
 
97
- <line x1="348" y1="234" x2="358" y2="234" stroke="#7F77DD" stroke-width="0.7" marker-end="url(#arrow)" opacity="0.4" style="fill:rgb(0, 0, 0);stroke:rgb(127, 119, 221);color:rgb(255, 255, 255);stroke-width:0.7px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.4;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
43
+ <!-- Language bridge -->
44
+ <rect x="196" y="172" width="62" height="22" rx="11" fill="#D85A30" opacity="0.1" stroke="#D85A30" stroke-width="0.4" style="fill:rgb(216, 90, 48);stroke:rgb(216, 90, 48);color:rgb(255, 255, 255);stroke-width:0.4px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
45
+ <circle cx="210" cy="183" r="4" fill="none" stroke="#D85A30" stroke-width="0.8" style="fill:none;stroke:rgb(216, 90, 48);color:rgb(255, 255, 255);stroke-width:0.8px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
46
+ <circle cx="210" cy="183" r="1.8" fill="#D85A30" opacity="0.3" style="fill:rgb(216, 90, 48);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.3;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
47
+ <text x="222" y="183" dominant-baseline="central" style="font-family:ui-monospace,monospace;font-size:9.5px;font-weight:600;fill:rgb(153, 60, 29);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:9.5px;font-weight:600;text-anchor:start;dominant-baseline:central" fill="#993C1D">Rust</text>
98
48
 
99
- <rect x="364" y="224" width="44" height="20" rx="5" fill="#7F77DD" opacity="0.08" stroke="#7F77DD" stroke-width="0.4" style="fill:rgb(127, 119, 221);stroke:rgb(127, 119, 221);color:rgb(255, 255, 255);stroke-width:0.4px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.08;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
100
- <text x="386" y="234" text-anchor="middle" dominant-baseline="central" style="font-family:var(--font-mono);font-size:9px;font-weight:500;fill:rgb(83, 74, 183);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:9px;font-weight:500;text-anchor:middle;dominant-baseline:central" fill="#534AB7">.map</text>
49
+ <line x1="264" y1="183" x2="282" y2="183" stroke="#7F77DD" stroke-width="0.8" marker-end="url(#arrow)" opacity="0.45" style="fill:rgb(0, 0, 0);stroke:rgb(127, 119, 221);color:rgb(255, 255, 255);stroke-width:0.8px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.45;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
101
50
 
102
- <line x1="412" y1="234" x2="422" y2="234" stroke="#7F77DD" stroke-width="0.7" marker-end="url(#arrow)" opacity="0.4" style="fill:rgb(0, 0, 0);stroke:rgb(127, 119, 221);color:rgb(255, 255, 255);stroke-width:0.7px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.4;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
51
+ <rect x="290" y="172" width="86" height="22" rx="11" fill="#378ADD" opacity="0.1" stroke="#378ADD" stroke-width="0.4" style="fill:rgb(55, 138, 221);stroke:rgb(55, 138, 221);color:rgb(255, 255, 255);stroke-width:0.4px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
52
+ <text x="306" y="183" dominant-baseline="central" style="font-family:ui-monospace,monospace;font-size:9.5px;font-weight:600;fill:rgb(24, 95, 165);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:9.5px;font-weight:600;text-anchor:start;dominant-baseline:central" fill="#185FA5">TypeScript</text>
103
53
 
104
- <rect x="428" y="224" width="60" height="20" rx="5" fill="#7F77DD" opacity="0.08" stroke="#7F77DD" stroke-width="0.4" style="fill:rgb(127, 119, 221);stroke:rgb(127, 119, 221);color:rgb(255, 255, 255);stroke-width:0.4px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.08;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
105
- <text x="458" y="234" text-anchor="middle" dominant-baseline="central" style="font-family:var(--font-mono);font-size:9px;font-weight:500;fill:rgb(83, 74, 183);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:9px;font-weight:500;text-anchor:middle;dominant-baseline:central" fill="#534AB7">.flatMap</text>
54
+ <text x="384" y="183" text-anchor="middle" dominant-baseline="central" style="font-family:system-ui,sans-serif;font-size:11px;opacity:0.2;fill:rgb(95, 94, 90);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.2;font-family:system-ui, sans-serif;font-size:11px;font-weight:400;text-anchor:middle;dominant-baseline:central" fill="#5F5E5A">+</text>
106
55
 
107
- <line x1="492" y1="234" x2="502" y2="234" stroke="#7F77DD" stroke-width="0.7" marker-end="url(#arrow)" opacity="0.4" style="fill:rgb(0, 0, 0);stroke:rgb(127, 119, 221);color:rgb(255, 255, 255);stroke-width:0.7px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.4;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
56
+ <rect x="394" y="172" width="84" height="22" rx="11" fill="#EF9F27" opacity="0.1" stroke="#EF9F27" stroke-width="0.4" style="fill:rgb(239, 159, 39);stroke:rgb(239, 159, 39);color:rgb(255, 255, 255);stroke-width:0.4px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
57
+ <text x="410" y="183" dominant-baseline="central" style="font-family:ui-monospace,monospace;font-size:9.5px;font-weight:600;fill:rgb(133, 79, 11);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:9.5px;font-weight:600;text-anchor:start;dominant-baseline:central" fill="#854F0B">JavaScript</text>
108
58
 
109
- <rect x="508" y="224" width="52" height="20" rx="5" fill="#7F77DD" opacity="0.08" stroke="#7F77DD" stroke-width="0.4" style="fill:rgb(127, 119, 221);stroke:rgb(127, 119, 221);color:rgb(255, 255, 255);stroke-width:0.4px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.08;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
110
- <text x="534" y="234" text-anchor="middle" dominant-baseline="central" style="font-family:var(--font-mono);font-size:9px;font-weight:500;fill:rgb(83, 74, 183);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:9px;font-weight:500;text-anchor:middle;dominant-baseline:central" fill="#534AB7">.match</text>
59
+ <!-- Result node -->
60
+ <rect x="278" y="206" width="124" height="34" rx="8" fill="#EEEDFE" stroke="#AFA9EC" stroke-width="0.5" style="fill:rgb(238, 237, 254);stroke:rgb(175, 169, 236);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
61
+ <text x="340" y="223" text-anchor="middle" dominant-baseline="central" style="font-family:ui-monospace,monospace;font-size:13px;font-weight:600;fill:rgb(60, 52, 137);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:13px;font-weight:600;text-anchor:middle;dominant-baseline:central" fill="#3C3489">Result&lt;T, E&gt;</text>
111
62
 
112
- <!-- Err bypass -->
113
- <path d="M318 248 Q318 264 430 264 Q534 264 534 248" fill="none" stroke="#E24B4A" stroke-width="0.6" stroke-dasharray="3 2" opacity="0.3" style="fill:none;stroke:rgb(226, 75, 74);color:rgb(255, 255, 255);stroke-width:0.6px;stroke-dasharray:3px, 2px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.3;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
114
- <text x="430" y="280" text-anchor="middle" style="font-family:var(--font-mono);font-size:8px;opacity:0.3;fill:rgb(163, 45, 45);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.3;font-family:ui-monospace, monospace;font-size:8px;font-weight:400;text-anchor:middle;dominant-baseline:auto" fill="#A32D2D">Err short-circuits</text>
63
+ <!-- Branch arrows -->
64
+ <line x1="308" y1="240" x2="240" y2="262" stroke="#1D9E75" stroke-width="1" marker-end="url(#arrow)" style="fill:rgb(0, 0, 0);stroke:rgb(29, 158, 117);color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
65
+ <line x1="372" y1="240" x2="440" y2="262" stroke="#E24B4A" stroke-width="1" marker-end="url(#arrow)" style="fill:rgb(0, 0, 0);stroke:rgb(226, 75, 74);color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
115
66
 
116
- <!-- COL SEPARATOR -->
117
- <line x1="580" y1="200" x2="580" y2="290" stroke="var(--color-text-primary)" stroke-width="0.3" opacity="0.08" style="fill:rgb(0, 0, 0);stroke:rgb(250, 249, 245);color:rgb(255, 255, 255);stroke-width:0.3px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.08;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
67
+ <!-- Ok pill -->
68
+ <rect x="172" y="264" width="84" height="28" rx="14" fill="#1D9E75" opacity="0.12" stroke="#1D9E75" stroke-width="0.5" style="fill:rgb(29, 158, 117);stroke:rgb(29, 158, 117);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.12;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
69
+ <text x="214" y="278" text-anchor="middle" dominant-baseline="central" style="font-family:ui-monospace,monospace;font-size:12px;font-weight:600;fill:rgb(15, 110, 86);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:12px;font-weight:600;text-anchor:middle;dominant-baseline:central" fill="#0F6E56">Ok&lt;T&gt;</text>
118
70
 
119
- <!-- COL 3: Monorepo -->
120
- <text x="680" y="210" text-anchor="middle" style="font-family:var(--font-serif);font-size:10px;letter-spacing:1.5px;opacity:0.35;fill:rgb(194, 192, 182);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.35;font-family:&quot;Anthropic Serif&quot;, Georgia, &quot;Times New Roman&quot;, serif;font-size:10px;font-weight:400;text-anchor:middle;dominant-baseline:auto" fill="var(--color-text-secondary)">MONOREPO</text>
71
+ <!-- Err pill -->
72
+ <rect x="424" y="264" width="84" height="28" rx="14" fill="#E24B4A" opacity="0.12" stroke="#E24B4A" stroke-width="0.5" style="fill:rgb(226, 75, 74);stroke:rgb(226, 75, 74);color:rgb(255, 255, 255);stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.12;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
73
+ <text x="466" y="278" text-anchor="middle" dominant-baseline="central" style="font-family:ui-monospace,monospace;font-size:12px;font-weight:600;fill:rgb(163, 45, 45);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:12px;font-weight:600;text-anchor:middle;dominant-baseline:central" fill="#A32D2D">Err&lt;E&gt;</text>
121
74
 
122
- <rect x="608" y="224" width="144" height="26" rx="5" fill="var(--color-background-primary)" stroke="#7F77DD" stroke-width="0.6" style="fill:rgb(48, 48, 46);stroke:rgb(127, 119, 221);color:rgb(255, 255, 255);stroke-width:0.6px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
123
- <rect x="614" y="230" width="3" height="14" rx="1.5" fill="#7F77DD" style="fill:rgb(127, 119, 221);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
124
- <text x="624" y="237" dominant-baseline="central" style="font-family:var(--font-mono);font-size:10px;font-weight:500;fill:rgb(250, 249, 245);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:10px;font-weight:500;text-anchor:start;dominant-baseline:central" fill="var(--color-text-primary)">core-fp-result</text>
125
- <circle cx="740" cy="237" r="3" fill="#1D9E75" opacity="0.6" style="fill:rgb(29, 158, 117);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.6;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
75
+ <!-- Methods -->
76
+ <text x="340" y="310" text-anchor="middle" style="font-family:ui-monospace,monospace;font-size:9px;opacity:0.3;letter-spacing:0.5px;fill:rgb(95, 94, 90);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.3;font-family:ui-monospace, monospace;font-size:9px;font-weight:400;text-anchor:middle;dominant-baseline:auto" fill="#5F5E5A">.map · .flatMap · .match · .unwrap · .tap · .recover</text>
126
77
 
127
- <g opacity="0.35" style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.35;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
128
- <rect x="608" y="256" width="144" height="22" rx="5" fill="var(--color-background-primary)" stroke="var(--color-border-tertiary)" stroke-width="0.4" stroke-dasharray="3 2" style="fill:rgb(48, 48, 46);stroke:rgba(222, 220, 209, 0.15);color:rgb(255, 255, 255);stroke-width:0.4px;stroke-dasharray:3px, 2px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
129
- <rect x="614" y="261" width="3" height="12" rx="1.5" fill="var(--color-text-tertiary)" opacity="0.4" style="fill:rgb(156, 154, 146);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.4;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
130
- <text x="624" y="267" dominant-baseline="central" style="font-family:var(--font-mono);font-size:9px;fill:rgb(156, 154, 146);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:9px;font-weight:400;text-anchor:start;dominant-baseline:central" fill="var(--color-text-tertiary)">fp-option · fp-either</text>
131
- </g>
132
-
133
- <!-- COL SEPARATOR -->
134
- <line x1="776" y1="200" x2="776" y2="290" stroke="var(--color-text-primary)" stroke-width="0.3" opacity="0.08" style="fill:rgb(0, 0, 0);stroke:rgb(250, 249, 245);color:rgb(255, 255, 255);stroke-width:0.3px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.08;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
135
-
136
- <!-- COL 4: Features -->
137
- <text x="868" y="210" text-anchor="middle" style="font-family:var(--font-serif);font-size:10px;letter-spacing:1.5px;opacity:0.35;fill:rgb(194, 192, 182);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.35;font-family:&quot;Anthropic Serif&quot;, Georgia, &quot;Times New Roman&quot;, serif;font-size:10px;font-weight:400;text-anchor:middle;dominant-baseline:auto" fill="var(--color-text-secondary)">FEATURES</text>
138
-
139
- <g opacity="0.55" style="fill:rgb(0, 0, 0);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.55;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">
140
- <circle cx="802" cy="232" r="2.5" fill="#1D9E75" opacity="0.6" style="fill:rgb(29, 158, 117);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.6;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
141
- <text x="812" y="232" dominant-baseline="central" style="font-family:var(--font-sans);font-size:11px;fill:rgb(194, 192, 182);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, sans-serif;font-size:11px;font-weight:400;text-anchor:start;dominant-baseline:central" fill="var(--color-text-secondary)">Exhaustive match</text>
78
+ <!-- Badges -->
79
+ <rect x="234" y="326" width="48" height="18" rx="9" fill="#7F77DD" opacity="0.1" stroke="#7F77DD" stroke-width="0.3" style="fill:rgb(127, 119, 221);stroke:rgb(127, 119, 221);color:rgb(255, 255, 255);stroke-width:0.3px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
80
+ <text x="258" y="335" text-anchor="middle" dominant-baseline="central" style="font-family:ui-monospace,monospace;font-size:8px;font-weight:500;fill:rgb(83, 74, 183);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:8px;font-weight:500;text-anchor:middle;dominant-baseline:central" fill="#534AB7">v1.0</text>
142
81
 
143
- <circle cx="802" cy="250" r="2.5" fill="#1D9E75" opacity="0.6" style="fill:rgb(29, 158, 117);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.6;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
144
- <text x="812" y="250" dominant-baseline="central" style="font-family:var(--font-sans);font-size:11px;fill:rgb(194, 192, 182);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, sans-serif;font-size:11px;font-weight:400;text-anchor:start;dominant-baseline:central" fill="var(--color-text-secondary)">Type narrowing</text>
82
+ <rect x="290" y="326" width="52" height="18" rx="9" fill="#ffffff" stroke="#d3d1c7" stroke-width="0.3" style="fill:rgb(255, 255, 255);stroke:rgb(211, 209, 199);color:rgb(255, 255, 255);stroke-width:0.3px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
83
+ <text x="316" y="335" text-anchor="middle" dominant-baseline="central" style="font-family:ui-monospace,monospace;font-size:8px;fill:rgb(136, 135, 128);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:8px;font-weight:400;text-anchor:middle;dominant-baseline:central" fill="#888780">0 deps</text>
145
84
 
146
- <circle cx="802" cy="268" r="2.5" fill="#1D9E75" opacity="0.6" style="fill:rgb(29, 158, 117);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.6;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
147
- <text x="812" y="268" dominant-baseline="central" style="font-family:var(--font-sans);font-size:11px;fill:rgb(194, 192, 182);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, sans-serif;font-size:11px;font-weight:400;text-anchor:start;dominant-baseline:central" fill="var(--color-text-secondary)">Tree-shakeable</text>
85
+ <rect x="350" y="326" width="42" height="18" rx="9" fill="#ffffff" stroke="#d3d1c7" stroke-width="0.3" style="fill:rgb(255, 255, 255);stroke:rgb(211, 209, 199);color:rgb(255, 255, 255);stroke-width:0.3px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
86
+ <text x="371" y="335" text-anchor="middle" dominant-baseline="central" style="font-family:ui-monospace,monospace;font-size:8px;fill:rgb(136, 135, 128);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:8px;font-weight:400;text-anchor:middle;dominant-baseline:central" fill="#888780">MIT</text>
148
87
 
149
- <circle cx="802" cy="286" r="2.5" fill="#1D9E75" opacity="0.6" style="fill:rgb(29, 158, 117);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.6;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
150
- <text x="812" y="286" dominant-baseline="central" style="font-family:var(--font-sans);font-size:11px;fill:rgb(194, 192, 182);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, sans-serif;font-size:11px;font-weight:400;text-anchor:start;dominant-baseline:central" fill="var(--color-text-secondary)">Full inference</text>
151
- </g>
88
+ <rect x="400" y="326" width="52" height="18" rx="9" fill="#ffffff" stroke="#d3d1c7" stroke-width="0.3" style="fill:rgb(255, 255, 255);stroke:rgb(211, 209, 199);color:rgb(255, 255, 255);stroke-width:0.3px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:&quot;Anthropic Sans&quot;, -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
89
+ <text x="426" y="335" text-anchor="middle" dominant-baseline="central" style="font-family:ui-monospace,monospace;font-size:8px;fill:rgb(136, 135, 128);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:ui-monospace, monospace;font-size:8px;font-weight:400;text-anchor:middle;dominant-baseline:central" fill="#888780">ESM</text>
152
90
 
91
+ <!-- Bottom tagline -->
92
+ <text x="340" y="370" text-anchor="middle" style="font-family:system-ui,-apple-system,sans-serif;font-size:10px;letter-spacing:2px;opacity:0.2;fill:rgb(136, 135, 128);stroke:none;color:rgb(255, 255, 255);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.2;font-family:system-ui, -apple-system, sans-serif;font-size:10px;font-weight:400;text-anchor:middle;dominant-baseline:auto" fill="#888780">@resultsafe · type-safe functional error handling</text>
153
93
  </svg>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@resultsafe/core-fp-result",
3
- "version": "0.1.1",
3
+ "version": "0.1.6",
4
4
  "author": "Denis Savasteev",
5
5
  "license": "MIT",
6
6
  "type": "module",