@almadar/core 10.62.0 → 10.63.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -2234,7 +2234,7 @@ function getInteractionModelForDomain(domain) {
2234
2234
  // src/patterns/patterns-registry.json
2235
2235
  var patterns_registry_default = {
2236
2236
  version: "1.0.0",
2237
- exportedAt: "2026-08-20T06:39:15.858Z",
2237
+ exportedAt: "2026-08-20T23:14:19.545Z",
2238
2238
  patterns: {
2239
2239
  "entity-table": {
2240
2240
  type: "entity-table",
@@ -4034,9 +4034,10 @@ var patterns_registry_default = {
4034
4034
  },
4035
4035
  status: {
4036
4036
  types: [
4037
- "object"
4037
+ "object",
4038
+ "string"
4038
4039
  ],
4039
- description: "Status badge",
4040
+ description: "Status badge \u2014 a bare string (an entity's status field bound directly, e.g. `status: @entity.status`) renders as a default-variant badge",
4040
4041
  properties: {
4041
4042
  label: {
4042
4043
  types: [
@@ -4783,7 +4784,12 @@ var patterns_registry_default = {
4783
4784
  formValues: {
4784
4785
  types: [
4785
4786
  "object"
4786
- ]
4787
+ ],
4788
+ mapValue: {
4789
+ types: [
4790
+ "object"
4791
+ ]
4792
+ }
4787
4793
  },
4788
4794
  globalVariables: {
4789
4795
  types: [
@@ -4810,7 +4816,12 @@ var patterns_registry_default = {
4810
4816
  entity: {
4811
4817
  types: [
4812
4818
  "object"
4813
- ]
4819
+ ],
4820
+ mapValue: {
4821
+ types: [
4822
+ "object"
4823
+ ]
4824
+ }
4814
4825
  }
4815
4826
  },
4816
4827
  propertyRequired: [
@@ -5639,7 +5650,12 @@ var patterns_registry_default = {
5639
5650
  formValues: {
5640
5651
  types: [
5641
5652
  "object"
5642
- ]
5653
+ ],
5654
+ mapValue: {
5655
+ types: [
5656
+ "object"
5657
+ ]
5658
+ }
5643
5659
  },
5644
5660
  globalVariables: {
5645
5661
  types: [
@@ -5666,7 +5682,12 @@ var patterns_registry_default = {
5666
5682
  entity: {
5667
5683
  types: [
5668
5684
  "object"
5669
- ]
5685
+ ],
5686
+ mapValue: {
5687
+ types: [
5688
+ "object"
5689
+ ]
5690
+ }
5670
5691
  }
5671
5692
  },
5672
5693
  propertyRequired: [
@@ -15253,7 +15274,7 @@ var patterns_registry_default = {
15253
15274
  types: [
15254
15275
  "object"
15255
15276
  ],
15256
- description: "Current user info (optional - auto-populated from auth context if not provided)",
15277
+ description: "Current user info (optional - auto-populated from auth context if not provided). Accepts `null` as well as `undefined`: the `.lolo` substrate's signed-out spelling is `(if @config.viewerName {\u2026} null)`, and the compiled path passes that `null` through verbatim.",
15257
15278
  properties: {
15258
15279
  name: {
15259
15280
  types: [
@@ -15272,8 +15293,7 @@ var patterns_registry_default = {
15272
15293
  }
15273
15294
  },
15274
15295
  propertyRequired: [
15275
- "name",
15276
- "email"
15296
+ "name"
15277
15297
  ]
15278
15298
  },
15279
15299
  headerActions: {
@@ -49225,6 +49245,566 @@ var patterns_registry_default = {
49225
49245
  ]
49226
49246
  }
49227
49247
  }
49248
+ },
49249
+ "fx-overlay": {
49250
+ type: "fx-overlay",
49251
+ category: "container",
49252
+ tier: "molecules",
49253
+ family: "core",
49254
+ description: "FxOverlay component",
49255
+ suggestedFor: [
49256
+ "overlay",
49257
+ "fx overlay"
49258
+ ],
49259
+ typicalSize: "medium",
49260
+ propsSchema: {
49261
+ items: {
49262
+ types: [
49263
+ "array"
49264
+ ],
49265
+ description: "Live screen-space fx entries (the mechanic's fx list filtered to `space == \"screen\"`); mount starts each item's animation, ttl decay unmounts it.",
49266
+ required: true,
49267
+ items: {
49268
+ types: [
49269
+ "object"
49270
+ ],
49271
+ properties: {
49272
+ id: {
49273
+ types: [
49274
+ "string"
49275
+ ]
49276
+ },
49277
+ type: {
49278
+ types: [
49279
+ "string"
49280
+ ]
49281
+ },
49282
+ effect: {
49283
+ types: [
49284
+ "string"
49285
+ ],
49286
+ enumValues: [
49287
+ "confetti",
49288
+ "flash",
49289
+ "shake",
49290
+ "sparkle",
49291
+ "float-text",
49292
+ "streak-glow"
49293
+ ]
49294
+ },
49295
+ message: {
49296
+ types: [
49297
+ "string"
49298
+ ]
49299
+ },
49300
+ color: {
49301
+ types: [
49302
+ "string"
49303
+ ]
49304
+ },
49305
+ size: {
49306
+ types: [
49307
+ "number"
49308
+ ]
49309
+ },
49310
+ x: {
49311
+ types: [
49312
+ "number"
49313
+ ]
49314
+ },
49315
+ z: {
49316
+ types: [
49317
+ "number"
49318
+ ]
49319
+ },
49320
+ y: {
49321
+ types: [
49322
+ "number"
49323
+ ]
49324
+ },
49325
+ ttl: {
49326
+ types: [
49327
+ "number"
49328
+ ]
49329
+ },
49330
+ maxTtl: {
49331
+ types: [
49332
+ "number"
49333
+ ]
49334
+ },
49335
+ bornAt: {
49336
+ types: [
49337
+ "number"
49338
+ ]
49339
+ },
49340
+ space: {
49341
+ types: [
49342
+ "string"
49343
+ ],
49344
+ enumValues: [
49345
+ "world",
49346
+ "screen"
49347
+ ]
49348
+ },
49349
+ particleCount: {
49350
+ types: [
49351
+ "number"
49352
+ ]
49353
+ },
49354
+ vx: {
49355
+ types: [
49356
+ "number"
49357
+ ]
49358
+ },
49359
+ vy: {
49360
+ types: [
49361
+ "number"
49362
+ ]
49363
+ },
49364
+ vz: {
49365
+ types: [
49366
+ "number"
49367
+ ]
49368
+ }
49369
+ },
49370
+ required: [
49371
+ "id",
49372
+ "type",
49373
+ "ttl"
49374
+ ]
49375
+ }
49376
+ },
49377
+ tickMs: {
49378
+ types: [
49379
+ "number"
49380
+ ],
49381
+ description: "The fx mechanic's decay tick period in ms; per-item animation duration = maxTtl \xD7 tickMs. Default 500."
49382
+ },
49383
+ children: {
49384
+ types: [
49385
+ "node"
49386
+ ],
49387
+ description: "Wrapped content \u2014 the `shake` target and the overlay's bounds."
49388
+ },
49389
+ className: {
49390
+ types: [
49391
+ "string"
49392
+ ],
49393
+ description: "Additional class names on the outermost element."
49394
+ }
49395
+ }
49396
+ },
49397
+ "draw-fx-layer": {
49398
+ type: "draw-fx-layer",
49399
+ category: "game",
49400
+ tier: "molecules",
49401
+ family: "game",
49402
+ description: "DrawFxLayer component",
49403
+ suggestedFor: [
49404
+ "draw",
49405
+ "layer",
49406
+ "draw fx layer"
49407
+ ],
49408
+ typicalSize: "medium",
49409
+ propsSchema: {
49410
+ id: {
49411
+ types: [
49412
+ "string"
49413
+ ],
49414
+ description: "Optional source-tagged hit-test handle \u2014 the host indexes the drawable's ScenePos\u2192id so a pointer/raycast at that cell resolves to this id (unit/entity click). No id \u2192 the host emits only the coordinate (tile click)."
49415
+ },
49416
+ type: {
49417
+ types: [
49418
+ "unknown"
49419
+ ],
49420
+ description: "type prop",
49421
+ required: true
49422
+ },
49423
+ items: {
49424
+ types: [
49425
+ "array"
49426
+ ],
49427
+ description: 'The live fx entries \u2014 the mechanic\'s `@entity.fx` list passed whole; `space: "screen"` entries are skipped (the overlay owns those).',
49428
+ required: true,
49429
+ items: {
49430
+ types: [
49431
+ "object"
49432
+ ],
49433
+ properties: {
49434
+ id: {
49435
+ types: [
49436
+ "string"
49437
+ ]
49438
+ },
49439
+ type: {
49440
+ types: [
49441
+ "string"
49442
+ ]
49443
+ },
49444
+ position: {
49445
+ types: [
49446
+ "object"
49447
+ ],
49448
+ scenePos: true,
49449
+ properties: {
49450
+ x: {
49451
+ types: [
49452
+ "number"
49453
+ ]
49454
+ },
49455
+ y: {
49456
+ types: [
49457
+ "number"
49458
+ ]
49459
+ },
49460
+ z: {
49461
+ types: [
49462
+ "number"
49463
+ ]
49464
+ }
49465
+ },
49466
+ required: [
49467
+ "x",
49468
+ "y"
49469
+ ]
49470
+ },
49471
+ x: {
49472
+ types: [
49473
+ "number"
49474
+ ]
49475
+ },
49476
+ z: {
49477
+ types: [
49478
+ "number"
49479
+ ]
49480
+ },
49481
+ y: {
49482
+ types: [
49483
+ "number"
49484
+ ]
49485
+ },
49486
+ message: {
49487
+ types: [
49488
+ "string"
49489
+ ]
49490
+ },
49491
+ ttl: {
49492
+ types: [
49493
+ "number"
49494
+ ]
49495
+ },
49496
+ maxTtl: {
49497
+ types: [
49498
+ "number"
49499
+ ]
49500
+ },
49501
+ bornAt: {
49502
+ types: [
49503
+ "number"
49504
+ ]
49505
+ },
49506
+ space: {
49507
+ types: [
49508
+ "string"
49509
+ ],
49510
+ enumValues: [
49511
+ "world",
49512
+ "screen"
49513
+ ]
49514
+ },
49515
+ effect: {
49516
+ types: [
49517
+ "string"
49518
+ ],
49519
+ enumValues: [
49520
+ "confetti",
49521
+ "flash",
49522
+ "shake",
49523
+ "sparkle",
49524
+ "float-text",
49525
+ "streak-glow"
49526
+ ]
49527
+ },
49528
+ color: {
49529
+ types: [
49530
+ "string"
49531
+ ]
49532
+ },
49533
+ size: {
49534
+ types: [
49535
+ "number"
49536
+ ]
49537
+ },
49538
+ vx: {
49539
+ types: [
49540
+ "number"
49541
+ ]
49542
+ },
49543
+ vy: {
49544
+ types: [
49545
+ "number"
49546
+ ]
49547
+ },
49548
+ vz: {
49549
+ types: [
49550
+ "number"
49551
+ ]
49552
+ },
49553
+ particleCount: {
49554
+ types: [
49555
+ "number"
49556
+ ]
49557
+ }
49558
+ },
49559
+ required: [
49560
+ "id",
49561
+ "type",
49562
+ "x",
49563
+ "ttl"
49564
+ ]
49565
+ }
49566
+ },
49567
+ presets: {
49568
+ types: [
49569
+ "array"
49570
+ ],
49571
+ description: "Consumer-declared effect vocabulary \u2014 one row per fx `type` (look + recipe). Unknown types fall back to a neutral spark burst.",
49572
+ items: {
49573
+ types: [
49574
+ "object"
49575
+ ],
49576
+ properties: {
49577
+ type: {
49578
+ types: [
49579
+ "string"
49580
+ ]
49581
+ },
49582
+ color: {
49583
+ types: [
49584
+ "string"
49585
+ ]
49586
+ },
49587
+ color2: {
49588
+ types: [
49589
+ "string"
49590
+ ]
49591
+ },
49592
+ size: {
49593
+ types: [
49594
+ "number"
49595
+ ]
49596
+ },
49597
+ shape: {
49598
+ types: [
49599
+ "string"
49600
+ ],
49601
+ enumValues: [
49602
+ "spark",
49603
+ "ring",
49604
+ "puff",
49605
+ "streak"
49606
+ ]
49607
+ },
49608
+ count: {
49609
+ types: [
49610
+ "number"
49611
+ ]
49612
+ },
49613
+ glow: {
49614
+ types: [
49615
+ "number"
49616
+ ]
49617
+ },
49618
+ gravity: {
49619
+ types: [
49620
+ "number"
49621
+ ]
49622
+ },
49623
+ vx: {
49624
+ types: [
49625
+ "number"
49626
+ ]
49627
+ },
49628
+ vy: {
49629
+ types: [
49630
+ "number"
49631
+ ]
49632
+ },
49633
+ vz: {
49634
+ types: [
49635
+ "number"
49636
+ ]
49637
+ },
49638
+ space: {
49639
+ types: [
49640
+ "string"
49641
+ ],
49642
+ enumValues: [
49643
+ "world",
49644
+ "screen"
49645
+ ]
49646
+ },
49647
+ effect: {
49648
+ types: [
49649
+ "string"
49650
+ ],
49651
+ enumValues: [
49652
+ "confetti",
49653
+ "flash",
49654
+ "shake",
49655
+ "sparkle",
49656
+ "float-text",
49657
+ "streak-glow"
49658
+ ]
49659
+ },
49660
+ particleCount: {
49661
+ types: [
49662
+ "number"
49663
+ ]
49664
+ }
49665
+ },
49666
+ required: [
49667
+ "type"
49668
+ ]
49669
+ }
49670
+ },
49671
+ art: {
49672
+ types: [
49673
+ "object"
49674
+ ],
49675
+ description: "Vector art per fx type (an asset-art map: type \u2192 anim-state \u2192 drawables); a type's `idle` state wins over sprites/procedural.",
49676
+ mapValue: {
49677
+ types: [
49678
+ "object"
49679
+ ],
49680
+ mapValue: {
49681
+ types: [
49682
+ "array"
49683
+ ],
49684
+ items: {
49685
+ types: [
49686
+ "object"
49687
+ ],
49688
+ drawableSlot: true
49689
+ }
49690
+ }
49691
+ }
49692
+ },
49693
+ sprites: {
49694
+ types: [
49695
+ "object"
49696
+ ],
49697
+ description: "Sprite asset per fx type (an asset-manifest effects map) \u2014 used when no vector art matches.",
49698
+ mapValue: {
49699
+ types: [
49700
+ "object"
49701
+ ],
49702
+ properties: {
49703
+ url: {
49704
+ types: [
49705
+ "asset"
49706
+ ]
49707
+ },
49708
+ role: {
49709
+ types: [
49710
+ "string"
49711
+ ]
49712
+ },
49713
+ category: {
49714
+ types: [
49715
+ "string"
49716
+ ]
49717
+ },
49718
+ animations: {
49719
+ types: [
49720
+ "array"
49721
+ ],
49722
+ items: {
49723
+ types: [
49724
+ "string"
49725
+ ]
49726
+ }
49727
+ },
49728
+ style: {
49729
+ types: [
49730
+ "string"
49731
+ ],
49732
+ enumValues: [
49733
+ "pixel",
49734
+ "vector",
49735
+ "hd",
49736
+ "1-bit",
49737
+ "isometric"
49738
+ ]
49739
+ },
49740
+ variant: {
49741
+ types: [
49742
+ "string"
49743
+ ]
49744
+ },
49745
+ dimension: {
49746
+ types: [
49747
+ "string"
49748
+ ],
49749
+ enumValues: [
49750
+ "2d",
49751
+ "3d"
49752
+ ]
49753
+ },
49754
+ aspect: {
49755
+ types: [
49756
+ "string"
49757
+ ],
49758
+ enumValues: [
49759
+ "1:1",
49760
+ "16:9",
49761
+ "5:7",
49762
+ "8:1"
49763
+ ]
49764
+ },
49765
+ atlas: {
49766
+ types: [
49767
+ "asset"
49768
+ ]
49769
+ },
49770
+ sprite: {
49771
+ types: [
49772
+ "string"
49773
+ ]
49774
+ },
49775
+ name: {
49776
+ types: [
49777
+ "string"
49778
+ ]
49779
+ },
49780
+ thumbnailUrl: {
49781
+ types: [
49782
+ "string"
49783
+ ]
49784
+ }
49785
+ },
49786
+ required: [
49787
+ "url",
49788
+ "role",
49789
+ "category"
49790
+ ]
49791
+ }
49792
+ },
49793
+ tickMs: {
49794
+ types: [
49795
+ "number"
49796
+ ],
49797
+ description: "The fx mechanic's decay tick period in ms; lifetime = maxTtl \xD7 tickMs. Default 500."
49798
+ },
49799
+ textColor: {
49800
+ types: [
49801
+ "string"
49802
+ ],
49803
+ description: "Floating-message text color when an item declares none. Default `#ffe066`."
49804
+ }
49805
+ },
49806
+ drawable: true,
49807
+ drawHost: true
49228
49808
  }
49229
49809
  },
49230
49810
  categories: [
@@ -50209,7 +50789,7 @@ var integrators_registry_default = {
50209
50789
  // src/patterns/component-mapping.json
50210
50790
  var component_mapping_default = {
50211
50791
  version: "1.0.0",
50212
- exportedAt: "2026-08-20T06:39:15.858Z",
50792
+ exportedAt: "2026-08-20T23:14:19.545Z",
50213
50793
  mappings: {
50214
50794
  "page-header": {
50215
50795
  component: "PageHeader",
@@ -51602,6 +52182,16 @@ var component_mapping_default = {
51602
52182
  component: "AlgoGraphCanvas",
51603
52183
  importPath: "@/components/learning/molecules/AlgoGraphCanvas",
51604
52184
  category: "learning"
52185
+ },
52186
+ "fx-overlay": {
52187
+ component: "FxOverlay",
52188
+ importPath: "@/components/core/molecules/FxOverlay",
52189
+ category: "container"
52190
+ },
52191
+ "draw-fx-layer": {
52192
+ component: "DrawFxLayer",
52193
+ importPath: "@/components/game/molecules/DrawFxLayer",
52194
+ category: "game"
51605
52195
  }
51606
52196
  }
51607
52197
  };
@@ -51609,7 +52199,7 @@ var component_mapping_default = {
51609
52199
  // src/patterns/event-contracts.json
51610
52200
  var event_contracts_default = {
51611
52201
  version: "1.0.0",
51612
- exportedAt: "2026-08-20T06:39:15.858Z",
52202
+ exportedAt: "2026-08-20T23:14:19.545Z",
51613
52203
  contracts: {
51614
52204
  form: {
51615
52205
  emits: [
@@ -52847,6 +53437,7 @@ var PATTERN_TYPES = [
52847
53437
  "doc-sidebar",
52848
53438
  "doc-toc",
52849
53439
  "document-viewer",
53440
+ "draw-fx-layer",
52850
53441
  "draw-group",
52851
53442
  "draw-mesh",
52852
53443
  "draw-shape",
@@ -52882,6 +53473,7 @@ var PATTERN_TYPES = [
52882
53473
  "form-layout",
52883
53474
  "form-section",
52884
53475
  "form-section-header",
53476
+ "fx-overlay",
52885
53477
  "game-audio-toggle",
52886
53478
  "game-hud",
52887
53479
  "game-icon",