@pasosdejesus/mpdj 0.2.7 → 0.2.9

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.
Files changed (51) hide show
  1. package/SKILL.md +1 -1
  2. package/dist/SKILL.md +1 -1
  3. package/dist/blockchain/SlearnInfo.js +4 -4
  4. package/dist/blockchain/SlearnInfo.js.map +1 -1
  5. package/dist/blockchain/credential-images.d.ts +51 -0
  6. package/dist/blockchain/credential-images.d.ts.map +1 -1
  7. package/dist/blockchain/credential-images.js +93 -2
  8. package/dist/blockchain/credential-images.js.map +1 -1
  9. package/dist/ia/adJ.md +20 -20
  10. package/dist/ia/alineacion_6_evidencias.md +283 -0
  11. package/dist/ia/alineacion_bayes_general.md +302 -39
  12. package/dist/ia/alineacion_bayes_profecia_mayor20G.md +256 -216
  13. package/dist/ia/alineacion_dinamica_poblaciones.md +26 -0
  14. package/dist/ia/alineacion_estetico.md +363 -0
  15. package/dist/ia/alineacion_existencial.md +363 -0
  16. package/dist/ia/alineacion_filosofia.md +395 -0
  17. package/dist/ia/alineacion_historico.md +391 -0
  18. package/dist/ia/alineacion_informacion.md +212 -0
  19. package/dist/ia/alineacion_informacion_cadena.md +210 -0
  20. package/dist/ia/alineacion_mejor_marco_operativo.md +179 -0
  21. package/dist/ia/alineacion_misionero.md +336 -0
  22. package/dist/ia/alineacion_moral.md +408 -0
  23. package/dist/ia/alineacion_servicio.md +309 -47
  24. package/dist/ia/alineacion_testimonios.md +212 -76
  25. package/dist/tasks/adJ.js +2 -2
  26. package/dist/tasks/adJ.js.map +1 -1
  27. package/dist/tasks/ai.js +2 -2
  28. package/dist/tasks/ai.js.map +1 -1
  29. package/dist/tasks/principles.js +2 -2
  30. package/dist/tasks/principles.js.map +1 -1
  31. package/dist/tasks/skill.js +2 -2
  32. package/dist/tasks/skill.js.map +1 -1
  33. package/ia/adJ.md +20 -20
  34. package/ia/alineacion_6_evidencias.md +283 -0
  35. package/ia/alineacion_bayes_general.md +302 -39
  36. package/ia/alineacion_bayes_profecia_mayor20G.md +256 -216
  37. package/ia/alineacion_dinamica_poblaciones.md +26 -0
  38. package/ia/alineacion_estetico.md +363 -0
  39. package/ia/alineacion_existencial.md +363 -0
  40. package/ia/alineacion_filosofia.md +395 -0
  41. package/ia/alineacion_historico.md +391 -0
  42. package/ia/alineacion_informacion.md +212 -0
  43. package/ia/alineacion_informacion_cadena.md +210 -0
  44. package/ia/alineacion_mejor_marco_operativo.md +179 -0
  45. package/ia/alineacion_misionero.md +336 -0
  46. package/ia/alineacion_moral.md +408 -0
  47. package/ia/alineacion_servicio.md +309 -47
  48. package/ia/alineacion_testimonios.md +212 -76
  49. package/package.json +3 -2
  50. package/dist/ia/manifiesto.md +0 -45
  51. package/ia/manifiesto.md +0 -45
package/SKILL.md CHANGED
@@ -122,7 +122,7 @@ Creates/replaces files from clipboard content.
122
122
 
123
123
  Applies changes from clipboard (3 formats: full block, SEARCH/REPLACE, unified diff).
124
124
 
125
- > ⚠️ Paths are relative to current directory. `___SEARCH___` must be exact copy including whitespace. Fuzzy matching (85%).
125
+ > [WARN] Paths are relative to current directory. `___SEARCH___` must be exact copy including whitespace. Fuzzy matching (85%).
126
126
 
