@almadar/std 3.0.1 → 3.0.3

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.
@@ -0,0 +1,2533 @@
1
+ import { EntityField, OrbitalDefinition, Entity, Page, Trait, OrbitalSchema } from '@almadar/core/types';
2
+ export { compose, connect, ensureIdField, extractTrait, makeEntity, makeOrbital, makePage, mergeOrbitals, pipe, plural, wire } from '@almadar/core/builders';
3
+
4
+ /**
5
+ * std-list
6
+ *
7
+ * CRUD list molecule. Composes atoms via shared event bus:
8
+ * - stdBrowse: data-grid with item actions (fires CREATE, VIEW, EDIT, DELETE)
9
+ * - stdModal (x3): create form, edit form, detail view (responds to matching events)
10
+ * - stdConfirmation: delete confirmation (responds to DELETE)
11
+ *
12
+ * No emits/listens wiring. Traits on the same page share the event bus.
13
+ * Only the trait with a matching transition from its current state responds.
14
+ *
15
+ * @level molecule
16
+ * @family crud
17
+ * @packageDocumentation
18
+ */
19
+
20
+ interface StdListParams {
21
+ entityName: string;
22
+ fields: EntityField[];
23
+ persistence?: 'persistent' | 'runtime' | 'singleton';
24
+ collection?: string;
25
+ listFields?: string[];
26
+ detailFields?: string[];
27
+ formFields?: string[];
28
+ pageTitle?: string;
29
+ createButtonLabel?: string;
30
+ editFormTitle?: string;
31
+ createFormTitle?: string;
32
+ deleteMessage?: string;
33
+ emptyTitle?: string;
34
+ emptyDescription?: string;
35
+ headerIcon?: string;
36
+ pageName?: string;
37
+ pagePath?: string;
38
+ isInitial?: boolean;
39
+ }
40
+ declare function stdListEntity(params: StdListParams): Entity;
41
+ declare function stdListTrait(params: StdListParams): Trait;
42
+ declare function stdListPage(params: StdListParams): Page;
43
+ declare function stdList(params: StdListParams): OrbitalDefinition;
44
+
45
+ /**
46
+ * std-cart
47
+ *
48
+ * Shopping cart molecule. Composes atoms:
49
+ * - Cart-specific browse trait (empty/hasItems/checkout states)
50
+ * - stdModal for the add-item form (responds to ADD_ITEM)
51
+ *
52
+ * @level molecule
53
+ * @family commerce
54
+ * @packageDocumentation
55
+ */
56
+
57
+ interface StdCartParams {
58
+ entityName: string;
59
+ fields: EntityField[];
60
+ persistence?: 'persistent' | 'runtime' | 'singleton';
61
+ collection?: string;
62
+ listFields?: string[];
63
+ formFields?: string[];
64
+ pageTitle?: string;
65
+ addButtonLabel?: string;
66
+ checkoutButtonLabel?: string;
67
+ emptyTitle?: string;
68
+ emptyDescription?: string;
69
+ headerIcon?: string;
70
+ pageName?: string;
71
+ pagePath?: string;
72
+ isInitial?: boolean;
73
+ }
74
+ declare function stdCartEntity(params: StdCartParams): Entity;
75
+ declare function stdCartTrait(params: StdCartParams): Trait;
76
+ declare function stdCartPage(params: StdCartParams): Page;
77
+ declare function stdCart(params: StdCartParams): OrbitalDefinition;
78
+
79
+ /**
80
+ * std-detail
81
+ *
82
+ * Browse + Create + View molecule. Composes atoms:
83
+ * - stdBrowse: data-grid with View item action and Create header action
84
+ * - stdModal: create form (responds to CREATE)
85
+ * - stdModal: view detail (responds to VIEW)
86
+ *
87
+ * No edit/delete from list. Used for feeds, ledgers, galleries.
88
+ *
89
+ * @level molecule
90
+ * @family crud
91
+ * @packageDocumentation
92
+ */
93
+
94
+ interface StdDetailParams {
95
+ entityName: string;
96
+ fields: EntityField[];
97
+ persistence?: 'persistent' | 'runtime' | 'singleton';
98
+ collection?: string;
99
+ listFields?: string[];
100
+ detailFields?: string[];
101
+ formFields?: string[];
102
+ pageTitle?: string;
103
+ createButtonLabel?: string;
104
+ createFormTitle?: string;
105
+ headerIcon?: string;
106
+ emptyTitle?: string;
107
+ emptyDescription?: string;
108
+ pageName?: string;
109
+ pagePath?: string;
110
+ isInitial?: boolean;
111
+ }
112
+ declare function stdDetailEntity(params: StdDetailParams): Entity;
113
+ declare function stdDetailTrait(params: StdDetailParams): Trait;
114
+ declare function stdDetailPage(params: StdDetailParams): Page;
115
+ declare function stdDetail(params: StdDetailParams): OrbitalDefinition;
116
+
117
+ /**
118
+ * std-inventory
119
+ *
120
+ * Item collection molecule. Composes atoms via shared event bus:
121
+ * - stdBrowse: data-grid with item actions (fires ADD_ITEM, USE_ITEM, DROP)
122
+ * - stdModal (add): create form for adding items (responds to ADD_ITEM)
123
+ * - stdModal (use): item detail for using items (responds to USE_ITEM)
124
+ * - stdConfirmation: drop confirmation (responds to DROP)
125
+ *
126
+ * No emits/listens wiring. Traits on the same page share the event bus.
127
+ * Only the trait with a matching transition from its current state responds.
128
+ *
129
+ * @level molecule
130
+ * @family game
131
+ * @packageDocumentation
132
+ */
133
+
134
+ interface StdInventoryParams {
135
+ entityName: string;
136
+ fields: EntityField[];
137
+ persistence?: 'persistent' | 'runtime' | 'singleton';
138
+ collection?: string;
139
+ listFields?: string[];
140
+ formFields?: string[];
141
+ pageTitle?: string;
142
+ addLabel?: string;
143
+ headerIcon?: string;
144
+ pageName?: string;
145
+ pagePath?: string;
146
+ isInitial?: boolean;
147
+ }
148
+ declare function stdInventoryEntity(params: StdInventoryParams): Entity;
149
+ declare function stdInventoryTrait(params: StdInventoryParams): Trait;
150
+ declare function stdInventoryPage(params: StdInventoryParams): Page;
151
+ declare function stdInventory(params: StdInventoryParams): OrbitalDefinition;
152
+
153
+ /**
154
+ * std-messaging
155
+ *
156
+ * Messaging molecule. Composes atoms via shared event bus:
157
+ * - stdBrowse: message list with "Compose" header action, "View" item action
158
+ * - stdModal (compose): compose/send message form (COMPOSE -> SEND)
159
+ * - stdModal (view): view message detail (VIEW with id payload)
160
+ *
161
+ * No emits/listens wiring. Traits on the same page share the event bus.
162
+ * Only the trait with a matching transition from its current state responds.
163
+ *
164
+ * @level molecule
165
+ * @family communication
166
+ * @packageDocumentation
167
+ */
168
+
169
+ interface StdMessagingParams {
170
+ entityName: string;
171
+ fields: EntityField[];
172
+ persistence?: 'persistent' | 'runtime' | 'singleton';
173
+ collection?: string;
174
+ listFields?: string[];
175
+ formFields?: string[];
176
+ detailFields?: string[];
177
+ pageTitle?: string;
178
+ composerTitle?: string;
179
+ headerIcon?: string;
180
+ pageName?: string;
181
+ pagePath?: string;
182
+ isInitial?: boolean;
183
+ }
184
+ declare function stdMessagingEntity(params: StdMessagingParams): Entity;
185
+ declare function stdMessagingTrait(params: StdMessagingParams): Trait;
186
+ declare function stdMessagingPage(params: StdMessagingParams): Page;
187
+ declare function stdMessaging(params: StdMessagingParams): OrbitalDefinition;
188
+
189
+ /**
190
+ * std-geospatial
191
+ *
192
+ * Location selection molecule. Composes atoms via shared event bus:
193
+ * - stdBrowse: location list with "Select" item action (fires SELECT)
194
+ * - stdModal: select/view location detail (responds to SELECT)
195
+ * - stdConfirmation: confirm location selection (responds to CONFIRM_SELECT)
196
+ *
197
+ * No emits/listens wiring. Traits on the same page share the event bus.
198
+ * Only the trait with a matching transition from its current state responds.
199
+ *
200
+ * @level molecule
201
+ * @family location
202
+ * @packageDocumentation
203
+ */
204
+
205
+ interface StdGeospatialParams {
206
+ entityName: string;
207
+ fields: EntityField[];
208
+ persistence?: 'persistent' | 'runtime' | 'singleton';
209
+ collection?: string;
210
+ listFields?: string[];
211
+ detailFields?: string[];
212
+ pageTitle?: string;
213
+ selectLabel?: string;
214
+ emptyTitle?: string;
215
+ emptyDescription?: string;
216
+ headerIcon?: string;
217
+ pageName?: string;
218
+ pagePath?: string;
219
+ isInitial?: boolean;
220
+ }
221
+ declare function stdGeospatialEntity(params: StdGeospatialParams): Entity;
222
+ declare function stdGeospatialTrait(params: StdGeospatialParams): Trait;
223
+ declare function stdGeospatialPage(params: StdGeospatialParams): Page;
224
+ declare function stdGeospatial(params: StdGeospatialParams): OrbitalDefinition;
225
+
226
+ /**
227
+ * std-browse
228
+ *
229
+ * Data grid browsing atom. Renders a list of entities with
230
+ * configurable item actions. The browsing view that molecules
231
+ * compose with modal/confirmation atoms.
232
+ *
233
+ * @level atom
234
+ * @family browse
235
+ * @packageDocumentation
236
+ */
237
+
238
+ interface StdBrowseParams {
239
+ entityName: string;
240
+ fields: EntityField[];
241
+ persistence?: 'persistent' | 'runtime' | 'singleton';
242
+ collection?: string;
243
+ traitName?: string;
244
+ listFields?: string[];
245
+ headerIcon?: string;
246
+ pageTitle?: string;
247
+ emptyTitle?: string;
248
+ emptyDescription?: string;
249
+ headerActions?: Array<{
250
+ label: string;
251
+ event: string;
252
+ variant?: string;
253
+ icon?: string;
254
+ }>;
255
+ itemActions?: Array<{
256
+ label: string;
257
+ event: string;
258
+ variant?: string;
259
+ }>;
260
+ refreshEvents?: string[];
261
+ pageName?: string;
262
+ pagePath?: string;
263
+ isInitial?: boolean;
264
+ }
265
+ declare function stdBrowseEntity(params: StdBrowseParams): Entity;
266
+ declare function stdBrowseTrait(params: StdBrowseParams): Trait;
267
+ declare function stdBrowsePage(params: StdBrowseParams): Page;
268
+ declare function stdBrowse(params: StdBrowseParams): OrbitalDefinition;
269
+
270
+ /**
271
+ * std-modal
272
+ *
273
+ * Modal overlay atom. Accepts content injection so molecules
274
+ * can control what renders inside the open state.
275
+ *
276
+ * @level atom
277
+ * @family modal
278
+ * @packageDocumentation
279
+ */
280
+
281
+ interface StdModalParams {
282
+ entityName: string;
283
+ fields: EntityField[];
284
+ persistence?: 'persistent' | 'runtime' | 'singleton';
285
+ traitName?: string;
286
+ modalTitle?: string;
287
+ headerIcon?: string;
288
+ /** Render-ui tree for the open state. Defaults to entity field detail view. */
289
+ openContent?: unknown;
290
+ /** Event key that opens the modal (default: 'OPEN') */
291
+ openEvent?: string;
292
+ /** Payload schema for the open event (e.g., [{ name: 'id', type: 'string', required: true }]) */
293
+ openPayload?: Array<{
294
+ name: string;
295
+ type: string;
296
+ required?: boolean;
297
+ }>;
298
+ /** Event key that closes the modal (default: 'CLOSE') */
299
+ closeEvent?: string;
300
+ /** Additional effects to run before render on open (e.g., fetch) */
301
+ openEffects?: unknown[];
302
+ /** If provided, adds a save transition: open → closed with these effects */
303
+ saveEvent?: string;
304
+ saveEffects?: unknown[];
305
+ /** When false, INIT renders nothing to main (used inside molecules). Default true. */
306
+ standalone?: boolean;
307
+ pageName?: string;
308
+ pagePath?: string;
309
+ isInitial?: boolean;
310
+ }
311
+ declare function stdModalEntity(params: StdModalParams): Entity;
312
+ declare function stdModalTrait(params: StdModalParams): Trait;
313
+ declare function stdModalPage(params: StdModalParams): Page;
314
+ declare function stdModal(params: StdModalParams): OrbitalDefinition;
315
+
316
+ /**
317
+ * std-confirmation as a Function
318
+ *
319
+ * Confirmation dialog behavior parameterized for any domain.
320
+ * Provides a two-step confirm/cancel flow before performing destructive actions.
321
+ * The caller handles the actual action via emits/listens.
322
+ * The state machine structure is fixed. The caller controls data and presentation.
323
+ *
324
+ * @level atom
325
+ * @family confirmation
326
+ * @packageDocumentation
327
+ */
328
+
329
+ interface StdConfirmationParams {
330
+ entityName: string;
331
+ fields: EntityField[];
332
+ persistence?: 'persistent' | 'runtime' | 'singleton';
333
+ traitName?: string;
334
+ confirmTitle?: string;
335
+ confirmMessage?: string;
336
+ confirmLabel?: string;
337
+ cancelLabel?: string;
338
+ headerIcon?: string;
339
+ /** Event key that opens the confirmation (default: 'REQUEST') */
340
+ requestEvent?: string;
341
+ /** Event key for confirm action (default: 'CONFIRM') */
342
+ confirmEvent?: string;
343
+ /** Additional effects to run on confirm (e.g., persist delete) */
344
+ confirmEffects?: unknown[];
345
+ /** When false, INIT renders nothing to main (used inside molecules). Default true. */
346
+ standalone?: boolean;
347
+ pageName?: string;
348
+ pagePath?: string;
349
+ isInitial?: boolean;
350
+ }
351
+ declare function stdConfirmationEntity(params: StdConfirmationParams): Entity;
352
+ declare function stdConfirmationTrait(params: StdConfirmationParams): Trait;
353
+ declare function stdConfirmationPage(params: StdConfirmationParams): Page;
354
+ declare function stdConfirmation(params: StdConfirmationParams): OrbitalDefinition;
355
+
356
+ /**
357
+ * std-search as a Function
358
+ *
359
+ * Search behavior parameterized for any domain.
360
+ * Provides a search input that filters entity data by query string.
361
+ * The state machine structure is fixed. The caller controls data and presentation.
362
+ *
363
+ * @level atom
364
+ * @family search
365
+ * @packageDocumentation
366
+ */
367
+
368
+ interface StdSearchParams {
369
+ /** Entity name in PascalCase (e.g., "Product", "Article") */
370
+ entityName: string;
371
+ /** Entity fields (id is auto-added) */
372
+ fields: EntityField[];
373
+ /** Persistence mode */
374
+ persistence?: 'persistent' | 'runtime' | 'singleton';
375
+ /** Placeholder text for the search input */
376
+ placeholder?: string;
377
+ /** Icon for the search input (Lucide name) */
378
+ searchIcon?: string;
379
+ /** Page name (defaults to "{Entity}SearchPage") */
380
+ pageName?: string;
381
+ /** Route path (defaults to "/{entities}/search") */
382
+ pagePath?: string;
383
+ /** Whether this is the initial/home page */
384
+ isInitial?: boolean;
385
+ }
386
+ declare function stdSearchEntity(params: StdSearchParams): Entity;
387
+ declare function stdSearchTrait(params: StdSearchParams): Trait;
388
+ declare function stdSearchPage(params: StdSearchParams): Page;
389
+ declare function stdSearch(params: StdSearchParams): OrbitalDefinition;
390
+
391
+ /**
392
+ * std-filter
393
+ *
394
+ * Filter atom. Shows filter buttons per field with predefined values.
395
+ * Clicking a filter value transitions to filtered state. Clear resets.
396
+ *
397
+ * @level atom
398
+ * @family filter
399
+ * @packageDocumentation
400
+ */
401
+
402
+ interface StdFilterParams {
403
+ entityName: string;
404
+ fields: EntityField[];
405
+ persistence?: 'persistent' | 'runtime' | 'singleton';
406
+ /** Fields to show as filter buttons (defaults to fields with `values` defined) */
407
+ filterFields?: string[];
408
+ headerIcon?: string;
409
+ pageTitle?: string;
410
+ pageName?: string;
411
+ pagePath?: string;
412
+ isInitial?: boolean;
413
+ }
414
+ declare function stdFilterEntity(params: StdFilterParams): Entity;
415
+ declare function stdFilterTrait(params: StdFilterParams): Trait;
416
+ declare function stdFilterPage(params: StdFilterParams): Page;
417
+ declare function stdFilter(params: StdFilterParams): OrbitalDefinition;
418
+
419
+ /**
420
+ * std-sort
421
+ *
422
+ * Sort atom. Shows sort-by buttons for each sortable field.
423
+ * Clicking a field name sorts by that field. Clicking again toggles direction.
424
+ *
425
+ * @level atom
426
+ * @family sort
427
+ * @packageDocumentation
428
+ */
429
+
430
+ interface StdSortParams {
431
+ entityName: string;
432
+ fields: EntityField[];
433
+ persistence?: 'persistent' | 'runtime' | 'singleton';
434
+ /** Fields available for sorting (defaults to all non-id fields) */
435
+ sortFields?: string[];
436
+ headerIcon?: string;
437
+ pageTitle?: string;
438
+ pageName?: string;
439
+ pagePath?: string;
440
+ isInitial?: boolean;
441
+ }
442
+ declare function stdSortEntity(params: StdSortParams): Entity;
443
+ declare function stdSortTrait(params: StdSortParams): Trait;
444
+ declare function stdSortPage(params: StdSortParams): Page;
445
+ declare function stdSort(params: StdSortParams): OrbitalDefinition;
446
+
447
+ /**
448
+ * std-pagination as a Function
449
+ *
450
+ * Pagination behavior parameterized for any domain.
451
+ * Provides page/pageSize controls that paginate entity data.
452
+ * Single idle state with a self-loop that re-renders with the new page applied.
453
+ *
454
+ * @level atom
455
+ * @family pagination
456
+ * @packageDocumentation
457
+ */
458
+
459
+ interface StdPaginationParams {
460
+ /** Entity name in PascalCase (e.g., "Article", "Product") */
461
+ entityName: string;
462
+ /** Entity fields (id is auto-added) */
463
+ fields: EntityField[];
464
+ /** Persistence mode */
465
+ persistence?: 'persistent' | 'runtime' | 'singleton';
466
+ /** Header icon (Lucide name) */
467
+ headerIcon?: string;
468
+ /** Page title (defaults to plural entity name) */
469
+ pageTitle?: string;
470
+ /** Page name (defaults to "{Entity}PaginationPage") */
471
+ pageName?: string;
472
+ /** Route path (defaults to "/{entities}/paginated") */
473
+ pagePath?: string;
474
+ /** Whether this is the initial/home page */
475
+ isInitial?: boolean;
476
+ }
477
+ declare function stdPaginationEntity(params: StdPaginationParams): Entity;
478
+ declare function stdPaginationTrait(params: StdPaginationParams): Trait;
479
+ declare function stdPaginationPage(params: StdPaginationParams): Page;
480
+ declare function stdPagination(params: StdPaginationParams): OrbitalDefinition;
481
+
482
+ /**
483
+ * std-drawer as a Function
484
+ *
485
+ * Drawer behavior parameterized for any domain.
486
+ * Provides a slide-out drawer that displays entity detail.
487
+ * Two states: closed and open, with transitions to toggle visibility.
488
+ * Similar to std-modal but renders to a "drawer" slot concept.
489
+ *
490
+ * @level atom
491
+ * @family drawer
492
+ * @packageDocumentation
493
+ */
494
+
495
+ interface StdDrawerParams {
496
+ /** Entity name in PascalCase (e.g., "Panel", "Sidebar") */
497
+ entityName: string;
498
+ /** Entity fields (id is auto-added) */
499
+ fields: EntityField[];
500
+ /** Persistence mode */
501
+ persistence?: 'persistent' | 'runtime' | 'singleton';
502
+ /** Drawer title (defaults to "Details") */
503
+ drawerTitle?: string;
504
+ /** Header icon (Lucide name) */
505
+ headerIcon?: string;
506
+ /** Page name (defaults to "{Entity}DrawerPage") */
507
+ pageName?: string;
508
+ /** Route path (defaults to "/{entities}/drawer") */
509
+ pagePath?: string;
510
+ /** Whether this is the initial/home page */
511
+ isInitial?: boolean;
512
+ }
513
+ declare function stdDrawerEntity(params: StdDrawerParams): Entity;
514
+ declare function stdDrawerTrait(params: StdDrawerParams): Trait;
515
+ declare function stdDrawerPage(params: StdDrawerParams): Page;
516
+ declare function stdDrawer(params: StdDrawerParams): OrbitalDefinition;
517
+
518
+ /**
519
+ * std-notification as a Function
520
+ *
521
+ * Notification behavior parameterized for any domain.
522
+ * Provides a show/hide notification display.
523
+ * The state machine structure is fixed. The caller controls data and presentation.
524
+ *
525
+ * @level atom
526
+ * @family notification
527
+ * @packageDocumentation
528
+ */
529
+
530
+ interface StdNotificationParams {
531
+ /** Entity name in PascalCase (e.g., "Alert", "Notice") */
532
+ entityName: string;
533
+ /** Entity fields (id is auto-added) */
534
+ fields: EntityField[];
535
+ /** Persistence mode */
536
+ persistence?: 'persistent' | 'runtime' | 'singleton';
537
+ /** Header icon (Lucide name) */
538
+ headerIcon?: string;
539
+ /** Page title */
540
+ pageTitle?: string;
541
+ /** Page name (defaults to "{Entity}NotificationPage") */
542
+ pageName?: string;
543
+ /** Route path (defaults to "/{entities}/notifications") */
544
+ pagePath?: string;
545
+ /** Whether this is the initial/home page */
546
+ isInitial?: boolean;
547
+ }
548
+ declare function stdNotificationEntity(params: StdNotificationParams): Entity;
549
+ declare function stdNotificationTrait(params: StdNotificationParams): Trait;
550
+ declare function stdNotificationPage(params: StdNotificationParams): Page;
551
+ declare function stdNotification(params: StdNotificationParams): OrbitalDefinition;
552
+
553
+ /**
554
+ * std-timer as a Function
555
+ *
556
+ * Timer behavior parameterized for any domain.
557
+ * Provides a countdown timer with start, pause, resume, and reset controls.
558
+ * The state machine structure is fixed. The caller controls data and presentation.
559
+ *
560
+ * @level atom
561
+ * @family timer
562
+ * @packageDocumentation
563
+ */
564
+
565
+ interface StdTimerParams {
566
+ /** Entity name in PascalCase (e.g., "Countdown", "Pomodoro") */
567
+ entityName: string;
568
+ /** Entity fields (id is auto-added) */
569
+ fields: EntityField[];
570
+ /** Persistence mode */
571
+ persistence?: 'persistent' | 'runtime' | 'singleton';
572
+ /** Default duration in seconds */
573
+ duration?: number;
574
+ /** Timer title */
575
+ timerTitle?: string;
576
+ /** Header icon (Lucide name) */
577
+ headerIcon?: string;
578
+ /** Page name (defaults to "{Entity}TimerPage") */
579
+ pageName?: string;
580
+ /** Route path (defaults to "/{entities}/timer") */
581
+ pagePath?: string;
582
+ /** Whether this is the initial/home page */
583
+ isInitial?: boolean;
584
+ }
585
+ declare function stdTimerEntity(params: StdTimerParams): Entity;
586
+ declare function stdTimerTrait(params: StdTimerParams): Trait;
587
+ declare function stdTimerPage(params: StdTimerParams): Page;
588
+ declare function stdTimer(params: StdTimerParams): OrbitalDefinition;
589
+
590
+ /**
591
+ * std-tabs
592
+ *
593
+ * Tab navigation atom. Uses the `tabs` pattern component
594
+ * with clickable tab headers. Each tab shows different entity data.
595
+ *
596
+ * @level atom
597
+ * @family tabs
598
+ * @packageDocumentation
599
+ */
600
+
601
+ interface StdTabsParams {
602
+ entityName: string;
603
+ fields: EntityField[];
604
+ persistence?: 'persistent' | 'runtime' | 'singleton';
605
+ /** Tab definitions: each tab has a label and the fields it shows */
606
+ tabItems?: Array<{
607
+ label: string;
608
+ value: string;
609
+ }>;
610
+ headerIcon?: string;
611
+ pageTitle?: string;
612
+ pageName?: string;
613
+ pagePath?: string;
614
+ isInitial?: boolean;
615
+ }
616
+ declare function stdTabsEntity(params: StdTabsParams): Entity;
617
+ declare function stdTabsTrait(params: StdTabsParams): Trait;
618
+ declare function stdTabsPage(params: StdTabsParams): Page;
619
+ declare function stdTabs(params: StdTabsParams): OrbitalDefinition;
620
+
621
+ /**
622
+ * std-loading as a Function
623
+ *
624
+ * Loading behavior parameterized for any domain.
625
+ * Provides a multi-state loading lifecycle: idle, loading, success, error.
626
+ * Tracks async operation status with appropriate UI for each state.
627
+ *
628
+ * @level atom
629
+ * @family loading
630
+ * @packageDocumentation
631
+ */
632
+
633
+ interface StdLoadingParams {
634
+ /** Entity name in PascalCase (e.g., "Request", "Upload") */
635
+ entityName: string;
636
+ /** Entity fields (id is auto-added) */
637
+ fields: EntityField[];
638
+ /** Persistence mode */
639
+ persistence?: 'persistent' | 'runtime' | 'singleton';
640
+ /** Header icon (Lucide name) */
641
+ headerIcon?: string;
642
+ /** Title text (defaults to entity name) */
643
+ title?: string;
644
+ /** Page name (defaults to "{Entity}LoadingPage") */
645
+ pageName?: string;
646
+ /** Route path (defaults to "/{entities}/loading") */
647
+ pagePath?: string;
648
+ /** Whether this is the initial/home page */
649
+ isInitial?: boolean;
650
+ }
651
+ declare function stdLoadingEntity(params: StdLoadingParams): Entity;
652
+ declare function stdLoadingTrait(params: StdLoadingParams): Trait;
653
+ declare function stdLoadingPage(params: StdLoadingParams): Page;
654
+ declare function stdLoading(params: StdLoadingParams): OrbitalDefinition;
655
+
656
+ /**
657
+ * std-selection as a Function
658
+ *
659
+ * Selection behavior parameterized for any domain.
660
+ * Provides item selection from a list with confirm/deselect controls.
661
+ * Three states: idle, selecting, selected with transitions for the full lifecycle.
662
+ *
663
+ * @level atom
664
+ * @family selection
665
+ * @packageDocumentation
666
+ */
667
+
668
+ interface StdSelectionParams {
669
+ /** Entity name in PascalCase (e.g., "Item", "Option") */
670
+ entityName: string;
671
+ /** Entity fields (id is auto-added) */
672
+ fields: EntityField[];
673
+ /** Persistence mode */
674
+ persistence?: 'persistent' | 'runtime' | 'singleton';
675
+ /** Header icon (Lucide name) */
676
+ headerIcon?: string;
677
+ /** Page title (defaults to plural entity name) */
678
+ pageTitle?: string;
679
+ /** Page name (defaults to "{Entity}SelectionPage") */
680
+ pageName?: string;
681
+ /** Route path (defaults to "/{entities}/selection") */
682
+ pagePath?: string;
683
+ /** Whether this is the initial/home page */
684
+ isInitial?: boolean;
685
+ }
686
+ declare function stdSelectionEntity(params: StdSelectionParams): Entity;
687
+ declare function stdSelectionTrait(params: StdSelectionParams): Trait;
688
+ declare function stdSelectionPage(params: StdSelectionParams): Page;
689
+ declare function stdSelection(params: StdSelectionParams): OrbitalDefinition;
690
+
691
+ /**
692
+ * std-undo
693
+ *
694
+ * Undo/Redo atom using array operators as a stack.
695
+ * - PUSH: appends to undoStack, clears redoStack
696
+ * - UNDO: pops from undoStack, pushes to redoStack
697
+ * - REDO: pops from redoStack, pushes to undoStack
698
+ * - CLEAR: empties both stacks
699
+ *
700
+ * Entity fields: undoStack (array), redoStack (array), current (string)
701
+ *
702
+ * @level atom
703
+ * @family undo
704
+ * @packageDocumentation
705
+ */
706
+
707
+ interface StdUndoParams {
708
+ entityName: string;
709
+ fields: EntityField[];
710
+ persistence?: 'persistent' | 'runtime' | 'singleton';
711
+ headerIcon?: string;
712
+ pageTitle?: string;
713
+ pageName?: string;
714
+ pagePath?: string;
715
+ isInitial?: boolean;
716
+ }
717
+ declare function stdUndoEntity(params: StdUndoParams): Entity;
718
+ declare function stdUndoTrait(params: StdUndoParams): Trait;
719
+ declare function stdUndoPage(params: StdUndoParams): Page;
720
+ declare function stdUndo(params: StdUndoParams): OrbitalDefinition;
721
+
722
+ /**
723
+ * std-input as a Function
724
+ *
725
+ * Input state management parameterized for any domain.
726
+ * Provides idle, focused, and validating states with change tracking.
727
+ * The state machine structure is fixed. The caller controls data and presentation.
728
+ *
729
+ * @level atom
730
+ * @family input
731
+ * @packageDocumentation
732
+ */
733
+
734
+ interface StdInputParams {
735
+ /** Entity name in PascalCase (e.g., "Field", "TextInput") */
736
+ entityName: string;
737
+ /** Entity fields (id is auto-added) */
738
+ fields: EntityField[];
739
+ /** Persistence mode */
740
+ persistence?: 'persistent' | 'runtime' | 'singleton';
741
+ /** Input label */
742
+ inputLabel?: string;
743
+ /** Placeholder text */
744
+ placeholder?: string;
745
+ /** Header icon (Lucide name) */
746
+ headerIcon?: string;
747
+ /** Page name (defaults to "{Entity}InputPage") */
748
+ pageName?: string;
749
+ /** Route path (defaults to "/{entities}/input") */
750
+ pagePath?: string;
751
+ /** Whether this is the initial/home page */
752
+ isInitial?: boolean;
753
+ }
754
+ declare function stdInputEntity(params: StdInputParams): Entity;
755
+ declare function stdInputTrait(params: StdInputParams): Trait;
756
+ declare function stdInputPage(params: StdInputParams): Page;
757
+ declare function stdInput(params: StdInputParams): OrbitalDefinition;
758
+
759
+ /**
760
+ * std-wizard
761
+ *
762
+ * Multi-step wizard behavior parameterized for any domain.
763
+ * Generates a dynamic number of steps based on the `steps` parameter,
764
+ * with a review screen and completion view.
765
+ * Pure function: params in, OrbitalDefinition out.
766
+ *
767
+ * @level molecule
768
+ * @family workflow
769
+ * @packageDocumentation
770
+ */
771
+
772
+ interface StdWizardParams {
773
+ /** Entity name in PascalCase (e.g., "Onboarding") */
774
+ entityName: string;
775
+ /** Entity fields (id is auto-added) */
776
+ fields: EntityField[];
777
+ /** Persistence mode */
778
+ persistence?: 'persistent' | 'runtime' | 'singleton';
779
+ /** Collection name for persistent entities (defaults to lowercase plural) */
780
+ collection?: string;
781
+ /** Wizard steps: each step has a name and the fields it displays */
782
+ steps: Array<{
783
+ name: string;
784
+ fields: string[];
785
+ }>;
786
+ /** Wizard title (defaults to "Setup Wizard") */
787
+ wizardTitle?: string;
788
+ /** Completion title (defaults to "Complete!") */
789
+ completeTitle?: string;
790
+ /** Completion description (defaults to "Your {entity} has been created successfully.") */
791
+ completeDescription?: string;
792
+ /** Submit button label on review (defaults to "Complete") */
793
+ submitButtonLabel?: string;
794
+ /** Header icon (Lucide name, defaults to "clipboard") */
795
+ headerIcon?: string;
796
+ /** Page name (defaults to "{Entity}Page") */
797
+ pageName?: string;
798
+ /** Route path (defaults to "/wizard") */
799
+ pagePath?: string;
800
+ /** Whether this is the initial/home page */
801
+ isInitial?: boolean;
802
+ }
803
+ declare function stdWizardEntity(params: StdWizardParams): Entity;
804
+ declare function stdWizardTrait(params: StdWizardParams): Trait;
805
+ declare function stdWizardPage(params: StdWizardParams): Page;
806
+ declare function stdWizard(params: StdWizardParams): OrbitalDefinition;
807
+
808
+ /**
809
+ * std-display
810
+ *
811
+ * Read-only display molecule with loading/refresh.
812
+ * Single trait (display is self-contained, no modal atoms needed).
813
+ * Used for dashboards, stats panels, KPIs.
814
+ *
815
+ * @level molecule
816
+ * @family display
817
+ * @packageDocumentation
818
+ */
819
+
820
+ interface StdDisplayParams {
821
+ entityName: string;
822
+ fields: EntityField[];
823
+ persistence?: 'persistent' | 'runtime' | 'singleton';
824
+ collection?: string;
825
+ displayFields?: string[];
826
+ pageTitle?: string;
827
+ refreshButtonLabel?: string;
828
+ headerIcon?: string;
829
+ columns?: number;
830
+ emptyTitle?: string;
831
+ emptyDescription?: string;
832
+ pageName?: string;
833
+ pagePath?: string;
834
+ isInitial?: boolean;
835
+ }
836
+ declare function stdDisplayEntity(params: StdDisplayParams): Entity;
837
+ declare function stdDisplayTrait(params: StdDisplayParams): Trait;
838
+ declare function stdDisplayPage(params: StdDisplayParams): Page;
839
+ declare function stdDisplay(params: StdDisplayParams): OrbitalDefinition;
840
+
841
+ /**
842
+ * std-async
843
+ *
844
+ * Async operation behavior: idle, loading, success, error.
845
+ * Covers fetch, submit, retry, and polling patterns in one molecule.
846
+ * Pure function: params in, OrbitalDefinition out.
847
+ *
848
+ * @level molecule
849
+ * @family async
850
+ * @packageDocumentation
851
+ */
852
+
853
+ interface StdAsyncParams {
854
+ entityName: string;
855
+ fields: EntityField[];
856
+ persistence?: 'persistent' | 'runtime' | 'singleton';
857
+ collection?: string;
858
+ loadingMessage?: string;
859
+ successMessage?: string;
860
+ errorMessage?: string;
861
+ headerIcon?: string;
862
+ retryable?: boolean;
863
+ pageName?: string;
864
+ pagePath?: string;
865
+ isInitial?: boolean;
866
+ }
867
+ declare function stdAsyncEntity(params: StdAsyncParams): Entity;
868
+ declare function stdAsyncTrait(params: StdAsyncParams): Trait;
869
+ declare function stdAsyncPage(params: StdAsyncParams): Page;
870
+ declare function stdAsync(params: StdAsyncParams): OrbitalDefinition;
871
+
872
+ /**
873
+ * std-combat
874
+ *
875
+ * Attack cycle behavior: ready, attacking, cooldown, defeated.
876
+ * Pure function: params in, OrbitalDefinition out.
877
+ *
878
+ * @level molecule
879
+ * @family game
880
+ * @packageDocumentation
881
+ */
882
+
883
+ interface StdCombatParams {
884
+ entityName: string;
885
+ fields: EntityField[];
886
+ persistence?: 'persistent' | 'runtime' | 'singleton';
887
+ collection?: string;
888
+ attackLabel?: string;
889
+ headerIcon?: string;
890
+ pageName?: string;
891
+ pagePath?: string;
892
+ isInitial?: boolean;
893
+ }
894
+ declare function stdCombatEntity(params: StdCombatParams): Entity;
895
+ declare function stdCombatTrait(params: StdCombatParams): Trait;
896
+ declare function stdCombatPage(params: StdCombatParams): Page;
897
+ declare function stdCombat(params: StdCombatParams): OrbitalDefinition;
898
+
899
+ /**
900
+ * std-gameflow
901
+ *
902
+ * Game state management behavior: menu, playing, paused, gameover.
903
+ * Uses game UI patterns per state:
904
+ * menu -> game-menu (title, subtitle, Start Game button)
905
+ * playing -> game-hud (score, level stats)
906
+ * paused -> game-menu in modal (Resume, Quit buttons)
907
+ * gameover -> game-over-screen (score, Play Again, Main Menu)
908
+ *
909
+ * Pure function: params in, OrbitalDefinition out.
910
+ *
911
+ * @level molecule
912
+ * @family game
913
+ * @packageDocumentation
914
+ */
915
+
916
+ interface StdGameflowParams {
917
+ entityName: string;
918
+ fields: EntityField[];
919
+ persistence?: 'persistent' | 'runtime' | 'singleton';
920
+ collection?: string;
921
+ gameTitle?: string;
922
+ menuTitle?: string;
923
+ pauseTitle?: string;
924
+ gameoverTitle?: string;
925
+ headerIcon?: string;
926
+ pageName?: string;
927
+ pagePath?: string;
928
+ isInitial?: boolean;
929
+ }
930
+ declare function stdGameflowEntity(params: StdGameflowParams): Entity;
931
+ declare function stdGameflowTrait(params: StdGameflowParams): Trait;
932
+ declare function stdGameflowPage(params: StdGameflowParams): Page;
933
+ declare function stdGameflow(params: StdGameflowParams): OrbitalDefinition;
934
+
935
+ /**
936
+ * std-movement
937
+ *
938
+ * Entity movement behavior: idle, moving, collision detection and resolution.
939
+ * Pure function: params in, OrbitalDefinition out.
940
+ *
941
+ * @level molecule
942
+ * @family simulation
943
+ * @packageDocumentation
944
+ */
945
+
946
+ interface StdMovementParams {
947
+ entityName: string;
948
+ fields: EntityField[];
949
+ persistence?: 'persistent' | 'runtime' | 'singleton';
950
+ collection?: string;
951
+ pageTitle?: string;
952
+ headerIcon?: string;
953
+ moveSpeed?: number;
954
+ pageName?: string;
955
+ pagePath?: string;
956
+ isInitial?: boolean;
957
+ }
958
+ declare function stdMovementEntity(params: StdMovementParams): Entity;
959
+ declare function stdMovementTrait(params: StdMovementParams): Trait;
960
+ declare function stdMovementPage(params: StdMovementParams): Page;
961
+ declare function stdMovement(params: StdMovementParams): OrbitalDefinition;
962
+
963
+ /**
964
+ * std-quest
965
+ *
966
+ * Quest/objective tracking behavior: available, active, complete, failed.
967
+ * Pure function: params in, OrbitalDefinition out.
968
+ *
969
+ * @level molecule
970
+ * @family gameplay
971
+ * @packageDocumentation
972
+ */
973
+
974
+ interface StdQuestParams {
975
+ entityName: string;
976
+ fields: EntityField[];
977
+ persistence?: 'persistent' | 'runtime' | 'singleton';
978
+ collection?: string;
979
+ listFields?: string[];
980
+ formFields?: string[];
981
+ pageTitle?: string;
982
+ questTitle?: string;
983
+ emptyTitle?: string;
984
+ emptyDescription?: string;
985
+ headerIcon?: string;
986
+ pageName?: string;
987
+ pagePath?: string;
988
+ isInitial?: boolean;
989
+ }
990
+ declare function stdQuestEntity(params: StdQuestParams): Entity;
991
+ declare function stdQuestTrait(params: StdQuestParams): Trait;
992
+ declare function stdQuestPage(params: StdQuestParams): Page;
993
+ declare function stdQuest(params: StdQuestParams): OrbitalDefinition;
994
+
995
+ /**
996
+ * std-overworld
997
+ *
998
+ * Map/zone navigation behavior: exploring, transitioning, entered.
999
+ * Pure function: params in, OrbitalDefinition out.
1000
+ *
1001
+ * @level molecule
1002
+ * @family navigation
1003
+ * @packageDocumentation
1004
+ */
1005
+
1006
+ interface StdOverworldParams {
1007
+ entityName: string;
1008
+ fields: EntityField[];
1009
+ persistence?: 'persistent' | 'runtime' | 'singleton';
1010
+ collection?: string;
1011
+ listFields?: string[];
1012
+ pageTitle?: string;
1013
+ worldTitle?: string;
1014
+ emptyTitle?: string;
1015
+ emptyDescription?: string;
1016
+ headerIcon?: string;
1017
+ pageName?: string;
1018
+ pagePath?: string;
1019
+ isInitial?: boolean;
1020
+ }
1021
+ declare function stdOverworldEntity(params: StdOverworldParams): Entity;
1022
+ declare function stdOverworldTrait(params: StdOverworldParams): Trait;
1023
+ declare function stdOverworldPage(params: StdOverworldParams): Page;
1024
+ declare function stdOverworld(params: StdOverworldParams): OrbitalDefinition;
1025
+
1026
+ /**
1027
+ * std-circuit-breaker
1028
+ *
1029
+ * Circuit breaker pattern behavior: closed, open, halfOpen.
1030
+ * Protects services from cascading failures with automatic recovery.
1031
+ * Pure function: params in, OrbitalDefinition out.
1032
+ *
1033
+ * @level molecule
1034
+ * @family resilience
1035
+ * @packageDocumentation
1036
+ */
1037
+
1038
+ interface StdCircuitBreakerParams {
1039
+ entityName: string;
1040
+ fields: EntityField[];
1041
+ persistence?: 'persistent' | 'runtime' | 'singleton';
1042
+ collection?: string;
1043
+ closedLabel?: string;
1044
+ openLabel?: string;
1045
+ halfOpenLabel?: string;
1046
+ headerIcon?: string;
1047
+ pageName?: string;
1048
+ pagePath?: string;
1049
+ isInitial?: boolean;
1050
+ }
1051
+ declare function stdCircuitBreakerEntity(params: StdCircuitBreakerParams): Entity;
1052
+ declare function stdCircuitBreakerTrait(params: StdCircuitBreakerParams): Trait;
1053
+ declare function stdCircuitBreakerPage(params: StdCircuitBreakerParams): Page;
1054
+ declare function stdCircuitBreaker(params: StdCircuitBreakerParams): OrbitalDefinition;
1055
+
1056
+ /**
1057
+ * std-cache-aside
1058
+ *
1059
+ * Cache management behavior: empty, cached, stale with fetch/invalidate cycle.
1060
+ * Pure function: params in, OrbitalDefinition out.
1061
+ *
1062
+ * @level molecule
1063
+ * @family infrastructure
1064
+ * @packageDocumentation
1065
+ */
1066
+
1067
+ interface StdCacheAsideParams {
1068
+ entityName: string;
1069
+ fields: EntityField[];
1070
+ persistence?: 'persistent' | 'runtime' | 'singleton';
1071
+ collection?: string;
1072
+ listFields?: string[];
1073
+ pageTitle?: string;
1074
+ emptyTitle?: string;
1075
+ emptyDescription?: string;
1076
+ headerIcon?: string;
1077
+ ttl?: number;
1078
+ pageName?: string;
1079
+ pagePath?: string;
1080
+ isInitial?: boolean;
1081
+ }
1082
+ declare function stdCacheAsideEntity(params: StdCacheAsideParams): Entity;
1083
+ declare function stdCacheAsideTrait(params: StdCacheAsideParams): Trait;
1084
+ declare function stdCacheAsidePage(params: StdCacheAsideParams): Page;
1085
+ declare function stdCacheAside(params: StdCacheAsideParams): OrbitalDefinition;
1086
+
1087
+ /**
1088
+ * std-score as a Function
1089
+ *
1090
+ * Score tracking parameterized for any domain.
1091
+ * Provides a single-state machine with self-loops for adding, subtracting,
1092
+ * resetting, and applying combo multipliers to a score.
1093
+ * The state machine structure is fixed. The caller controls data and presentation.
1094
+ *
1095
+ * @level atom
1096
+ * @family score
1097
+ * @packageDocumentation
1098
+ */
1099
+
1100
+ interface StdScoreParams {
1101
+ /** Entity name in PascalCase (e.g., "Points", "GameScore") */
1102
+ entityName: string;
1103
+ /** Entity fields (id is auto-added) */
1104
+ fields: EntityField[];
1105
+ /** Persistence mode */
1106
+ persistence?: 'persistent' | 'runtime' | 'singleton';
1107
+ /** Score title */
1108
+ scoreTitle?: string;
1109
+ /** Header icon (Lucide name) */
1110
+ headerIcon?: string;
1111
+ /** Page name (defaults to "{Entity}ScorePage") */
1112
+ pageName?: string;
1113
+ /** Route path (defaults to "/{entities}/score") */
1114
+ pagePath?: string;
1115
+ /** Whether this is the initial/home page */
1116
+ isInitial?: boolean;
1117
+ }
1118
+ declare function stdScoreEntity(params: StdScoreParams): Entity;
1119
+ declare function stdScoreTrait(params: StdScoreParams): Trait;
1120
+ declare function stdScorePage(params: StdScoreParams): Page;
1121
+ declare function stdScore(params: StdScoreParams): OrbitalDefinition;
1122
+
1123
+ /**
1124
+ * std-collision as a Function
1125
+ *
1126
+ * Game collision detection parameterized for any domain.
1127
+ * Provides idle and detecting states for checking collisions
1128
+ * between game entities. Tracks collision targets via entity fields.
1129
+ * The state machine structure is fixed. The caller controls data and presentation.
1130
+ *
1131
+ * @level atom
1132
+ * @family collision
1133
+ * @packageDocumentation
1134
+ */
1135
+
1136
+ interface StdCollisionParams {
1137
+ /** Entity name in PascalCase (e.g., "Hitbox", "Collider") */
1138
+ entityName: string;
1139
+ /** Entity fields (id is auto-added) */
1140
+ fields: EntityField[];
1141
+ /** Persistence mode */
1142
+ persistence?: 'persistent' | 'runtime' | 'singleton';
1143
+ /** Header icon (Lucide name) */
1144
+ headerIcon?: string;
1145
+ /** Page title */
1146
+ pageTitle?: string;
1147
+ /** Page name (defaults to "{Entity}CollisionPage") */
1148
+ pageName?: string;
1149
+ /** Route path (defaults to "/{entities}/collision") */
1150
+ pagePath?: string;
1151
+ /** Whether this is the initial/home page */
1152
+ isInitial?: boolean;
1153
+ }
1154
+ declare function stdCollisionEntity(params: StdCollisionParams): Entity;
1155
+ declare function stdCollisionTrait(params: StdCollisionParams): Trait;
1156
+ declare function stdCollisionPage(params: StdCollisionParams): Page;
1157
+ declare function stdCollision(params: StdCollisionParams): OrbitalDefinition;
1158
+
1159
+ /**
1160
+ * std-physics2d as a Function
1161
+ *
1162
+ * 2D physics simulation parameterized for any domain.
1163
+ * Provides idle and simulating states with force application and tick updates.
1164
+ * Tracks position and velocity via entity fields.
1165
+ * The state machine structure is fixed. The caller controls data and presentation.
1166
+ *
1167
+ * @level atom
1168
+ * @family physics2d
1169
+ * @packageDocumentation
1170
+ */
1171
+
1172
+ interface StdPhysics2dParams {
1173
+ /** Entity name in PascalCase (e.g., "Body", "Particle") */
1174
+ entityName: string;
1175
+ /** Entity fields (id is auto-added) */
1176
+ fields: EntityField[];
1177
+ /** Persistence mode */
1178
+ persistence?: 'persistent' | 'runtime' | 'singleton';
1179
+ /** Header icon (Lucide name) */
1180
+ headerIcon?: string;
1181
+ /** Page title */
1182
+ pageTitle?: string;
1183
+ /** Page name (defaults to "{Entity}PhysicsPage") */
1184
+ pageName?: string;
1185
+ /** Route path (defaults to "/{entities}/physics") */
1186
+ pagePath?: string;
1187
+ /** Whether this is the initial/home page */
1188
+ isInitial?: boolean;
1189
+ }
1190
+ declare function stdPhysics2dEntity(params: StdPhysics2dParams): Entity;
1191
+ declare function stdPhysics2dTrait(params: StdPhysics2dParams): Trait;
1192
+ declare function stdPhysics2dPage(params: StdPhysics2dParams): Page;
1193
+ declare function stdPhysics2d(params: StdPhysics2dParams): OrbitalDefinition;
1194
+
1195
+ /**
1196
+ * std-rate-limiter as a Function
1197
+ *
1198
+ * Rate limiting parameterized for any domain.
1199
+ * Provides open and throttled states for controlling request frequency.
1200
+ * Tracks request count and throttle status via entity fields.
1201
+ * The state machine structure is fixed. The caller controls data and presentation.
1202
+ *
1203
+ * @level atom
1204
+ * @family rate-limiter
1205
+ * @packageDocumentation
1206
+ */
1207
+
1208
+ interface StdRateLimiterParams {
1209
+ /** Entity name in PascalCase (e.g., "Limiter", "Throttle") */
1210
+ entityName: string;
1211
+ /** Entity fields (id is auto-added) */
1212
+ fields: EntityField[];
1213
+ /** Persistence mode */
1214
+ persistence?: 'persistent' | 'runtime' | 'singleton';
1215
+ /** Header icon (Lucide name) */
1216
+ headerIcon?: string;
1217
+ /** Page title */
1218
+ pageTitle?: string;
1219
+ /** Page name (defaults to "{Entity}RateLimiterPage") */
1220
+ pageName?: string;
1221
+ /** Route path (defaults to "/{entities}/rate-limiter") */
1222
+ pagePath?: string;
1223
+ /** Whether this is the initial/home page */
1224
+ isInitial?: boolean;
1225
+ }
1226
+ declare function stdRateLimiterEntity(params: StdRateLimiterParams): Entity;
1227
+ declare function stdRateLimiterTrait(params: StdRateLimiterParams): Trait;
1228
+ declare function stdRateLimiterPage(params: StdRateLimiterParams): Page;
1229
+ declare function stdRateLimiter(params: StdRateLimiterParams): OrbitalDefinition;
1230
+
1231
+ /**
1232
+ * std-game-hud
1233
+ *
1234
+ * Heads-up display atom. Renders the `game-hud` pattern
1235
+ * showing health, score, lives, and other stats.
1236
+ *
1237
+ * @level atom
1238
+ * @family game
1239
+ * @packageDocumentation
1240
+ */
1241
+
1242
+ interface StdGameHudParams {
1243
+ entityName: string;
1244
+ fields: EntityField[];
1245
+ persistence?: 'persistent' | 'runtime' | 'singleton';
1246
+ /** Stats to display in the HUD (defaults to all non-id fields) */
1247
+ statFields?: string[];
1248
+ /** HUD position: top-left, top-right, bottom-left, bottom-right */
1249
+ position?: string;
1250
+ /** HUD size */
1251
+ size?: string;
1252
+ /** Transparent background */
1253
+ transparent?: boolean;
1254
+ pageName?: string;
1255
+ pagePath?: string;
1256
+ isInitial?: boolean;
1257
+ }
1258
+ declare function stdGameHudEntity(params: StdGameHudParams): Entity;
1259
+ declare function stdGameHudTrait(params: StdGameHudParams): Trait;
1260
+ declare function stdGameHudPage(params: StdGameHudParams): Page;
1261
+ declare function stdGameHud(params: StdGameHudParams): OrbitalDefinition;
1262
+
1263
+ /**
1264
+ * std-score-board
1265
+ *
1266
+ * Score display atom using the `score-board` pattern.
1267
+ * Shows score, high score, combo, multiplier, level.
1268
+ *
1269
+ * @level atom
1270
+ * @family game
1271
+ * @packageDocumentation
1272
+ */
1273
+
1274
+ interface StdScoreBoardParams {
1275
+ entityName: string;
1276
+ fields: EntityField[];
1277
+ persistence?: 'persistent' | 'runtime' | 'singleton';
1278
+ pageName?: string;
1279
+ pagePath?: string;
1280
+ isInitial?: boolean;
1281
+ }
1282
+ declare function stdScoreBoardEntity(params: StdScoreBoardParams): Entity;
1283
+ declare function stdScoreBoardTrait(params: StdScoreBoardParams): Trait;
1284
+ declare function stdScoreBoardPage(params: StdScoreBoardParams): Page;
1285
+ declare function stdScoreBoard(params: StdScoreBoardParams): OrbitalDefinition;
1286
+
1287
+ /**
1288
+ * std-game-menu
1289
+ *
1290
+ * Game main menu atom using the `game-menu` pattern.
1291
+ * Shows title, subtitle, and menu options (Start, Options, Credits, etc.).
1292
+ *
1293
+ * @level atom
1294
+ * @family game
1295
+ * @packageDocumentation
1296
+ */
1297
+
1298
+ interface StdGameMenuParams {
1299
+ entityName: string;
1300
+ fields: EntityField[];
1301
+ persistence?: 'persistent' | 'runtime' | 'singleton';
1302
+ /** Game title */
1303
+ gameTitle?: string;
1304
+ /** Game subtitle */
1305
+ subtitle?: string;
1306
+ /** Menu items: each has a label and an event to fire */
1307
+ menuItems?: Array<{
1308
+ label: string;
1309
+ event: string;
1310
+ }>;
1311
+ pageName?: string;
1312
+ pagePath?: string;
1313
+ isInitial?: boolean;
1314
+ }
1315
+ declare function stdGameMenuEntity(params: StdGameMenuParams): Entity;
1316
+ declare function stdGameMenuTrait(params: StdGameMenuParams): Trait;
1317
+ declare function stdGameMenuPage(params: StdGameMenuParams): Page;
1318
+ declare function stdGameMenu(params: StdGameMenuParams): OrbitalDefinition;
1319
+
1320
+ /**
1321
+ * std-game-over-screen
1322
+ *
1323
+ * Game over screen atom using the `game-over-screen` pattern.
1324
+ * Shows final score, high score, and retry/quit actions.
1325
+ *
1326
+ * @level atom
1327
+ * @family game
1328
+ * @packageDocumentation
1329
+ */
1330
+
1331
+ interface StdGameOverScreenParams {
1332
+ entityName: string;
1333
+ fields: EntityField[];
1334
+ persistence?: 'persistent' | 'runtime' | 'singleton';
1335
+ title?: string;
1336
+ message?: string;
1337
+ /** Actions: each has a label and event */
1338
+ actions?: Array<{
1339
+ label: string;
1340
+ event: string;
1341
+ }>;
1342
+ pageName?: string;
1343
+ pagePath?: string;
1344
+ isInitial?: boolean;
1345
+ }
1346
+ declare function stdGameOverScreenEntity(params: StdGameOverScreenParams): Entity;
1347
+ declare function stdGameOverScreenTrait(params: StdGameOverScreenParams): Trait;
1348
+ declare function stdGameOverScreenPage(params: StdGameOverScreenParams): Page;
1349
+ declare function stdGameOverScreen(params: StdGameOverScreenParams): OrbitalDefinition;
1350
+
1351
+ /**
1352
+ * std-dialogue-box
1353
+ *
1354
+ * RPG dialogue atom using the `dialogue-box` pattern.
1355
+ * Shows speaker, portrait, typewriter text, and choices.
1356
+ *
1357
+ * @level atom
1358
+ * @family game
1359
+ * @packageDocumentation
1360
+ */
1361
+
1362
+ interface StdDialogueBoxParams {
1363
+ entityName: string;
1364
+ fields: EntityField[];
1365
+ persistence?: 'persistent' | 'runtime' | 'singleton';
1366
+ /** Typewriter speed in ms per character */
1367
+ typewriterSpeed?: number;
1368
+ /** Position: top, bottom, center */
1369
+ position?: string;
1370
+ pageName?: string;
1371
+ pagePath?: string;
1372
+ isInitial?: boolean;
1373
+ }
1374
+ declare function stdDialogueBoxEntity(params: StdDialogueBoxParams): Entity;
1375
+ declare function stdDialogueBoxTrait(params: StdDialogueBoxParams): Trait;
1376
+ declare function stdDialogueBoxPage(params: StdDialogueBoxParams): Page;
1377
+ declare function stdDialogueBox(params: StdDialogueBoxParams): OrbitalDefinition;
1378
+
1379
+ /**
1380
+ * std-inventory-panel
1381
+ *
1382
+ * Grid-based inventory atom using the `inventory-panel` pattern.
1383
+ * Shows items in a grid with select, use, and drop actions.
1384
+ *
1385
+ * @level atom
1386
+ * @family game
1387
+ * @packageDocumentation
1388
+ */
1389
+
1390
+ interface StdInventoryPanelParams {
1391
+ entityName: string;
1392
+ fields: EntityField[];
1393
+ persistence?: 'persistent' | 'runtime' | 'singleton';
1394
+ /** Number of columns in inventory grid */
1395
+ columns?: number;
1396
+ pageName?: string;
1397
+ pagePath?: string;
1398
+ isInitial?: boolean;
1399
+ }
1400
+ declare function stdInventoryPanelEntity(params: StdInventoryPanelParams): Entity;
1401
+ declare function stdInventoryPanelTrait(params: StdInventoryPanelParams): Trait;
1402
+ declare function stdInventoryPanelPage(params: StdInventoryPanelParams): Page;
1403
+ declare function stdInventoryPanel(params: StdInventoryPanelParams): OrbitalDefinition;
1404
+
1405
+ /**
1406
+ * std-combat-log
1407
+ *
1408
+ * Scrollable combat event log atom using the `combat-log` pattern.
1409
+ * Displays timestamped combat events with icons and colors.
1410
+ * Supports appending new events and clearing the log.
1411
+ *
1412
+ * @level atom
1413
+ * @family game
1414
+ * @packageDocumentation
1415
+ */
1416
+
1417
+ interface StdCombatLogParams {
1418
+ entityName: string;
1419
+ fields: EntityField[];
1420
+ persistence?: 'persistent' | 'runtime' | 'singleton';
1421
+ /** Log panel title */
1422
+ title?: string;
1423
+ /** Maximum visible events before scrolling */
1424
+ maxVisible?: number;
1425
+ /** Auto-scroll to newest event */
1426
+ autoScroll?: boolean;
1427
+ /** Show timestamps on each entry */
1428
+ showTimestamps?: boolean;
1429
+ pageName?: string;
1430
+ pagePath?: string;
1431
+ isInitial?: boolean;
1432
+ }
1433
+ declare function stdCombatLogEntity(params: StdCombatLogParams): Entity;
1434
+ declare function stdCombatLogTrait(params: StdCombatLogParams): Trait;
1435
+ declare function stdCombatLogPage(params: StdCombatLogParams): Page;
1436
+ declare function stdCombatLog(params: StdCombatLogParams): OrbitalDefinition;
1437
+
1438
+ /**
1439
+ * std-sprite
1440
+ *
1441
+ * Sprite renderer atom using the `sprite` pattern.
1442
+ * Renders a single frame from a spritesheet with position and scale.
1443
+ * Handles frame changes and click events.
1444
+ *
1445
+ * @level atom
1446
+ * @family game
1447
+ * @packageDocumentation
1448
+ */
1449
+
1450
+ interface StdSpriteParams {
1451
+ entityName: string;
1452
+ fields: EntityField[];
1453
+ persistence?: 'persistent' | 'runtime' | 'singleton';
1454
+ /** Width of each frame in pixels */
1455
+ frameWidth?: number;
1456
+ /** Height of each frame in pixels */
1457
+ frameHeight?: number;
1458
+ /** Scale factor */
1459
+ scale?: number;
1460
+ pageName?: string;
1461
+ pagePath?: string;
1462
+ isInitial?: boolean;
1463
+ }
1464
+ declare function stdSpriteEntity(params: StdSpriteParams): Entity;
1465
+ declare function stdSpriteTrait(params: StdSpriteParams): Trait;
1466
+ declare function stdSpritePage(params: StdSpriteParams): Page;
1467
+ declare function stdSprite(params: StdSpriteParams): OrbitalDefinition;
1468
+
1469
+ /**
1470
+ * std-game-audio
1471
+ *
1472
+ * Game audio provider atom using the `game-audio-provider` pattern.
1473
+ * Wraps child content with an audio context, providing sound playback
1474
+ * and mute toggling.
1475
+ *
1476
+ * @level atom
1477
+ * @family game
1478
+ * @packageDocumentation
1479
+ */
1480
+
1481
+ interface StdGameAudioParams {
1482
+ entityName: string;
1483
+ fields: EntityField[];
1484
+ persistence?: 'persistent' | 'runtime' | 'singleton';
1485
+ /** Initial muted state */
1486
+ initialMuted?: boolean;
1487
+ pageName?: string;
1488
+ pagePath?: string;
1489
+ isInitial?: boolean;
1490
+ }
1491
+ declare function stdGameAudioEntity(params: StdGameAudioParams): Entity;
1492
+ declare function stdGameAudioTrait(params: StdGameAudioParams): Trait;
1493
+ declare function stdGameAudioPage(params: StdGameAudioParams): Page;
1494
+ declare function stdGameAudio(params: StdGameAudioParams): OrbitalDefinition;
1495
+
1496
+ /**
1497
+ * std-isometric-canvas
1498
+ *
1499
+ * Isometric game renderer atom using the `isometric-canvas` pattern.
1500
+ * Renders tiles, units, and features on an isometric grid.
1501
+ * Handles tile clicks, unit clicks, and hover events.
1502
+ *
1503
+ * @level atom
1504
+ * @family game
1505
+ * @packageDocumentation
1506
+ */
1507
+
1508
+ interface StdIsometricCanvasParams {
1509
+ entityName: string;
1510
+ fields: EntityField[];
1511
+ persistence?: 'persistent' | 'runtime' | 'singleton';
1512
+ /** Board width in tiles */
1513
+ boardWidth?: number;
1514
+ /** Board height in tiles */
1515
+ boardHeight?: number;
1516
+ /** Render scale */
1517
+ scale?: number;
1518
+ /** Unit render scale */
1519
+ unitScale?: number;
1520
+ /** Show debug grid */
1521
+ debug?: boolean;
1522
+ /** Show minimap */
1523
+ showMinimap?: boolean;
1524
+ /** Enable camera controls */
1525
+ enableCamera?: boolean;
1526
+ pageName?: string;
1527
+ pagePath?: string;
1528
+ isInitial?: boolean;
1529
+ }
1530
+ declare function stdIsometricCanvasEntity(params: StdIsometricCanvasParams): Entity;
1531
+ declare function stdIsometricCanvasTrait(params: StdIsometricCanvasParams): Trait;
1532
+ declare function stdIsometricCanvasPage(params: StdIsometricCanvasParams): Page;
1533
+ declare function stdIsometricCanvas(params: StdIsometricCanvasParams): OrbitalDefinition;
1534
+
1535
+ /**
1536
+ * std-platformer-canvas
1537
+ *
1538
+ * Side-scrolling platformer atom using the `platformer-canvas` pattern.
1539
+ * Renders player, platforms, and handles movement events.
1540
+ *
1541
+ * @level atom
1542
+ * @family game
1543
+ * @packageDocumentation
1544
+ */
1545
+
1546
+ interface StdPlatformerCanvasParams {
1547
+ entityName: string;
1548
+ fields: EntityField[];
1549
+ persistence?: 'persistent' | 'runtime' | 'singleton';
1550
+ /** Canvas width */
1551
+ canvasWidth?: number;
1552
+ /** Canvas height */
1553
+ canvasHeight?: number;
1554
+ /** World width (scrollable area) */
1555
+ worldWidth?: number;
1556
+ /** World height */
1557
+ worldHeight?: number;
1558
+ /** Follow camera enabled */
1559
+ followCamera?: boolean;
1560
+ /** Background color */
1561
+ bgColor?: string;
1562
+ pageName?: string;
1563
+ pagePath?: string;
1564
+ isInitial?: boolean;
1565
+ }
1566
+ declare function stdPlatformerCanvasEntity(params: StdPlatformerCanvasParams): Entity;
1567
+ declare function stdPlatformerCanvasTrait(params: StdPlatformerCanvasParams): Trait;
1568
+ declare function stdPlatformerCanvasPage(params: StdPlatformerCanvasParams): Page;
1569
+ declare function stdPlatformerCanvas(params: StdPlatformerCanvasParams): OrbitalDefinition;
1570
+
1571
+ /**
1572
+ * std-simulation-canvas
1573
+ *
1574
+ * 2D physics simulation renderer atom using the `simulation-canvas` pattern.
1575
+ * Runs built-in Euler integration for educational presets (pendulum, spring, etc.).
1576
+ * Supports start, stop, and reset controls.
1577
+ *
1578
+ * @level atom
1579
+ * @family game
1580
+ * @packageDocumentation
1581
+ */
1582
+
1583
+ interface StdSimulationCanvasParams {
1584
+ entityName: string;
1585
+ fields: EntityField[];
1586
+ persistence?: 'persistent' | 'runtime' | 'singleton';
1587
+ /** Physics preset name */
1588
+ preset?: string;
1589
+ /** Canvas width in pixels */
1590
+ width?: number;
1591
+ /** Canvas height in pixels */
1592
+ height?: number;
1593
+ /** Simulation speed multiplier */
1594
+ speed?: number;
1595
+ pageName?: string;
1596
+ pagePath?: string;
1597
+ isInitial?: boolean;
1598
+ }
1599
+ declare function stdSimulationCanvasEntity(params: StdSimulationCanvasParams): Entity;
1600
+ declare function stdSimulationCanvasTrait(params: StdSimulationCanvasParams): Trait;
1601
+ declare function stdSimulationCanvasPage(params: StdSimulationCanvasParams): Page;
1602
+ declare function stdSimulationCanvas(params: StdSimulationCanvasParams): OrbitalDefinition;
1603
+
1604
+ /**
1605
+ * std-game-canvas-2d
1606
+ *
1607
+ * 2D game canvas atom using the `game-canvas2-d` pattern.
1608
+ * Provides a render loop with configurable FPS, width, and height.
1609
+ * Handles init, start, stop, and per-frame tick events.
1610
+ *
1611
+ * @level atom
1612
+ * @family game
1613
+ * @packageDocumentation
1614
+ */
1615
+
1616
+ interface StdGameCanvas2dParams {
1617
+ entityName: string;
1618
+ fields: EntityField[];
1619
+ persistence?: 'persistent' | 'runtime' | 'singleton';
1620
+ /** Canvas width in pixels */
1621
+ width?: number;
1622
+ /** Canvas height in pixels */
1623
+ height?: number;
1624
+ /** Target frames per second */
1625
+ fps?: number;
1626
+ pageName?: string;
1627
+ pagePath?: string;
1628
+ isInitial?: boolean;
1629
+ }
1630
+ declare function stdGameCanvas2dEntity(params: StdGameCanvas2dParams): Entity;
1631
+ declare function stdGameCanvas2dTrait(params: StdGameCanvas2dParams): Trait;
1632
+ declare function stdGameCanvas2dPage(params: StdGameCanvas2dParams): Page;
1633
+ declare function stdGameCanvas2d(params: StdGameCanvas2dParams): OrbitalDefinition;
1634
+
1635
+ /**
1636
+ * std-game-canvas-3d
1637
+ *
1638
+ * 3D game canvas atom using the `game-canvas3-d` pattern.
1639
+ * Renders tiles, units, and features in a 3D scene with configurable
1640
+ * orientation, camera mode, grid, shadows, and background color.
1641
+ *
1642
+ * @level atom
1643
+ * @family game
1644
+ * @packageDocumentation
1645
+ */
1646
+
1647
+ interface StdGameCanvas3dParams {
1648
+ entityName: string;
1649
+ fields: EntityField[];
1650
+ persistence?: 'persistent' | 'runtime' | 'singleton';
1651
+ /** Map orientation */
1652
+ orientation?: string;
1653
+ /** Camera mode */
1654
+ cameraMode?: string;
1655
+ /** Show grid overlay */
1656
+ showGrid?: boolean;
1657
+ /** Enable shadows */
1658
+ shadows?: boolean;
1659
+ /** Background color */
1660
+ backgroundColor?: string;
1661
+ pageName?: string;
1662
+ pagePath?: string;
1663
+ isInitial?: boolean;
1664
+ }
1665
+ declare function stdGameCanvas3dEntity(params: StdGameCanvas3dParams): Entity;
1666
+ declare function stdGameCanvas3dTrait(params: StdGameCanvas3dParams): Trait;
1667
+ declare function stdGameCanvas3dPage(params: StdGameCanvas3dParams): Page;
1668
+ declare function stdGameCanvas3d(params: StdGameCanvas3dParams): OrbitalDefinition;
1669
+
1670
+ /**
1671
+ * std-turn-based-battle
1672
+ *
1673
+ * Turn-based strategy game molecule (Fire Emblem, XCOM style).
1674
+ * Composes game atoms into a two-trait orbital:
1675
+ *
1676
+ * 1. BattleFlow trait (primary): menu -> playing -> paused -> gameover
1677
+ * Renders game-menu, game-hud + combat-log, game-over-screen per state.
1678
+ * 2. BattleLog trait (secondary): idle state, combat-log pattern.
1679
+ * Only renders when LOG_EVENT fires from the shared event bus.
1680
+ *
1681
+ * Composition pattern: extractTrait from atom orbitals, assemble into
1682
+ * one orbital with one shared entity and one page.
1683
+ *
1684
+ * @level molecule
1685
+ * @family game
1686
+ * @packageDocumentation
1687
+ */
1688
+
1689
+ interface StdTurnBasedBattleParams {
1690
+ entityName: string;
1691
+ fields: EntityField[];
1692
+ persistence?: 'persistent' | 'runtime' | 'singleton';
1693
+ collection?: string;
1694
+ gameTitle?: string;
1695
+ boardWidth?: number;
1696
+ boardHeight?: number;
1697
+ menuSubtitle?: string;
1698
+ pauseTitle?: string;
1699
+ gameoverTitle?: string;
1700
+ logTitle?: string;
1701
+ logMaxVisible?: number;
1702
+ pageName?: string;
1703
+ pagePath?: string;
1704
+ isInitial?: boolean;
1705
+ }
1706
+ declare function stdTurnBasedBattleEntity(params: StdTurnBasedBattleParams): Entity;
1707
+ declare function stdTurnBasedBattleTrait(params: StdTurnBasedBattleParams): Trait;
1708
+ declare function stdTurnBasedBattlePage(params: StdTurnBasedBattleParams): Page;
1709
+ declare function stdTurnBasedBattle(params: StdTurnBasedBattleParams): OrbitalDefinition;
1710
+
1711
+ /**
1712
+ * std-platformer-game
1713
+ *
1714
+ * Side-scrolling platformer game molecule.
1715
+ * Composes game atoms into a two-trait orbital:
1716
+ *
1717
+ * 1. PlatformerFlow trait (primary): menu -> playing -> paused -> gameover
1718
+ * Renders game-menu, platformer-canvas, game-over-screen per state.
1719
+ * 2. PlatformerCanvas trait (secondary): extracted from stdPlatformerCanvas,
1720
+ * INIT render-ui removed (standalone: false pattern) so the flow trait
1721
+ * owns the main render slot.
1722
+ *
1723
+ * @level molecule
1724
+ * @family game
1725
+ * @packageDocumentation
1726
+ */
1727
+
1728
+ interface StdPlatformerGameParams {
1729
+ entityName: string;
1730
+ fields: EntityField[];
1731
+ persistence?: 'persistent' | 'runtime' | 'singleton';
1732
+ collection?: string;
1733
+ gameTitle?: string;
1734
+ canvasWidth?: number;
1735
+ canvasHeight?: number;
1736
+ menuSubtitle?: string;
1737
+ pauseTitle?: string;
1738
+ gameoverTitle?: string;
1739
+ pageName?: string;
1740
+ pagePath?: string;
1741
+ isInitial?: boolean;
1742
+ }
1743
+ declare function stdPlatformerGameEntity(params: StdPlatformerGameParams): Entity;
1744
+ declare function stdPlatformerGameTrait(params: StdPlatformerGameParams): Trait;
1745
+ declare function stdPlatformerGamePage(params: StdPlatformerGameParams): Page;
1746
+ declare function stdPlatformerGame(params: StdPlatformerGameParams): OrbitalDefinition;
1747
+
1748
+ /**
1749
+ * std-puzzle-game
1750
+ *
1751
+ * Puzzle game molecule.
1752
+ * Composes game atoms into a two-trait orbital:
1753
+ *
1754
+ * 1. PuzzleFlow trait (primary): menu -> playing -> paused -> gameover
1755
+ * Renders game-menu, game-canvas-2d with score-board, game-over-screen.
1756
+ * 2. PuzzleScore trait (secondary): extracted from stdScoreBoard,
1757
+ * INIT render-ui removed (standalone: false pattern) so the flow trait
1758
+ * owns the main render slot.
1759
+ *
1760
+ * @level molecule
1761
+ * @family game
1762
+ * @packageDocumentation
1763
+ */
1764
+
1765
+ interface StdPuzzleGameParams {
1766
+ entityName: string;
1767
+ fields: EntityField[];
1768
+ persistence?: 'persistent' | 'runtime' | 'singleton';
1769
+ collection?: string;
1770
+ gameTitle?: string;
1771
+ width?: number;
1772
+ height?: number;
1773
+ menuSubtitle?: string;
1774
+ pauseTitle?: string;
1775
+ gameoverTitle?: string;
1776
+ pageName?: string;
1777
+ pagePath?: string;
1778
+ isInitial?: boolean;
1779
+ }
1780
+ declare function stdPuzzleGameEntity(params: StdPuzzleGameParams): Entity;
1781
+ declare function stdPuzzleGameTrait(params: StdPuzzleGameParams): Trait;
1782
+ declare function stdPuzzleGamePage(params: StdPuzzleGameParams): Page;
1783
+ declare function stdPuzzleGame(params: StdPuzzleGameParams): OrbitalDefinition;
1784
+
1785
+ /**
1786
+ * std-builder-game
1787
+ *
1788
+ * Educational game molecule: menu -> playing -> complete.
1789
+ * Uses the `builder-board` pattern for the playing state.
1790
+ *
1791
+ * @level molecule
1792
+ * @family game
1793
+ * @packageDocumentation
1794
+ */
1795
+
1796
+ interface StdBuilderGameParams {
1797
+ entityName: string;
1798
+ fields: EntityField[];
1799
+ persistence?: 'persistent' | 'runtime' | 'singleton';
1800
+ collection?: string;
1801
+ gameTitle?: string;
1802
+ pageName?: string;
1803
+ pagePath?: string;
1804
+ isInitial?: boolean;
1805
+ }
1806
+ declare function stdBuilderGameEntity(params: StdBuilderGameParams): Entity;
1807
+ declare function stdBuilderGameTrait(params: StdBuilderGameParams): Trait;
1808
+ declare function stdBuilderGamePage(params: StdBuilderGameParams): Page;
1809
+ declare function stdBuilderGame(params: StdBuilderGameParams): OrbitalDefinition;
1810
+
1811
+ /**
1812
+ * std-classifier-game
1813
+ *
1814
+ * Educational game molecule: menu -> playing -> complete.
1815
+ * Uses the `classifier-board` pattern for the playing state.
1816
+ *
1817
+ * @level molecule
1818
+ * @family game
1819
+ * @packageDocumentation
1820
+ */
1821
+
1822
+ interface StdClassifierGameParams {
1823
+ entityName: string;
1824
+ fields: EntityField[];
1825
+ persistence?: 'persistent' | 'runtime' | 'singleton';
1826
+ collection?: string;
1827
+ gameTitle?: string;
1828
+ pageName?: string;
1829
+ pagePath?: string;
1830
+ isInitial?: boolean;
1831
+ }
1832
+ declare function stdClassifierGameEntity(params: StdClassifierGameParams): Entity;
1833
+ declare function stdClassifierGameTrait(params: StdClassifierGameParams): Trait;
1834
+ declare function stdClassifierGamePage(params: StdClassifierGameParams): Page;
1835
+ declare function stdClassifierGame(params: StdClassifierGameParams): OrbitalDefinition;
1836
+
1837
+ /**
1838
+ * std-sequencer-game
1839
+ *
1840
+ * Educational game molecule: menu -> playing -> complete.
1841
+ * Uses the `sequencer-board` pattern for the playing state.
1842
+ *
1843
+ * @level molecule
1844
+ * @family game
1845
+ * @packageDocumentation
1846
+ */
1847
+
1848
+ interface StdSequencerGameParams {
1849
+ entityName: string;
1850
+ fields: EntityField[];
1851
+ persistence?: 'persistent' | 'runtime' | 'singleton';
1852
+ collection?: string;
1853
+ gameTitle?: string;
1854
+ pageName?: string;
1855
+ pagePath?: string;
1856
+ isInitial?: boolean;
1857
+ }
1858
+ declare function stdSequencerGameEntity(params: StdSequencerGameParams): Entity;
1859
+ declare function stdSequencerGameTrait(params: StdSequencerGameParams): Trait;
1860
+ declare function stdSequencerGamePage(params: StdSequencerGameParams): Page;
1861
+ declare function stdSequencerGame(params: StdSequencerGameParams): OrbitalDefinition;
1862
+
1863
+ /**
1864
+ * std-debugger-game
1865
+ *
1866
+ * Educational game molecule: menu -> playing -> complete.
1867
+ * Uses the `debugger-board` pattern for the playing state.
1868
+ *
1869
+ * @level molecule
1870
+ * @family game
1871
+ * @packageDocumentation
1872
+ */
1873
+
1874
+ interface StdDebuggerGameParams {
1875
+ entityName: string;
1876
+ fields: EntityField[];
1877
+ persistence?: 'persistent' | 'runtime' | 'singleton';
1878
+ collection?: string;
1879
+ gameTitle?: string;
1880
+ pageName?: string;
1881
+ pagePath?: string;
1882
+ isInitial?: boolean;
1883
+ }
1884
+ declare function stdDebuggerGameEntity(params: StdDebuggerGameParams): Entity;
1885
+ declare function stdDebuggerGameTrait(params: StdDebuggerGameParams): Trait;
1886
+ declare function stdDebuggerGamePage(params: StdDebuggerGameParams): Page;
1887
+ declare function stdDebuggerGame(params: StdDebuggerGameParams): OrbitalDefinition;
1888
+
1889
+ /**
1890
+ * std-negotiator-game
1891
+ *
1892
+ * Educational game molecule: menu -> playing -> complete.
1893
+ * Uses the `negotiator-board` pattern for the playing state.
1894
+ *
1895
+ * @level molecule
1896
+ * @family game
1897
+ * @packageDocumentation
1898
+ */
1899
+
1900
+ interface StdNegotiatorGameParams {
1901
+ entityName: string;
1902
+ fields: EntityField[];
1903
+ persistence?: 'persistent' | 'runtime' | 'singleton';
1904
+ collection?: string;
1905
+ gameTitle?: string;
1906
+ pageName?: string;
1907
+ pagePath?: string;
1908
+ isInitial?: boolean;
1909
+ }
1910
+ declare function stdNegotiatorGameEntity(params: StdNegotiatorGameParams): Entity;
1911
+ declare function stdNegotiatorGameTrait(params: StdNegotiatorGameParams): Trait;
1912
+ declare function stdNegotiatorGamePage(params: StdNegotiatorGameParams): Page;
1913
+ declare function stdNegotiatorGame(params: StdNegotiatorGameParams): OrbitalDefinition;
1914
+
1915
+ /**
1916
+ * std-simulator-game
1917
+ *
1918
+ * Educational game molecule: menu -> playing -> complete.
1919
+ * Uses the `simulator-board` pattern for the playing state.
1920
+ *
1921
+ * @level molecule
1922
+ * @family game
1923
+ * @packageDocumentation
1924
+ */
1925
+
1926
+ interface StdSimulatorGameParams {
1927
+ entityName: string;
1928
+ fields: EntityField[];
1929
+ persistence?: 'persistent' | 'runtime' | 'singleton';
1930
+ collection?: string;
1931
+ gameTitle?: string;
1932
+ pageName?: string;
1933
+ pagePath?: string;
1934
+ isInitial?: boolean;
1935
+ }
1936
+ declare function stdSimulatorGameEntity(params: StdSimulatorGameParams): Entity;
1937
+ declare function stdSimulatorGameTrait(params: StdSimulatorGameParams): Trait;
1938
+ declare function stdSimulatorGamePage(params: StdSimulatorGameParams): Page;
1939
+ declare function stdSimulatorGame(params: StdSimulatorGameParams): OrbitalDefinition;
1940
+
1941
+ /**
1942
+ * std-event-handler-game
1943
+ *
1944
+ * Educational game molecule: menu -> playing -> complete.
1945
+ * Uses the `event-handler-board` pattern for the playing state.
1946
+ *
1947
+ * @level molecule
1948
+ * @family game
1949
+ * @packageDocumentation
1950
+ */
1951
+
1952
+ interface StdEventHandlerGameParams {
1953
+ entityName: string;
1954
+ fields: EntityField[];
1955
+ persistence?: 'persistent' | 'runtime' | 'singleton';
1956
+ collection?: string;
1957
+ gameTitle?: string;
1958
+ pageName?: string;
1959
+ pagePath?: string;
1960
+ isInitial?: boolean;
1961
+ }
1962
+ declare function stdEventHandlerGameEntity(params: StdEventHandlerGameParams): Entity;
1963
+ declare function stdEventHandlerGameTrait(params: StdEventHandlerGameParams): Trait;
1964
+ declare function stdEventHandlerGamePage(params: StdEventHandlerGameParams): Page;
1965
+ declare function stdEventHandlerGame(params: StdEventHandlerGameParams): OrbitalDefinition;
1966
+
1967
+ /**
1968
+ * std-social-feed
1969
+ *
1970
+ * Social feed organism. Composes molecules via compose:
1971
+ * - stdDetail(Post): browse + create + view posts
1972
+ * - stdMessaging(Comment): messaging thread for comments
1973
+ *
1974
+ * Pages: /feed (initial), /messages
1975
+ * Connections: COMMENT event wires posts to comments.
1976
+ *
1977
+ * @level organism
1978
+ * @family social
1979
+ * @packageDocumentation
1980
+ */
1981
+
1982
+ interface StdSocialFeedParams {
1983
+ appName?: string;
1984
+ postFields?: EntityField[];
1985
+ commentFields?: EntityField[];
1986
+ }
1987
+ declare function stdSocialFeed(params: StdSocialFeedParams): OrbitalSchema;
1988
+
1989
+ /**
1990
+ * std-lms
1991
+ *
1992
+ * Learning management system organism. Composes molecules via compose:
1993
+ * - stdList(Course): CRUD list of courses
1994
+ * - stdWizard(Enrollment): multi-step enrollment wizard
1995
+ * - stdDisplay(Progress): read-only progress dashboard
1996
+ *
1997
+ * Pages: /courses (initial), /enroll, /progress
1998
+ * Connections: ENROLL (courses->enrollment), COMPLETE_LESSON (enrollment->progress)
1999
+ *
2000
+ * @level organism
2001
+ * @family education
2002
+ * @packageDocumentation
2003
+ */
2004
+
2005
+ interface StdLmsParams {
2006
+ appName?: string;
2007
+ courseFields?: EntityField[];
2008
+ enrollmentFields?: EntityField[];
2009
+ progressFields?: EntityField[];
2010
+ }
2011
+ declare function stdLms(params: StdLmsParams): OrbitalSchema;
2012
+
2013
+ /**
2014
+ * std-crm
2015
+ *
2016
+ * Customer relationship management organism. Composes molecules via compose:
2017
+ * - stdList(Contact): CRUD list of contacts
2018
+ * - stdList(Deal): CRUD list of deals
2019
+ * - stdDisplay(Pipeline): read-only pipeline dashboard
2020
+ * - stdMessaging(Note): notes/communication thread
2021
+ *
2022
+ * Pages: /contacts (initial), /deals, /pipeline, /notes
2023
+ * Connections: CONVERT_LEAD (contacts->deals), CLOSE_DEAL (deals->pipeline)
2024
+ *
2025
+ * @level organism
2026
+ * @family business
2027
+ * @packageDocumentation
2028
+ */
2029
+
2030
+ interface StdCrmParams {
2031
+ appName?: string;
2032
+ contactFields?: EntityField[];
2033
+ dealFields?: EntityField[];
2034
+ pipelineFields?: EntityField[];
2035
+ noteFields?: EntityField[];
2036
+ }
2037
+ declare function stdCrm(params: StdCrmParams): OrbitalSchema;
2038
+
2039
+ /**
2040
+ * std-hr-portal
2041
+ *
2042
+ * HR portal organism. Composes molecules via compose:
2043
+ * - stdList(Employee): CRUD list of employees
2044
+ * - stdWizard(Onboarding): multi-step onboarding wizard
2045
+ * - stdList(TimeOff): CRUD list of time-off requests
2046
+ * - stdDisplay(OrgChart): read-only org chart dashboard
2047
+ *
2048
+ * Pages: /employees (initial), /onboarding, /timeoff, /org-chart
2049
+ * Connections: ONBOARD (employees->onboarding), APPROVE_LEAVE (timeoff->orgchart)
2050
+ *
2051
+ * @level organism
2052
+ * @family hr
2053
+ * @packageDocumentation
2054
+ */
2055
+
2056
+ interface StdHrPortalParams {
2057
+ appName?: string;
2058
+ employeeFields?: EntityField[];
2059
+ onboardingFields?: EntityField[];
2060
+ timeOffFields?: EntityField[];
2061
+ orgChartFields?: EntityField[];
2062
+ }
2063
+ declare function stdHrPortal(params: StdHrPortalParams): OrbitalSchema;
2064
+
2065
+ /**
2066
+ * std-helpdesk
2067
+ *
2068
+ * Helpdesk organism. Composes molecules via compose:
2069
+ * - stdList(Ticket): CRUD list of support tickets
2070
+ * - stdMessaging(Response): messaging thread for ticket responses
2071
+ * - stdDisplay(SupportMetrics): read-only metrics dashboard
2072
+ *
2073
+ * Pages: /tickets (initial), /responses, /metrics
2074
+ * Connections: ASSIGN (tickets->responses), RESOLVE (responses->metrics)
2075
+ *
2076
+ * @level organism
2077
+ * @family support
2078
+ * @packageDocumentation
2079
+ */
2080
+
2081
+ interface StdHelpdeskParams {
2082
+ appName?: string;
2083
+ ticketFields?: EntityField[];
2084
+ responseFields?: EntityField[];
2085
+ metricsFields?: EntityField[];
2086
+ }
2087
+ declare function stdHelpdesk(params: StdHelpdeskParams): OrbitalSchema;
2088
+
2089
+ /**
2090
+ * std-ecommerce
2091
+ *
2092
+ * E-commerce organism. Composes molecules via compose:
2093
+ * - stdList(Product): product catalog with CRUD
2094
+ * - stdCart(CartItem): shopping cart with add/remove
2095
+ * - stdWizard(Checkout): checkout wizard
2096
+ * - stdList(OrderRecord): order history
2097
+ *
2098
+ * Cross-orbital connections:
2099
+ * - ADD_TO_CART: ProductBrowse -> CartItemCartBrowse
2100
+ * - CHECKOUT_STARTED: CartItemCartBrowse -> CheckoutWizard
2101
+ * - ORDER_PLACED: CheckoutWizard -> OrderRecordBrowse
2102
+ *
2103
+ * @level organism
2104
+ * @family commerce
2105
+ * @packageDocumentation
2106
+ */
2107
+
2108
+ interface StdEcommerceParams {
2109
+ appName?: string;
2110
+ productFields?: EntityField[];
2111
+ cartItemFields?: EntityField[];
2112
+ orderFields?: EntityField[];
2113
+ }
2114
+ declare function stdEcommerce(params: StdEcommerceParams): OrbitalSchema;
2115
+
2116
+ /**
2117
+ * std-healthcare
2118
+ *
2119
+ * Healthcare organism. Composes molecules via compose:
2120
+ * - stdList(Patient): patient registry with CRUD
2121
+ * - stdList(Appointment): appointment management
2122
+ * - stdWizard(IntakeForm): patient intake wizard
2123
+ * - stdDetail(Prescription): prescription browse + view
2124
+ * - stdDisplay(Dashboard): clinic dashboard KPIs
2125
+ *
2126
+ * Cross-orbital connections:
2127
+ * - INTAKE_COMPLETE: IntakeFormWizard -> PatientBrowse
2128
+ * - PRESCRIBE: AppointmentBrowse -> PrescriptionBrowse
2129
+ *
2130
+ * @level organism
2131
+ * @family healthcare
2132
+ * @packageDocumentation
2133
+ */
2134
+
2135
+ interface StdHealthcareParams {
2136
+ appName?: string;
2137
+ patientFields?: EntityField[];
2138
+ appointmentFields?: EntityField[];
2139
+ intakeFormFields?: EntityField[];
2140
+ prescriptionFields?: EntityField[];
2141
+ dashboardFields?: EntityField[];
2142
+ }
2143
+ declare function stdHealthcare(params: StdHealthcareParams): OrbitalSchema;
2144
+
2145
+ /**
2146
+ * std-cms
2147
+ *
2148
+ * Content management organism. Composes molecules via compose:
2149
+ * - stdList(Article): article management with CRUD
2150
+ * - stdDetail(MediaAsset): media library browse + view
2151
+ * - stdList(Category): category management
2152
+ *
2153
+ * Cross-orbital connections:
2154
+ * - PUBLISH: ArticleBrowse -> MediaAssetBrowse
2155
+ * - CATEGORIZE: ArticleBrowse -> CategoryBrowse
2156
+ *
2157
+ * @level organism
2158
+ * @family content
2159
+ * @packageDocumentation
2160
+ */
2161
+
2162
+ interface StdCmsParams {
2163
+ appName?: string;
2164
+ articleFields?: EntityField[];
2165
+ mediaAssetFields?: EntityField[];
2166
+ categoryFields?: EntityField[];
2167
+ }
2168
+ declare function stdCms(params: StdCmsParams): OrbitalSchema;
2169
+
2170
+ /**
2171
+ * std-project-manager
2172
+ *
2173
+ * Project management organism. Composes molecules via compose:
2174
+ * - stdList(Task): task management with CRUD
2175
+ * - stdList(Sprint): sprint management with CRUD
2176
+ * - stdDisplay(Burndown): burndown chart dashboard
2177
+ *
2178
+ * Cross-orbital connections:
2179
+ * - ASSIGN_TASK: SprintBrowse -> TaskBrowse
2180
+ * - COMPLETE_SPRINT: SprintBrowse -> BurndownDisplay
2181
+ *
2182
+ * @level organism
2183
+ * @family productivity
2184
+ * @packageDocumentation
2185
+ */
2186
+
2187
+ interface StdProjectManagerParams {
2188
+ appName?: string;
2189
+ taskFields?: EntityField[];
2190
+ sprintFields?: EntityField[];
2191
+ burndownFields?: EntityField[];
2192
+ }
2193
+ declare function stdProjectManager(params: StdProjectManagerParams): OrbitalSchema;
2194
+
2195
+ /**
2196
+ * std-booking-system
2197
+ *
2198
+ * Booking system organism. Composes molecules via compose:
2199
+ * - stdList(Provider): provider directory with CRUD
2200
+ * - stdWizard(Booking): booking wizard
2201
+ * - stdList(Appointment): appointment list with CRUD
2202
+ * - stdDisplay(Schedule): schedule overview dashboard
2203
+ *
2204
+ * Cross-orbital connections:
2205
+ * - BOOK: ProviderBrowse -> BookingWizard
2206
+ * - CONFIRM: BookingWizard -> AppointmentBrowse
2207
+ *
2208
+ * @level organism
2209
+ * @family scheduling
2210
+ * @packageDocumentation
2211
+ */
2212
+
2213
+ interface StdBookingSystemParams {
2214
+ appName?: string;
2215
+ providerFields?: EntityField[];
2216
+ bookingFields?: EntityField[];
2217
+ appointmentFields?: EntityField[];
2218
+ scheduleFields?: EntityField[];
2219
+ }
2220
+ declare function stdBookingSystem(params: StdBookingSystemParams): OrbitalSchema;
2221
+
2222
+ /**
2223
+ * std-devops-dashboard
2224
+ *
2225
+ * DevOps monitoring organism.
2226
+ * Composes: stdCircuitBreaker(ServiceNode) + stdDisplay(AlertMetric)
2227
+ * + stdList(LogEntry) + stdDisplay(SystemMetric)
2228
+ *
2229
+ * Pages: /services (initial), /alerts, /logs, /metrics
2230
+ *
2231
+ * @level organism
2232
+ * @family devops
2233
+ * @packageDocumentation
2234
+ */
2235
+
2236
+ interface StdDevopsDashboardParams {
2237
+ serviceNodeFields?: EntityField[];
2238
+ alertMetricFields?: EntityField[];
2239
+ logEntryFields?: EntityField[];
2240
+ systemMetricFields?: EntityField[];
2241
+ }
2242
+ declare function stdDevopsDashboard(params: StdDevopsDashboardParams): OrbitalSchema;
2243
+
2244
+ /**
2245
+ * std-cicd-pipeline
2246
+ *
2247
+ * CI/CD pipeline organism.
2248
+ * Composes: stdList(Build) + stdDisplay(Stage) + stdAsync(Deployment)
2249
+ *
2250
+ * Pages: /builds (initial), /stages, /deploy
2251
+ *
2252
+ * @level organism
2253
+ * @family devops
2254
+ * @packageDocumentation
2255
+ */
2256
+
2257
+ interface StdCicdPipelineParams {
2258
+ buildFields?: EntityField[];
2259
+ stageFields?: EntityField[];
2260
+ deploymentFields?: EntityField[];
2261
+ }
2262
+ declare function stdCicdPipeline(params: StdCicdPipelineParams): OrbitalSchema;
2263
+
2264
+ /**
2265
+ * std-api-gateway
2266
+ *
2267
+ * API gateway management organism.
2268
+ * Composes: stdList(Route) + stdCircuitBreaker(Backend) + stdDisplay(Analytics)
2269
+ *
2270
+ * Pages: /routes (initial), /backends, /analytics
2271
+ *
2272
+ * @level organism
2273
+ * @family devops
2274
+ * @packageDocumentation
2275
+ */
2276
+
2277
+ interface StdApiGatewayParams {
2278
+ routeFields?: EntityField[];
2279
+ backendFields?: EntityField[];
2280
+ analyticsFields?: EntityField[];
2281
+ }
2282
+ declare function stdApiGateway(params: StdApiGatewayParams): OrbitalSchema;
2283
+
2284
+ /**
2285
+ * std-rpg-game
2286
+ *
2287
+ * RPG game organism.
2288
+ * Composes: stdTurnBasedBattle(BattleState) + stdOverworld(WorldZone)
2289
+ * + stdInventory(RpgItem) + stdQuest(Mission)
2290
+ *
2291
+ * Pages: /battle, /world (initial), /inventory, /quests
2292
+ * Connections: ENCOUNTER_STARTED (world->battle), LOOT_DROPPED (battle->inventory),
2293
+ * QUEST_ACCEPTED (world->quests)
2294
+ *
2295
+ * @level organism
2296
+ * @family game
2297
+ * @packageDocumentation
2298
+ */
2299
+
2300
+ interface StdRpgGameParams {
2301
+ battleStateFields?: EntityField[];
2302
+ worldZoneFields?: EntityField[];
2303
+ rpgItemFields?: EntityField[];
2304
+ missionFields?: EntityField[];
2305
+ }
2306
+ declare function stdRpgGame(params: StdRpgGameParams): OrbitalSchema;
2307
+
2308
+ /**
2309
+ * std-platformer-app
2310
+ *
2311
+ * Platformer game organism.
2312
+ * Composes: stdPlatformerGame(PlatLevel) + stdScoreBoard(PlatScore) + stdInventory(Collectible)
2313
+ *
2314
+ * Pages: /game (initial), /scores, /collectibles
2315
+ *
2316
+ * @level organism
2317
+ * @family game
2318
+ * @packageDocumentation
2319
+ */
2320
+
2321
+ interface StdPlatformerAppParams {
2322
+ platLevelFields?: EntityField[];
2323
+ platScoreFields?: EntityField[];
2324
+ collectibleFields?: EntityField[];
2325
+ }
2326
+ declare function stdPlatformerApp(params: StdPlatformerAppParams): OrbitalSchema;
2327
+
2328
+ /**
2329
+ * std-puzzle-app
2330
+ *
2331
+ * Puzzle game organism.
2332
+ * Composes: stdPuzzleGame(PuzzleLevel) + stdScoreBoard(PuzzleScore)
2333
+ *
2334
+ * Pages: /puzzle (initial), /scores
2335
+ *
2336
+ * @level organism
2337
+ * @family game
2338
+ * @packageDocumentation
2339
+ */
2340
+
2341
+ interface StdPuzzleAppParams {
2342
+ puzzleLevelFields?: EntityField[];
2343
+ puzzleScoreFields?: EntityField[];
2344
+ }
2345
+ declare function stdPuzzleApp(params: StdPuzzleAppParams): OrbitalSchema;
2346
+
2347
+ /**
2348
+ * std-strategy-game
2349
+ *
2350
+ * Strategy game organism.
2351
+ * Composes: stdTurnBasedBattle(ArmyBattle) + stdOverworld(Territory) + stdDisplay(Resource)
2352
+ *
2353
+ * Pages: /battle, /map (initial), /resources
2354
+ *
2355
+ * @level organism
2356
+ * @family game
2357
+ * @packageDocumentation
2358
+ */
2359
+
2360
+ interface StdStrategyGameParams {
2361
+ armyBattleFields?: EntityField[];
2362
+ territoryFields?: EntityField[];
2363
+ resourceFields?: EntityField[];
2364
+ }
2365
+ declare function stdStrategyGame(params: StdStrategyGameParams): OrbitalSchema;
2366
+
2367
+ /**
2368
+ * std-arcade-game
2369
+ *
2370
+ * Arcade game organism.
2371
+ * Composes: stdGameflow(ArcadeState) + stdGameCanvas2d(ArcadeCanvas)
2372
+ * + stdScoreBoard(ArcadeScore) + stdGameHud(ArcadeHud)
2373
+ *
2374
+ * Pages: /game (initial), /scores
2375
+ *
2376
+ * @level organism
2377
+ * @family game
2378
+ * @packageDocumentation
2379
+ */
2380
+
2381
+ interface StdArcadeGameParams {
2382
+ arcadeStateFields?: EntityField[];
2383
+ arcadeCanvasFields?: EntityField[];
2384
+ arcadeScoreFields?: EntityField[];
2385
+ arcadeHudFields?: EntityField[];
2386
+ }
2387
+ declare function stdArcadeGame(params: StdArcadeGameParams): OrbitalSchema;
2388
+
2389
+ /**
2390
+ * std-coding-academy
2391
+ *
2392
+ * Coding academy organism.
2393
+ * Composes: stdSequencerGame(SeqChallenge) + stdBuilderGame(BuildChallenge)
2394
+ * + stdEventHandlerGame(EventChallenge) + stdDisplay(StudentProgress)
2395
+ *
2396
+ * Pages: /sequencer (initial), /builder, /events, /progress
2397
+ *
2398
+ * @level organism
2399
+ * @family educational
2400
+ * @packageDocumentation
2401
+ */
2402
+
2403
+ interface StdCodingAcademyParams {
2404
+ seqChallengeFields?: EntityField[];
2405
+ buildChallengeFields?: EntityField[];
2406
+ eventChallengeFields?: EntityField[];
2407
+ studentProgressFields?: EntityField[];
2408
+ }
2409
+ declare function stdCodingAcademy(params: StdCodingAcademyParams): OrbitalSchema;
2410
+
2411
+ /**
2412
+ * std-stem-lab
2413
+ *
2414
+ * STEM lab organism.
2415
+ * Composes: stdSimulatorGame(Experiment) + stdClassifierGame(Classification)
2416
+ * + stdDisplay(LabResult)
2417
+ *
2418
+ * Pages: /simulator (initial), /classifier, /results
2419
+ *
2420
+ * @level organism
2421
+ * @family educational
2422
+ * @packageDocumentation
2423
+ */
2424
+
2425
+ interface StdStemLabParams {
2426
+ experimentFields?: EntityField[];
2427
+ classificationFields?: EntityField[];
2428
+ labResultFields?: EntityField[];
2429
+ }
2430
+ declare function stdStemLab(params: StdStemLabParams): OrbitalSchema;
2431
+
2432
+ /**
2433
+ * std-logic-training
2434
+ *
2435
+ * Logic training organism.
2436
+ * Composes: stdDebuggerGame(DebugChallenge) + stdNegotiatorGame(NegotiateChallenge)
2437
+ * + stdScoreBoard(TrainingScore)
2438
+ *
2439
+ * Pages: /debugger (initial), /negotiator, /scores
2440
+ *
2441
+ * @level organism
2442
+ * @family educational
2443
+ * @packageDocumentation
2444
+ */
2445
+
2446
+ interface StdLogicTrainingParams {
2447
+ debugChallengeFields?: EntityField[];
2448
+ negotiateChallengeFields?: EntityField[];
2449
+ trainingScoreFields?: EntityField[];
2450
+ }
2451
+ declare function stdLogicTraining(params: StdLogicTrainingParams): OrbitalSchema;
2452
+
2453
+ /**
2454
+ * std-iot-dashboard
2455
+ *
2456
+ * IoT dashboard organism.
2457
+ * Composes: stdDisplay(SensorReading) + stdList(Device) + stdCircuitBreaker(DeviceAlert)
2458
+ *
2459
+ * Pages: /sensors (initial), /devices, /alerts
2460
+ *
2461
+ * @level organism
2462
+ * @family iot
2463
+ * @packageDocumentation
2464
+ */
2465
+
2466
+ interface StdIotDashboardParams {
2467
+ sensorReadingFields?: EntityField[];
2468
+ deviceFields?: EntityField[];
2469
+ deviceAlertFields?: EntityField[];
2470
+ }
2471
+ declare function stdIotDashboard(params: StdIotDashboardParams): OrbitalSchema;
2472
+
2473
+ /**
2474
+ * std-realtime-chat
2475
+ *
2476
+ * Realtime chat organism.
2477
+ * Composes: stdMessaging(ChatMessage) + stdList(Channel) + stdDisplay(OnlineUser)
2478
+ *
2479
+ * Pages: /chat (initial), /channels, /online
2480
+ *
2481
+ * @level organism
2482
+ * @family communication
2483
+ * @packageDocumentation
2484
+ */
2485
+
2486
+ interface StdRealtimeChatParams {
2487
+ chatMessageFields?: EntityField[];
2488
+ channelFields?: EntityField[];
2489
+ onlineUserFields?: EntityField[];
2490
+ }
2491
+ declare function stdRealtimeChat(params: StdRealtimeChatParams): OrbitalSchema;
2492
+
2493
+ /**
2494
+ * std-finance-tracker
2495
+ *
2496
+ * Finance tracker organism.
2497
+ * Composes: stdList(Transaction) + stdDisplay(FinanceSummary) + stdDetail(FinanceReport)
2498
+ *
2499
+ * Pages: /transactions (initial), /summary, /reports
2500
+ *
2501
+ * @level organism
2502
+ * @family finance
2503
+ * @packageDocumentation
2504
+ */
2505
+
2506
+ interface StdFinanceTrackerParams {
2507
+ transactionFields?: EntityField[];
2508
+ financeSummaryFields?: EntityField[];
2509
+ financeReportFields?: EntityField[];
2510
+ }
2511
+ declare function stdFinanceTracker(params: StdFinanceTrackerParams): OrbitalSchema;
2512
+
2513
+ /**
2514
+ * std-trading-dashboard
2515
+ *
2516
+ * Trading dashboard organism.
2517
+ * Composes: stdDisplay(Portfolio) + stdList(TradeOrder) + stdAsync(MarketFeed)
2518
+ *
2519
+ * Pages: /portfolio (initial), /orders, /market
2520
+ *
2521
+ * @level organism
2522
+ * @family finance
2523
+ * @packageDocumentation
2524
+ */
2525
+
2526
+ interface StdTradingDashboardParams {
2527
+ portfolioFields?: EntityField[];
2528
+ tradeOrderFields?: EntityField[];
2529
+ marketFeedFields?: EntityField[];
2530
+ }
2531
+ declare function stdTradingDashboard(params: StdTradingDashboardParams): OrbitalSchema;
2532
+
2533
+ export { type StdApiGatewayParams, type StdArcadeGameParams, type StdAsyncParams, type StdBookingSystemParams, type StdBrowseParams, type StdBuilderGameParams, type StdCacheAsideParams, type StdCartParams, type StdCicdPipelineParams, type StdCircuitBreakerParams, type StdClassifierGameParams, type StdCmsParams, type StdCodingAcademyParams, type StdCollisionParams, type StdCombatLogParams, type StdCombatParams, type StdConfirmationParams, type StdCrmParams, type StdDebuggerGameParams, type StdDetailParams, type StdDevopsDashboardParams, type StdDialogueBoxParams, type StdDisplayParams, type StdDrawerParams, type StdEcommerceParams, type StdEventHandlerGameParams, type StdFilterParams, type StdFinanceTrackerParams, type StdGameAudioParams, type StdGameCanvas2dParams, type StdGameCanvas3dParams, type StdGameHudParams, type StdGameMenuParams, type StdGameOverScreenParams, type StdGameflowParams, type StdGeospatialParams, type StdHealthcareParams, type StdHelpdeskParams, type StdHrPortalParams, type StdInputParams, type StdInventoryPanelParams, type StdInventoryParams, type StdIotDashboardParams, type StdIsometricCanvasParams, type StdListParams, type StdLmsParams, type StdLoadingParams, type StdLogicTrainingParams, type StdMessagingParams, type StdModalParams, type StdMovementParams, type StdNegotiatorGameParams, type StdNotificationParams, type StdOverworldParams, type StdPaginationParams, type StdPhysics2dParams, type StdPlatformerAppParams, type StdPlatformerCanvasParams, type StdPlatformerGameParams, type StdProjectManagerParams, type StdPuzzleAppParams, type StdPuzzleGameParams, type StdQuestParams, type StdRateLimiterParams, type StdRealtimeChatParams, type StdRpgGameParams, type StdScoreBoardParams, type StdScoreParams, type StdSearchParams, type StdSelectionParams, type StdSequencerGameParams, type StdSimulationCanvasParams, type StdSimulatorGameParams, type StdSocialFeedParams, type StdSortParams, type StdSpriteParams, type StdStemLabParams, type StdStrategyGameParams, type StdTabsParams, type StdTimerParams, type StdTradingDashboardParams, type StdTurnBasedBattleParams, type StdUndoParams, type StdWizardParams, stdApiGateway, stdArcadeGame, stdAsync, stdAsyncEntity, stdAsyncPage, stdAsyncTrait, stdBookingSystem, stdBrowse, stdBrowseEntity, stdBrowsePage, stdBrowseTrait, stdBuilderGame, stdBuilderGameEntity, stdBuilderGamePage, stdBuilderGameTrait, stdCacheAside, stdCacheAsideEntity, stdCacheAsidePage, stdCacheAsideTrait, stdCart, stdCartEntity, stdCartPage, stdCartTrait, stdCicdPipeline, stdCircuitBreaker, stdCircuitBreakerEntity, stdCircuitBreakerPage, stdCircuitBreakerTrait, stdClassifierGame, stdClassifierGameEntity, stdClassifierGamePage, stdClassifierGameTrait, stdCms, stdCodingAcademy, stdCollision, stdCollisionEntity, stdCollisionPage, stdCollisionTrait, stdCombat, stdCombatEntity, stdCombatLog, stdCombatLogEntity, stdCombatLogPage, stdCombatLogTrait, stdCombatPage, stdCombatTrait, stdConfirmation, stdConfirmationEntity, stdConfirmationPage, stdConfirmationTrait, stdCrm, stdDebuggerGame, stdDebuggerGameEntity, stdDebuggerGamePage, stdDebuggerGameTrait, stdDetail, stdDetailEntity, stdDetailPage, stdDetailTrait, stdDevopsDashboard, stdDialogueBox, stdDialogueBoxEntity, stdDialogueBoxPage, stdDialogueBoxTrait, stdDisplay, stdDisplayEntity, stdDisplayPage, stdDisplayTrait, stdDrawer, stdDrawerEntity, stdDrawerPage, stdDrawerTrait, stdEcommerce, stdEventHandlerGame, stdEventHandlerGameEntity, stdEventHandlerGamePage, stdEventHandlerGameTrait, stdFilter, stdFilterEntity, stdFilterPage, stdFilterTrait, stdFinanceTracker, stdGameAudio, stdGameAudioEntity, stdGameAudioPage, stdGameAudioTrait, stdGameCanvas2d, stdGameCanvas2dEntity, stdGameCanvas2dPage, stdGameCanvas2dTrait, stdGameCanvas3d, stdGameCanvas3dEntity, stdGameCanvas3dPage, stdGameCanvas3dTrait, stdGameHud, stdGameHudEntity, stdGameHudPage, stdGameHudTrait, stdGameMenu, stdGameMenuEntity, stdGameMenuPage, stdGameMenuTrait, stdGameOverScreen, stdGameOverScreenEntity, stdGameOverScreenPage, stdGameOverScreenTrait, stdGameflow, stdGameflowEntity, stdGameflowPage, stdGameflowTrait, stdGeospatial, stdGeospatialEntity, stdGeospatialPage, stdGeospatialTrait, stdHealthcare, stdHelpdesk, stdHrPortal, stdInput, stdInputEntity, stdInputPage, stdInputTrait, stdInventory, stdInventoryEntity, stdInventoryPage, stdInventoryPanel, stdInventoryPanelEntity, stdInventoryPanelPage, stdInventoryPanelTrait, stdInventoryTrait, stdIotDashboard, stdIsometricCanvas, stdIsometricCanvasEntity, stdIsometricCanvasPage, stdIsometricCanvasTrait, stdList, stdListEntity, stdListPage, stdListTrait, stdLms, stdLoading, stdLoadingEntity, stdLoadingPage, stdLoadingTrait, stdLogicTraining, stdMessaging, stdMessagingEntity, stdMessagingPage, stdMessagingTrait, stdModal, stdModalEntity, stdModalPage, stdModalTrait, stdMovement, stdMovementEntity, stdMovementPage, stdMovementTrait, stdNegotiatorGame, stdNegotiatorGameEntity, stdNegotiatorGamePage, stdNegotiatorGameTrait, stdNotification, stdNotificationEntity, stdNotificationPage, stdNotificationTrait, stdOverworld, stdOverworldEntity, stdOverworldPage, stdOverworldTrait, stdPagination, stdPaginationEntity, stdPaginationPage, stdPaginationTrait, stdPhysics2d, stdPhysics2dEntity, stdPhysics2dPage, stdPhysics2dTrait, stdPlatformerApp, stdPlatformerCanvas, stdPlatformerCanvasEntity, stdPlatformerCanvasPage, stdPlatformerCanvasTrait, stdPlatformerGame, stdPlatformerGameEntity, stdPlatformerGamePage, stdPlatformerGameTrait, stdProjectManager, stdPuzzleApp, stdPuzzleGame, stdPuzzleGameEntity, stdPuzzleGamePage, stdPuzzleGameTrait, stdQuest, stdQuestEntity, stdQuestPage, stdQuestTrait, stdRateLimiter, stdRateLimiterEntity, stdRateLimiterPage, stdRateLimiterTrait, stdRealtimeChat, stdRpgGame, stdScore, stdScoreBoard, stdScoreBoardEntity, stdScoreBoardPage, stdScoreBoardTrait, stdScoreEntity, stdScorePage, stdScoreTrait, stdSearch, stdSearchEntity, stdSearchPage, stdSearchTrait, stdSelection, stdSelectionEntity, stdSelectionPage, stdSelectionTrait, stdSequencerGame, stdSequencerGameEntity, stdSequencerGamePage, stdSequencerGameTrait, stdSimulationCanvas, stdSimulationCanvasEntity, stdSimulationCanvasPage, stdSimulationCanvasTrait, stdSimulatorGame, stdSimulatorGameEntity, stdSimulatorGamePage, stdSimulatorGameTrait, stdSocialFeed, stdSort, stdSortEntity, stdSortPage, stdSortTrait, stdSprite, stdSpriteEntity, stdSpritePage, stdSpriteTrait, stdStemLab, stdStrategyGame, stdTabs, stdTabsEntity, stdTabsPage, stdTabsTrait, stdTimer, stdTimerEntity, stdTimerPage, stdTimerTrait, stdTradingDashboard, stdTurnBasedBattle, stdTurnBasedBattleEntity, stdTurnBasedBattlePage, stdTurnBasedBattleTrait, stdUndo, stdUndoEntity, stdUndoPage, stdUndoTrait, stdWizard, stdWizardEntity, stdWizardPage, stdWizardTrait };