@almadar/cli 1.0.5 → 1.0.7

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 (605) hide show
  1. package/package.json +6 -6
  2. package/shells/python-shell/.dockerignore +0 -50
  3. package/shells/python-shell/.env.example +0 -55
  4. package/shells/python-shell/Dockerfile +0 -56
  5. package/shells/python-shell/README.md +0 -253
  6. package/shells/python-shell/cloudbuild.yaml +0 -76
  7. package/shells/python-shell/docker-compose.yaml +0 -57
  8. package/shells/python-shell/pyproject.toml +0 -28
  9. package/shells/python-shell/scripts/deploy.sh +0 -108
  10. package/shells/python-shell/scripts/setup-secrets.sh +0 -104
  11. package/shells/python-shell/src/orbital_app/__init__.py +0 -8
  12. package/shells/python-shell/src/orbital_app/core/__init__.py +0 -40
  13. package/shells/python-shell/src/orbital_app/core/bindings.py +0 -75
  14. package/shells/python-shell/src/orbital_app/core/effect_executor.py +0 -196
  15. package/shells/python-shell/src/orbital_app/core/event_bus.py +0 -119
  16. package/shells/python-shell/src/orbital_app/core/event_router.py +0 -38
  17. package/shells/python-shell/src/orbital_app/core/firebase.py +0 -112
  18. package/shells/python-shell/src/orbital_app/core/repository.py +0 -257
  19. package/shells/python-shell/src/orbital_app/core/settings.py +0 -74
  20. package/shells/python-shell/src/orbital_app/core/websocket.py +0 -202
  21. package/shells/python-shell/src/orbital_app/main.py +0 -108
  22. package/shells/python-shell/src/orbital_app/middleware/__init__.py +0 -18
  23. package/shells/python-shell/src/orbital_app/middleware/auth.py +0 -126
  24. package/shells/python-shell/src/orbital_app/nn/__init__.py +0 -28
  25. package/shells/python-shell/src/orbital_app/nn/constraints.py +0 -104
  26. package/shells/python-shell/src/orbital_app/nn/forward.py +0 -34
  27. package/shells/python-shell/src/orbital_app/nn/training.py +0 -101
  28. package/shells/python-shell/src/orbital_app/tensor/__init__.py +0 -46
  29. package/shells/python-shell/src/orbital_app/tensor/contracts.py +0 -112
  30. package/shells/python-shell/src/orbital_app/tensor/ops.py +0 -196
  31. package/shells/python-shell/tests/conftest.py +0 -63
  32. package/shells/python-shell/tests/test_effect_executor.py +0 -197
  33. package/shells/python-shell/tests/test_event_bus.py +0 -194
  34. package/shells/python-shell/tests/test_generated_traits.py +0 -268
  35. package/shells/python-shell/tests/test_integration.py +0 -347
  36. package/shells/python-shell/tests/test_nn_builder.py +0 -113
  37. package/shells/python-shell/tests/test_nn_constraints.py +0 -187
  38. package/shells/python-shell/tests/test_nn_forward.py +0 -98
  39. package/shells/python-shell/tests/test_nn_training.py +0 -130
  40. package/shells/python-shell/tests/test_repository.py +0 -151
  41. package/shells/python-shell/tests/test_tensor_contracts.py +0 -168
  42. package/shells/python-shell/tests/test_tensor_ops.py +0 -260
  43. package/shells/typescript-shell/.env.example +0 -30
  44. package/shells/typescript-shell/.firebaserc.template +0 -14
  45. package/shells/typescript-shell/.prettierrc +0 -7
  46. package/shells/typescript-shell/Dockerfile +0 -0
  47. package/shells/typescript-shell/apphosting.yaml.template +0 -0
  48. package/shells/typescript-shell/firebase.json.template +0 -0
  49. package/shells/typescript-shell/firestore.indexes.json +0 -4
  50. package/shells/typescript-shell/firestore.rules.template +0 -0
  51. package/shells/typescript-shell/infra/aws/alb.tf +0 -0
  52. package/shells/typescript-shell/infra/aws/cloudfront.tf +0 -0
  53. package/shells/typescript-shell/infra/aws/ecs.tf +0 -0
  54. package/shells/typescript-shell/infra/aws/main.tf +0 -0
  55. package/shells/typescript-shell/infra/aws/rds.tf +0 -0
  56. package/shells/typescript-shell/infra/docker/Dockerfile.client +0 -0
  57. package/shells/typescript-shell/infra/docker/Dockerfile.server +0 -0
  58. package/shells/typescript-shell/infra/docker/docker-compose.prod.yml +0 -45
  59. package/shells/typescript-shell/infra/docker/docker-compose.yml +0 -57
  60. package/shells/typescript-shell/infra/docker/nginx.conf +0 -0
  61. package/shells/typescript-shell/infra/main.tf +0 -0
  62. package/shells/typescript-shell/infra/terraform/aws/alb.tf +0 -0
  63. package/shells/typescript-shell/infra/terraform/aws/cloudfront.tf +0 -0
  64. package/shells/typescript-shell/infra/terraform/aws/ecs.tf +0 -0
  65. package/shells/typescript-shell/infra/terraform/aws/main.tf +0 -0
  66. package/shells/typescript-shell/infra/terraform/aws/rds.tf +0 -0
  67. package/shells/typescript-shell/infra/terraform/main.tf +0 -0
  68. package/shells/typescript-shell/infra/terraform/variables.tf +0 -0
  69. package/shells/typescript-shell/infra/variables.tf +0 -0
  70. package/shells/typescript-shell/package-lock.json +0 -15210
  71. package/shells/typescript-shell/package.json +0 -64
  72. package/shells/typescript-shell/packages/client/.env.example +0 -30
  73. package/shells/typescript-shell/packages/client/index.html +0 -13
  74. package/shells/typescript-shell/packages/client/package.json +0 -52
  75. package/shells/typescript-shell/packages/client/postcss.config.js +0 -6
  76. package/shells/typescript-shell/packages/client/src/App.tsx +0 -56
  77. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/atoms/CreditExpirationAlert.stories.tsx +0 -75
  78. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/atoms/CreditExpirationAlert.tsx +0 -157
  79. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/atoms/CreditMeter.stories.tsx +0 -155
  80. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/atoms/CreditMeter.tsx +0 -370
  81. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/atoms/ExerciseVideoLink.stories.tsx +0 -50
  82. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/atoms/ExerciseVideoLink.tsx +0 -143
  83. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/atoms/ShareableLinkGenerator.stories.tsx +0 -54
  84. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/atoms/ShareableLinkGenerator.tsx +0 -210
  85. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/atoms/index.ts +0 -4
  86. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/index.ts +0 -83
  87. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/molecules/BodyMeasurementInput.stories.tsx +0 -117
  88. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/molecules/BodyMeasurementInput.tsx +0 -343
  89. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/molecules/DailyProgressInput.stories.tsx +0 -82
  90. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/molecules/DailyProgressInput.tsx +0 -345
  91. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/molecules/GroupSessionCard.stories.tsx +0 -155
  92. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/molecules/GroupSessionCard.tsx +0 -319
  93. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/molecules/LiftTracker.stories.tsx +0 -110
  94. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/molecules/LiftTracker.tsx +0 -395
  95. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/molecules/MealPlanCard.stories.tsx +0 -132
  96. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/molecules/MealPlanCard.tsx +0 -394
  97. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/molecules/NutritionSummary.stories.tsx +0 -127
  98. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/molecules/NutritionSummary.tsx +0 -360
  99. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/molecules/ProgressChart.stories.tsx +0 -119
  100. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/molecules/ProgressChart.tsx +0 -377
  101. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/molecules/SpecialExerciseCard.stories.tsx +0 -115
  102. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/molecules/SpecialExerciseCard.tsx +0 -294
  103. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/molecules/TraineeCard.stories.tsx +0 -139
  104. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/molecules/TraineeCard.tsx +0 -306
  105. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/molecules/WorkoutPlanCard.stories.tsx +0 -140
  106. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/molecules/WorkoutPlanCard.tsx +0 -379
  107. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/molecules/index.ts +0 -10
  108. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/organisms/AIAnalysisPanel.stories.tsx +0 -171
  109. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/organisms/AIAnalysisPanel.tsx +0 -257
  110. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/organisms/KinesiologyExamForm.stories.tsx +0 -157
  111. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/organisms/KinesiologyExamForm.tsx +0 -383
  112. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/organisms/SessionScheduler.stories.tsx +0 -249
  113. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/organisms/SessionScheduler.tsx +0 -637
  114. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/organisms/TraineeComparison.stories.tsx +0 -221
  115. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/organisms/TraineeComparison.tsx +0 -438
  116. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/organisms/WeeklyCalendar.stories.tsx +0 -208
  117. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/organisms/WeeklyCalendar.tsx +0 -380
  118. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/organisms/index.ts +0 -5
  119. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/templates/CreditsTemplate.stories.tsx +0 -243
  120. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/templates/CreditsTemplate.tsx +0 -496
  121. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/templates/FitnessTemplate.stories.tsx +0 -237
  122. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/templates/FitnessTemplate.tsx +0 -457
  123. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/templates/MealPlanDetailTemplate.stories.tsx +0 -184
  124. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/templates/MealPlanDetailTemplate.tsx +0 -414
  125. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/templates/MealPlansTemplate.stories.tsx +0 -198
  126. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/templates/MealPlansTemplate.tsx +0 -296
  127. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/templates/ProgressTemplate.stories.tsx +0 -242
  128. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/templates/ProgressTemplate.tsx +0 -497
  129. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/templates/ScheduleTemplate.stories.tsx +0 -267
  130. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/templates/ScheduleTemplate.tsx +0 -424
  131. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/templates/SessionDetailTemplate.stories.tsx +0 -214
  132. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/templates/SessionDetailTemplate.tsx +0 -518
  133. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/templates/SessionsTemplate.stories.tsx +0 -207
  134. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/templates/SessionsTemplate.tsx +0 -508
  135. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/templates/TraineeDetailTemplate.stories.tsx +0 -178
  136. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/templates/TraineeDetailTemplate.tsx +0 -396
  137. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/templates/TraineesTemplate.stories.tsx +0 -168
  138. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/templates/TraineesTemplate.tsx +0 -429
  139. package/shells/typescript-shell/packages/client/src/clients/blaz-kelemnc/templates/index.ts +0 -44
  140. package/shells/typescript-shell/packages/client/src/clients/inspection-system/atoms/LawReferenceBadge.stories.tsx +0 -78
  141. package/shells/typescript-shell/packages/client/src/clients/inspection-system/atoms/LawReferenceBadge.tsx +0 -87
  142. package/shells/typescript-shell/packages/client/src/clients/inspection-system/atoms/PhaseIndicator.stories.tsx +0 -91
  143. package/shells/typescript-shell/packages/client/src/clients/inspection-system/atoms/PhaseIndicator.tsx +0 -142
  144. package/shells/typescript-shell/packages/client/src/clients/inspection-system/atoms/index.ts +0 -8
  145. package/shells/typescript-shell/packages/client/src/clients/inspection-system/configs/index.ts +0 -79
  146. package/shells/typescript-shell/packages/client/src/clients/inspection-system/configs/tabs/T-001-uvod.json +0 -361
  147. package/shells/typescript-shell/packages/client/src/clients/inspection-system/configs/tabs/T-001-uvod.ts +0 -361
  148. package/shells/typescript-shell/packages/client/src/clients/inspection-system/configs/tabs/T-002-podjetje.json +0 -115
  149. package/shells/typescript-shell/packages/client/src/clients/inspection-system/configs/tabs/T-002-podjetje.ts +0 -115
  150. package/shells/typescript-shell/packages/client/src/clients/inspection-system/configs/tabs/T-003-udelezenci.json +0 -78
  151. package/shells/typescript-shell/packages/client/src/clients/inspection-system/configs/tabs/T-003-udelezenci.ts +0 -78
  152. package/shells/typescript-shell/packages/client/src/clients/inspection-system/configs/tabs/T-004-izbira-podrocja.json +0 -85
  153. package/shells/typescript-shell/packages/client/src/clients/inspection-system/configs/tabs/T-004-izbira-podrocja.ts +0 -94
  154. package/shells/typescript-shell/packages/client/src/clients/inspection-system/configs/tabs/T-005-trgovina.json +0 -1056
  155. package/shells/typescript-shell/packages/client/src/clients/inspection-system/configs/tabs/T-005-trgovina.ts +0 -1056
  156. package/shells/typescript-shell/packages/client/src/clients/inspection-system/configs/tabs/T-006-ugotovitve.json +0 -128
  157. package/shells/typescript-shell/packages/client/src/clients/inspection-system/configs/tabs/T-006-ugotovitve.ts +0 -128
  158. package/shells/typescript-shell/packages/client/src/clients/inspection-system/configs/tabs/T-007-odlocbe.json +0 -136
  159. package/shells/typescript-shell/packages/client/src/clients/inspection-system/configs/tabs/T-007-odlocbe.ts +0 -136
  160. package/shells/typescript-shell/packages/client/src/clients/inspection-system/configs/tabs/T-008-pripombe.json +0 -148
  161. package/shells/typescript-shell/packages/client/src/clients/inspection-system/configs/tabs/T-008-pripombe.ts +0 -148
  162. package/shells/typescript-shell/packages/client/src/clients/inspection-system/configs/tabs/T-009-zakljucek.json +0 -207
  163. package/shells/typescript-shell/packages/client/src/clients/inspection-system/configs/tabs/T-009-zakljucek.ts +0 -207
  164. package/shells/typescript-shell/packages/client/src/clients/inspection-system/configs/tabs/T2-1-oznacevanje-cen.json +0 -1265
  165. package/shells/typescript-shell/packages/client/src/clients/inspection-system/configs/tabs/T2-1-oznacevanje-cen.ts +0 -1265
  166. package/shells/typescript-shell/packages/client/src/clients/inspection-system/index.ts +0 -137
  167. package/shells/typescript-shell/packages/client/src/clients/inspection-system/molecules/CardSelector.stories.tsx +0 -128
  168. package/shells/typescript-shell/packages/client/src/clients/inspection-system/molecules/CardSelector.tsx +0 -174
  169. package/shells/typescript-shell/packages/client/src/clients/inspection-system/molecules/ComplianceSummary.stories.tsx +0 -115
  170. package/shells/typescript-shell/packages/client/src/clients/inspection-system/molecules/ComplianceSummary.tsx +0 -263
  171. package/shells/typescript-shell/packages/client/src/clients/inspection-system/molecules/ConditionalField.tsx +0 -254
  172. package/shells/typescript-shell/packages/client/src/clients/inspection-system/molecules/DocumentPreview.tsx +0 -249
  173. package/shells/typescript-shell/packages/client/src/clients/inspection-system/molecules/EntitySearch.tsx +0 -290
  174. package/shells/typescript-shell/packages/client/src/clients/inspection-system/molecules/InspectionTimeline.stories.tsx +0 -138
  175. package/shells/typescript-shell/packages/client/src/clients/inspection-system/molecules/InspectionTimeline.tsx +0 -253
  176. package/shells/typescript-shell/packages/client/src/clients/inspection-system/molecules/ObjectionRecorder.tsx +0 -213
  177. package/shells/typescript-shell/packages/client/src/clients/inspection-system/molecules/ParticipantList.stories.tsx +0 -86
  178. package/shells/typescript-shell/packages/client/src/clients/inspection-system/molecules/ParticipantList.tsx +0 -227
  179. package/shells/typescript-shell/packages/client/src/clients/inspection-system/molecules/PhotoAttachment.tsx +0 -276
  180. package/shells/typescript-shell/packages/client/src/clients/inspection-system/molecules/ProgressHeader.stories.tsx +0 -89
  181. package/shells/typescript-shell/packages/client/src/clients/inspection-system/molecules/ProgressHeader.tsx +0 -157
  182. package/shells/typescript-shell/packages/client/src/clients/inspection-system/molecules/RepeatableFormSection.tsx +0 -189
  183. package/shells/typescript-shell/packages/client/src/clients/inspection-system/molecules/RuleCheckItem.stories.tsx +0 -118
  184. package/shells/typescript-shell/packages/client/src/clients/inspection-system/molecules/RuleCheckItem.tsx +0 -237
  185. package/shells/typescript-shell/packages/client/src/clients/inspection-system/molecules/index.ts +0 -18
  186. package/shells/typescript-shell/packages/client/src/clients/inspection-system/organisms/FloatingActionMenu.stories.tsx +0 -75
  187. package/shells/typescript-shell/packages/client/src/clients/inspection-system/organisms/FloatingActionMenu.tsx +0 -197
  188. package/shells/typescript-shell/packages/client/src/clients/inspection-system/organisms/SignatureCapture.stories.tsx +0 -96
  189. package/shells/typescript-shell/packages/client/src/clients/inspection-system/organisms/SignatureCapture.tsx +0 -278
  190. package/shells/typescript-shell/packages/client/src/clients/inspection-system/organisms/index.ts +0 -8
  191. package/shells/typescript-shell/packages/client/src/clients/inspection-system/templates/CompaniesTemplate.stories.tsx +0 -107
  192. package/shells/typescript-shell/packages/client/src/clients/inspection-system/templates/CompaniesTemplate.tsx +0 -266
  193. package/shells/typescript-shell/packages/client/src/clients/inspection-system/templates/InspectionFormDemoTemplate.stories.tsx +0 -607
  194. package/shells/typescript-shell/packages/client/src/clients/inspection-system/templates/InspectionFormDemoTemplate.tsx +0 -1428
  195. package/shells/typescript-shell/packages/client/src/clients/inspection-system/templates/InspectionProcessTemplate.stories.tsx +0 -713
  196. package/shells/typescript-shell/packages/client/src/clients/inspection-system/templates/InspectionProcessTemplate.tsx +0 -1582
  197. package/shells/typescript-shell/packages/client/src/clients/inspection-system/templates/InspectionWizardTemplate.stories.tsx +0 -174
  198. package/shells/typescript-shell/packages/client/src/clients/inspection-system/templates/InspectionWizardTemplate.tsx +0 -264
  199. package/shells/typescript-shell/packages/client/src/clients/inspection-system/templates/InspectionsTemplate.stories.tsx +0 -129
  200. package/shells/typescript-shell/packages/client/src/clients/inspection-system/templates/InspectionsTemplate.tsx +0 -287
  201. package/shells/typescript-shell/packages/client/src/clients/inspection-system/templates/InspectorsTemplate.stories.tsx +0 -94
  202. package/shells/typescript-shell/packages/client/src/clients/inspection-system/templates/InspectorsTemplate.tsx +0 -255
  203. package/shells/typescript-shell/packages/client/src/clients/inspection-system/templates/index.ts +0 -47
  204. package/shells/typescript-shell/packages/client/src/clients/kflow/atoms/MindMapConnections.stories.tsx +0 -82
  205. package/shells/typescript-shell/packages/client/src/clients/kflow/atoms/MindMapConnections.tsx +0 -75
  206. package/shells/typescript-shell/packages/client/src/clients/kflow/atoms/index.ts +0 -2
  207. package/shells/typescript-shell/packages/client/src/clients/kflow/index.ts +0 -96
  208. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/ConceptMetaTags.stories.tsx +0 -64
  209. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/ConceptMetaTags.tsx +0 -77
  210. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/GraphLegend.stories.tsx +0 -100
  211. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/GraphLegend.tsx +0 -120
  212. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/LayerNavigator.stories.tsx +0 -109
  213. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/LayerNavigator.tsx +0 -157
  214. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/LearningGoalDisplay.stories.tsx +0 -62
  215. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/LearningGoalDisplay.tsx +0 -138
  216. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/MindMapHeader.tsx +0 -47
  217. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/MindMapNode.stories.tsx +0 -212
  218. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/MindMapNode.tsx +0 -294
  219. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/NoteContent.stories.tsx +0 -98
  220. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/NoteContent.tsx +0 -163
  221. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/NoteListItem.stories.tsx +0 -196
  222. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/NoteListItem.tsx +0 -239
  223. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/QuizBlock.tsx +0 -3
  224. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/StreamingDisplay.stories.tsx +0 -132
  225. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/StreamingDisplay.tsx +0 -232
  226. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/index.ts +0 -28
  227. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/learning/ActivationBlock.stories.tsx +0 -71
  228. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/learning/ActivationBlock.tsx +0 -127
  229. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/learning/BloomQuizBlock.stories.tsx +0 -154
  230. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/learning/BloomQuizBlock.tsx +0 -232
  231. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/learning/ConnectionBlock.stories.tsx +0 -57
  232. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/learning/ConnectionBlock.tsx +0 -60
  233. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/learning/QuizBlock.tsx +0 -138
  234. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/learning/ReflectionBlock.stories.tsx +0 -90
  235. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/learning/ReflectionBlock.tsx +0 -151
  236. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/learning/index.ts +0 -14
  237. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/markdown/CodeBlock.stories.tsx +0 -188
  238. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/markdown/CodeBlock.tsx +0 -165
  239. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/markdown/MarkdownContent.stories.tsx +0 -160
  240. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/markdown/MarkdownContent.tsx +0 -131
  241. package/shells/typescript-shell/packages/client/src/clients/kflow/molecules/markdown/index.ts +0 -5
  242. package/shells/typescript-shell/packages/client/src/clients/kflow/organisms/ConceptCard.stories.tsx +0 -155
  243. package/shells/typescript-shell/packages/client/src/clients/kflow/organisms/ConceptCard.tsx +0 -301
  244. package/shells/typescript-shell/packages/client/src/clients/kflow/organisms/FlashCard.stories.tsx +0 -105
  245. package/shells/typescript-shell/packages/client/src/clients/kflow/organisms/FlashCard.tsx +0 -200
  246. package/shells/typescript-shell/packages/client/src/clients/kflow/organisms/FlashCardStack.stories.tsx +0 -97
  247. package/shells/typescript-shell/packages/client/src/clients/kflow/organisms/FlashCardStack.tsx +0 -163
  248. package/shells/typescript-shell/packages/client/src/clients/kflow/organisms/FlashCardsDisplay.tsx +0 -236
  249. package/shells/typescript-shell/packages/client/src/clients/kflow/organisms/ForceDirectedGraph.stories.tsx +0 -230
  250. package/shells/typescript-shell/packages/client/src/clients/kflow/organisms/ForceDirectedGraph.tsx +0 -488
  251. package/shells/typescript-shell/packages/client/src/clients/kflow/organisms/MindMapCanvas.stories.tsx +0 -256
  252. package/shells/typescript-shell/packages/client/src/clients/kflow/organisms/MindMapCanvas.tsx +0 -185
  253. package/shells/typescript-shell/packages/client/src/clients/kflow/organisms/NoteList.stories.tsx +0 -178
  254. package/shells/typescript-shell/packages/client/src/clients/kflow/organisms/NoteList.tsx +0 -209
  255. package/shells/typescript-shell/packages/client/src/clients/kflow/organisms/SegmentRenderer.stories.tsx +0 -238
  256. package/shells/typescript-shell/packages/client/src/clients/kflow/organisms/SegmentRenderer.tsx +0 -196
  257. package/shells/typescript-shell/packages/client/src/clients/kflow/organisms/index.ts +0 -18
  258. package/shells/typescript-shell/packages/client/src/clients/kflow/patterns/component-mapping.json +0 -122
  259. package/shells/typescript-shell/packages/client/src/clients/kflow/patterns/event-contracts.json +0 -145
  260. package/shells/typescript-shell/packages/client/src/clients/kflow/patterns/index.ts +0 -46
  261. package/shells/typescript-shell/packages/client/src/clients/kflow/templates/ConceptDetailTemplate.stories.tsx +0 -148
  262. package/shells/typescript-shell/packages/client/src/clients/kflow/templates/ConceptDetailTemplate.tsx +0 -266
  263. package/shells/typescript-shell/packages/client/src/clients/kflow/templates/KnowledgeGraphTemplate.stories.tsx +0 -215
  264. package/shells/typescript-shell/packages/client/src/clients/kflow/templates/KnowledgeGraphTemplate.tsx +0 -302
  265. package/shells/typescript-shell/packages/client/src/clients/kflow/templates/LessonTemplate.stories.tsx +0 -161
  266. package/shells/typescript-shell/packages/client/src/clients/kflow/templates/LessonTemplate.tsx +0 -264
  267. package/shells/typescript-shell/packages/client/src/clients/kflow/templates/index.ts +0 -4
  268. package/shells/typescript-shell/packages/client/src/clients/kflow/types/index.ts +0 -9
  269. package/shells/typescript-shell/packages/client/src/clients/kflow/types/mindMapTypes.ts +0 -13
  270. package/shells/typescript-shell/packages/client/src/clients/kflow/utils/index.ts +0 -6
  271. package/shells/typescript-shell/packages/client/src/clients/kflow/utils/parseLessonSegments.ts +0 -191
  272. package/shells/typescript-shell/packages/client/src/clients/winning-11/atoms/CareIndicator.tsx +0 -113
  273. package/shells/typescript-shell/packages/client/src/clients/winning-11/atoms/GrowthMeter.tsx +0 -216
  274. package/shells/typescript-shell/packages/client/src/clients/winning-11/atoms/SeasonIndicator.tsx +0 -140
  275. package/shells/typescript-shell/packages/client/src/clients/winning-11/atoms/TrustMeter.tsx +0 -221
  276. package/shells/typescript-shell/packages/client/src/clients/winning-11/atoms/index.ts +0 -15
  277. package/shells/typescript-shell/packages/client/src/clients/winning-11/index.ts +0 -159
  278. package/shells/typescript-shell/packages/client/src/clients/winning-11/molecules/HarvestCard.tsx +0 -254
  279. package/shells/typescript-shell/packages/client/src/clients/winning-11/molecules/PlantCard.tsx +0 -412
  280. package/shells/typescript-shell/packages/client/src/clients/winning-11/molecules/WeatherWidget.tsx +0 -229
  281. package/shells/typescript-shell/packages/client/src/clients/winning-11/molecules/index.ts +0 -12
  282. package/shells/typescript-shell/packages/client/src/clients/winning-11/organisms/GardenView.tsx +0 -344
  283. package/shells/typescript-shell/packages/client/src/clients/winning-11/organisms/index.ts +0 -6
  284. package/shells/typescript-shell/packages/client/src/clients/winning-11/templates/AdminDashboardTemplate.tsx +0 -423
  285. package/shells/typescript-shell/packages/client/src/clients/winning-11/templates/AssessmentTemplate.tsx +0 -409
  286. package/shells/typescript-shell/packages/client/src/clients/winning-11/templates/ConnectionsTemplate.tsx +0 -465
  287. package/shells/typescript-shell/packages/client/src/clients/winning-11/templates/GraphIntelligenceTemplate.tsx +0 -388
  288. package/shells/typescript-shell/packages/client/src/clients/winning-11/templates/InvitesTemplate.tsx +0 -359
  289. package/shells/typescript-shell/packages/client/src/clients/winning-11/templates/ProjectDetailTemplate.tsx +0 -483
  290. package/shells/typescript-shell/packages/client/src/clients/winning-11/templates/ProjectsTemplate.tsx +0 -474
  291. package/shells/typescript-shell/packages/client/src/clients/winning-11/templates/RelationshipGardenTemplate.tsx +0 -198
  292. package/shells/typescript-shell/packages/client/src/clients/winning-11/templates/SeedNetworkTemplate.tsx +0 -410
  293. package/shells/typescript-shell/packages/client/src/clients/winning-11/templates/SuggestionsTemplate.tsx +0 -352
  294. package/shells/typescript-shell/packages/client/src/clients/winning-11/templates/TeamDetailTemplate.tsx +0 -494
  295. package/shells/typescript-shell/packages/client/src/clients/winning-11/templates/TeamMembersTemplate.tsx +0 -427
  296. package/shells/typescript-shell/packages/client/src/clients/winning-11/templates/TeamsTemplate.tsx +0 -424
  297. package/shells/typescript-shell/packages/client/src/clients/winning-11/templates/TrustIntelligenceTemplate.tsx +0 -312
  298. package/shells/typescript-shell/packages/client/src/clients/winning-11/templates/UserProfileTemplate.tsx +0 -308
  299. package/shells/typescript-shell/packages/client/src/clients/winning-11/templates/UsersTemplate.tsx +0 -303
  300. package/shells/typescript-shell/packages/client/src/components/atoms/Avatar.tsx +0 -226
  301. package/shells/typescript-shell/packages/client/src/components/atoms/Badge.tsx +0 -79
  302. package/shells/typescript-shell/packages/client/src/components/atoms/Box.tsx +0 -262
  303. package/shells/typescript-shell/packages/client/src/components/atoms/Button.tsx +0 -150
  304. package/shells/typescript-shell/packages/client/src/components/atoms/Card.tsx +0 -151
  305. package/shells/typescript-shell/packages/client/src/components/atoms/Center.tsx +0 -67
  306. package/shells/typescript-shell/packages/client/src/components/atoms/Checkbox.tsx +0 -46
  307. package/shells/typescript-shell/packages/client/src/components/atoms/ConditionalWrapper.tsx +0 -139
  308. package/shells/typescript-shell/packages/client/src/components/atoms/Divider.tsx +0 -102
  309. package/shells/typescript-shell/packages/client/src/components/atoms/Icon.tsx +0 -224
  310. package/shells/typescript-shell/packages/client/src/components/atoms/Input.tsx +0 -192
  311. package/shells/typescript-shell/packages/client/src/components/atoms/Label.tsx +0 -26
  312. package/shells/typescript-shell/packages/client/src/components/atoms/LawReferenceTooltip.tsx +0 -190
  313. package/shells/typescript-shell/packages/client/src/components/atoms/Overlay.tsx +0 -37
  314. package/shells/typescript-shell/packages/client/src/components/atoms/ProgressBar.tsx +0 -256
  315. package/shells/typescript-shell/packages/client/src/components/atoms/Radio.tsx +0 -164
  316. package/shells/typescript-shell/packages/client/src/components/atoms/Select.tsx +0 -62
  317. package/shells/typescript-shell/packages/client/src/components/atoms/Spacer.tsx +0 -68
  318. package/shells/typescript-shell/packages/client/src/components/atoms/Spinner.tsx +0 -32
  319. package/shells/typescript-shell/packages/client/src/components/atoms/Stack.tsx +0 -151
  320. package/shells/typescript-shell/packages/client/src/components/atoms/Switch.tsx +0 -91
  321. package/shells/typescript-shell/packages/client/src/components/atoms/TextHighlight.tsx +0 -111
  322. package/shells/typescript-shell/packages/client/src/components/atoms/Textarea.tsx +0 -32
  323. package/shells/typescript-shell/packages/client/src/components/atoms/ThemeSelector.tsx +0 -128
  324. package/shells/typescript-shell/packages/client/src/components/atoms/ThemeToggle.tsx +0 -91
  325. package/shells/typescript-shell/packages/client/src/components/atoms/Typography.tsx +0 -207
  326. package/shells/typescript-shell/packages/client/src/components/atoms/game/ControlButton.tsx +0 -118
  327. package/shells/typescript-shell/packages/client/src/components/atoms/game/HealthBar.tsx +0 -93
  328. package/shells/typescript-shell/packages/client/src/components/atoms/game/ScoreDisplay.tsx +0 -86
  329. package/shells/typescript-shell/packages/client/src/components/atoms/game/Sprite.tsx +0 -188
  330. package/shells/typescript-shell/packages/client/src/components/atoms/game/index.ts +0 -12
  331. package/shells/typescript-shell/packages/client/src/components/atoms/index.ts +0 -88
  332. package/shells/typescript-shell/packages/client/src/components/index.ts +0 -4
  333. package/shells/typescript-shell/packages/client/src/components/molecules/Accordion.tsx +0 -223
  334. package/shells/typescript-shell/packages/client/src/components/molecules/Alert.tsx +0 -117
  335. package/shells/typescript-shell/packages/client/src/components/molecules/Breadcrumb.tsx +0 -159
  336. package/shells/typescript-shell/packages/client/src/components/molecules/ButtonGroup.tsx +0 -226
  337. package/shells/typescript-shell/packages/client/src/components/molecules/Card.tsx +0 -135
  338. package/shells/typescript-shell/packages/client/src/components/molecules/Container.tsx +0 -78
  339. package/shells/typescript-shell/packages/client/src/components/molecules/Drawer.tsx +0 -254
  340. package/shells/typescript-shell/packages/client/src/components/molecules/EmptyState.tsx +0 -132
  341. package/shells/typescript-shell/packages/client/src/components/molecules/ErrorState.tsx +0 -48
  342. package/shells/typescript-shell/packages/client/src/components/molecules/FilterGroup.tsx +0 -529
  343. package/shells/typescript-shell/packages/client/src/components/molecules/Flex.tsx +0 -131
  344. package/shells/typescript-shell/packages/client/src/components/molecules/FloatingActionButton.tsx +0 -264
  345. package/shells/typescript-shell/packages/client/src/components/molecules/FormField.tsx +0 -48
  346. package/shells/typescript-shell/packages/client/src/components/molecules/FormSectionHeader.tsx +0 -139
  347. package/shells/typescript-shell/packages/client/src/components/molecules/Grid.tsx +0 -194
  348. package/shells/typescript-shell/packages/client/src/components/molecules/InputGroup.tsx +0 -109
  349. package/shells/typescript-shell/packages/client/src/components/molecules/LoadingState.tsx +0 -39
  350. package/shells/typescript-shell/packages/client/src/components/molecules/Menu.tsx +0 -266
  351. package/shells/typescript-shell/packages/client/src/components/molecules/Modal.tsx +0 -171
  352. package/shells/typescript-shell/packages/client/src/components/molecules/Pagination.tsx +0 -254
  353. package/shells/typescript-shell/packages/client/src/components/molecules/Popover.tsx +0 -201
  354. package/shells/typescript-shell/packages/client/src/components/molecules/RelationSelect.tsx +0 -328
  355. package/shells/typescript-shell/packages/client/src/components/molecules/RepeatableFormSection.tsx +0 -236
  356. package/shells/typescript-shell/packages/client/src/components/molecules/SearchInput.tsx +0 -196
  357. package/shells/typescript-shell/packages/client/src/components/molecules/SidePanel.tsx +0 -116
  358. package/shells/typescript-shell/packages/client/src/components/molecules/SimpleGrid.tsx +0 -90
  359. package/shells/typescript-shell/packages/client/src/components/molecules/Tabs.tsx +0 -208
  360. package/shells/typescript-shell/packages/client/src/components/molecules/Toast.tsx +0 -154
  361. package/shells/typescript-shell/packages/client/src/components/molecules/Tooltip.tsx +0 -172
  362. package/shells/typescript-shell/packages/client/src/components/molecules/ViolationAlert.tsx +0 -253
  363. package/shells/typescript-shell/packages/client/src/components/molecules/WizardNavigation.tsx +0 -166
  364. package/shells/typescript-shell/packages/client/src/components/molecules/WizardProgress.tsx +0 -140
  365. package/shells/typescript-shell/packages/client/src/components/molecules/game/ActionButtons.tsx +0 -148
  366. package/shells/typescript-shell/packages/client/src/components/molecules/game/DPad.tsx +0 -98
  367. package/shells/typescript-shell/packages/client/src/components/molecules/game/StatBadge.tsx +0 -104
  368. package/shells/typescript-shell/packages/client/src/components/molecules/game/index.ts +0 -11
  369. package/shells/typescript-shell/packages/client/src/components/molecules/index.ts +0 -36
  370. package/shells/typescript-shell/packages/client/src/components/organisms/CardGrid.tsx +0 -479
  371. package/shells/typescript-shell/packages/client/src/components/organisms/ComponentPatterns.tsx +0 -1000
  372. package/shells/typescript-shell/packages/client/src/components/organisms/ConfirmDialog.tsx +0 -165
  373. package/shells/typescript-shell/packages/client/src/components/organisms/CustomPattern.tsx +0 -479
  374. package/shells/typescript-shell/packages/client/src/components/organisms/DataTable.tsx +0 -816
  375. package/shells/typescript-shell/packages/client/src/components/organisms/DetailPanel.tsx +0 -626
  376. package/shells/typescript-shell/packages/client/src/components/organisms/DrawerSlot.tsx +0 -86
  377. package/shells/typescript-shell/packages/client/src/components/organisms/Form.tsx +0 -968
  378. package/shells/typescript-shell/packages/client/src/components/organisms/FormSection.tsx +0 -168
  379. package/shells/typescript-shell/packages/client/src/components/organisms/Header.tsx +0 -263
  380. package/shells/typescript-shell/packages/client/src/components/organisms/LayoutPatterns.tsx +0 -325
  381. package/shells/typescript-shell/packages/client/src/components/organisms/List.tsx +0 -838
  382. package/shells/typescript-shell/packages/client/src/components/organisms/MasterDetail.tsx +0 -85
  383. package/shells/typescript-shell/packages/client/src/components/organisms/ModalSlot.tsx +0 -81
  384. package/shells/typescript-shell/packages/client/src/components/organisms/Navigation.tsx +0 -157
  385. package/shells/typescript-shell/packages/client/src/components/organisms/OrbitalVisualization.tsx +0 -480
  386. package/shells/typescript-shell/packages/client/src/components/organisms/PageHeader.tsx +0 -244
  387. package/shells/typescript-shell/packages/client/src/components/organisms/Section.tsx +0 -131
  388. package/shells/typescript-shell/packages/client/src/components/organisms/Sidebar.tsx +0 -270
  389. package/shells/typescript-shell/packages/client/src/components/organisms/Split.tsx +0 -121
  390. package/shells/typescript-shell/packages/client/src/components/organisms/StatCard.tsx +0 -360
  391. package/shells/typescript-shell/packages/client/src/components/organisms/Table.tsx +0 -394
  392. package/shells/typescript-shell/packages/client/src/components/organisms/ToastSlot.tsx +0 -106
  393. package/shells/typescript-shell/packages/client/src/components/organisms/UISlotRenderer.tsx +0 -647
  394. package/shells/typescript-shell/packages/client/src/components/organisms/WizardContainer.tsx +0 -369
  395. package/shells/typescript-shell/packages/client/src/components/organisms/debug/RuntimeDebugger.css +0 -102
  396. package/shells/typescript-shell/packages/client/src/components/organisms/debug/RuntimeDebugger.tsx +0 -176
  397. package/shells/typescript-shell/packages/client/src/components/organisms/debug/hooks/useDebugData.ts +0 -100
  398. package/shells/typescript-shell/packages/client/src/components/organisms/debug/index.ts +0 -10
  399. package/shells/typescript-shell/packages/client/src/components/organisms/debug/tabs/EntitiesTab.tsx +0 -130
  400. package/shells/typescript-shell/packages/client/src/components/organisms/debug/tabs/EventFlowTab.tsx +0 -135
  401. package/shells/typescript-shell/packages/client/src/components/organisms/debug/tabs/GuardsPanel.tsx +0 -124
  402. package/shells/typescript-shell/packages/client/src/components/organisms/debug/tabs/TicksTab.tsx +0 -100
  403. package/shells/typescript-shell/packages/client/src/components/organisms/debug/tabs/TraitsTab.tsx +0 -102
  404. package/shells/typescript-shell/packages/client/src/components/organisms/game/CollisionDetector.tsx +0 -195
  405. package/shells/typescript-shell/packages/client/src/components/organisms/game/DialogueBox.tsx +0 -279
  406. package/shells/typescript-shell/packages/client/src/components/organisms/game/GameCanvas.tsx +0 -550
  407. package/shells/typescript-shell/packages/client/src/components/organisms/game/GameControls.tsx +0 -173
  408. package/shells/typescript-shell/packages/client/src/components/organisms/game/GameHud.tsx +0 -135
  409. package/shells/typescript-shell/packages/client/src/components/organisms/game/GameMenu.tsx +0 -188
  410. package/shells/typescript-shell/packages/client/src/components/organisms/game/GameOverScreen.tsx +0 -241
  411. package/shells/typescript-shell/packages/client/src/components/organisms/game/GamePauseOverlay.tsx +0 -158
  412. package/shells/typescript-shell/packages/client/src/components/organisms/game/InputListener.tsx +0 -161
  413. package/shells/typescript-shell/packages/client/src/components/organisms/game/InventoryPanel.tsx +0 -230
  414. package/shells/typescript-shell/packages/client/src/components/organisms/game/LevelSelect.tsx +0 -236
  415. package/shells/typescript-shell/packages/client/src/components/organisms/game/TilemapRenderer.tsx +0 -233
  416. package/shells/typescript-shell/packages/client/src/components/organisms/game/index.ts +0 -28
  417. package/shells/typescript-shell/packages/client/src/components/organisms/index.ts +0 -83
  418. package/shells/typescript-shell/packages/client/src/components/organisms/layout/DashboardGrid.tsx +0 -94
  419. package/shells/typescript-shell/packages/client/src/components/organisms/layout/MasterDetail.tsx +0 -93
  420. package/shells/typescript-shell/packages/client/src/components/organisms/layout/SplitPane.tsx +0 -136
  421. package/shells/typescript-shell/packages/client/src/components/organisms/layout/TabbedContainer.tsx +0 -162
  422. package/shells/typescript-shell/packages/client/src/components/organisms/layout/index.ts +0 -10
  423. package/shells/typescript-shell/packages/client/src/components/templates/AuthLayout.tsx +0 -125
  424. package/shells/typescript-shell/packages/client/src/components/templates/CounterTemplate.tsx +0 -224
  425. package/shells/typescript-shell/packages/client/src/components/templates/CrudTemplate.tsx +0 -511
  426. package/shells/typescript-shell/packages/client/src/components/templates/DashboardLayout.tsx +0 -295
  427. package/shells/typescript-shell/packages/client/src/components/templates/FormTemplate.tsx +0 -328
  428. package/shells/typescript-shell/packages/client/src/components/templates/GameTemplate.tsx +0 -142
  429. package/shells/typescript-shell/packages/client/src/components/templates/GenericAppTemplate.tsx +0 -79
  430. package/shells/typescript-shell/packages/client/src/components/templates/ListTemplate.tsx +0 -361
  431. package/shells/typescript-shell/packages/client/src/components/templates/SettingsTemplate.tsx +0 -459
  432. package/shells/typescript-shell/packages/client/src/components/templates/index.ts +0 -54
  433. package/shells/typescript-shell/packages/client/src/config/firebase.ts +0 -58
  434. package/shells/typescript-shell/packages/client/src/context/DesignThemeContext.tsx +0 -40
  435. package/shells/typescript-shell/packages/client/src/context/ThemeContext.tsx +0 -321
  436. package/shells/typescript-shell/packages/client/src/context/UISlotContext.tsx +0 -143
  437. package/shells/typescript-shell/packages/client/src/context/UserContext.tsx +0 -259
  438. package/shells/typescript-shell/packages/client/src/context/index.ts +0 -44
  439. package/shells/typescript-shell/packages/client/src/evaluator/SExpressionEvaluator.ts +0 -715
  440. package/shells/typescript-shell/packages/client/src/evaluator/context.ts +0 -196
  441. package/shells/typescript-shell/packages/client/src/evaluator/index.ts +0 -52
  442. package/shells/typescript-shell/packages/client/src/evaluator/operators/arithmetic.ts +0 -120
  443. package/shells/typescript-shell/packages/client/src/evaluator/operators/collections.ts +0 -177
  444. package/shells/typescript-shell/packages/client/src/evaluator/operators/comparison.ts +0 -130
  445. package/shells/typescript-shell/packages/client/src/evaluator/operators/control.ts +0 -86
  446. package/shells/typescript-shell/packages/client/src/evaluator/operators/effects.ts +0 -285
  447. package/shells/typescript-shell/packages/client/src/evaluator/operators/index.ts +0 -69
  448. package/shells/typescript-shell/packages/client/src/evaluator/operators/logic.ts +0 -66
  449. package/shells/typescript-shell/packages/client/src/evaluator/std/array.ts +0 -657
  450. package/shells/typescript-shell/packages/client/src/evaluator/std/async.ts +0 -210
  451. package/shells/typescript-shell/packages/client/src/evaluator/std/format.ts +0 -224
  452. package/shells/typescript-shell/packages/client/src/evaluator/std/index.ts +0 -206
  453. package/shells/typescript-shell/packages/client/src/evaluator/std/math.ts +0 -219
  454. package/shells/typescript-shell/packages/client/src/evaluator/std/object.ts +0 -435
  455. package/shells/typescript-shell/packages/client/src/evaluator/std/str.ts +0 -372
  456. package/shells/typescript-shell/packages/client/src/evaluator/std/time.ts +0 -594
  457. package/shells/typescript-shell/packages/client/src/evaluator/std/validate.ts +0 -445
  458. package/shells/typescript-shell/packages/client/src/evaluator/types/expression.ts +0 -297
  459. package/shells/typescript-shell/packages/client/src/features/auth/AuthContext.tsx +0 -192
  460. package/shells/typescript-shell/packages/client/src/features/auth/authService.ts +0 -90
  461. package/shells/typescript-shell/packages/client/src/features/auth/components/Login.tsx +0 -282
  462. package/shells/typescript-shell/packages/client/src/features/auth/components/ProtectedRoute.tsx +0 -28
  463. package/shells/typescript-shell/packages/client/src/features/auth/components/UserProfile.tsx +0 -52
  464. package/shells/typescript-shell/packages/client/src/features/auth/components/index.ts +0 -3
  465. package/shells/typescript-shell/packages/client/src/features/auth/index.ts +0 -4
  466. package/shells/typescript-shell/packages/client/src/features/auth/types.ts +0 -33
  467. package/shells/typescript-shell/packages/client/src/hooks/event-bus-types.ts +0 -70
  468. package/shells/typescript-shell/packages/client/src/hooks/index.ts +0 -84
  469. package/shells/typescript-shell/packages/client/src/hooks/useEntities.ts +0 -118
  470. package/shells/typescript-shell/packages/client/src/hooks/useEntityData.ts +0 -288
  471. package/shells/typescript-shell/packages/client/src/hooks/useEntityMutations.ts +0 -258
  472. package/shells/typescript-shell/packages/client/src/hooks/useEventBus.ts +0 -166
  473. package/shells/typescript-shell/packages/client/src/hooks/useOrbitalMutations.ts +0 -234
  474. package/shells/typescript-shell/packages/client/src/hooks/useQuerySingleton.ts +0 -179
  475. package/shells/typescript-shell/packages/client/src/hooks/useUIEvents.ts +0 -228
  476. package/shells/typescript-shell/packages/client/src/hooks/useUISlots.ts +0 -320
  477. package/shells/typescript-shell/packages/client/src/index.css +0 -15
  478. package/shells/typescript-shell/packages/client/src/lib/api-client.ts +0 -134
  479. package/shells/typescript-shell/packages/client/src/lib/cn.ts +0 -10
  480. package/shells/typescript-shell/packages/client/src/lib/debug.ts +0 -114
  481. package/shells/typescript-shell/packages/client/src/lib/debugRegistry.ts +0 -108
  482. package/shells/typescript-shell/packages/client/src/lib/debugUtils.ts +0 -62
  483. package/shells/typescript-shell/packages/client/src/lib/entityDebug.ts +0 -79
  484. package/shells/typescript-shell/packages/client/src/lib/guardRegistry.ts +0 -79
  485. package/shells/typescript-shell/packages/client/src/lib/tickRegistry.ts +0 -86
  486. package/shells/typescript-shell/packages/client/src/lib/traitRegistry.ts +0 -84
  487. package/shells/typescript-shell/packages/client/src/loaders/AssetLoader.ts +0 -315
  488. package/shells/typescript-shell/packages/client/src/loaders/index.ts +0 -17
  489. package/shells/typescript-shell/packages/client/src/main.tsx +0 -24
  490. package/shells/typescript-shell/packages/client/src/pages/index.ts +0 -2
  491. package/shells/typescript-shell/packages/client/src/providers/EventBusProvider.tsx +0 -212
  492. package/shells/typescript-shell/packages/client/src/providers/FetchedDataProvider.tsx +0 -280
  493. package/shells/typescript-shell/packages/client/src/providers/OrbitalProvider.tsx +0 -136
  494. package/shells/typescript-shell/packages/client/src/providers/SelectionProvider.tsx +0 -232
  495. package/shells/typescript-shell/packages/client/src/providers/index.ts +0 -31
  496. package/shells/typescript-shell/packages/client/src/renderer/client-effect-executor.ts +0 -267
  497. package/shells/typescript-shell/packages/client/src/renderer/data-resolver.ts +0 -253
  498. package/shells/typescript-shell/packages/client/src/renderer/index.ts +0 -138
  499. package/shells/typescript-shell/packages/client/src/renderer/offline-executor.ts +0 -610
  500. package/shells/typescript-shell/packages/client/src/renderer/pattern-resolver.ts +0 -209
  501. package/shells/typescript-shell/packages/client/src/renderer/slot-definitions.ts +0 -154
  502. package/shells/typescript-shell/packages/client/src/renderer/types.ts +0 -214
  503. package/shells/typescript-shell/packages/client/src/renderer/useClientEffects.ts +0 -236
  504. package/shells/typescript-shell/packages/client/src/stores/entityStore.ts +0 -233
  505. package/shells/typescript-shell/packages/client/src/stores/filtering.ts +0 -180
  506. package/shells/typescript-shell/packages/client/src/stores/index.ts +0 -11
  507. package/shells/typescript-shell/packages/client/src/test/setup.ts +0 -126
  508. package/shells/typescript-shell/packages/client/src/themes/almadar.css +0 -196
  509. package/shells/typescript-shell/packages/client/src/themes/index.css +0 -11
  510. package/shells/typescript-shell/packages/client/src/themes/minimalist.css +0 -193
  511. package/shells/typescript-shell/packages/client/src/themes/wireframe.css +0 -188
  512. package/shells/typescript-shell/packages/client/src/types/__tests__/event-contracts.test.ts +0 -204
  513. package/shells/typescript-shell/packages/client/src/types/event-contracts.ts +0 -267
  514. package/shells/typescript-shell/packages/client/tailwind.config.js +0 -55
  515. package/shells/typescript-shell/packages/client/tsconfig.json +0 -33
  516. package/shells/typescript-shell/packages/client/tsconfig.node.json +0 -12
  517. package/shells/typescript-shell/packages/client/vite.config.d.ts +0 -3
  518. package/shells/typescript-shell/packages/client/vite.config.d.ts.map +0 -1
  519. package/shells/typescript-shell/packages/client/vite.config.js +0 -43
  520. package/shells/typescript-shell/packages/client/vite.config.js.map +0 -1
  521. package/shells/typescript-shell/packages/client/vite.config.ts +0 -48
  522. package/shells/typescript-shell/packages/server/.env.development +0 -8
  523. package/shells/typescript-shell/packages/server/.env.example +0 -22
  524. package/shells/typescript-shell/packages/server/package.json +0 -41
  525. package/shells/typescript-shell/packages/server/src/__tests__/integration.test.ts +0 -23
  526. package/shells/typescript-shell/packages/server/src/app.ts +0 -53
  527. package/shells/typescript-shell/packages/server/src/features/.gitkeep +0 -10
  528. package/shells/typescript-shell/packages/server/src/index.ts +0 -60
  529. package/shells/typescript-shell/packages/server/src/integrators/INTEGRATORS.md +0 -357
  530. package/shells/typescript-shell/packages/server/src/integrators/__tests__/registry.test.ts +0 -419
  531. package/shells/typescript-shell/packages/server/src/integrators/__tests__/types.test.ts +0 -382
  532. package/shells/typescript-shell/packages/server/src/integrators/__tests__/youtube.closed-circuit.test.ts +0 -454
  533. package/shells/typescript-shell/packages/server/src/integrators/__tests__/youtube.test.ts +0 -519
  534. package/shells/typescript-shell/packages/server/src/integrators/index.ts +0 -67
  535. package/shells/typescript-shell/packages/server/src/integrators/llm.ts +0 -585
  536. package/shells/typescript-shell/packages/server/src/integrators/registry.ts +0 -318
  537. package/shells/typescript-shell/packages/server/src/integrators/types.ts +0 -248
  538. package/shells/typescript-shell/packages/server/src/integrators/youtube.ts +0 -614
  539. package/shells/typescript-shell/packages/server/src/lib/db.ts +0 -130
  540. package/shells/typescript-shell/packages/server/src/lib/env.ts +0 -47
  541. package/shells/typescript-shell/packages/server/src/lib/eventBus.ts +0 -80
  542. package/shells/typescript-shell/packages/server/src/lib/index.ts +0 -10
  543. package/shells/typescript-shell/packages/server/src/lib/logger.ts +0 -48
  544. package/shells/typescript-shell/packages/server/src/lib/websocket.ts +0 -161
  545. package/shells/typescript-shell/packages/server/src/middleware/authenticateFirebase.ts +0 -29
  546. package/shells/typescript-shell/packages/server/src/middleware/errorHandler.ts +0 -135
  547. package/shells/typescript-shell/packages/server/src/middleware/index.ts +0 -15
  548. package/shells/typescript-shell/packages/server/src/middleware/validation.ts +0 -77
  549. package/shells/typescript-shell/packages/server/src/routes/__tests__/orbitals.e2e.test.ts +0 -405
  550. package/shells/typescript-shell/packages/server/src/routes/features/.gitkeep +0 -0
  551. package/shells/typescript-shell/packages/server/src/routes/index.ts +0 -11
  552. package/shells/typescript-shell/packages/server/src/routes/orbitals.ts +0 -138
  553. package/shells/typescript-shell/packages/server/src/routes/register.ts +0 -19
  554. package/shells/typescript-shell/packages/server/src/routes.ts +0 -58
  555. package/shells/typescript-shell/packages/server/src/seedMockData.ts +0 -27
  556. package/shells/typescript-shell/packages/server/src/services/DataService.ts +0 -402
  557. package/shells/typescript-shell/packages/server/src/services/MockDataService.ts +0 -347
  558. package/shells/typescript-shell/packages/server/src/services/index.ts +0 -8
  559. package/shells/typescript-shell/packages/server/src/types/express.d.ts +0 -13
  560. package/shells/typescript-shell/packages/server/src/utils/index.ts +0 -9
  561. package/shells/typescript-shell/packages/server/src/utils/queryFilters.ts +0 -231
  562. package/shells/typescript-shell/packages/server/tsconfig.json +0 -28
  563. package/shells/typescript-shell/packages/shared/package.json +0 -22
  564. package/shells/typescript-shell/packages/shared/src/__tests__/entities/atom-demo.test.ts +0 -61
  565. package/shells/typescript-shell/packages/shared/src/__tests__/entities/container-demo.test.ts +0 -43
  566. package/shells/typescript-shell/packages/shared/src/__tests__/entities/content-item.test.ts +0 -55
  567. package/shells/typescript-shell/packages/shared/src/__tests__/entities/game-state.test.ts +0 -67
  568. package/shells/typescript-shell/packages/shared/src/__tests__/entities/layout-demo.test.ts +0 -43
  569. package/shells/typescript-shell/packages/shared/src/__tests__/entities/modal-item.test.ts +0 -49
  570. package/shells/typescript-shell/packages/shared/src/__tests__/entities/molecule-demo.test.ts +0 -55
  571. package/shells/typescript-shell/packages/shared/src/__tests__/entities/nav-item.test.ts +0 -55
  572. package/shells/typescript-shell/packages/shared/src/__tests__/entities/product.test.ts +0 -78
  573. package/shells/typescript-shell/packages/shared/src/__tests__/entities/project.test.ts +0 -85
  574. package/shells/typescript-shell/packages/shared/src/__tests__/entities/searchable-item.test.ts +0 -61
  575. package/shells/typescript-shell/packages/shared/src/__tests__/entities/state-demo.test.ts +0 -43
  576. package/shells/typescript-shell/packages/shared/src/__tests__/entities/wizard-data.test.ts +0 -61
  577. package/shells/typescript-shell/packages/shared/src/evaluator/SExpressionEvaluator.ts +0 -715
  578. package/shells/typescript-shell/packages/shared/src/evaluator/context.ts +0 -196
  579. package/shells/typescript-shell/packages/shared/src/evaluator/index.ts +0 -52
  580. package/shells/typescript-shell/packages/shared/src/evaluator/operators/arithmetic.ts +0 -120
  581. package/shells/typescript-shell/packages/shared/src/evaluator/operators/collections.ts +0 -177
  582. package/shells/typescript-shell/packages/shared/src/evaluator/operators/comparison.ts +0 -130
  583. package/shells/typescript-shell/packages/shared/src/evaluator/operators/control.ts +0 -86
  584. package/shells/typescript-shell/packages/shared/src/evaluator/operators/effects.ts +0 -285
  585. package/shells/typescript-shell/packages/shared/src/evaluator/operators/index.ts +0 -69
  586. package/shells/typescript-shell/packages/shared/src/evaluator/operators/logic.ts +0 -66
  587. package/shells/typescript-shell/packages/shared/src/evaluator/std/array.ts +0 -657
  588. package/shells/typescript-shell/packages/shared/src/evaluator/std/async.ts +0 -210
  589. package/shells/typescript-shell/packages/shared/src/evaluator/std/format.ts +0 -224
  590. package/shells/typescript-shell/packages/shared/src/evaluator/std/index.ts +0 -206
  591. package/shells/typescript-shell/packages/shared/src/evaluator/std/math.ts +0 -219
  592. package/shells/typescript-shell/packages/shared/src/evaluator/std/object.ts +0 -435
  593. package/shells/typescript-shell/packages/shared/src/evaluator/std/str.ts +0 -372
  594. package/shells/typescript-shell/packages/shared/src/evaluator/std/time.ts +0 -594
  595. package/shells/typescript-shell/packages/shared/src/evaluator/std/validate.ts +0 -445
  596. package/shells/typescript-shell/packages/shared/src/evaluator/types/expression.ts +0 -297
  597. package/shells/typescript-shell/packages/shared/src/index.ts +0 -12
  598. package/shells/typescript-shell/packages/shared/src/schemas/entities.ts +0 -13
  599. package/shells/typescript-shell/packages/shared/src/types/entities.ts +0 -321
  600. package/shells/typescript-shell/packages/shared/src/types/events.ts +0 -82
  601. package/shells/typescript-shell/packages/shared/tsconfig.json +0 -16
  602. package/shells/typescript-shell/tests/setup.ts +0 -22
  603. package/shells/typescript-shell/tsconfig.base.json +0 -21
  604. package/shells/typescript-shell/tsconfig.json +0 -13
  605. package/shells/typescript-shell/vitest.config.ts +0 -54