127
127
  ```bash
128
128
  ./bin/m ai:edit
package/dist/SKILL.md CHANGED
@@ -122,7 +122,7 @@ Creates/replaces files from clipboard content.
122
122
 
123
123
  Applies changes from clipboard (3 formats: full block, SEARCH/REPLACE, unified diff).
124
124
 
125
- > ⚠️ Paths are relative to current directory. `___SEARCH___` must be exact copy including whitespace. Fuzzy matching (85%).
125
+ > [WARN] Paths are relative to current directory. `___SEARCH___` must be exact copy including whitespace. Fuzzy matching (85%).
126
126
 
127
127
  ```bash
128
128
  ./bin/m ai:edit
@@ -24,20 +24,20 @@ const DEFAULT_LINKS = [
24
24
  ];
25
25
  const tS = {
26
26
  en: {
27
- title: '🎓 SLEARN Cashback',
27
+ title: 'SLEARN Cashback',
28
28
  what: 'What is SLEARN?',
29
29
  description: 'When you donate, you earn 10% back in SLEARN tokens — a reward for your generosity.',
30
30
  contractLink: 'Verified contract',
31
- unverified: '🔐 Verify on learn.tg to unlock SLEARN and start taking courses.',
31
+ unverified: 'Verify on learn.tg to unlock SLEARN and start taking courses.',
32
32
  learnTg: 'Take courses on learn.tg',
33
33
  stableSl: 'Redeem on stable-sl',
34
34
  },
35
35
  es: {
36
- title: '🎓 SLEARN Cashback',
36
+ title: 'SLEARN Cashback',
37
37
  what: '¿Qué es SLEARN?',
38
38
  description: 'Al donar, recibes el 10% de vuelta en tokens SLEARN — una recompensa por tu generosidad.',
39
39
  contractLink: 'Contrato verificado',
40
- unverified: '🔐 Verifícate en learn.tg para desbloquear SLEARN y comenzar a tomar cursos.',
40
+ unverified: 'Verifícate en learn.tg para desbloquear SLEARN y comenzar a tomar cursos.',
41
41
  learnTg: 'Tomar cursos en learn.tg',
42
42
  stableSl: 'Canjear en stable-sl',
43
43
  },
@@ -1 +1 @@
1
- {"version":3,"file":"SlearnInfo.js","sourceRoot":"","sources":["../../src/blockchain/SlearnInfo.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAA;AAC7E,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC5F,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAc3E,MAAM,aAAa,GAAiC;IAClD,EAAE,EAAE;QACF,EAAE,KAAK,EAAE,QAAQ,EAAI,IAAI,EAAE,qCAAqC,EAAY,IAAI,EAAE,QAAQ,EAAE;QAC5F,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,yDAAyD,EAAE,IAAI,EAAE,MAAM,EAAE;QACvG,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,2CAA2C,EAAG,IAAI,EAAE,QAAQ,EAAE;QAC7F,EAAE,KAAK,EAAE,QAAQ,EAAI,IAAI,EAAE,wHAAwH,EAAE,IAAI,EAAE,QAAQ,EAAE;KACtK;IACD,EAAE,EAAE;QACF,EAAE,KAAK,EAAE,OAAO,EAAK,IAAI,EAAE,iCAAiC,EAAiB,IAAI,EAAE,QAAQ,EAAE;QAC7F,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,4DAA4D,EAAE,IAAI,EAAE,MAAM,EAAE;QAC3G,EAAE,KAAK,EAAE,cAAc,EAAG,IAAI,EAAE,0CAA0C,EAAG,IAAI,EAAE,QAAQ,EAAE;QAC7F,EAAE,KAAK,EAAE,SAAS,EAAG,IAAI,EAAE,6HAA6H,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC3K;CACF,CAAA;AAED,MAAM,aAAa,GAAiB;IAClC,EAAE,KAAK,EAAE,UAAU,EAAI,IAAI,EAAE,kBAAkB,EAAE;IACjD,EAAE,KAAK,EAAE,WAAW,EAAG,IAAI,EAAE,2BAA2B,EAAE;CAC3D,CAAA;AAED,MAAM,EAAE,GAAG;IACT,EAAE,EAAE;QACF,KAAK,EAAE,oBAAoB;QAC3B,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,qFAAqF;QAClG,YAAY,EAAE,mBAAmB;QACjC,UAAU,EAAE,kEAAkE;QAC9E,OAAO,EAAE,0BAA0B;QACnC,QAAQ,EAAE,qBAAqB;KAChC;IACD,EAAE,EAAE;QACF,KAAK,EAAE,oBAAoB;QAC3B,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,0FAA0F;QACvG,YAAY,EAAE,qBAAqB;QACnC,UAAU,EAAE,8EAA8E;QAC1F,OAAO,EAAE,0BAA0B;QACnC,QAAQ,EAAE,sBAAsB;KACjC;CACF,CAAA;AAaD,MAAM,SAAS,GAAsC;IACnD,MAAM,EAAE,cAAc;IACtB,IAAI,EAAE,aAAa;IACnB,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,UAAU;CACnB,CAAA;AAED,MAAM,UAAU,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAmB;IAClG,MAAM,CAAC,GAAG,CAAC,CAAqB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,MAAyB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAW,CAAA;IAC/F,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEvC,MAAM,OAAO,GAAG,cAAc,EAAE,CAAA;IAChC,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAC5C,MAAM,cAAc,GAAG,OAAO,KAAK,MAAM;QACvC,CAAC,CAAC,6BAA6B;QAC/B,CAAC,CAAC,qCAAqC,CAAA;IAEzC,MAAM,UAAU,GAAG,KAAK,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,EAAE,CAAA;IACrE,MAAM,UAAU,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/C,EAAE,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE;QACjD,EAAE,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE;KAC5D,CAAA;IAED,OAAO,CACL,MAAC,IAAI,eACH,kBACE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAC7B,SAAS,EAAC,wGAAwG,aAElH,gBAAM,SAAS,EAAC,qCAAqC,aACnD,KAAC,aAAa,IAAC,SAAS,EAAC,yBAAyB,GAAG,EACpD,CAAC,CAAC,MAAM,CAAC,IACL,EACP,KAAC,IAAI,IAAC,SAAS,EAAC,uBAAuB,GAAG,IACnC,EAER,IAAI,IAAI,CACP,MAAC,WAAW,IAAC,SAAS,EAAC,6BAA6B,aAClD,YAAG,SAAS,EAAC,eAAe,YAAE,WAAW,IAAI,CAAC,CAAC,aAAa,CAAC,GAAK,EAEjE,CAAC,UAAU,IAAI,CACd,cAAK,SAAS,EAAC,qEAAqE,YACjF,CAAC,CAAC,YAAY,CAAC,GACZ,CACP,EAED,cAAK,SAAS,EAAC,WAAW,YACvB,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;4BAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;4BACpD,OAAO,CACL,eAAa,SAAS,EAAC,wBAAwB,aAC7C,eAAM,SAAS,EAAC,qHAAqH,YAClI,CAAC,GAAG,CAAC,GACD,EACP,0BACE,2BAAS,IAAI,CAAC,KAAK,GAAU,EAC7B,gBAAM,SAAS,EAAC,eAAe,yBAAK,IAAI,CAAC,IAAI,IAAQ,IACjD,EACL,IAAI,IAAI,KAAC,IAAI,IAAC,SAAS,EAAC,8CAA8C,GAAG,KARlE,CAAC,CASL,CACP,CAAA;wBACH,CAAC,CAAC,GACE,EAEN,eAAK,SAAS,EAAC,2BAA2B,aACvC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAC3B,aAEE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAE,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EACtD,GAAG,EAAE,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,EAChE,SAAS,EAAC,yDAAyD,aAElE,IAAI,CAAC,KAAK,gBANN,CAAC,CAOJ,CACL,CAAC,EACD,UAAU,IAAI,CACb,aACE,IAAI,EAAE,GAAG,cAAc,YAAY,UAAU,EAAE,EAC/C,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAC,6EAA6E,aAEvF,KAAC,YAAY,IAAC,SAAS,EAAC,SAAS,GAAG,EACnC,CAAC,CAAC,cAAc,CAAC,IAChB,CACL,IACG,IACM,CACf,IACI,CACR,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"SlearnInfo.js","sourceRoot":"","sources":["../../src/blockchain/SlearnInfo.tsx"],"names":[],"mappings":"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"}
@@ -8,6 +8,57 @@ export declare function extractSvgInner(svgText: string): string;
8
8
  * Validate user's SVG file before composition.
9
9
  */
10
10
  export declare function validateSvg(svgText: string): void;
11
+ /**
12
+ * Geometry of the bottom band, in the 512×512 viewBox: the title starts at
13
+ * `titleX` and the site name ends at `siteEndX`, both on the `baselineY` baseline,
14
+ * with at least `gap` pixels between them.
15
+ */
16
+ export declare const BAND: {
17
+ readonly titleX: 8;
18
+ readonly siteEndX: 501;
19
+ readonly baselineY: 498;
20
+ readonly gap: 16;
21
+ /** width both texts may occupy together (titleX to siteEndX, minus the gap) */
22
+ readonly maxTextWidth: number;
23
+ };
24
+ /**
25
+ * Absolute cap of course-title characters drawn in the band (learn.tg#195,
26
+ * https://github.com/pasosdeJesus/learn.tg/issues/195): the band also carries the
27
+ * site name/brand on the right, so the title is truncated and its font shrinks
28
+ * until it fits the space the site name leaves.
29
+ */
30
+ export declare const MAX_TITLE_LENGTH = 25;
31
+ /** Estimated width in px of `text` drawn bold at `fontSize`. */
32
+ export declare function estimateTextWidth(text: string, fontSize: number): number;
33
+ /**
34
+ * Title for the band: the first `maxLength` characters and `...` when the name is
35
+ * longer (learn.tg#195).
36
+ */
37
+ export declare function credentialTitle(displayName?: string, maxLength?: number): string;
38
+ export interface CredentialTitleLayout {
39
+ /** title drawn on the left (already truncated; the caller still escapes it) */
40
+ title: string;
41
+ /** site name drawn on the right */
42
+ site: string;
43
+ titleSize: number;
44
+ siteSize: number;
45
+ /** estimated widths, so callers and tests can check the fit */
46
+ titleWidth: number;
47
+ siteWidth: number;
48
+ }
49
+ /**
50
+ * Layout of the bottom band. Before this change the font was only shrunk for
51
+ * titles longer than 20 characters, which counted characters instead of measuring
52
+ * width: a 20-character title at 36px is wider than a 28-character one at 20px,
53
+ * and the available width also depends on the site name (a 17-character domain
54
+ * leaves far less room than 'learn.tg'). Both cases still overlapped on real
55
+ * badges (learn.tg#195).
56
+ *
57
+ * The site name is kept whole whenever it fits, shrinking its font; the title
58
+ * shrinks from 36px to 20px and is then truncated until the estimated widths fit
59
+ * `BAND.maxTextWidth`.
60
+ */
61
+ export declare function credentialTitleLayout(displayName: string, siteName: string): CredentialTitleLayout;
11
62
  export interface ComposeParams {
12
63
  userSvgPath: string;
13
64
  tokenId: number;
@@ -1 +1 @@
1
- {"version":3,"file":"credential-images.d.ts","sourceRoot":"","sources":["../../src/blockchain/credential-images.ts"],"names":[],"mappings":"AAmCA,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK9C,CAAA;AAED,eAAO,MAAM,WAAW,+EAA+E,CAAA;AAuBvG;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAoBjD;AAkED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,OAAO,CAAA;IACpB,SAAS,EAAE,OAAO,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,aAAa;;;GAsDjE"}
1
+ {"version":3,"file":"credential-images.d.ts","sourceRoot":"","sources":["../../src/blockchain/credential-images.ts"],"names":[],"mappings":"AAmCA,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK9C,CAAA;AAED,eAAO,MAAM,WAAW,+EAA+E,CAAA;AAuBvG;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAoBjD;AAkED;;;;GAIG;AACH,eAAO,MAAM,IAAI;;;;;IAKf,+EAA+E;;CAEvE,CAAA;AAWV;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,KAAK,CAAA;AAUlC,gEAAgE;AAChE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,SAAS,SAAmB,GAAG,MAAM,CAK1F;AAUD,MAAM,WAAW,qBAAqB;IACpC,+EAA+E;IAC/E,KAAK,EAAE,MAAM,CAAA;IACb,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,qBAAqB,CAsBlG;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,OAAO,CAAA;IACpB,SAAS,EAAE,OAAO,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,aAAa;;;GAuDjE"}
@@ -145,6 +145,96 @@ function getSiteLogo(site, publicDir) {
145
145
  // 3. Last resort: inline default
146
146
  return SITE_LOGOS[site] || '';
147
147
  }
148
+ // ==================== COMPOSITION ====================
149
+ /**
150
+ * Geometry of the bottom band, in the 512×512 viewBox: the title starts at
151
+ * `titleX` and the site name ends at `siteEndX`, both on the `baselineY` baseline,
152
+ * with at least `gap` pixels between them.
153
+ */
154
+ export const BAND = {
155
+ titleX: 8,
156
+ siteEndX: 501,
157
+ baselineY: 498,
158
+ gap: 16,
159
+ /** width both texts may occupy together (titleX to siteEndX, minus the gap) */
160
+ maxTextWidth: 501 - 8 - 16,
161
+ };
162
+ /**
163
+ * Average advance per character, in em, for bold sans-serif text. Measured with
164
+ * librsvg (rsvg-convert) over course titles and site names: 0.438 (site names) to
165
+ * 0.557 (all-wide lowercase). 0.58 leaves margin for other font fallbacks, which
166
+ * is why the rendered fit is asserted too, in
167
+ * `tests/credential-images-band.test.ts`.
168
+ */
169
+ const CHAR_WIDTH_EM = 0.58;
170
+ /**
171
+ * Absolute cap of course-title characters drawn in the band (learn.tg#195,
172
+ * https://github.com/pasosdeJesus/learn.tg/issues/195): the band also carries the
173
+ * site name/brand on the right, so the title is truncated and its font shrinks
174
+ * until it fits the space the site name leaves.
175
+ */
176
+ export const MAX_TITLE_LENGTH = 25;
177
+ /** The site name shrinks (never below `SITE_MIN_FONT_SIZE`) to leave room for the title. */
178
+ const SITE_MAX_WIDTH = 260;
179
+ const SITE_MAX_FONT_SIZE = 32;
180
+ const SITE_MIN_FONT_SIZE = 18;
181
+ const TITLE_MAX_FONT_SIZE = 36;
182
+ const TITLE_MIN_FONT_SIZE = 20;
183
+ /** Estimated width in px of `text` drawn bold at `fontSize`. */
184
+ export function estimateTextWidth(text, fontSize) {
185
+ return Math.round(text.length * fontSize * CHAR_WIDTH_EM);
186
+ }
187
+ /**
188
+ * Title for the band: the first `maxLength` characters and `...` when the name is
189
+ * longer (learn.tg#195).
190
+ */
191
+ export function credentialTitle(displayName, maxLength = MAX_TITLE_LENGTH) {
192
+ if (typeof displayName !== 'string')
193
+ return '';
194
+ return displayName.length > maxLength
195
+ ? `${displayName.slice(0, maxLength)}...`
196
+ : displayName;
197
+ }
198
+ function fitSiteFontSize(siteName) {
199
+ let size = SITE_MAX_FONT_SIZE;
200
+ while (size > SITE_MIN_FONT_SIZE && estimateTextWidth(siteName, size) > SITE_MAX_WIDTH) {
201
+ size -= 2;
202
+ }
203
+ return size;
204
+ }
205
+ /**
206
+ * Layout of the bottom band. Before this change the font was only shrunk for
207
+ * titles longer than 20 characters, which counted characters instead of measuring
208
+ * width: a 20-character title at 36px is wider than a 28-character one at 20px,
209
+ * and the available width also depends on the site name (a 17-character domain
210
+ * leaves far less room than 'learn.tg'). Both cases still overlapped on real
211
+ * badges (learn.tg#195).
212
+ *
213
+ * The site name is kept whole whenever it fits, shrinking its font; the title
214
+ * shrinks from 36px to 20px and is then truncated until the estimated widths fit
215
+ * `BAND.maxTextWidth`.
216
+ */
217
+ export function credentialTitleLayout(displayName, siteName) {
218
+ const name = typeof displayName === 'string' ? displayName : '';
219
+ const siteNameText = typeof siteName === 'string' ? siteName : '';
220
+ const siteSize = fitSiteFontSize(siteNameText);
221
+ let site = siteNameText;
222
+ if (estimateTextWidth(site, siteSize) > SITE_MAX_WIDTH) {
223
+ const maxSiteChars = Math.max(1, Math.floor(SITE_MAX_WIDTH / (siteSize * CHAR_WIDTH_EM)) - 3);
224
+ site = credentialTitle(site, maxSiteChars);
225
+ }
226
+ const siteWidth = estimateTextWidth(site, siteSize);
227
+ const available = Math.max(0, BAND.maxTextWidth - siteWidth);
228
+ const titleSize = estimateTextWidth(name, TITLE_MAX_FONT_SIZE) <= available
229
+ ? TITLE_MAX_FONT_SIZE
230
+ : TITLE_MIN_FONT_SIZE;
231
+ let title = credentialTitle(name, MAX_TITLE_LENGTH);
232
+ if (estimateTextWidth(title, titleSize) > available) {
233
+ const maxChars = Math.max(1, Math.floor(available / (titleSize * CHAR_WIDTH_EM)) - 3);
234
+ title = credentialTitle(name, maxChars);
235
+ }
236
+ return { title, site, titleSize, siteSize, titleWidth: estimateTextWidth(title, titleSize), siteWidth };
237
+ }
148
238
  /**
149
239
  * Compose credential image by layering user's SVG icon with
150
240
  * programmatic elements (border, site logo, lock/star overlays).
@@ -162,6 +252,7 @@ export async function composeCredentialImage(params) {
162
252
  const siteLogo = getSiteLogo(site, publicDir);
163
253
  if (!siteLogo)
164
254
  throw new Error(`Unknown site: ${site}`);
255
+ const band = credentialTitleLayout(displayName, siteName);
165
256
  const generatedDir = path.join(publicDir, 'img', 'credential', 'generated');
166
257
  const pngDir = path.join(publicDir, 'img', 'credential');
167
258
  fs.mkdirSync(generatedDir, { recursive: true });
@@ -175,8 +266,8 @@ export async function composeCredentialImage(params) {
175
266
  `<rect x="0" y="464" width="512" height="48" rx="0" fill="${color}" opacity="0.15"/>`,
176
267
  `<rect x="0" y="464" width="512" height="3" rx="0" fill="${color}" opacity="0.6"/>`,
177
268
  `<g transform="translate(405,364)">${siteLogo}</g>`,
178
- `<text x="501" y="498" font-family="${FONT_FAMILY}" font-weight="700" font-size="32" fill="${color}" text-anchor="end">${xmlEscape(siteName)}</text>`,
179
- `<text x="8" y="498" font-family="${FONT_FAMILY}" font-weight="700" font-size="${displayName.length > 20 ? 20 : 36}" fill="${color}">${xmlEscape(displayName)}</text>`,
269
+ `<text x="${BAND.siteEndX}" y="${BAND.baselineY}" font-family="${FONT_FAMILY}" font-weight="700" font-size="${band.siteSize}" fill="${color}" text-anchor="end">${xmlEscape(band.site)}</text>`,
270
+ `<text x="${BAND.titleX}" y="${BAND.baselineY}" font-family="${FONT_FAMILY}" font-weight="700" font-size="${band.titleSize}" fill="${color}">${xmlEscape(band.title)}</text>`,
180
271
  ];
181
272
  if (isSoulbound)
182
273
  layers.push(getLockSvg(color, publicDir));
@@ -1 +1 @@
1
- {"version":3,"file":"credential-images.js","sourceRoot":"","sources":["../../src/blockchain/credential-images.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credential-images.js","sourceRoot":"","sources":["../../src/blockchain/credential-images.ts"],"names":[],"mappings":"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"}
package/dist/ia/adJ.md CHANGED
@@ -12,10 +12,10 @@ when AI agents assume GNU/Linux conventions. Add new entries as they surface.
12
12
  ### sed — BSD sed requires backup extension
13
13
 
14
14
  ```sh
15
- # ❌ GNU
15
+ # [FAIL] GNU
16
16
  sed -i 's/foo/bar/' file
17
17
 
18
- # ✅ BSD — empty string for no backup
18
+ # [OK] BSD — empty string for no backup
19
19
  sed -i '' 's/foo/bar/' file
20
20
  ```
21
21
 
@@ -28,13 +28,13 @@ BSD sed also does NOT support:
28
28
  ### grep — BSD grep, not GNU
29
29
 
30
30
  ```sh
31
- # ❌ GNU-only flags
31
+ # [FAIL] GNU-only flags
32
32
  grep -P 'pattern' # -P (Perl regex) does not exist
33
33
  grep -oP 'pattern' # same
34
34
  grep --exclude-dir=... # use --exclude instead
35
35
  grep --include='*.ts' # GNU-only; use find -exec grep instead
36
36
 
37
- # ✅ BSD-compatible
37
+ # [OK] BSD-compatible
38
38
  grep -E 'pattern' # extended regex
39
39
  grep -c 'a' file # OK for single file
40
40
  # Multi-file: prefer separate invocations or handle exit code 1
@@ -47,10 +47,10 @@ find . -name '*.ts' -exec grep -l 'pattern' {} +
47
47
  ### bash — not at /bin/bash
48
48
 
49
49
  ```sh
50
- # ❌
50
+ # [FAIL]
51
51
  #!/bin/bash
52
52
 
53
- # ✅
53
+ # [OK]
54
54
  #!/usr/bin/env bash
55
55
  # Or: /usr/local/bin/bash
56
56
  ```
@@ -73,10 +73,10 @@ BSD utilities can produce exit code 1 in pipelines where GNU returns 0.
73
73
  Example: `grep -c 'x' file1 file2 | head` — exit 1 if any file has 0 matches.
74
74
 
75
75
  ```sh
76
- # ❌ May silently fail
76
+ # [FAIL] May silently fail
77
77
  grep -c 'pattern' f1 f2 | head
78
78
 
79
- # ✅ Separate invocations or ignore exit code
79
+ # [OK] Separate invocations or ignore exit code
80
80
  grep -c 'pattern' f1; grep -c 'pattern' f2
81
81
  ```
82
82
 
@@ -87,31 +87,31 @@ grep -c 'pattern' f1; grep -c 'pattern' f2
87
87
  ### Privilege escalation: doas, not sudo
88
88
 
89
89
  ```sh
90
- # ❌
90
+ # [FAIL]
91
91
  sudo command
92
92
 
93
- # ✅
93
+ # [OK]
94
94
  doas command
95
95
  ```
96
96
 
97
97
  ### Package management: pkg_add, not apt/yum
98
98
 
99
99
  ```sh
100
- # ❌
100
+ # [FAIL]
101
101
  apt install pkg
102
102
  yum install pkg
103
103
 
104
- # ✅
104
+ # [OK]
105
105
  doas pkg_add pkgname
106
106
  ```
107
107
 
108
108
  ### Service management: rcctl, not systemctl
109
109
 
110
110
  ```sh
111
- # ❌
111
+ # [FAIL]
112
112
  systemctl start postgresql
113
113
 
114
- # ✅
114
+ # [OK]
115
115
  doas rcctl start postgresql
116
116
  ```
117
117
 
@@ -121,10 +121,10 @@ doas rcctl start postgresql
121
121
  `/proc/meminfo`, etc. Use `sysctl` instead:
122
122
 
123
123
  ```sh
124
- # ❌
124
+ # [FAIL]
125
125
  cat /proc/cpuinfo
126
126
 
127
- # ✅
127
+ # [OK]
128
128
  sysctl hw.model hw.ncpu
129
129
  ```
130
130
 
@@ -135,10 +135,10 @@ sysctl hw.model hw.ncpu
135
135
  ### System user: _postgresql
136
136
 
137
137
  ```sh
138
- # ❌ — assumes Linux
138
+ # [FAIL] — assumes Linux
139
139
  PGUSER=postgres
140
140
 
141
- # ✅ — OpenBSD
141
+ # [OK] — OpenBSD
142
142
  PGUSER=_postgresql
143
143
  ```
144
144
 
@@ -186,10 +186,10 @@ Vitest (which depends on Rollup):
186
186
  ### make — BSD make, not GNU
187
187
 
188
188
  ```sh
189
- # ❌ GNU-specific
189
+ # [FAIL] GNU-specific
190
190
  make -j$(nproc)
191
191
 
192
- # ✅ BSD
192
+ # [OK] BSD
193
193
  make -j$(sysctl -n hw.ncpuonline)
194
194
  ```
195
195