@geometra/core 1.17.0 → 1.18.1

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 (56) hide show
  1. package/dist/animation.d.ts +10 -0
  2. package/dist/animation.d.ts.map +1 -1
  3. package/dist/animation.js +39 -4
  4. package/dist/animation.js.map +1 -1
  5. package/dist/app.d.ts +3 -1
  6. package/dist/app.d.ts.map +1 -1
  7. package/dist/app.js +1 -7
  8. package/dist/app.js.map +1 -1
  9. package/dist/direction.d.ts +5 -0
  10. package/dist/direction.d.ts.map +1 -1
  11. package/dist/direction.js +5 -0
  12. package/dist/direction.js.map +1 -1
  13. package/dist/focus-trap.d.ts +10 -2
  14. package/dist/focus-trap.d.ts.map +1 -1
  15. package/dist/focus-trap.js +18 -4
  16. package/dist/focus-trap.js.map +1 -1
  17. package/dist/hit-test.d.ts +1 -1
  18. package/dist/hit-test.d.ts.map +1 -1
  19. package/dist/hit-test.js +90 -69
  20. package/dist/hit-test.js.map +1 -1
  21. package/dist/index.d.ts +1 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +1 -1
  24. package/dist/index.js.map +1 -1
  25. package/dist/layout-bounds.d.ts +27 -0
  26. package/dist/layout-bounds.d.ts.map +1 -1
  27. package/dist/layout-bounds.js +38 -0
  28. package/dist/layout-bounds.js.map +1 -1
  29. package/dist/performance-now.d.ts +1 -1
  30. package/dist/performance-now.js +1 -1
  31. package/dist/responsive.d.ts +17 -1
  32. package/dist/responsive.d.ts.map +1 -1
  33. package/dist/responsive.js +33 -6
  34. package/dist/responsive.js.map +1 -1
  35. package/dist/selection.d.ts +9 -0
  36. package/dist/selection.d.ts.map +1 -1
  37. package/dist/selection.js +18 -5
  38. package/dist/selection.js.map +1 -1
  39. package/dist/seo.d.ts +11 -1
  40. package/dist/seo.d.ts.map +1 -1
  41. package/dist/seo.js +6 -2
  42. package/dist/seo.js.map +1 -1
  43. package/dist/stream-text.d.ts +21 -5
  44. package/dist/stream-text.d.ts.map +1 -1
  45. package/dist/stream-text.js +16 -4
  46. package/dist/stream-text.js.map +1 -1
  47. package/dist/tree.d.ts +2 -2
  48. package/dist/tree.d.ts.map +1 -1
  49. package/dist/tree.js +5 -4
  50. package/dist/tree.js.map +1 -1
  51. package/dist/types.d.ts +9 -6
  52. package/dist/types.d.ts.map +1 -1
  53. package/dist/virtual-scroll.d.ts.map +1 -1
  54. package/dist/virtual-scroll.js +18 -6
  55. package/dist/virtual-scroll.js.map +1 -1
  56. package/package.json +2 -2
