kireji 0.8.2 → 0.9.0

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 (209) hide show
  1. package/package.json +1 -1
  2. package/src/app/kireji/editor/point.js +0 -1
  3. package/src/app/kireji/editor/sections/issues/part.html_.js +5 -0
  4. package/src/app/kireji/editor/sections/issues/part.json +3 -0
  5. package/src/app/kireji/editor/sections/issues/title +1 -0
  6. package/src/app/kireji/editor/sections/state/part.html_.js +8 -8
  7. package/src/app/kireji/editor/tab-group/build.js +0 -1
  8. package/src/app/kireji/editor/tab-group/view-update.js +0 -3
  9. package/src/app/kireji/issue-tracker/constants.js +3 -0
  10. package/src/app/kireji/issue-tracker/filters/part.html_.js +6 -0
  11. package/src/app/kireji/issue-tracker/filters/part.json +3 -0
  12. package/src/app/kireji/issue-tracker/filters/type.d.ts +6 -0
  13. package/src/app/kireji/issue-tracker/menu-appear-on +1 -0
  14. package/src/app/kireji/issue-tracker/part.css_.js +1 -0
  15. package/src/app/kireji/issue-tracker/part.html_.js +5 -0
  16. package/src/app/kireji/issue-tracker/part.json +9 -0
  17. package/src/app/kireji/issue-tracker/pathname-canonical_.js +1 -0
  18. package/src/app/kireji/issue-tracker/pathname-translate-canonical.js +42 -0
  19. package/src/app/kireji/issue-tracker/scroller/part.json +3 -0
  20. package/src/app/kireji/issue-tracker/scroller/query +1 -0
  21. package/src/app/kireji/issue-tracker/sections/issues/1776193480/description +1 -0
  22. package/src/app/kireji/issue-tracker/sections/issues/1776193480/part.json +3 -0
  23. package/src/app/kireji/issue-tracker/sections/issues/1776193480/status +1 -0
  24. package/src/app/kireji/issue-tracker/sections/issues/1776193480/title +1 -0
  25. package/src/app/kireji/issue-tracker/sections/issues/1776193941/affects_.js +3 -0
  26. package/src/app/kireji/issue-tracker/sections/issues/1776193941/description +1 -0
  27. package/src/app/kireji/issue-tracker/sections/issues/1776193941/part.json +3 -0
  28. package/src/app/kireji/issue-tracker/sections/issues/1776193941/priority +1 -0
  29. package/src/app/kireji/issue-tracker/sections/issues/1776193941/title +1 -0
  30. package/src/app/kireji/issue-tracker/sections/issues/1776204452/description +1 -0
  31. package/src/app/kireji/issue-tracker/sections/issues/1776204452/part.json +3 -0
  32. package/src/app/kireji/issue-tracker/sections/issues/1776204452/priority +1 -0
  33. package/src/app/kireji/issue-tracker/sections/issues/1776204452/title +1 -0
  34. package/src/app/kireji/issue-tracker/sections/issues/1776204550/description +1 -0
  35. package/src/app/kireji/issue-tracker/sections/issues/1776204550/part.json +3 -0
  36. package/src/app/kireji/issue-tracker/sections/issues/1776204550/priority +1 -0
  37. package/src/app/kireji/issue-tracker/sections/issues/1776204550/title +1 -0
  38. package/src/app/kireji/issue-tracker/sections/issues/1776204640/affects_.js +3 -0
  39. package/src/app/kireji/issue-tracker/sections/issues/1776204640/description +5 -0
  40. package/src/app/kireji/issue-tracker/sections/issues/1776204640/part.json +3 -0
  41. package/src/app/kireji/issue-tracker/sections/issues/1776204640/priority +1 -0
  42. package/src/app/kireji/issue-tracker/sections/issues/1776204640/status +1 -0
  43. package/src/app/kireji/issue-tracker/sections/issues/1776204640/title +1 -0
  44. package/src/app/kireji/issue-tracker/sections/issues/1776204869/description +1 -0
  45. package/src/app/kireji/issue-tracker/sections/issues/1776204869/part.json +3 -0
  46. package/src/app/kireji/issue-tracker/sections/issues/1776204869/priority +1 -0
  47. package/src/app/kireji/issue-tracker/sections/issues/1776204869/status +1 -0
  48. package/src/app/kireji/issue-tracker/sections/issues/1776204869/title +1 -0
  49. package/src/app/kireji/issue-tracker/sections/issues/1776204979/affects_.js +3 -0
  50. package/src/app/kireji/issue-tracker/sections/issues/1776204979/description +1 -0
  51. package/src/app/kireji/issue-tracker/sections/issues/1776204979/part.json +3 -0
  52. package/src/app/kireji/issue-tracker/sections/issues/1776204979/priority +1 -0
  53. package/src/app/kireji/issue-tracker/sections/issues/1776204979/title +1 -0
  54. package/src/app/kireji/issue-tracker/sections/issues/1776205152/affects_.js +4 -0
  55. package/src/app/kireji/issue-tracker/sections/issues/1776205152/description +30 -0
  56. package/src/app/kireji/issue-tracker/sections/issues/1776205152/part.json +3 -0
  57. package/src/app/kireji/issue-tracker/sections/issues/1776205152/priority +1 -0
  58. package/src/app/kireji/issue-tracker/sections/issues/1776205152/status +1 -0
  59. package/src/app/kireji/issue-tracker/sections/issues/1776205152/title +1 -0
  60. package/src/app/kireji/issue-tracker/sections/issues/1776205544/description +5 -0
  61. package/src/app/kireji/issue-tracker/sections/issues/1776205544/part.json +3 -0
  62. package/src/app/kireji/issue-tracker/sections/issues/1776205544/title +1 -0
  63. package/src/app/kireji/issue-tracker/sections/issues/1776205973/affects_.js +3 -0
  64. package/src/app/kireji/issue-tracker/sections/issues/1776205973/description +6 -0
  65. package/src/app/kireji/issue-tracker/sections/issues/1776205973/part.json +3 -0
  66. package/src/app/kireji/issue-tracker/sections/issues/1776205973/priority +1 -0
  67. package/src/app/kireji/issue-tracker/sections/issues/1776205973/title +1 -0
  68. package/src/app/kireji/issue-tracker/sections/issues/1776206413/affects_.js +3 -0
  69. package/src/app/kireji/issue-tracker/sections/issues/1776206413/description +1 -0
  70. package/src/app/kireji/issue-tracker/sections/issues/1776206413/part.json +3 -0
  71. package/src/app/kireji/issue-tracker/sections/issues/1776206413/priority +1 -0
  72. package/src/app/kireji/issue-tracker/sections/issues/1776206413/title +1 -0
  73. package/src/app/kireji/issue-tracker/sections/issues/1776206609/affects_.js +3 -0
  74. package/src/app/kireji/issue-tracker/sections/issues/1776206609/description +1 -0
  75. package/src/app/kireji/issue-tracker/sections/issues/1776206609/part.json +3 -0
  76. package/src/app/kireji/issue-tracker/sections/issues/1776206609/priority +1 -0
  77. package/src/app/kireji/issue-tracker/sections/issues/1776206609/title +1 -0
  78. package/src/app/kireji/issue-tracker/sections/issues/1776206848/affects_.js +3 -0
  79. package/src/app/kireji/issue-tracker/sections/issues/1776206848/description +1 -0
  80. package/src/app/kireji/issue-tracker/sections/issues/1776206848/part.json +3 -0
  81. package/src/app/kireji/issue-tracker/sections/issues/1776206848/priority +1 -0
  82. package/src/app/kireji/issue-tracker/sections/issues/1776206848/title +1 -0
  83. package/src/app/kireji/issue-tracker/sections/issues/1776207072/description +1 -0
  84. package/src/app/kireji/issue-tracker/sections/issues/1776207072/part.json +3 -0
  85. package/src/app/kireji/issue-tracker/sections/issues/1776207072/status +1 -0
  86. package/src/app/kireji/issue-tracker/sections/issues/1776207072/title +1 -0
  87. package/src/app/kireji/issue-tracker/sections/issues/1776207212/description +1 -0
  88. package/src/app/kireji/issue-tracker/sections/issues/1776207212/part.json +3 -0
  89. package/src/app/kireji/issue-tracker/sections/issues/1776207212/status +1 -0
  90. package/src/app/kireji/issue-tracker/sections/issues/1776207212/title +1 -0
  91. package/src/app/kireji/issue-tracker/sections/issues/1776207331/affects_.js +5 -0
  92. package/src/app/kireji/issue-tracker/sections/issues/1776207331/description +1 -0
  93. package/src/app/kireji/issue-tracker/sections/issues/1776207331/part.json +3 -0
  94. package/src/app/kireji/issue-tracker/sections/issues/1776207331/status +1 -0
  95. package/src/app/kireji/issue-tracker/sections/issues/1776207331/title +1 -0
  96. package/src/app/kireji/issue-tracker/sections/issues/1776207644/description +1 -0
  97. package/src/app/kireji/issue-tracker/sections/issues/1776207644/links_.js +1 -0
  98. package/src/app/kireji/issue-tracker/sections/issues/1776207644/part.json +3 -0
  99. package/src/app/kireji/issue-tracker/sections/issues/1776207644/priority +1 -0
  100. package/src/app/kireji/issue-tracker/sections/issues/1776207644/status +1 -0
  101. package/src/app/kireji/issue-tracker/sections/issues/1776207644/title +1 -0
  102. package/src/app/kireji/issue-tracker/sections/issues/1776208336/affects_.js +3 -0
  103. package/src/app/kireji/issue-tracker/sections/issues/1776208336/description +1 -0
  104. package/src/app/kireji/issue-tracker/sections/issues/1776208336/part.json +3 -0
  105. package/src/app/kireji/issue-tracker/sections/issues/1776208336/priority +1 -0
  106. package/src/app/kireji/issue-tracker/sections/issues/1776208336/title +1 -0
  107. package/src/app/kireji/issue-tracker/sections/issues/1776208669/description +1 -0
  108. package/src/app/kireji/issue-tracker/sections/issues/1776208669/part.json +3 -0
  109. package/src/app/kireji/issue-tracker/sections/issues/1776208669/status +1 -0
  110. package/src/app/kireji/issue-tracker/sections/issues/1776208669/title +1 -0
  111. package/src/app/kireji/issue-tracker/sections/issues/1776208910/affects_.js +3 -0
  112. package/src/app/kireji/issue-tracker/sections/issues/1776208910/description +1 -0
  113. package/src/app/kireji/issue-tracker/sections/issues/1776208910/part.json +3 -0
  114. package/src/app/kireji/issue-tracker/sections/issues/1776208910/title +1 -0
  115. package/src/app/kireji/issue-tracker/sections/issues/1776209115/affects_.js +3 -0
  116. package/src/app/kireji/issue-tracker/sections/issues/1776209115/description +1 -0
  117. package/src/app/kireji/issue-tracker/sections/issues/1776209115/part.json +3 -0
  118. package/src/app/kireji/issue-tracker/sections/issues/1776209115/title +1 -0
  119. package/src/app/kireji/issue-tracker/sections/issues/1776209268/description +5 -0
  120. package/src/app/kireji/issue-tracker/sections/issues/1776209268/part.json +3 -0
  121. package/src/app/kireji/issue-tracker/sections/issues/1776209268/priority +1 -0
  122. package/src/app/kireji/issue-tracker/sections/issues/1776209268/title +1 -0
  123. package/src/app/kireji/issue-tracker/sections/issues/1776211364/affects_.js +6 -0
  124. package/src/app/kireji/issue-tracker/sections/issues/1776211364/description +1 -0
  125. package/src/app/kireji/issue-tracker/sections/issues/1776211364/links_.js +1 -0
  126. package/src/app/kireji/issue-tracker/sections/issues/1776211364/part.json +3 -0
  127. package/src/app/kireji/issue-tracker/sections/issues/1776211364/priority +1 -0
  128. package/src/app/kireji/issue-tracker/sections/issues/1776211364/status +1 -0
  129. package/src/app/kireji/issue-tracker/sections/issues/1776211364/title +1 -0
  130. package/src/app/kireji/issue-tracker/sections/issues/1776212048/affects_.js +3 -0
  131. package/src/app/kireji/issue-tracker/sections/issues/1776212048/description +1 -0
  132. package/src/app/kireji/issue-tracker/sections/issues/1776212048/part.json +3 -0
  133. package/src/app/kireji/issue-tracker/sections/issues/1776212048/priority +1 -0
  134. package/src/app/kireji/issue-tracker/sections/issues/1776212048/title +1 -0
  135. package/src/app/kireji/issue-tracker/sections/issues/1776212294/affects_.js +3 -0
  136. package/src/app/kireji/issue-tracker/sections/issues/1776212294/description +1 -0
  137. package/src/app/kireji/issue-tracker/sections/issues/1776212294/part.json +3 -0
  138. package/src/app/kireji/issue-tracker/sections/issues/1776212294/priority +1 -0
  139. package/src/app/kireji/issue-tracker/sections/issues/1776212294/title +1 -0
  140. package/src/app/kireji/issue-tracker/sections/issues/1776212412/affects_.js +3 -0
  141. package/src/app/kireji/issue-tracker/sections/issues/1776212412/description +1 -0
  142. package/src/app/kireji/issue-tracker/sections/issues/1776212412/part.json +3 -0
  143. package/src/app/kireji/issue-tracker/sections/issues/1776212412/priority +1 -0
  144. package/src/app/kireji/issue-tracker/sections/issues/1776212412/title +1 -0
  145. package/src/app/kireji/issue-tracker/sections/issues/1776212585/description +3 -0
  146. package/src/app/kireji/issue-tracker/sections/issues/1776212585/part.json +3 -0
  147. package/src/app/kireji/issue-tracker/sections/issues/1776212585/priority +1 -0
  148. package/src/app/kireji/issue-tracker/sections/issues/1776212585/title +1 -0
  149. package/src/app/kireji/issue-tracker/sections/issues/1776212811/description +1 -0
  150. package/src/app/kireji/issue-tracker/sections/issues/1776212811/part.json +3 -0
  151. package/src/app/kireji/issue-tracker/sections/issues/1776212811/priority +1 -0
  152. package/src/app/kireji/issue-tracker/sections/issues/1776212811/title +1 -0
  153. package/src/app/kireji/issue-tracker/sections/issues/1776213238/description +4 -0
  154. package/src/app/kireji/issue-tracker/sections/issues/1776213238/part.json +3 -0
  155. package/src/app/kireji/issue-tracker/sections/issues/1776213238/priority +1 -0
  156. package/src/app/kireji/issue-tracker/sections/issues/1776213238/title +1 -0
  157. package/src/app/kireji/issue-tracker/sections/issues/issue/URL-canonical_.js +1 -0
  158. package/src/app/kireji/issue-tracker/sections/issues/issue/affects_.js +3 -0
  159. package/src/app/kireji/issue-tracker/sections/issues/issue/card.html_.js +8 -0
  160. package/src/app/kireji/issue-tracker/sections/issues/issue/close.js +7 -0
  161. package/src/app/kireji/issue-tracker/sections/issues/issue/constants.js +4 -0
  162. package/src/app/kireji/issue-tracker/sections/issues/issue/links_.js +1 -0
  163. package/src/app/kireji/issue-tracker/sections/issues/issue/part.html_.js +12 -0
  164. package/src/app/kireji/issue-tracker/sections/issues/issue/part.json +9 -0
  165. package/src/app/kireji/issue-tracker/sections/issues/issue/pathname-canonical_.js +1 -0
  166. package/src/app/kireji/issue-tracker/sections/issues/issue/pathname_.js +1 -0
  167. package/src/app/kireji/issue-tracker/sections/issues/issue/priority +1 -0
  168. package/src/app/kireji/issue-tracker/sections/issues/issue/status +1 -0
  169. package/src/app/kireji/issue-tracker/sections/issues/issue/type.d.ts +13 -0
  170. package/src/app/kireji/issue-tracker/sections/issues/issue/urls.xml_.js +7 -0
  171. package/src/app/kireji/issue-tracker/sections/issues/issue/view-add.js +1 -0
  172. package/src/app/kireji/issue-tracker/sections/issues/issue/view-remove.js +1 -0
  173. package/src/app/kireji/issue-tracker/sections/issues/part.json +3 -0
  174. package/src/app/kireji/issue-tracker/sections/issues/type.d.ts +6 -0
  175. package/src/app/kireji/issue-tracker/sections/part.json +3 -0
  176. package/src/app/kireji/issue-tracker/sections/summary/URL-canonical_.js +1 -0
  177. package/src/app/kireji/issue-tracker/sections/summary/constants.js +4 -0
  178. package/src/app/kireji/issue-tracker/sections/summary/part.html_.js +1 -0
  179. package/src/app/kireji/issue-tracker/sections/summary/pathname-canonical +1 -0
  180. package/src/app/kireji/issue-tracker/sections/summary/title +1 -0
  181. package/src/app/kireji/issue-tracker/sections/summary/type.d.ts +7 -0
  182. package/src/app/kireji/issue-tracker/sections/summary/urls.xml_.js +7 -0
  183. package/src/app/kireji/issue-tracker/sections/type.d.ts +9 -0
  184. package/src/app/kireji/issue-tracker/static.css +163 -0
  185. package/src/app/kireji/issue-tracker/title +1 -0
  186. package/src/app/kireji/issue-tracker/type.d.ts +10 -0
  187. package/src/app/kireji/issue-tracker/urls.xml_.js +1 -0
  188. package/src/app/kireji/type.d.ts +1 -0
  189. package/src/build.js +0 -2
  190. package/src/landing-model.json +3 -0
  191. package/src/parts/abstract/mesh/point-tri-that-contains.js +1 -1
  192. package/src/parts/abstract/mesh/ray-cast.js +1 -4
  193. package/src/parts/abstract/mesh/routeID-model-to.js +0 -1
  194. package/src/parts/abstract/part/mathML.js +0 -2
  195. package/src/parts/abstract/part/type.d.ts +2 -0
  196. package/src/parts/abstract/part-outliner/itemHTML-recursive.js +1 -3
  197. package/src/parts/abstract/permutation/build.js +0 -18
  198. package/src/parts/abstract/permutation/mathML-subpart.js +0 -2
  199. package/src/parts/abstract/permutation/view-hydrate.js +0 -1
  200. package/src/parts/abstract/permutation/view-update.js +0 -2
  201. package/src/parts/abstract/scroller/build.js +0 -1
  202. package/src/parts/abstract/type.d.ts +8 -1
  203. package/src/parts/core/client/async-install.js +1 -1
  204. package/src/parts/core/server/sync-install.js +0 -1
  205. package/src/parts/desktop/task-bar/tray/fullscreen/point.js +0 -1
  206. package/src/parts/desktop/task-bar/tray/share/point.js +0 -2
  207. package/src/{kireji.schema.json → schema.kireji.json} +1 -1
  208. package/src/schema.part.json +30 -0
  209. package/src/static.css +0 -1