@@ -1,550 +0,0 @@
1
- import * as React from 'react';
2
- import { cn } from '../../../lib/cn';
3
- import { useEntities, type Entity } from '../../../hooks/useEntities';
4
- import { updateSingleton, getSingleton, spawnEntity, updateEntity, getByType, getAllEntities } from '../../../stores/entityStore';
5
- import { debugInput, debugCollision } from '../../../lib/debug';
6
-
7
- /**
8
- * Game entity with position and rendering data
9
- */
10
- export interface GameEntity extends Entity {
11
- x: number;
12
- y: number;
13
- vx?: number;
14
- vy?: number;
15
- width?: number;
16
- height?: number;
17
- layer?: number;
18
- sprite?: string;
19
- color?: string;
20
- rotation?: number;
21
- scale?: number;
22
- visible?: boolean;
23
- collider?: {
24
- width: number;
25
- height: number;
26
- offsetX?: number;
27
- offsetY?: number;
28
- };
29
- }
30
-
31
- /**
32
- * Entity renderer function type
33
- */
34
- export type EntityRenderer = (
35
- ctx: CanvasRenderingContext2D,
36
- entity: GameEntity
37
- ) => void;
38
-
39
- /** Input key bindings - supports both field-based and event-based formats */
40
- interface InputBinding {
41
- key: string;
42
- /** Direct field mapping (e.g., 'left', 'right', 'jump') */
43
- field?: 'left' | 'right' | 'jump' | 'attack';
44
- /** Event-based mapping (e.g., 'MOVE_LEFT', 'JUMP') - mapped to fields */
45
- event?: string;
46
- /** Whether to hold the input (continuous) or trigger once */
47
- hold?: boolean;
48
- }
49
-
50
- /** Collision definition from schema */
51
- export interface CollisionDef {
52
- /** Entity types that collide [typeA, typeB] */
53
- between: [string, string];
54
- /** Collision type: 'solid' resolves overlap, 'trigger' emits event */
55
- type: 'solid' | 'trigger';
56
- /** Event to emit for trigger collisions */
57
- emits?: string;
58
- }
59
-
60
- /** AABB helper */
61
- interface AABB {
62
- x: number;
63
- y: number;
64
- width: number;
65
- height: number;
66
- }
67
-
68
- function getAABB(entity: GameEntity): AABB {
69
- const width = entity.width ?? 32;
70
- const height = entity.height ?? 32;
71
- return {
72
- x: entity.x - width / 2,
73
- y: entity.y - height / 2,
74
- width,
75
- height,
76
- };
77
- }
78
-
79
- function aabbOverlap(a: AABB, b: AABB): boolean {
80
- return (
81
- a.x < b.x + b.width &&
82
- a.x + a.width > b.x &&
83
- a.y < b.y + b.height &&
84
- a.y + a.height > b.y
85
- );
86
- }
87
-
88
- function resolveCollision(
89
- mover: AABB,
90
- solid: AABB,
91
- moverVy: number
92
- ): { dx: number; dy: number; side: 'top' | 'bottom' | 'left' | 'right' } {
93
- const overlapLeft = (mover.x + mover.width) - solid.x;
94
- const overlapRight = (solid.x + solid.width) - mover.x;
95
- const overlapTop = (mover.y + mover.height) - solid.y;
96
- const overlapBottom = (solid.y + solid.height) - mover.y;
97
-
98
- const minOverlapX = overlapLeft < overlapRight ? -overlapLeft : overlapRight;
99
- const minOverlapY = overlapTop < overlapBottom ? -overlapTop : overlapBottom;
100
-
101
- if (Math.abs(minOverlapX) < Math.abs(minOverlapY)) {
102
- return { dx: minOverlapX, dy: 0, side: minOverlapX < 0 ? 'right' : 'left' };
103
- } else {
104
- const side = minOverlapY < 0 ? 'bottom' : 'top';
105
- return { dx: 0, dy: minOverlapY, side };
106
- }
107
- }
108
-
109
- /** Map event names to input fields */
110
- const EVENT_TO_FIELD: Record<string, 'left' | 'right' | 'jump' | 'attack'> = {
111
- 'MOVE_LEFT': 'left',
112
- 'MOVE_RIGHT': 'right',
113
- 'JUMP': 'jump',
114
- 'ATTACK': 'attack',
115
- };
116
-
117
- /** Get the field from a binding (supports both field and event formats) */
118
- function getFieldFromBinding(binding: InputBinding): 'left' | 'right' | 'jump' | 'attack' | undefined {
119
- if (binding.field) return binding.field;
120
- if (binding.event) return EVENT_TO_FIELD[binding.event];
121
- return undefined;
122
- }
123
-
124
- const DEFAULT_INPUT_BINDINGS: InputBinding[] = [
125
- { key: 'ArrowLeft', field: 'left' },
126
- { key: 'a', field: 'left' },
127
- { key: 'ArrowRight', field: 'right' },
128
- { key: 'd', field: 'right' },
129
- { key: ' ', field: 'jump' },
130
- { key: 'ArrowUp', field: 'jump' },
131
- { key: 'w', field: 'jump' },
132
- ];
133
-
134
- export interface GameCanvasProps {
135
- /** Entity type names to render (optional filter) */
136
- renderEntities?: string[];
137
- /** Rendering functions per entity type */
138
- renderers?: Record<string, EntityRenderer>;
139
- /**
140
- * Renderer type hint from schema (e.g., 'phaser', 'canvas').
141
- * Currently ignored - component uses Canvas2D.
142
- * Reserved for future multi-renderer support.
143
- */
144
- renderer?: string;
145
- /** Background color or gradient */
146
- background?: string;
147
- /** Canvas width in pixels or 'full' for responsive */
148
- width?: number | 'full';
149
- /** Canvas height in pixels or 'auto' for aspect ratio */
150
- height?: number | 'auto';
151
- /** Aspect ratio (e.g., '16:9', '4:3') */
152
- aspectRatio?: string;
153
- /** Camera offset for scrolling */
154
- cameraOffset?: { x: number; y: number };
155
- /** Debug mode shows hitboxes and entity info */
156
- debug?: boolean;
157
- /** Additional CSS classes */
158
- className?: string;
159
- /** Click handler for canvas */
160
- onClick?: (x: number, y: number, entity?: GameEntity) => void;
161
- /** Enable keyboard input handling (updates Input entity) */
162
- enableInput?: boolean;
163
- /** Custom input key bindings */
164
- inputBindings?: InputBinding[];
165
- /** Collision definitions from schema */
166
- collisions?: CollisionDef[];
167
- /** Event bus for emitting collision events */
168
- eventBus?: { emit: (event: string, payload?: unknown) => void };
169
- }
170
-
171
- const defaultRenderer: EntityRenderer = (ctx, entity) => {
172
- const w = entity.width ?? 32;
173
- const h = entity.height ?? 32;
174
- ctx.fillStyle = entity.color ?? '#ff0000';
175
- ctx.fillRect(-w / 2, -h / 2, w, h);
176
- };
177
-
178
- export function GameCanvas({
179
- renderEntities,
180
- renderers = {},
181
- background = '#87CEEB',
182
- width = 'full',
183
- height = 'auto',
184
- aspectRatio = '16:9',
185
- cameraOffset = { x: 0, y: 0 },
186
- debug = false,
187
- className,
188
- onClick,
189
- enableInput = true,
190
- inputBindings = DEFAULT_INPUT_BINDINGS,
191
- collisions = [],
192
- eventBus,
193
- }: GameCanvasProps) {
194
- // Get entities directly from store
195
- const { entities } = useEntities();
196
-
197
- const canvasRef = React.useRef<HTMLCanvasElement>(null);
198
- const containerRef = React.useRef<HTMLDivElement>(null);
199
- const [dimensions, setDimensions] = React.useState({ width: 800, height: 450 });
200
-
201
- // Handle keyboard input - updates the Input entity
202
- React.useEffect(() => {
203
- if (!enableInput) return;
204
-
205
- // Ensure Input entity exists
206
- const existingInput = getSingleton('Input');
207
- if (!existingInput) {
208
- spawnEntity({ id: 'input', type: 'Input', left: false, right: false, jump: false });
209
- }
210
-
211
- const handleKeyDown = (e: KeyboardEvent) => {
212
- const binding = inputBindings.find((b) => b.key === e.key || b.key === e.code);
213
- if (binding) {
214
- const field = getFieldFromBinding(binding);
215
- if (field) {
216
- e.preventDefault();
217
- debugInput('keydown', { key: e.key, field, value: true });
218
- updateSingleton('Input', { [field]: true });
219
- }
220
- }
221
- };
222
-
223
- const handleKeyUp = (e: KeyboardEvent) => {
224
- const binding = inputBindings.find((b) => b.key === e.key || b.key === e.code);
225
- if (binding) {
226
- const field = getFieldFromBinding(binding);
227
- if (field) {
228
- e.preventDefault();
229
- debugInput('keyup', { key: e.key, field, value: false });
230
- updateSingleton('Input', { [field]: false });
231
- }
232
- }
233
- };
234
-
235
- window.addEventListener('keydown', handleKeyDown);
236
- window.addEventListener('keyup', handleKeyUp);
237
-
238
- return () => {
239
- window.removeEventListener('keydown', handleKeyDown);
240
- window.removeEventListener('keyup', handleKeyUp);
241
- };
242
- }, [enableInput, inputBindings]);
243
-
244
- // Collision detection - runs every frame
245
- React.useEffect(() => {
246
- if (collisions.length === 0) {
247
- return;
248
- }
249
-
250
- // Track active collisions for enter/exit detection
251
- const activeCollisions = new Set<string>();
252
- let frameCount = 0;
253
- let lastFpsTime = performance.now();
254
- let fpsFrameCount = 0;
255
- let currentFps = 0;
256
-
257
- let animationId: number;
258
- const tick = () => {
259
- // FPS calculation
260
- fpsFrameCount++;
261
- const now = performance.now();
262
- const elapsed = now - lastFpsTime;
263
- if (elapsed >= 1000) {
264
- currentFps = (fpsFrameCount * 1000) / elapsed;
265
- fpsFrameCount = 0;
266
- lastFpsTime = now;
267
- }
268
-
269
- // Get fresh entities each frame from store (not from captured closure)
270
- const allEntities = getAllEntities() as GameEntity[];
271
-
272
- frameCount++;
273
-
274
- // Track which entities are grounded THIS frame
275
- const groundedThisFrame = new Set<string>();
276
-
277
- // Identify groundable entity types (typeA in solid collisions)
278
- const groundableTypes = new Set<string>();
279
- for (const collision of collisions) {
280
- if (collision.type === 'solid') {
281
- groundableTypes.add(collision.between[0]);
282
- }
283
- }
284
-
285
- for (const collision of collisions) {
286
- const [typeA, typeB] = collision.between;
287
- const entitiesA = allEntities.filter(e => e.type === typeA);
288
- const entitiesB = allEntities.filter(e => e.type === typeB);
289
-
290
- for (const entityA of entitiesA) {
291
- const aabbA = getAABB(entityA);
292
-
293
- for (const entityB of entitiesB) {
294
- const aabbB = getAABB(entityB);
295
- const collisionKey = `${entityA.id}:${entityB.id}`;
296
-
297
- if (aabbOverlap(aabbA, aabbB)) {
298
- const isNewCollision = !activeCollisions.has(collisionKey);
299
- activeCollisions.add(collisionKey);
300
-
301
- if (collision.type === 'solid') {
302
- // Resolve solid collision
303
- const vy = entityA.vy ?? 0;
304
- const resolution = resolveCollision(aabbA, aabbB, vy);
305
-
306
- const updates: Record<string, unknown> = {
307
- x: entityA.x + resolution.dx,
308
- y: entityA.y + resolution.dy,
309
- };
310
-
311
- // Track grounded if landing on top
312
- if (resolution.side === 'bottom' && vy >= 0) {
313
- groundedThisFrame.add(entityA.id);
314
- updates.isGrounded = true;
315
- updates.vy = 0;
316
- }
317
- // Stop horizontal velocity on side collision
318
- if (resolution.side === 'left' || resolution.side === 'right') {
319
- updates.vx = 0;
320
- }
321
- // Stop upward velocity on ceiling hit
322
- if (resolution.side === 'top' && vy < 0) {
323
- updates.vy = 0;
324
- }
325
-
326
- updateEntity(entityA.id, updates);
327
-
328
- if (isNewCollision) {
329
- debugCollision({ id: entityA.id, type: entityA.type }, { id: entityB.id, type: entityB.type }, { event: 'enter', side: resolution.side });
330
- }
331
- } else if (collision.type === 'trigger' && isNewCollision) {
332
- // Emit event for trigger collision
333
- if (collision.emits && eventBus) {
334
- eventBus.emit(collision.emits, { entityA: entityA.id, entityB: entityB.id });
335
- }
336
- debugCollision({ id: entityA.id, type: entityA.type }, { id: entityB.id, type: entityB.type }, { event: 'enter', emits: collision.emits });
337
- }
338
- } else {
339
- // No longer colliding
340
- if (activeCollisions.has(collisionKey)) {
341
- activeCollisions.delete(collisionKey);
342
- debugCollision({ id: entityA.id, type: entityA.type }, { id: entityB.id, type: entityB.type }, { event: 'exit' });
343
- }
344
-
345
- // Ground check: extend hitbox slightly down to detect resting contact
346
- if (collision.type === 'solid' && groundableTypes.has(entityA.type)) {
347
- const groundCheckAABB = {
348
- ...aabbA,
349
- height: aabbA.height + 2, // Extend 2 pixels down
350
- };
351
- if (aabbOverlap(groundCheckAABB, aabbB)) {
352
- // Check if platform is below (player's bottom near platform's top)
353
- const playerBottom = aabbA.y + aabbA.height;
354
- const platformTop = aabbB.y;
355
- if (Math.abs(playerBottom - platformTop) < 3) {
356
- groundedThisFrame.add(entityA.id);
357
- }
358
- }
359
- }
360
- }
361
- }
362
- }
363
- }
364
-
365
- // Update isGrounded for entities that left the ground (were grounded, not grounded this frame)
366
- for (const entity of allEntities) {
367
- if (groundableTypes.has(entity.type) && entity.isGrounded && !groundedThisFrame.has(entity.id)) {
368
- updateEntity(entity.id, { isGrounded: false });
369
- }
370
- }
371
-
372
- animationId = requestAnimationFrame(tick);
373
- };
374
-
375
- animationId = requestAnimationFrame(tick);
376
- return () => cancelAnimationFrame(animationId);
377
- }, [collisions, eventBus]);
378
-
379
- // Handle resize
380
- React.useEffect(() => {
381
- const updateDimensions = () => {
382
- if (!containerRef.current) return;
383
-
384
- const containerWidth = containerRef.current.clientWidth;
385
- let canvasWidth = width === 'full' ? containerWidth : width;
386
- let canvasHeight: number;
387
-
388
- if (height === 'auto' && aspectRatio) {
389
- const [aw, ah] = aspectRatio.split(':').map(Number);
390
- canvasHeight = (canvasWidth * ah) / aw;
391
- } else if (typeof height === 'number') {
392
- canvasHeight = height;
393
- } else {
394
- canvasHeight = canvasWidth * (9 / 16);
395
- }
396
-
397
- setDimensions({ width: canvasWidth, height: canvasHeight });
398
- };
399
-
400
- updateDimensions();
401
- window.addEventListener('resize', updateDimensions);
402
- return () => window.removeEventListener('resize', updateDimensions);
403
- }, [width, height, aspectRatio]);
404
-
405
- // Render loop
406
- React.useEffect(() => {
407
- const canvas = canvasRef.current;
408
- if (!canvas) return;
409
-
410
- const ctx = canvas.getContext('2d');
411
- if (!ctx) return;
412
-
413
- // Set canvas resolution
414
- const dpr = window.devicePixelRatio || 1;
415
- canvas.width = dimensions.width * dpr;
416
- canvas.height = dimensions.height * dpr;
417
- ctx.scale(dpr, dpr);
418
-
419
- // Clear and draw background
420
- ctx.fillStyle = background;
421
- ctx.fillRect(0, 0, dimensions.width, dimensions.height);
422
-
423
- // Apply camera transform
424
- ctx.save();
425
- ctx.translate(-cameraOffset.x, -cameraOffset.y);
426
-
427
- // Filter and sort entities
428
- let entitiesToRender = [...entities.values()] as GameEntity[];
429
-
430
- // Filter by type if specified
431
- if (renderEntities && renderEntities.length > 0) {
432
- entitiesToRender = entitiesToRender.filter(e => renderEntities.includes(e.type));
433
- }
434
-
435
- // Filter out invisible and sort by layer
436
- const sortedEntities = entitiesToRender
437
- .filter((e) => e.visible !== false)
438
- .sort((a, b) => (a.layer ?? 0) - (b.layer ?? 0));
439
-
440
- // Render each entity
441
- for (const entity of sortedEntities) {
442
- const render = renderers[entity.type] ?? defaultRenderer;
443
-
444
- ctx.save();
445
- ctx.translate(entity.x, entity.y);
446
-
447
- if (entity.rotation) {
448
- ctx.rotate(entity.rotation);
449
- }
450
- if (entity.scale) {
451
- ctx.scale(entity.scale, entity.scale);
452
- }
453
-
454
- render(ctx, entity);
455
-
456
- // Debug: draw hitbox
457
- if (debug) {
458
- const collider = entity.collider ?? {
459
- width: entity.width ?? 32,
460
- height: entity.height ?? 32,
461
- offsetX: 0,
462
- offsetY: 0,
463
- };
464
- ctx.strokeStyle = 'lime';
465
- ctx.lineWidth = 1;
466
- ctx.strokeRect(
467
- (collider.offsetX ?? 0) - collider.width / 2,
468
- (collider.offsetY ?? 0) - collider.height / 2,
469
- collider.width,
470
- collider.height
471
- );
472
-
473
- // Draw entity info
474
- ctx.fillStyle = 'lime';
475
- ctx.font = '10px monospace';
476
- ctx.fillText(
477
- `${entity.type}#${entity.id.slice(0, 4)}`,
478
- -collider.width / 2,
479
- -collider.height / 2 - 4
480
- );
481
- }
482
-
483
- ctx.restore();
484
- }
485
-
486
- ctx.restore();
487
-
488
- // Debug: show entity count
489
- if (debug) {
490
- ctx.fillStyle = 'lime';
491
- ctx.font = '12px monospace';
492
- ctx.fillText(`Entities: ${entities.size}`, 10, 20);
493
- ctx.fillText(`Camera: (${cameraOffset.x.toFixed(0)}, ${cameraOffset.y.toFixed(0)})`, 10, 35);
494
- }
495
- }, [entities, renderEntities, renderers, background, dimensions, cameraOffset, debug]);
496
-
497
- // Handle click
498
- const handleClick = React.useCallback(
499
- (e: React.MouseEvent<HTMLCanvasElement>) => {
500
- if (!onClick) return;
501
-
502
- const canvas = canvasRef.current;
503
- if (!canvas) return;
504
-
505
- const rect = canvas.getBoundingClientRect();
506
- const x = e.clientX - rect.left + cameraOffset.x;
507
- const y = e.clientY - rect.top + cameraOffset.y;
508
-
509
- // Find clicked entity
510
- const clickedEntity = ([...entities.values()] as GameEntity[]).find((entity) => {
511
- const w = entity.width ?? 32;
512
- const h = entity.height ?? 32;
513
- return (
514
- x >= entity.x - w / 2 &&
515
- x <= entity.x + w / 2 &&
516
- y >= entity.y - h / 2 &&
517
- y <= entity.y + h / 2
518
- );
519
- });
520
-
521
- onClick(x, y, clickedEntity);
522
- },
523
- [onClick, entities, cameraOffset]
524
- );
525
-
526
- return (
527
- <div
528
- ref={containerRef}
529
- className={cn('relative overflow-hidden', className)}
530
- style={{
531
- width: width === 'full' ? '100%' : width,
532
- height: typeof height === 'number' ? height : undefined,
533
- aspectRatio: height === 'auto' ? aspectRatio : undefined,
534
- }}
535
- >
536
- <canvas
537
- ref={canvasRef}
538
- onClick={handleClick}
539
- className="absolute inset-0"
540
- style={{
541
- width: '100%',
542
- height: '100%',
543
- imageRendering: 'pixelated',
544
- }}
545
- />
546
- </div>
547
- );
548
- }
549
-
550
- GameCanvas.displayName = 'GameCanvas';