package/dist/seo.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"seo.js","sourceRoot":"","sources":["../src/seo.ts"],"names":[],"mappings":"AA8CA;;;;;;;;GAQG;AACH,MAAM,gBAAgB,GACpB,uQAAuQ,CAAA;AAEzQ;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,gBAAwB;IACnD,IAAI,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAAE,OAAO,IAAI,CAAA;IACzF,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;IAC5D,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IACzB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG;YAAE,OAAO,IAAI,CAAA;IACvC,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,KAAa,EAAE,IAAY;IACvD,QAAQ,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QAC3B,KAAK,IAAI;YACP,OAAO,KAAK,CAAA;QACd,KAAK,KAAK;YACR,OAAO,KAAK,GAAG,EAAE,CAAA;QACnB,KAAK,IAAI;YACP,OAAO,KAAK,GAAG,EAAE,CAAA;QACnB,KAAK,IAAI;YACP,OAAO,KAAK,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;QAC1B,KAAK,IAAI;YACP,OAAO,KAAK,GAAG,EAAE,CAAA;QACnB,KAAK,IAAI;YACP,OAAO,KAAK,GAAG,EAAE,CAAA;QACnB,KAAK,IAAI;YACP,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,IAAI,CAAA;QAC5B,KAAK,IAAI;YACP,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,IAAI,CAAA;QAC5B,KAAK,GAAG;YACN,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAA;QAChC,KAAK,MAAM;YACT,OAAO,KAAK,GAAG,EAAE,CAAA;QACnB,KAAK,GAAG;YACN,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,CAAA;QAC3B,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,KAAK,GAAG,CAAC,CAAA;QAClB,KAAK,KAAK,CAAC;QACX,KAAK,KAAK,CAAC;QACX,KAAK,KAAK,CAAC;QACX,KAAK,KAAK,CAAC;QACX,KAAK,KAAK,CAAC;QACX,KAAK,KAAK,CAAC;QACX,KAAK,IAAI,CAAC;QACV,KAAK,IAAI;YACP,OAAO,KAAK,GAAG,CAAC,CAAA;QAClB,KAAK,KAAK,CAAC;QACX,KAAK,KAAK,CAAC;QACX,KAAK,KAAK,CAAC;QACX,KAAK,KAAK,CAAC;QACX,KAAK,KAAK,CAAC;QACX,KAAK,KAAK,CAAC;QACX,KAAK,IAAI,CAAC;QACV,KAAK,IAAI;YACP,OAAO,KAAK,GAAG,CAAC,CAAA;QAClB,8EAA8E;QAC9E,KAAK,OAAO;YACV,OAAO,KAAK,GAAG,CAAC,CAAA;QAClB,KAAK,OAAO;YACV,OAAO,KAAK,GAAG,EAAE,CAAA;QACnB,KAAK,KAAK,CAAC;QACX,KAAK,KAAK;YACR,OAAO,KAAK,GAAG,CAAC,CAAA;QAClB,KAAK,KAAK;YACR,OAAO,KAAK,GAAG,CAAC,CAAA;QAClB,KAAK,KAAK;YACR,OAAO,KAAK,GAAG,EAAE,CAAA;QACnB,iEAAiE;QACjE,KAAK,MAAM;YACT,OAAO,KAAK,GAAG,EAAE,CAAA;QACnB,KAAK,KAAK;YACR,OAAO,KAAK,GAAG,CAAC,CAAA;QAClB,KAAK,KAAK;YACR,OAAO,KAAK,GAAG,CAAC,CAAA;QAClB,KAAK,KAAK;YACR,OAAO,KAAK,GAAG,EAAE,CAAA;QACnB,gFAAgF;QAChF,KAAK,KAAK;YACR,OAAO,KAAK,GAAG,EAAE,CAAA;QACnB,gFAAgF;QAChF,KAAK,IAAI;YACP,OAAO,KAAK,GAAG,CAAC,CAAA;QAClB,0FAA0F;QAC1F,KAAK,KAAK;YACR,OAAO,KAAK,GAAG,EAAE,CAAA;QACnB,KAAK,IAAI;YACP,OAAO,KAAK,GAAG,EAAE,CAAA;QACnB,4DAA4D;QAC5D,KAAK,IAAI;YACP,OAAO,KAAK,GAAG,CAAC,CAAA;QAClB,KAAK,IAAI;YACP,OAAO,KAAK,GAAG,EAAE,CAAA;QACnB;YACE,OAAO,KAAK,CAAA;IAChB,CAAC;AACH,CAAC;AAED,6DAA6D;AAC7D,SAAS,QAAQ,CAAC,OAAoB;IACpC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAA;IAClC,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IACrE,sEAAsE;IACtE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;IAC9C,IAAI,IAAI,GAAG,EAAE,CAAA;IACb,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,CAAA;QACnC,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAE,CAAA;QAC1B,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,MAAM,EAAE,GAAG,oBAAoB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;YACxC,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;gBAAE,IAAI,GAAG,EAAE,CAAA;QAC9C,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GACf,SAAS,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACpF,MAAM,MAAM,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAA;IAE/C,IAAI,MAAM,IAAI,IAAI,IAAI,EAAE;QAAE,OAAO,IAAI,CAAA;IACrC,IAAI,MAAM,IAAI,IAAI,IAAI,EAAE;QAAE,OAAO,IAAI,CAAA;IACrC,IAAI,MAAM,IAAI,IAAI,IAAI,EAAE;QAAE,OAAO,IAAI,CAAA;IACrC,IAAI,MAAM,IAAI,IAAI,IAAI,EAAE;QAAE,OAAO,IAAI,CAAA;IACrC,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,OAAmB;IACtC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO;QAAE,OAAO,KAAK,CAAA;IAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAA;IAC7B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAA;IACtC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAE,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,QAAQ,CAAA;IAClE,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,MAAM;IACN,MAAM;IACN,IAAI;IACJ,KAAK;IACL,OAAO;IACP,IAAI;IACJ,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,KAAK;CACN,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,kBAAkB,GAAG,yBAAyB,CAAA;AAEpD;;GAEG;AACH,SAAS,mBAAmB,CAAC,GAAuB,EAAE,QAAgB;IACpE,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAA;IACpD,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAClC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAA;IAChD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,2FAA2F;AAC3F,SAAS,UAAU,CAAC,GAAW;IAC7B,OAAO,GAAG;SACP,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AAC3B,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,KAAwB;IAC5C,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAA;IACnB,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;QAC/C,OAAO,QAAQ,UAAU,CAAC,CAAC,CAAC,GAAG,CAAA;IACjC,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,+DAA+D;AAC/D,SAAS,aAAa,CAAC,OAAkB,EAAE,MAAc;IACvD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAE/B,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,OAAuB,CAAA;QACrC,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAA;QACxD,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACrC,IAAI,GAAG;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACxB,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACjF,IAAI,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QACpE,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACzD,OAAO,GAAG,GAAG,aAAa,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,CAAA;IAC9F,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,mBAAmB,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;QACzE,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACvC,IAAI,GAAG;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACxB,IAAI,OAAO,CAAC,QAAQ,EAAE,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACrF,IAAI,OAAO,CAAC,QAAQ,EAAE,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QACrG,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACzD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAA;QAClC,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QACnE,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,OAAO,GAAG,CAAA;YAC3C,IAAI,IAAI,KAAK,EAAE;gBAAE,OAAO,QAAQ,CAAA;YAChC,OAAO,GAAG,QAAQ,KAAK,GAAG,GAAG,IAAI,EAAE,CAAA;QACrC,CAAC;QACD,OAAO,GAAG,GAAG,IAAI,GAAG,GAAG,OAAO,IAAI,IAAI,KAAK,GAAG,GAAG,CAAA;IACnD,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,mBAAmB,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;QAC7D,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACvC,IAAI,GAAG;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACxB,IAAI,OAAO,CAAC,QAAQ,EAAE,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACrF,IAAI,OAAO,CAAC,QAAQ,EAAE,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QACrG,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACzD,OAAO,GAAG,GAAG,IAAI,GAAG,GAAG,OAAO,MAAM,GAAG,GAAG,CAAA;IAC5C,CAAC;IAED,MAAM,GAAG,GAAG,mBAAmB,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAA;IAC5E,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACvC,IAAI,GAAG;QAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACxB,IAAI,OAAO,CAAC,QAAQ,EAAE,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACrF,IAAI,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IACtE,CAAC;SAAM,IAAI,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAChE,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAEzD,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,OAAO,GAAG,CAAA;QAC3C,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAA;QAClD,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrF,OAAO,GAAG,QAAQ,KAAK,UAAU,EAAE,CAAA;IACrC,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,GAAG,GAAG,IAAI,GAAG,GAAG,OAAO,MAAM,GAAG,GAAG,CAAA;IAC5C,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACnF,OAAO,GAAG,GAAG,IAAI,GAAG,GAAG,OAAO,MAAM,QAAQ,KAAK,GAAG,KAAK,GAAG,GAAG,CAAA;AACjE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAe,EACf,UAA+B,EAAE;IAEjC,MAAM,IAAI,GAAa;QACrB,wBAAwB;QACxB,wEAAwE;KACzE,CAAA;IAED,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACvD,IAAI,CAAC,IAAI,CAAC,UAAU,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IAC1D,CAAC;IACD,IAAI,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACnE,IAAI,CAAC,IAAI,CAAC,qCAAqC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IACrF,CAAC;IACD,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QAC/D,IAAI,CAAC,IAAI,CAAC,+BAA+B,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAC7E,CAAC;IAED,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAA;QACrB,IAAI,OAAO,EAAE,CAAC,KAAK,KAAK,QAAQ,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC,sCAAsC,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC3E,CAAC;QACD,IAAI,OAAO,EAAE,CAAC,WAAW,KAAK,QAAQ,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACzD,IAAI,CAAC,IAAI,CAAC,4CAA4C,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QACvF,CAAC;QACD,IAAI,OAAO,EAAE,CAAC,KAAK,KAAK,QAAQ,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC,sCAAsC,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC3E,CAAC;QACD,IAAI,OAAO,EAAE,CAAC,GAAG,KAAK,QAAQ,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,oCAAoC,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACvE,CAAC;QACD,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,qCAAqC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzE,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAA;QAC1B,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,sCAAsC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1E,CAAC;QACD,IAAI,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,sCAAsC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1E,CAAC;QACD,IAAI,OAAO,EAAE,CAAC,KAAK,KAAK,QAAQ,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC,uCAAuC,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC5E,CAAC;QACD,IAAI,OAAO,EAAE,CAAC,WAAW,KAAK,QAAQ,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACzD,IAAI,CAAC,IAAI,CAAC,6CAA6C,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QACxF,CAAC;QACD,IAAI,OAAO,EAAE,CAAC,KAAK,KAAK,QAAQ,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC,uCAAuC,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC5E,CAAC;IACH,CAAC;IAED,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS;QAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAE5F,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACnC,oGAAoG;IACpG,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAC3E,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,CAAA;IAExC,OAAO;cACK,IAAI;;IAEd,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;;;EAGnB,IAAI;;QAEE,CAAA;AACR,CAAC"}
1
+ {"version":3,"file":"seo.js","sourceRoot":"","sources":["../src/seo.ts"],"names":[],"mappings":"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"}
@@ -11,13 +11,29 @@ export interface StreamText {
11
11
  readonly value: string;
12
12
  /** Underlying signal for direct use in view functions. */
13
13
  readonly signal: Signal<string>;
14
- /** Append text. Coalesces rapid calls into a single signal update per microtask. */
14
+ /**
15
+ * Append text. Coalesces rapid calls into a single signal update per microtask.
16
+ * Non-string values are ignored so corrupt host data cannot stringify as `[object Object]`.
17
+ *
18
+ * After {@link StreamText.done}, `append` still mutates the buffer and can schedule a flush, but
19
+ * {@link StreamText.streaming} stays `false` until {@link StreamText.clear} starts a new session.
20
+ */
15
21
  append(chunk: string): void;
16
- /** Replace the entire text content. */
22
+ /**
23
+ * Replace the entire text content synchronously.
24
+ * Non-string values are ignored (same guard as `append`) so the buffer and signal stay strings.
25
+ */
17
26
  set(text: string): void;
18
- /** Reset to empty string. */
27
+ /**
28
+ * Reset to empty string and set {@link StreamText.streaming} back to `true`.
29
+ * Use this after {@link StreamText.done} when starting another streaming session on the same handle.
30
+ */
19
31
  clear(): void;
20
- /** Mark the stream as finished. Sets `streaming` to `false`. */
32
+ /**
33
+ * Mark the stream as finished: sets {@link StreamText.streaming} to `false` and flushes any buffered text
34
+ * synchronously so the signal matches the buffer. Idempotent. Does not block later {@link StreamText.append}
35
+ * or {@link StreamText.set} (see {@link StreamText.append}).
36
+ */
21
37
  done(): void;
22
38
  /** Whether the stream is still receiving chunks. */
23
39
  readonly streaming: boolean;
@@ -29,7 +45,7 @@ export interface StreamText {
29
45
  * coalesced within a microtask so downstream signal subscribers (layout,
30
46
  * render) see at most one update per event-loop tick.
31
47
  *
32
- * @param initial — Optional initial text content (default `''`).
48
+ * @param initial — Optional initial text content (default `''`). Non-string values are treated as empty so corrupt host data cannot poison the buffer.
33
49
  */
34
50
  export declare function streamText(initial?: string): StreamText;
35
51
  //# sourceMappingURL=stream-text.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stream-text.d.ts","sourceRoot":"","sources":["../src/stream-text.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAE1C,MAAM,WAAW,UAAU;IACzB,mFAAmF;IACnF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IAC/B,oFAAoF;IACpF,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,uCAAuC;IACvC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,6BAA6B;IAC7B,KAAK,IAAI,IAAI,CAAA;IACb,gEAAgE;IAChE,IAAI,IAAI,IAAI,CAAA;IACZ,oDAAoD;IACpD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,mCAAmC;IACnC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;CAC1C;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,OAAO,SAAK,GAAG,UAAU,CAgDnD"}
1
+ {"version":3,"file":"stream-text.d.ts","sourceRoot":"","sources":["../src/stream-text.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAE1C,MAAM,WAAW,UAAU;IACzB,mFAAmF;IACnF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IAC/B;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B;;;OAGG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB;;;OAGG;IACH,KAAK,IAAI,IAAI,CAAA;IACb;;;;OAIG;IACH,IAAI,IAAI,IAAI,CAAA;IACZ,oDAAoD;IACpD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,mCAAmC;IACnC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;CAC1C;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,OAAO,SAAK,GAAG,UAAU,CA0DnD"}
@@ -11,19 +11,25 @@ import { signal, batch } from './signals.js';
11
11
  * coalesced within a microtask so downstream signal subscribers (layout,
12
12
  * render) see at most one update per event-loop tick.
13
13
  *
14
- * @param initial — Optional initial text content (default `''`).
14
+ * @param initial — Optional initial text content (default `''`). Non-string values are treated as empty so corrupt host data cannot poison the buffer.
15
15
  */
16
16
  export function streamText(initial = '') {
17
- const s = signal(initial);
17
+ const seed = typeof initial === 'string' ? initial : '';
18
+ const s = signal(seed);
18
19
  const streamingState = signal(true);
19
- let buffer = initial;
20
+ let buffer = seed;
20
21
  let flushScheduled = false;
22
+ /** Bumped by `clear()` / `done()` so an in-queue coalesce microtask cannot run after a synchronous buffer flush. */
23
+ let flushGeneration = 0;
21
24
  function scheduleFlush() {
22
25
  if (flushScheduled)
23
26
  return;
24
27
  flushScheduled = true;
28
+ const generation = flushGeneration;
25
29
  queueMicrotask(() => {
26
30
  flushScheduled = false;
31
+ if (generation !== flushGeneration)
32
+ return;
27
33
  batch(() => {
28
34
  s.set(buffer);
29
35
  });
@@ -35,21 +41,27 @@ export function streamText(initial = '') {
35
41
  },
36
42
  signal: s,
37
43
  append(chunk) {
38
- if (chunk.length === 0)
44
+ if (typeof chunk !== 'string' || chunk.length === 0)
39
45
  return;
40
46
  buffer += chunk;
41
47
  scheduleFlush();
42
48
  },
43
49
  set(text) {
50
+ if (typeof text !== 'string')
51
+ return;
44
52
  buffer = text;
45
53
  s.set(text);
46
54
  },
47
55
  clear() {
56
+ flushGeneration++;
57
+ flushScheduled = false;
48
58
  buffer = '';
49
59
  s.set('');
50
60
  streamingState.set(true);
51
61
  },
52
62
  done() {
63
+ flushGeneration++;
64
+ flushScheduled = false;
53
65
  // Flush any remaining buffered text synchronously
54
66
  if (buffer !== s.peek()) {
55
67
  s.set(buffer);
@@ -1 +1 @@
1
- {"version":3,"file":"stream-text.js","sourceRoot":"","sources":["../src/stream-text.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAsB5C;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,OAAO,GAAG,EAAE;IACrC,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;IACzB,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IACnC,IAAI,MAAM,GAAG,OAAO,CAAA;IACpB,IAAI,cAAc,GAAG,KAAK,CAAA;IAE1B,SAAS,aAAa;QACpB,IAAI,cAAc;YAAE,OAAM;QAC1B,cAAc,GAAG,IAAI,CAAA;QACrB,cAAc,CAAC,GAAG,EAAE;YAClB,cAAc,GAAG,KAAK,CAAA;YACtB,KAAK,CAAC,GAAG,EAAE;gBACT,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACf,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,OAAO;QACL,IAAI,KAAK;YACP,OAAO,CAAC,CAAC,KAAK,CAAA;QAChB,CAAC;QACD,MAAM,EAAE,CAAC;QACT,MAAM,CAAC,KAAa;YAClB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAM;YAC9B,MAAM,IAAI,KAAK,CAAA;YACf,aAAa,EAAE,CAAA;QACjB,CAAC;QACD,GAAG,CAAC,IAAY;YACd,MAAM,GAAG,IAAI,CAAA;YACb,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACb,CAAC;QACD,KAAK;YACH,MAAM,GAAG,EAAE,CAAA;YACX,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACT,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC1B,CAAC;QACD,IAAI;YACF,kDAAkD;YAClD,IAAI,MAAM,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBACxB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACf,CAAC;YACD,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC3B,CAAC;QACD,IAAI,SAAS;YACX,OAAO,cAAc,CAAC,KAAK,CAAA;QAC7B,CAAC;QACD,eAAe,EAAE,cAAc;KAChC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"stream-text.js","sourceRoot":"","sources":["../src/stream-text.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAsC5C;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,OAAO,GAAG,EAAE;IACrC,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAA;IACvD,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IACtB,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IACnC,IAAI,MAAM,GAAG,IAAI,CAAA;IACjB,IAAI,cAAc,GAAG,KAAK,CAAA;IAC1B,oHAAoH;IACpH,IAAI,eAAe,GAAG,CAAC,CAAA;IAEvB,SAAS,aAAa;QACpB,IAAI,cAAc;YAAE,OAAM;QAC1B,cAAc,GAAG,IAAI,CAAA;QACrB,MAAM,UAAU,GAAG,eAAe,CAAA;QAClC,cAAc,CAAC,GAAG,EAAE;YAClB,cAAc,GAAG,KAAK,CAAA;YACtB,IAAI,UAAU,KAAK,eAAe;gBAAE,OAAM;YAC1C,KAAK,CAAC,GAAG,EAAE;gBACT,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACf,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,OAAO;QACL,IAAI,KAAK;YACP,OAAO,CAAC,CAAC,KAAK,CAAA;QAChB,CAAC;QACD,MAAM,EAAE,CAAC;QACT,MAAM,CAAC,KAAa;YAClB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAM;YAC3D,MAAM,IAAI,KAAK,CAAA;YACf,aAAa,EAAE,CAAA;QACjB,CAAC;QACD,GAAG,CAAC,IAAY;YACd,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAM;YACpC,MAAM,GAAG,IAAI,CAAA;YACb,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACb,CAAC;QACD,KAAK;YACH,eAAe,EAAE,CAAA;YACjB,cAAc,GAAG,KAAK,CAAA;YACtB,MAAM,GAAG,EAAE,CAAA;YACX,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACT,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC1B,CAAC;QACD,IAAI;YACF,eAAe,EAAE,CAAA;YACjB,cAAc,GAAG,KAAK,CAAA;YACtB,kDAAkD;YAClD,IAAI,MAAM,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBACxB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACf,CAAC;YACD,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC3B,CAAC;QACD,IAAI,SAAS;YACX,OAAO,cAAc,CAAC,KAAK,CAAA;QAC7B,CAAC;QACD,eAAe,EAAE,cAAc;KAChC,CAAA;AACH,CAAC"}
package/dist/tree.d.ts CHANGED
@@ -10,8 +10,8 @@ import type { UIElement } from './types.js';
10
10
  * Remaining props are flex and sizing fields that belong in the layout pipeline.
11
11
  *
12
12
  * Although Textura’s flex props include `overflow`, Geometra does **not** forward it (or scroll offsets) into the
13
- * layout snapshot: clipping and scroll translation are handled in hit-testing and backends using the live tree,
14
- * keeping Yoga output aligned with the same geometry those paths consume.
13
+ * layout snapshot: scroll translation and parent rect gates use the live tree for interaction; backends clip paint from
14
+ * `overflow`; Yoga output stays aligned with the layout geometry those paths consume.
15
15
  *
16
16
  * The layout **root** omits `dir` so {@link import('./app.js').createApp}'s
17
17
  * {@link import('./app.js').AppOptions.layoutDirection} (or the root element’s resolved `dir` when that
@@ -1 +1 @@
1
- {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../src/tree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AA+C3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,UAAO,GAAG,UAAU,CAchF"}
1
+ {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../src/tree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAgD3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,UAAO,GAAG,UAAU,CAchF"}
package/dist/tree.js CHANGED
@@ -6,8 +6,9 @@
6
6
  *
7
7
  * `overflow`, `scrollX`, and `scrollY` stay on the **live** {@link UIElement} tree for
8
8
  * {@link import('./hit-test.js').dispatchHit}, canvas/terminal paint, and {@link import('./selection.js').collectTextNodes},
9
- * but are omitted here so the Textura snapshot stays a pure flex/measure input. Geometra applies clipping and scroll
10
- * offsets in interaction and renderer code instead of threading these props through Yoga/WASM for layout.
9
+ * but are omitted here so the Textura snapshot stays a pure flex/measure input. Scroll offsets and parent-bounds
10
+ * containment come from the live tree in hit-testing/selection; renderers apply `overflow` clip modes when painting
11
+ * instead of threading these props through Yoga/WASM for layout.
11
12
  */
12
13
  function stripStyleProps(props) {
13
14
  const layoutProps = { ...props };
@@ -52,8 +53,8 @@ function stripStyleProps(props) {
52
53
  * Remaining props are flex and sizing fields that belong in the layout pipeline.
53
54
  *
54
55
  * Although Textura’s flex props include `overflow`, Geometra does **not** forward it (or scroll offsets) into the
55
- * layout snapshot: clipping and scroll translation are handled in hit-testing and backends using the live tree,
56
- * keeping Yoga output aligned with the same geometry those paths consume.
56
+ * layout snapshot: scroll translation and parent rect gates use the live tree for interaction; backends clip paint from
57
+ * `overflow`; Yoga output stays aligned with the layout geometry those paths consume.
57
58
  *
58
59
  * The layout **root** omits `dir` so {@link import('./app.js').createApp}'s
59
60
  * {@link import('./app.js').AppOptions.layoutDirection} (or the root element’s resolved `dir` when that
package/dist/tree.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tree.js","sourceRoot":"","sources":["../src/tree.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AACH,SAAS,eAAe,CAAC,KAA8B;IACrD,MAAM,WAAW,GAAG,EAAE,GAAG,KAAK,EAAE,CAAA;IAChC,OAAO,WAAW,CAAC,eAAe,CAAA;IAClC,OAAO,WAAW,CAAC,KAAK,CAAA;IACxB,OAAO,WAAW,CAAC,WAAW,CAAA;IAC9B,OAAO,WAAW,CAAC,YAAY,CAAA;IAC/B,OAAO,WAAW,CAAC,WAAW,CAAA;IAC9B,OAAO,WAAW,CAAC,OAAO,CAAA;IAC1B,OAAO,WAAW,CAAC,MAAM,CAAA;IACzB,OAAO,WAAW,CAAC,aAAa,CAAA;IAChC,OAAO,WAAW,CAAC,MAAM,CAAA;IACzB,OAAO,WAAW,CAAC,QAAQ,CAAA;IAC3B,OAAO,WAAW,CAAC,OAAO,CAAA;IAC1B,OAAO,WAAW,CAAC,OAAO,CAAA;IAC1B,OAAO,WAAW,CAAC,SAAS,CAAA;IAC5B,OAAO,WAAW,CAAC,QAAQ,CAAA;IAC3B,OAAO,WAAW,CAAC,UAAU,CAAA;IAC7B,mBAAmB;IACnB,OAAO,WAAW,CAAC,GAAG,CAAA;IACtB,OAAO,WAAW,CAAC,GAAG,CAAA;IACtB,OAAO,WAAW,CAAC,SAAS,CAAA;IAC5B,qBAAqB;IACrB,OAAO,WAAW,CAAC,UAAU,CAAA;IAC7B,OAAO,WAAW,CAAC,OAAO,CAAA;IAC1B,OAAO,WAAW,CAAC,GAAG,CAAA;IACtB,OAAO,WAAW,CAAC,IAAI,CAAA;IACvB,OAAO,WAAW,CAAC,GAAG,CAAA;IACtB,OAAO,WAAW,CAAC,cAAc,CAAA;IACjC,OAAO,WAAW,CAAC,YAAY,CAAA;IAC/B,OAAO,WAAW,CAAC,aAAa,CAAA;IAChC,OAAO,WAAW,CAAC,aAAa,CAAA;IAChC,OAAO,WAAW,CAAA;AACpB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,YAAY,CAAC,OAAkB,EAAE,YAAY,GAAG,IAAI;IAClE,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,KAAgC,CAAC,CAAA;IAC7E,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,WAAW,CAAC,GAAG,CAAA;IACxB,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACtF,OAAO,WAAyB,CAAA;IAClC,CAAC;IAED,OAAO;QACL,GAAG,WAAW;QACd,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KACxD,CAAA;AACjB,CAAC"}
1
+ {"version":3,"file":"tree.js","sourceRoot":"","sources":["../src/tree.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AACH,SAAS,eAAe,CAAC,KAA8B;IACrD,MAAM,WAAW,GAAG,EAAE,GAAG,KAAK,EAAE,CAAA;IAChC,OAAO,WAAW,CAAC,eAAe,CAAA;IAClC,OAAO,WAAW,CAAC,KAAK,CAAA;IACxB,OAAO,WAAW,CAAC,WAAW,CAAA;IAC9B,OAAO,WAAW,CAAC,YAAY,CAAA;IAC/B,OAAO,WAAW,CAAC,WAAW,CAAA;IAC9B,OAAO,WAAW,CAAC,OAAO,CAAA;IAC1B,OAAO,WAAW,CAAC,MAAM,CAAA;IACzB,OAAO,WAAW,CAAC,aAAa,CAAA;IAChC,OAAO,WAAW,CAAC,MAAM,CAAA;IACzB,OAAO,WAAW,CAAC,QAAQ,CAAA;IAC3B,OAAO,WAAW,CAAC,OAAO,CAAA;IAC1B,OAAO,WAAW,CAAC,OAAO,CAAA;IAC1B,OAAO,WAAW,CAAC,SAAS,CAAA;IAC5B,OAAO,WAAW,CAAC,QAAQ,CAAA;IAC3B,OAAO,WAAW,CAAC,UAAU,CAAA;IAC7B,mBAAmB;IACnB,OAAO,WAAW,CAAC,GAAG,CAAA;IACtB,OAAO,WAAW,CAAC,GAAG,CAAA;IACtB,OAAO,WAAW,CAAC,SAAS,CAAA;IAC5B,qBAAqB;IACrB,OAAO,WAAW,CAAC,UAAU,CAAA;IAC7B,OAAO,WAAW,CAAC,OAAO,CAAA;IAC1B,OAAO,WAAW,CAAC,GAAG,CAAA;IACtB,OAAO,WAAW,CAAC,IAAI,CAAA;IACvB,OAAO,WAAW,CAAC,GAAG,CAAA;IACtB,OAAO,WAAW,CAAC,cAAc,CAAA;IACjC,OAAO,WAAW,CAAC,YAAY,CAAA;IAC/B,OAAO,WAAW,CAAC,aAAa,CAAA;IAChC,OAAO,WAAW,CAAC,aAAa,CAAA;IAChC,OAAO,WAAW,CAAA;AACpB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,YAAY,CAAC,OAAkB,EAAE,YAAY,GAAG,IAAI;IAClE,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,KAAgC,CAAC,CAAA;IAC7E,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,WAAW,CAAC,GAAG,CAAA;IACxB,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACtF,OAAO,WAAyB,CAAA;IAClC,CAAC;IAED,OAAO;QACL,GAAG,WAAW;QACd,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KACxD,CAAA;AACjB,CAAC"}
package/dist/types.d.ts CHANGED
@@ -28,7 +28,8 @@ export interface StyleProps {
28
28
  cursor?: CursorProp;
29
29
  /**
30
30
  * Z-index for paint ordering among siblings. Higher values paint on top.
31
- * Non-finite values (`NaN`, `±Infinity`) are treated as `0` for hit-testing and renderer paint order.
31
+ * Non-finite numbers and non-number runtime values are normalized to `0` for hit-testing and renderer
32
+ * paint order (same rule as {@link import('./layout-bounds.js').finiteNumberOrZero}).
32
33
  */
33
34
  zIndex?: number;
34
35
  /**
@@ -38,14 +39,16 @@ export interface StyleProps {
38
39
  */
39
40
  pointerEvents?: 'auto' | 'none';
40
41
  /**
41
- * Overflow behavior for children. `hidden` and `scroll` clip hit-testing to the parent rect before
42
- * descending; `visible` (or omitted) still requires the pointer to lie inside the parent’s layout bounds
43
- * to reach descendants — geometry that paints outside the parent is not hit-tested from this ancestor.
42
+ * Renderer clip mode: `hidden` and `scroll` clip descendant paint to this box in canvas/terminal backends;
43
+ * `visible` (or omitted) does not clip paint.
44
+ *
45
+ * Hit-testing gates on the parent layout rect for every mode and does not branch on `overflow`; `scrollX` /
46
+ * `scrollY` shift child geometry under this box.
44
47
  */
45
48
  overflow?: 'visible' | 'hidden' | 'scroll';
46
- /** Horizontal scroll offset (used with overflow: 'scroll'). */
49
+ /** Horizontal content scroll offset (hit-testing, selection walks, and paint). */
47
50
  scrollX?: number;
48
- /** Vertical scroll offset (used with overflow: 'scroll'). */
51
+ /** Vertical content scroll offset (hit-testing, selection walks, and paint). */
49
52
  scrollY?: number;
50
53
  /** Box shadow. */
51
54
  boxShadow?: {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"virtual-scroll.d.ts","sourceRoot":"","sources":["../src/virtual-scroll.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,MAAM,WAAW,kBAAkB;IACjC,yFAAyF;IACzF,KAAK,EAAE,MAAM,CAAA;IACb,0FAA0F;IAC1F,GAAG,EAAE,MAAM,CAAA;IACX,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAA;CACjB;AAYD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,kBAAkB,CAsBpB"}
1
+ {"version":3,"file":"virtual-scroll.d.ts","sourceRoot":"","sources":["../src/virtual-scroll.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,MAAM,WAAW,kBAAkB;IACjC,yFAAyF;IACzF,KAAK,EAAE,MAAM,CAAA;IACb,0FAA0F;IAC1F,GAAG,EAAE,MAAM,CAAA;IACX,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAA;CACjB;AA0BD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,kBAAkB,CAsBpB"}
@@ -6,6 +6,18 @@ function finiteOr(n, fallback) {
6
6
  function intRowMetric(n, fallback) {
7
7
  return Math.max(0, Math.floor(finiteOr(n, fallback)));
8
8
  }
9
+ /** Like `Math.max(0, n)` but maps non-finite `n` to `0` so corrupt floats cannot poison window indices. */
10
+ function nonNegativeOrZero(n) {
11
+ return Number.isFinite(n) ? Math.max(0, n) : 0;
12
+ }
13
+ /**
14
+ * Inclusive last row index for a window starting at `start`. When `start + safeWindow - 1` overflows or is
15
+ * otherwise non-finite, returns `maxIndex` (same defensive rule as {@link import('./layout-bounds.js').pointInInclusiveLayoutRect}).
16
+ */
17
+ function inclusiveEndIndex(start, maxIndex, safeWindow) {
18
+ const spanEnd = start + safeWindow - 1;
19
+ return Number.isFinite(spanEnd) ? Math.min(maxIndex, spanEnd) : maxIndex;
20
+ }
9
21
  /**
10
22
  * Keep the selected row index visible inside a fixed-size virtual window.
11
23
  *
@@ -26,19 +38,19 @@ export function syncVirtualWindow(totalRows, windowSize, selected, currentStart)
26
38
  const safeWindow = Math.max(1, Math.floor(finiteOr(windowSize, 1)));
27
39
  const maxIndex = Math.max(0, safeTotal - 1);
28
40
  const nextSelected = Math.max(0, Math.min(maxIndex, intRowMetric(selected, 0)));
29
- const maxStart = Math.max(0, safeTotal - safeWindow);
30
- let start = Math.max(0, Math.min(maxStart, intRowMetric(currentStart, 0)));
31
- const end = Math.min(maxIndex, start + safeWindow - 1);
41
+ const maxStart = nonNegativeOrZero(safeTotal - safeWindow);
42
+ let start = nonNegativeOrZero(Math.min(maxStart, intRowMetric(currentStart, 0)));
43
+ const end = inclusiveEndIndex(start, maxIndex, safeWindow);
32
44
  if (nextSelected < start) {
33
45
  start = nextSelected;
34
46
  }
35
47
  else if (nextSelected > end) {
36
- start = Math.max(0, nextSelected - safeWindow + 1);
48
+ start = nonNegativeOrZero(nextSelected - safeWindow + 1);
37
49
  }
38
- const clampedStart = Math.max(0, Math.min(maxStart, start));
50
+ const clampedStart = nonNegativeOrZero(Math.min(maxStart, start));
39
51
  return {
40
52
  start: clampedStart,
41
- end: Math.min(maxIndex, clampedStart + safeWindow - 1),
53
+ end: inclusiveEndIndex(clampedStart, maxIndex, safeWindow),
42
54
  selected: nextSelected,
43
55
  };
44
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"virtual-scroll.js","sourceRoot":"","sources":["../src/virtual-scroll.ts"],"names":[],"mappings":"AAUA,0IAA0I;AAC1I,SAAS,QAAQ,CAAC,CAAS,EAAE,QAAgB;IAC3C,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;AACnE,CAAC;AAED,sHAAsH;AACtH,SAAS,YAAY,CAAC,CAAS,EAAE,QAAgB;IAC/C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;AACvD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAiB,EACjB,UAAkB,EAClB,QAAgB,EAChB,YAAoB;IAEpB,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAA;IAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC,CAAA;IAEpD,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,GAAG,UAAU,GAAG,CAAC,CAAC,CAAA;IAEtD,IAAI,YAAY,GAAG,KAAK,EAAE,CAAC;QACzB,KAAK,GAAG,YAAY,CAAA;IACtB,CAAC;SAAM,IAAI,YAAY,GAAG,GAAG,EAAE,CAAC;QAC9B,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,CAAC,CAAC,CAAA;IACpD,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;IAC3D,OAAO;QACL,KAAK,EAAE,YAAY;QACnB,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,GAAG,UAAU,GAAG,CAAC,CAAC;QACtD,QAAQ,EAAE,YAAY;KACvB,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"virtual-scroll.js","sourceRoot":"","sources":["../src/virtual-scroll.ts"],"names":[],"mappings":"AAUA,0IAA0I;AAC1I,SAAS,QAAQ,CAAC,CAAS,EAAE,QAAgB;IAC3C,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;AACnE,CAAC;AAED,sHAAsH;AACtH,SAAS,YAAY,CAAC,CAAS,EAAE,QAAgB;IAC/C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;AACvD,CAAC;AAED,2GAA2G;AAC3G,SAAS,iBAAiB,CAAC,CAAS;IAClC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAChD,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,KAAa,EAAE,QAAgB,EAAE,UAAkB;IAC5E,MAAM,OAAO,GAAG,KAAK,GAAG,UAAU,GAAG,CAAC,CAAA;IACtC,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;AAC1E,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAiB,EACjB,UAAkB,EAClB,QAAgB,EAChB,YAAoB;IAEpB,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAA;IAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/E,MAAM,QAAQ,GAAG,iBAAiB,CAAC,SAAS,GAAG,UAAU,CAAC,CAAA;IAE1D,IAAI,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAChF,MAAM,GAAG,GAAG,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;IAE1D,IAAI,YAAY,GAAG,KAAK,EAAE,CAAC;QACzB,KAAK,GAAG,YAAY,CAAA;IACtB,CAAC;SAAM,IAAI,YAAY,GAAG,GAAG,EAAE,CAAC;QAC9B,KAAK,GAAG,iBAAiB,CAAC,YAAY,GAAG,UAAU,GAAG,CAAC,CAAC,CAAA;IAC1D,CAAC;IAED,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;IACjE,OAAO;QACL,KAAK,EAAE,YAAY;QACnB,GAAG,EAAE,iBAAiB,CAAC,YAAY,EAAE,QAAQ,EAAE,UAAU,CAAC;QAC1D,QAAQ,EAAE,YAAY;KACvB,CAAA;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geometra/core",
3
- "version": "1.17.0",
3
+ "version": "1.18.1",
4
4
  "description": "DOM-free UI framework core: components, signals, reconciler",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -39,7 +39,7 @@
39
39
  "check": "tsc --noEmit"
40
40
  },
41
41
  "dependencies": {
42
- "textura": "^1.17.0"
42
+ "textura": "^1.18.1"
43
43
  },
44
44
  "optionalDependencies": {
45
45
  "@napi-rs/canvas": "^0.1.65"