@@ -0,0 +1 @@
1
+ Search Engine Optimization
@@ -0,0 +1,3 @@
1
+ return [
2
+ _.parts.abstract.part
3
+ ]
@@ -0,0 +1 @@
1
+ Add alt attributes for all images. Allow deep zoom for low-vision users. Headings shouldn't skip levels (for example, an h4 appearing after an h1 with no h2 or h3 in-between).
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": "issue.."
3
+ }
@@ -0,0 +1 @@
1
+ Improve Accessability
@@ -0,0 +1,3 @@
1
+ return [
2
+ _.parts.desktop.taskBar.menu
3
+ ]
@@ -0,0 +1 @@
1
+ The task menu can often be longer than the available space on mobile devices and short client windows. Add arrows indicating scrollability in the task menu. Add scroller to the task menu.
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": "issue.."
3
+ }
@@ -0,0 +1 @@
1
+ Mobile-Friendly Task Menu
@@ -0,0 +1,5 @@
1
+ Currently, browsers without any support for service worker or gpu (such as search engine indexing bots) will successfully fetch the page snapshot. However, users who don't have service worker support will find the page non-responsive. The page doesn't need to be responsive for these users, but rather a message can indicate as much. Hopefully, it can be done in such a way that doesn't impact SEO. Otherwise, skip it (almost all clients support service worker). For clients that don't support GPU (including search engine bots), there is currently an error that appears during gpu facet installation before the client hydration occurs:
2
+
3
+ `TypeError: Cannot read properties of null (reading 'requestDevice') at Object.value (eval at <anonymous>)`
4
+
5
+ This will lock the system for those users. Consider approaches to resolve this.
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": "issue.."
3
+ }
@@ -0,0 +1 @@
1
+ Feature Support Fallbacks
@@ -0,0 +1,6 @@
1
+ return [
2
+ _,
3
+ _.parts.desktop,
4
+ _.parts.desktop.taskBar,
5
+ _.parts.desktop.windows
6
+ ]
@@ -0,0 +1 @@
1
+ After the implementation of dynamic instancing, but before cross-origin PWA, implement restored windows on desktop.parts. Consider having other hosts in the demo app ecosystem forward back to desktop.parts. Restored windows have their own subpermutation over the pinned (task bar) apps permutation. Note: an open app is actually just an app which is pinned to the task bar, but only those pinned apps can be viewed. These pinned tasks should be able to be reordered by dragging and dropping. Title bars should have a restore button. The desktop application should become an abstract which can be extended to create a desktop at any address so that framework users can implement all of their apps in a single domain if they want. Consider a "maximized on open" setting (or, conversely, a default window state) so that apps which are not currently pinned are opened into the given configuration as they are pinned. Forwarding all domains to the desktop (while pinning the apps that were just visited, especially if pinned maximized) would eliminate cross-origin full-screen and PWA problems. Consider if full-screened apps should have taskbar and titlebar visible. The presentation of sites on first visit should be considered - users won't know that it is an overall desktop they are visiting or this could distract them from the specific domain's intended content. Canonical links and SEO per-domain must still be handled correctly. Consider if an unopened task can be dragged from the menu and/or desktop in order to open it (pin and view it). Restored windows should be movable and resizable.
@@ -0,0 +1 @@
1
+ return [kirejiIssues[1776207644], kirejiIssues[1776205152]]
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": "issue.."
3
+ }
@@ -0,0 +1 @@
1
+ Full Desktop Window Support
@@ -0,0 +1,3 @@
1
+ return [
2
+ _.parts.desktop
3
+ ]
@@ -0,0 +1 @@
1
+ Add a welcome app (perhaps, welcome.desktop.parts) which provides tips that the user can walk through.
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": "issue.."
3
+ }
@@ -0,0 +1,3 @@
1
+ return [
2
+ _.parts.desktop
3
+ ]
@@ -0,0 +1 @@
1
+ Add a properties app (perhaps, properties.desktop.parts) which provides all of the desktop settings that the user can control (such as color mode, era, theme colors and picking a desktop wallpaper).
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": "issue.."
3
+ }
@@ -0,0 +1,3 @@
1
+ return [
2
+ _.parts.desktop.icons
3
+ ]
@@ -0,0 +1 @@
1
+ Consider implementing the ability to reposition and remove app icons. This will require a full applications list to be implemented somewhere (where it can't be fully hidden or removed) so that the user can always get back the icons they had on their desktop. It also would allow shortcuts to be added to the desktop. If parts can open in a "default app" (because they are not themselves apps), then the part should be able to be added to the desktop as a shortcut as well (desktop icons are a full permutation of all possible parts).
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": "issue.."
3
+ }
@@ -0,0 +1 @@
1
+ User-Managed Desktop Icons
@@ -0,0 +1,3 @@
1
+ Add an explorer (such as explorer.desktop.parts) which can be used to browse the parts in a common minimal folder experience. Here, each file type will have a default program to open it (probably kireji.app, if it is installed) (which can be overridden per-file). When double clicking parts, they are treated as folders so that they can be explored. A context menu will help usability here.
2
+
3
+ The applications "core.parts" and "abstract.parts" can possibly be forwards to the part explorer with the given part open for view. Here, consider the ability to have multiple part explorer windows open - why or why not? For example, the cardinality of the task permutation will grow with each instance of the file explorer one can have open. A finite limit will likely be required (like, for example, 3?).
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": "issue.."
3
+ }
@@ -0,0 +1 @@
1
+ A context menu will allow users to right click parts and files. All parts and files can have a standard context menu. The desktop, taskbar and title bar can each have its own specific context menu. Thus, there must be a way to define the context menu specific to the parts, files and regions where it is brought up. Tap-and-hold on mobile, right-click on desktop are the likely mechanisms. Investigate using the native context menu event handling. A console-specific solution will likely need to be implemented. Consider the need to re-enable standard context menu (browser and OS native) on desktop so that users can still use their native context menu. Perhaps a setting or tray button can be used to toggle between native and custom context menus.
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": "issue.."
3
+ }
@@ -0,0 +1,4 @@
1
+ The CLI for kireji (via `npx kireji <command>`) should be matured to complete the implementation of its two unimplemented features:
2
+
3
+ 1. `kireji init` - The new project initialization. This is a change perhaps to add certain settings (if vs code is detected or the user agrees in command line) and to initialize a kireji project. The user will already have installed the kireji package via npm in order to run this command. Therefore, it should only exist if there are other steps necessary besides bringing in the package to creating a new project. Test and create new projects in order to refine this experience and determine the need for this command.
4
+ 2. `kireji example` - The example project (`kireji-hello`) must be implemented. This can either be stored somewhere into the npm package or stored somewhere else. The notion is to be able to quickly grab this project and instantiate it into a new empty folder to create a fully functioning example project.
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": "issue.."
3
+ }
@@ -0,0 +1 @@
1
+ CLI Initalization
@@ -0,0 +1 @@
1
+ return `https://${kirejiIssueTracker.host}${kirejiIssue.canonicalPathname}`
@@ -0,0 +1,8 @@
1
+ return (
2
+ `<a ${_.pointAttr()} href=${kirejiIssue.canonicalURL} class="issue-row" data-id="${kirejiIssue.key}" data-priority="${kirejiIssue.priority}" data-status="${kirejiIssue.status}">` + (
3
+ // `<span class="issue-id">${issue.key}</span>` +
4
+ `<span class="issue-title">${kirejiIssue.title}</span>` +
5
+ `<span class="issue-priority">${kirejiIssue.priority}</span>` +
6
+ `<span class="issue-status">${kirejiIssue.status}</span>`
7
+ ) + "</a>"
8
+ )
@@ -0,0 +1,7 @@
1
+ pointer.handle({
2
+ click() {
3
+ kirejiIssueSections.setModel("summary")
4
+ },
5
+ POINTER_EVENT,
6
+ TARGET_ELEMENT
7
+ })
@@ -0,0 +1,4 @@
1
+ const kirejiIssue = this
2
+ const kirejiIssues = kirejiIssue[".."]
3
+ const kirejiIssueSections = kirejiIssues[".."]
4
+ const kirejiIssueTracker = kirejiIssueSections[".."]
@@ -0,0 +1,12 @@
1
+ return (
2
+ `<h1>${kirejiIssue.title}</h1>` +
3
+ `<button ${kirejiIssue.pointAttr("close")} class=exit-button>✕</button>` +
4
+ `<p class=issue-description data-priority="${kirejiIssue.priority}" data-status="${kirejiIssue.status}">` + (
5
+ `<b>Created:</b> <span class="issue-date">${kirejiIssue.key}</span>\n\n` +
6
+ `<b>Priority:</b> <span class="issue-priority">${kirejiIssue.priority}</span>\n\n` +
7
+ `<b>Status:</b> <span class="issue-status">${kirejiIssue.status}</span>\n\n` +
8
+ `<b>Description:</b>\n${kirejiIssue.description}\n\n` +
9
+ `<b>Affected Parts:</b>\n<span class="issue-affects">${kirejiIssue.affects.map(affected => affected.host).join(", ") || "None"}</span>\n\n` +
10
+ `<b>Linked Issues:</b>\n<span class="issue-links">${kirejiIssue.links.map(linked => linked["card.html"]).join("<br>") || "None"}</span>`
11
+ ) + "</p>"
12
+ )
@@ -0,0 +1,9 @@
1
+ {
2
+ "abstract": true,
3
+ "methods": {
4
+ "close": [
5
+ "POINTER_EVENT",
6
+ "TARGET_ELEMENT"
7
+ ]
8
+ }
9
+ }
@@ -0,0 +1 @@
1
+ return kirejiIssues.pathname + kirejiIssue.pathname
@@ -0,0 +1 @@
1
+ return `/${kirejiIssue.key}`
@@ -0,0 +1,13 @@
1
+ declare interface IKirejiIssue
2
+ extends IPart<IKirejiIssues, null>,
3
+ IApplicationDetails {
4
+
5
+ // Serialized Properties.
6
+ readonly status: string
7
+ readonly priority: string
8
+ readonly affects: IPartAny[]
9
+ readonly links: IKirejiIssue[]
10
+ readonly "card.html": string
11
+ }
12
+
13
+ declare const kirejiIssue: IKirejiIssue
@@ -0,0 +1,7 @@
1
+ return `
2
+ <url>
3
+ <loc>${kirejiIssue.canonicalURL}</loc>
4
+ <lastmod>${new Date((kirejiIssue.editTimestamp ?? kirejiIssue.key) * 1000).toISOString()}</lastmod>
5
+ <changefreq>monthly</changefreq>
6
+ <priority>0.8</priority>
7
+ </url>`
@@ -0,0 +1 @@
1
+ Q("#kireji-issue-modal").innerHTML = kirejiIssue["part.html"]
@@ -0,0 +1 @@
1
+ Q("#kireji-issue-modal").innerHTML = ""
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": "sections"
3
+ }
@@ -0,0 +1,6 @@
1
+ declare interface IKirejiIssues
2
+ extends IApplicationSections<IKirejiIssueTrackerApp, IKirejiIssue> {
3
+
4
+ }
5
+
6
+ declare const kirejiIssues: IKirejiIssues
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": "sections"
3
+ }
@@ -0,0 +1 @@
1
+ return `https://${kirejiIssueTracker.host}${kirejiIssueSummary.canonicalPathname}`
@@ -0,0 +1,4 @@
1
+ const kirejiIssueSummary = this
2
+ const kirejiIssueSections = kirejiIssueSummary[".."]
3
+ const kirejiIssues = kirejiIssueSections.issues
4
+ const kirejiIssueTracker = kirejiIssueSections[".."]
@@ -0,0 +1 @@
1
+ Kireji Issue Tracker
@@ -0,0 +1,7 @@
1
+ declare interface IKirejiIssueSummary
2
+ extends IPart<IKirejiIssueSections, null>,
3
+ IApplicationDetails {
4
+
5
+ }
6
+
7
+ declare const kirejiIssueSummary: IKirejiIssueSummary
@@ -0,0 +1,7 @@
1
+ return `
2
+ <url>
3
+ <loc>https://${kirejiIssueSummary.canonicalURL}/</loc>
4
+ <lastmod>${new Date(kirejiIssues.subparts[kirejiIssues.length - 1].key * 1000).toISOString()}</lastmod>
5
+ <changefreq>weekly</changefreq>
6
+ <priority>1.0</priority>
7
+ </url>`
@@ -0,0 +1,9 @@
1
+ declare interface IKirejiIssueSections
2
+ extends IApplicationSections<IKirejiIssueTrackerApp, IPartAny> {
3
+
4
+ // Subparts.
5
+ readonly issues: IKirejiIssues
6
+ readonly summary: IKirejiIssueSummary
7
+ }
8
+
9
+ declare const kirejiIssueSections: IKirejiIssueSections
@@ -0,0 +1,163 @@
1
+ body:not(.dark) #issue-tracker_kireji_app {
2
+ background-color: white;
3
+ }
4
+
5
+ #issue-tracker_kireji_app {
6
+ --max-width: 696px;
7
+ --outer-pad: calc((var(--app-width) - var(--rounded-width)) / 2);
8
+ --rounded-width: calc(min(calc(round(down, var(--app-width), var(--spacing)) - (2 * var(--spacing))), var(--max-width)) - 4px);
9
+ padding: var(--padding) var(--outer-pad);
10
+ display: flex;
11
+ flex-flow: column nowrap;
12
+ }
13
+
14
+ #kireji-issue-modal {
15
+ position: absolute;
16
+ left: calc(3 * var(--spacing));
17
+ right: calc(3 * var(--spacing));
18
+ top: calc(2 * var(--spacing));
19
+ bottom: calc(2 * var(--spacing));
20
+ background-color: var(--bg);
21
+ padding: var(--spacing);
22
+ display: flex;
23
+ gap: var(--spacing);
24
+ flex-flow: column nowrap;
25
+ }
26
+
27
+ #kireji-issue-modal .exit-button {
28
+ position: absolute;
29
+ right: var(--spacing);
30
+ top: var(--spacing);
31
+ width: var(--spacing);
32
+ height: var(--spacing);
33
+ font-size: var(--spacing);
34
+ line-height: var(--spacing);
35
+ text-align: center;
36
+ cursor: pointer;
37
+ pointer-events: all;
38
+ }
39
+
40
+ body.modern #kireji-issue-modal {
41
+ border-radius: calc(var(--spacing) / 2);
42
+ }
43
+
44
+ body:not(.dark) #kireji-issue-modal {
45
+ background-color: white;
46
+ }
47
+
48
+ #issue-tracker_kireji_app:has(#kireji-issue-modal:not(:empty)) {
49
+ pointer-events: none;
50
+ color: var(--fg-mode);
51
+ background-color: var(--bg-un-mode);
52
+ }
53
+
54
+ #kireji-issue-modal:empty {
55
+ display: none;
56
+ }
57
+
58
+ #kireji-issue-modal>* {
59
+ margin: 0;
60
+ padding: 0;
61
+ }
62
+
63
+ #kireji-issue-modal>h1 {
64
+ margin-right: var(--spacing);
65
+ font-size: var(--spacing);
66
+ line-height: var(--spacing);
67
+ }
68
+
69
+ #kireji-issue-modal .issue-description {
70
+ white-space: pre-wrap;
71
+ }
72
+
73
+ #issue-tracker_kireji_app .issue-title {
74
+ flex: 1;
75
+ overflow: hidden;
76
+ text-overflow: ellipsis;
77
+ white-space: pre;
78
+ font-weight: 500;
79
+ }
80
+
81
+ #issue-tracker_kireji_app .issue-table>scroller->scroll-content {
82
+ display: flex;
83
+ flex-flow: column nowrap;
84
+ width: 100%;
85
+ }
86
+
87
+ #issue-tracker_kireji_app .issue-row {
88
+ position: relative;
89
+ display: flex;
90
+ gap: var(--spacing);
91
+ cursor: pointer;
92
+ text-decoration: none;
93
+ color: inherit;
94
+ padding: calc(var(--spacing) / 2);
95
+ }
96
+
97
+ #issue-tracker_kireji_app .issue-row:hover {
98
+ background-color: var(--accent-mode-est);
99
+ border-radius: calc(var(--spacing) / 3);
100
+ }
101
+
102
+ #issue-tracker_kireji_app :is(.issue-status, .issue-priority) {
103
+ width: var(--spacing);
104
+ text-align: center;
105
+ font-weight: 600;
106
+ border-radius: calc(var(--spacing) / 4);
107
+ display: inline-block;
108
+ }
109
+
110
+ #issue-tracker_kireji_app .issue-status {
111
+ color: steelblue;
112
+ background-color: powderblue;
113
+ width: calc(5 * var(--spacing));
114
+ font-size: calc(var(--spacing) * .7);
115
+ line-height: var(--spacing);
116
+ }
117
+
118
+ body.dark #issue-tracker_kireji_app .issue-status {
119
+ color: powderblue;
120
+ background-color: steelblue;
121
+ }
122
+
123
+ #issue-tracker_kireji_app [data-status="doing"] .issue-status {
124
+ color: brown;
125
+ background-color: wheat;
126
+ }
127
+
128
+ body.dark #issue-tracker_kireji_app [data-status="doing"] .issue-status {
129
+ color: wheat;
130
+ background-color: peru;
131
+ }
132
+
133
+ #issue-tracker_kireji_app [data-status="done"] .issue-status {
134
+ color: seagreen;
135
+ background-color: palegreen;
136
+ }
137
+
138
+ body.dark #issue-tracker_kireji_app [data-status="done"] .issue-status {
139
+ color: palegreen;
140
+ background-color: seagreen;
141
+ }
142
+
143
+ #issue-tracker_kireji_app [data-priority="A"] .issue-priority {
144
+ color: red;
145
+ }
146
+
147
+ #issue-tracker_kireji_app [data-priority="B"] .issue-priority {
148
+ color: orange;
149
+ }
150
+
151
+ #issue-tracker_kireji_app [data-priority="C"] .issue-priority {
152
+ color: green;
153
+ }
154
+
155
+ #issue-tracker_kireji_app .issue-table {
156
+ min-height: 0;
157
+ position: relative;
158
+ overflow: hidden;
159
+ }
160
+
161
+ #kireji-issue-modal .issue-row {
162
+ pointer-events: all;
163
+ }
@@ -0,0 +1 @@
1
+ Issue Tracker
@@ -0,0 +1,10 @@
1
+ declare interface IKirejiIssueTrackerApp
2
+ extends IApplication<IKirejiApp, IPartAny> {
3
+
4
+ // Subparts.
5
+ readonly scroller: IScroller<IKirejiIssueTrackerApp>
6
+ readonly sections: IKirejiIssueSections
7
+ readonly filters: IKirejiIssueFilters
8
+ }
9
+
10
+ declare const kirejiIssueTracker: IKirejiIssueTrackerApp
@@ -0,0 +1 @@
1
+ return kirejiIssueSections["urls.xml"]
@@ -5,6 +5,7 @@ declare interface IKirejiApp
5
5
  readonly toolBar: IKirejiAppToolBar
