@indiegems/gem-web-sdk 16.2.0 → 16.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@indiegems/gem-web-sdk",
3
- "version": "16.2.0",
3
+ "version": "16.3.1",
4
4
  "description": "postMessage bridge contract between gem-web and browser-playable games",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
@@ -3771,8 +3771,8 @@
3771
3771
  " arcade's store for one of the store's own SKUs -",
3772
3772
  " gem.requestStorePurchase, gated on `store` -",
3773
3773
  " but only from the player's press on a button of the game's; that",
3774
- " sheet is the Arcade Store's, under its own rules, and nothing opens",
3775
- " it by itself on a refusal here.",
3774
+ " checkout is the Arcade Store's, under its own rules, and nothing",
3775
+ " opens it by itself on a refusal here.",
3776
3776
  " - MONEY IS TAKEN ONLY ON THE PAYMENT PROVIDER'S PAGE OR THE OPERATING",
3777
3777
  " SYSTEM'S PURCHASE SHEET, which a player reaches through the parent's",
3778
3778
  " own chrome. Nothing a frame sends carries a price or a card field,",
@@ -5342,7 +5342,9 @@
5342
5342
  "rail's own formatted string, and a game shows it exactly as given,",
5343
5343
  "never parsing it or computing a discount from it. No balance. And no",
5344
5344
  "per-offer availability flag: one would reveal a recent purchase through",
5345
- "its cooldown, so the parent's sheet explains a cooldown instead.",
5345
+ "its cooldown, so the parent explains a cooldown in its own chrome",
5346
+ "instead, and a purchase of that offer is answered `declined` /",
5347
+ "`cancelled`.",
5346
5348
  "",
5347
5349
  "THE NAMES ARE THE PLATFORM'S, not a game developer's: the Arcade",
5348
5350
  "Store's own catalog copy, which is why `name` and `description` sit",
@@ -5438,14 +5440,14 @@
5438
5440
  "direction": "frameToParent",
5439
5441
  "transport": "port",
5440
5442
  "$comment": [
5441
- "Ask the parent to open the Arcade Store's purchase sheet for ONE SKU it",
5443
+ "Ask the parent to open the Arcade Store's checkout for ONE SKU it",
5442
5444
  "listed in gem.storeOffersResult - real money, not Gems. Gated by the",
5443
5445
  "`store` capability. Answered by `gem.storePurchaseResult`.",
5444
5446
  "",
5445
5447
  "THE GAME ASKS; THE PLATFORM SELLS. Nothing in this message is a price,",
5446
- "a card field, a URL or a token. The parent renders its own sheet from",
5447
- "platform records, takes money only on the payment provider's page or",
5448
- "the operating system's purchase sheet, and tells the game the outcome.",
5448
+ "a card field, a URL or a token. The parent looks the SKU up in its own",
5449
+ "listing, takes money only on the payment provider's page or the",
5450
+ "operating system's purchase sheet, and tells the game the outcome.",
5449
5451
  "",
5450
5452
  "AN ACTING MESSAGE, under every rule gem.requestOpenApp states: a press",
5451
5453
  "the parent can see (a missing `userActivation` API fails closed), one",
@@ -5456,17 +5458,26 @@
5456
5458
  " would list to this player right now; anything else is `unavailable`",
5457
5459
  " with nothing shown.",
5458
5460
  "",
5459
- " THE STORE'S OWN SHEET. Over the paused game, hidden not dimmed, with",
5460
- " the parent's bar saying the Arcade Store is open, game chrome frozen,",
5461
- " and focus never landing on a money control. \"Not now\" has the",
5462
- " default focus. Buy arms visibly for a moment and then takes a FRESH",
5463
- " press; input during arming restarts it.",
5461
+ " STRAIGHT TO CHECKOUT, with no confirmation of the parent's own first,",
5462
+ " by owner decision: games are developed in-house and trusted, as for",
5463
+ " gem.requestOpenGame. The press in the game opens the",
5464
+ " payment provider's page on the web, or the operating system's",
5465
+ " purchase sheet in an app, over the paused game: hidden, not dimmed.",
5466
+ " That checkout is the confirmation - it has its own pay control, and",
5467
+ " no money moves without the player's press there.",
5468
+ "",
5469
+ " AN OFFER COOLING DOWN OPENS NOTHING. When the listed SKU cannot be",
5470
+ " bought again yet, the parent says when, in its own chrome, and",
5471
+ " answers `declined` / `cancelled` - the answer a closed checkout gets,",
5472
+ " so the cooldown, which would reveal a recent purchase, never crosses",
5473
+ " the bridge. It starts no back-off: the player turned nothing down.",
5464
5474
  "",
5465
5475
  " BACK OFF AFTER A DISMISSAL. `cancelled` is disclosed, so after the",
5466
- " player dismisses a sheet a game started, further asks from that game",
5476
+ " player closes a checkout a game started, further asks from that game",
5467
5477
  " are `declined` / `busy`, unrendered, for an interval that grows with",
5468
5478
  " each dismissal (the Arcade: 30 s, 2 min, 10 min, then the rest of the",
5469
- " session).",
5479
+ " session). Only the player closing it starts the back-off: a failed",
5480
+ " payment, `error` and `ok` / `pending` do not.",
5470
5481
  "",
5471
5482
  " RESUME, THEN ANSWER. The result is sent after the game has been told",
5472
5483
  " it is resumed, so the game's own celebration is visible.",
@@ -5508,9 +5519,10 @@
5508
5519
  " `reason: pending`, the provider has not settled yet (or",
5509
5520
  " the player left before it did): `gem.storePurchaseSettled`",
5510
5521
  " follows when it does, and a game re-reads on resume too.",
5511
- " declined - nothing was bought: the player dismissed the sheet",
5512
- " (`cancelled`), or no press, another acting message open",
5513
- " or a back-off running (`busy`).",
5522
+ " declined - nothing was bought: the player closed the checkout,",
5523
+ " or the offer is cooling down (`cancelled`); or no",
5524
+ " press, another acting message open or a back-off",
5525
+ " running (`busy`).",
5514
5526
  " unavailable - no sale the parent can vouch for. With `store_off`",
5515
5527
  " (the store withheld), `sign_in_required` (a guest),",
5516
5528
  " `not_found` (an unknown SKU) or the provider's own",