6
6
  readonly sidebar: IKirejiAppSidebar
7
7
  readonly editor: IKirejiAppEditor
8
+ readonly issueTracker: IKirejiIssueTrackerApp
8
9
  }
9
10
 
10
11
  declare const kirejiApp: IKirejiApp
package/src/build.js CHANGED
@@ -894,7 +894,6 @@ function ƒ(_, compressedSubjectOrigins) {
894
894
  return totalInheritors
895
895
  },
896
896
  configureArchiveContent = () => {
897
- // TODO: Consider merging user landing model with stock landing model instead of replacing it.
898
897
  const landingModel = JSON.parse(_["landing-model.json"])
899
898
 
900
899
  let desktopFeatures = 3
@@ -1050,7 +1049,6 @@ function ƒ(_, compressedSubjectOrigins) {
1050
1049
  }
1051
1050
 
1052
1051
  ƒ({
1053
- // TODO: fix source mapping bugs.
1054
1052
  verbosity: "1",
1055
1053
  change: "major",
1056
1054
  hangHydration: "0",
@@ -15,6 +15,9 @@
15
15
  "about": true
16
16
  }
17
17
  },
18
+ "issue-tracker": {
19
+ "sections": "summary"
20
+ },
18
21
  "sidebar": {
19
22
  "outliner-domains": {
20
23
  "folders": [
@@ -2,7 +2,7 @@
2
2
  if (mesh.triIndex !== -1 && mesh.triContainsPoint(mesh.triIndex, POINT))
3
3
  return mesh.triIndex
4
4
 
5
- // Check all tris. TODO: Memoize neighbors.
5
+ // Check all tris.
6
6
  for (let triIndex = 0; triIndex < mesh.triTable.length; triIndex++)
7
7
  if (triIndex !== mesh.triIndex && mesh.triContainsPoint(triIndex, POINT))
8
8
  return triIndex
@@ -160,7 +160,7 @@ while (true) {
160
160
  }
161
161
 
162
162
  if (boundaryAppearsFlat) {
163
- // TODO: Consider using the line through the opposing neighbors to search for asymmetry in the mesh boundary.
163
+ // Do nothing for now...
164
164
  }
165
165
 
166
166
  // If there is no neighboring point, we are "stuck". The ray cast ends here.
@@ -176,7 +176,6 @@ while (true) {
176
176
  const distance = Vector.magnitude(vectorToNeighbor)
177
177
 
178
178
  // Construct a force vector pointing to the chosen neighbor.
179
- // TODO: speed should actually be reduced.
180
179
  const forceVectorToNeighbor = Vector.multiply(Vector.normalize(vectorToNeighbor), speed)
181
180
 
182
181
  // Compute travel time to reach the neighbor.
@@ -222,8 +221,6 @@ while (true) {
222
221
  }
223
222
 
224
223
  return safeIterationResult
225
-
226
- // TODO: Consider moving toward a 4-point neighbor instead.
227
224
  }
228
225
 
229
226
  // Set the neighbor as the new safe point.