@series-inc/venus-sdk 3.4.3-beta.2 → 3.4.3-beta.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.
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- export { HASH_ALGORITHM_NODE, HASH_ALGORITHM_WEB_CRYPTO, MockLeaderboardApi, RemoteHost, RpcClient, RpcLeaderboardApi, RpcSimulationApi, RpcSocialApi, SDK_VERSION, computeScoreHash, createHost, initializeLeaderboard, initializeSimulation, initializeSocial } from './chunk-GJAEABTM.js';
1
+ export { HASH_ALGORITHM_NODE, HASH_ALGORITHM_WEB_CRYPTO, MockLeaderboardApi, RemoteHost, RpcClient, RpcLeaderboardApi, RpcSimulationApi, RpcSocialApi, SDK_VERSION, computeScoreHash, createHost, initializeLeaderboard, initializeSimulation, initializeSocial } from './chunk-PMXFUPVS.js';
2
2
  export { WEBVIEW_LIBRARY_SHIM_SOURCE, getWebviewLibraryShimSource } from './chunk-O3JPKPJ2.js';
3
- export { DEFAULT_SHARED_LIB_CDN_BASE, EMBEDDED_LIBRARIES, EMBEDDED_LIBRARY_BY_KEY, HapticFeedbackStyle, HostCdnApi, HostDeviceApi, HostEnvironmentApi, HostProfileApi, HostSystemApi, HostTimeApi, MODULE_TO_LIBRARY_SPECIFIERS, MockAdsApi, MockAiApi, MockAnalyticsApi, MockAvatarApi, MockCdnApi, MockDeviceApi, MockEnvironmentApi, MockFeaturesApi, MockHapticsApi, MockIapApi, MockLifecycleApi, MockLoggingApi, MockNavigationApi, MockNotificationsApi, MockPopupsApi, MockPreloaderApi, MockProfileApi, MockSharedAssetsApi, MockSocialApi, MockStorageApi, MockSystemApi, MockTimeApi, ROOM_GAME_PHASES, RpcAdsApi, RpcAiApi, RpcAnalyticsApi, RpcAvatarApi, RpcFeaturesApi, RpcHapticsApi, RpcIapApi, RpcLifecycleApi, RpcLoggingApi, RpcNavigationApi, RpcNotificationsApi, RpcPopupsApi, RpcPreloaderApi, RpcRoomsApi, RpcSharedAssetsApi, RpcStorageApi, SandboxProfileApi, VenusMessageId, VenusRoom, base64ToArrayBuffer, base64ToUtf8, createMockStorageApi, getLibraryDefinition, initializeAds, initializeAi, initializeAnalytics, initializeAvatar3d, initializeCdn, initializeFeaturesApi, initializeHaptics, initializeIap, initializeLifecycleApi, initializeLocalNotifications, initializeLoggingApi, initializePopups, initializePreloader, initializeProfile, initializeRoomsApi, initializeStackNavigation, initializeStorage, initializeSystem, initializeTime, isPacificDaylightTime, setupRoomNotifications } from './chunk-NSUUMXUE.js';
3
+ export { DEFAULT_SHARED_LIB_CDN_BASE, EMBEDDED_LIBRARIES, EMBEDDED_LIBRARY_BY_KEY, HapticFeedbackStyle, HostCdnApi, HostDeviceApi, HostEnvironmentApi, HostProfileApi, HostSystemApi, HostTimeApi, MODULE_TO_LIBRARY_SPECIFIERS, MockAdsApi, MockAiApi, MockAnalyticsApi, MockAvatarApi, MockCdnApi, MockDeviceApi, MockEnvironmentApi, MockFeaturesApi, MockHapticsApi, MockIapApi, MockLifecycleApi, MockLoggingApi, MockNavigationApi, MockNotificationsApi, MockPopupsApi, MockPreloaderApi, MockProfileApi, MockSharedAssetsApi, MockSocialApi, MockStorageApi, MockSystemApi, MockTimeApi, ROOM_GAME_PHASES, RpcAdsApi, RpcAiApi, RpcAnalyticsApi, RpcAvatarApi, RpcFeaturesApi, RpcHapticsApi, RpcIapApi, RpcLifecycleApi, RpcLoggingApi, RpcNavigationApi, RpcNotificationsApi, RpcPopupsApi, RpcPreloaderApi, RpcRoomsApi, RpcSharedAssetsApi, RpcStorageApi, SandboxProfileApi, VenusMessageId, VenusRoom, base64ToArrayBuffer, base64ToUtf8, createMockStorageApi, getLibraryDefinition, initializeAds, initializeAi, initializeAnalytics, initializeAvatar3d, initializeCdn, initializeFeaturesApi, initializeHaptics, initializeIap, initializeLifecycleApi, initializeLocalNotifications, initializeLoggingApi, initializePopups, initializePreloader, initializeProfile, initializeRoomsApi, initializeStackNavigation, initializeStorage, initializeSystem, initializeTime, isPacificDaylightTime, setupRoomNotifications } from './chunk-Z72SXERI.js';
4
4
  import './chunk-3APM3V2M.js';
5
5
  //# sourceMappingURL=index.js.map
6
6
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
- import { SDK_VERSION, createHost, initializeLeaderboard, initializeSimulation, initializeSocial } from '../chunk-GJAEABTM.js';
2
- import { initializeStorage, initializeRoomsApi, initializeAds, initializePopups, initializeAnalytics, initializeIap, initializeLocalNotifications, initializePreloader, initializeTime, initializeLifecycleApi, initializeHaptics, initializeCdn, initializeFeaturesApi, initializeLoggingApi, initializeProfile, initializeSystem, initializeAvatar3d, initializeStackNavigation, initializeAi } from '../chunk-NSUUMXUE.js';
1
+ import { SDK_VERSION, createHost, initializeLeaderboard, initializeSimulation, initializeSocial } from '../chunk-PMXFUPVS.js';
2
+ import { initializeStorage, initializeRoomsApi, initializeAds, initializePopups, initializeAnalytics, initializeIap, initializeLocalNotifications, initializePreloader, initializeTime, initializeLifecycleApi, initializeHaptics, initializeCdn, initializeFeaturesApi, initializeLoggingApi, initializeProfile, initializeSystem, initializeAvatar3d, initializeStackNavigation, initializeAi } from '../chunk-Z72SXERI.js';
3
3
  import { createProxiedObject, createProxiedMethod } from '../chunk-3APM3V2M.js';
4
4
 
5
5
  // src/venus-api/systems/asset-loader.js
@@ -116,6 +116,7 @@ declare global {
116
116
  __VENUS_SANDBOX__?: SandboxConfig;
117
117
  __VENUS_SANDBOX_SIGN_IN__?: () => Promise<void>;
118
118
  __VENUS_SANDBOX_SIGN_OUT__?: () => Promise<void>;
119
+ __VENUS_SANDBOX_SIGN_IN_AS__?: (playerId: string) => Promise<void>;
119
120
  }
120
121
  }
121
122
 
@@ -1085,6 +1085,40 @@ var sandboxToolbarScript_default = `/**\r
1085
1085
  */\r
1086
1086
  \r
1087
1087
  const LOCAL_STORAGE_POS_KEY = 'venus-sandbox-pos'\r
1088
+ const LOCAL_STORAGE_PLAYER_KEY = 'venus-sandbox-selected-player'\r
1089
+ \r
1090
+ function getSelectedPlayerId() {\r
1091
+ try {\r
1092
+ const raw = localStorage.getItem(LOCAL_STORAGE_PLAYER_KEY)\r
1093
+ const candidate = (raw || '').trim().toLowerCase()\r
1094
+ if (!candidate) return 'player1'\r
1095
+ if (!/^player\\\\d+$/.test(candidate)) return 'player1'\r
1096
+ const n = parseInt(candidate.replace('player', ''), 10)\r
1097
+ if (!Number.isFinite(n) || n < 1) return 'player1'\r
1098
+ return \`player\${n}\`\r
1099
+ } catch {\r
1100
+ return 'player1'\r
1101
+ }\r
1102
+ }\r
1103
+ \r
1104
+ function setSelectedPlayerId(playerId) {\r
1105
+ const normalized = String(playerId || '').trim().toLowerCase()\r
1106
+ const safe = /^player\\\\d+$/.test(normalized) ? normalized : 'player1'\r
1107
+ try {\r
1108
+ localStorage.setItem(LOCAL_STORAGE_PLAYER_KEY, safe)\r
1109
+ } catch {\r
1110
+ // ignore\r
1111
+ }\r
1112
+ return safe\r
1113
+ }\r
1114
+ \r
1115
+ function nextPlayerId(currentPlayerId) {\r
1116
+ const current = String(currentPlayerId || '').trim().toLowerCase()\r
1117
+ const match = current.match(/^player(\\\\d+)$/)\r
1118
+ const n = match ? parseInt(match[1], 10) : 1\r
1119
+ const next = Number.isFinite(n) && n >= 1 ? n + 1 : 2\r
1120
+ return \`player\${next}\`\r
1121
+ }\r
1088
1122
  \r
1089
1123
  ;(async () => {\r
1090
1124
  try {\r
@@ -1299,6 +1333,7 @@ function updateToolbarState(fab, labelDiv, authState) {\r
1299
1333
  \r
1300
1334
  // Get stored env gradient\r
1301
1335
  const envGradient = fab.dataset.envGradient || 'linear-gradient(120deg, #f59e0b, #d97706)'\r
1336
+ const isLocal = String(fab.dataset.target || '').toLowerCase() === 'local'\r
1302
1337
  \r
1303
1338
  if (authState.signedIn && authState.user) {\r
1304
1339
  // Signed in - use env gradient with full opacity\r
@@ -1310,7 +1345,7 @@ function updateToolbarState(fab, labelDiv, authState) {\r
1310
1345
  // Not signed in - use env gradient but slightly dimmed, with sign-in prompt\r
1311
1346
  fab.style.background = envGradient\r
1312
1347
  fab.style.opacity = '0.85'\r
1313
- labelDiv.textContent = '\u25CB Sign in'\r
1348
+ labelDiv.textContent = isLocal ? \`\u25CB \${getSelectedPlayerId()}\` : '\u25CB Sign in'\r
1314
1349
  }\r
1315
1350
  }\r
1316
1351
  \r
@@ -1428,6 +1463,7 @@ function openAuthModal(sandboxConfig, authState) {\r
1428
1463
  const isSignedIn = authState.signedIn\r
1429
1464
  const user = authState.user\r
1430
1465
  const isLocal = target === 'local'\r
1466
+ const selectedPlayerId = isLocal ? getSelectedPlayerId() : null\r
1431
1467
  \r
1432
1468
  // Environment-specific theming\r
1433
1469
  const envConfig = {\r
@@ -1605,6 +1641,35 @@ function openAuthModal(sandboxConfig, authState) {\r
1605
1641
  <a href="http://localhost:4000" target="_blank" style="color: #fbbf24; text-decoration: underline; margin-left: 4px;">Open Emulator UI \u2192</a>\r
1606
1642
  </div>\r
1607
1643
  \` : ''}\r
1644
+ \r
1645
+ \${isLocal ? \`\r
1646
+ <div style="\r
1647
+ padding: 12px 14px;\r
1648
+ background: rgba(255, 255, 255, 0.03);\r
1649
+ border: 1px solid rgba(255, 255, 255, 0.06);\r
1650
+ border-radius: 10px;\r
1651
+ display: flex;\r
1652
+ align-items: center;\r
1653
+ justify-content: space-between;\r
1654
+ gap: 12px;\r
1655
+ ">\r
1656
+ <div style="min-width:0;">\r
1657
+ <div style="font-size: 11px; font-weight: 600; color: #9CA3AF; text-transform: uppercase; letter-spacing: 0.05em;">Local Player</div>\r
1658
+ <div id="local-player-label" style="font-size: 14px; font-weight: 700; margin-top: 2px; color: #F3F4F6;">\${selectedPlayerId}</div>\r
1659
+ </div>\r
1660
+ <button id="add-player" style="\r
1661
+ background: rgba(245, 158, 11, 0.12);\r
1662
+ color: #fcd34d;\r
1663
+ border: 1px solid rgba(245, 158, 11, 0.25);\r
1664
+ border-radius: 8px;\r
1665
+ padding: 10px 12px;\r
1666
+ font-size: 12px;\r
1667
+ font-weight: 700;\r
1668
+ cursor: pointer;\r
1669
+ white-space: nowrap;\r
1670
+ ">+ Player</button>\r
1671
+ </div>\r
1672
+ \` : ''}\r
1608
1673
  \r
1609
1674
  \${isSignedIn ? \`\r
1610
1675
  <div style="\r
@@ -1701,6 +1766,27 @@ function openAuthModal(sandboxConfig, authState) {\r
1701
1766
  document.getElementById('reload-page')?.addEventListener('click', () => {\r
1702
1767
  window.location.reload()\r
1703
1768
  })\r
1769
+ \r
1770
+ const addPlayerBtn = document.getElementById('add-player')\r
1771
+ if (addPlayerBtn) {\r
1772
+ addPlayerBtn.addEventListener('click', () => {\r
1773
+ const next = nextPlayerId(getSelectedPlayerId())\r
1774
+ const saved = setSelectedPlayerId(next)\r
1775
+ \r
1776
+ const label = document.getElementById('local-player-label')\r
1777
+ if (label) {\r
1778
+ label.textContent = saved\r
1779
+ }\r
1780
+ \r
1781
+ // Update floating toolbar label (if currently signed out)\r
1782
+ const toolbar = document.getElementById('venus-sandbox-toolbar')\r
1783
+ const toolbarLabelDiv = toolbar?.children?.[1]\r
1784
+ const isLocalTarget = (toolbar?.dataset?.target || '').toLowerCase() === 'local'\r
1785
+ if (toolbarLabelDiv && isLocalTarget && !currentAuthState.signedIn) {\r
1786
+ toolbarLabelDiv.textContent = \`\u25CB \${saved}\`\r
1787
+ }\r
1788
+ })\r
1789
+ }\r
1704
1790
  \r
1705
1791
  const signInBtn = document.getElementById('sign-in-google')\r
1706
1792
  if (signInBtn) {\r
@@ -1710,7 +1796,10 @@ function openAuthModal(sandboxConfig, authState) {\r
1710
1796
  signInBtn.textContent = 'Signing in...'\r
1711
1797
  signInBtn.disabled = true\r
1712
1798
  \r
1713
- if (window.__VENUS_SANDBOX_SIGN_IN__) {\r
1799
+ // Local emulator mode: allow selecting playerN identities.\r
1800
+ if (isLocal && window.__VENUS_SANDBOX_SIGN_IN_AS__) {\r
1801
+ await window.__VENUS_SANDBOX_SIGN_IN_AS__(getSelectedPlayerId())\r
1802
+ } else if (window.__VENUS_SANDBOX_SIGN_IN__) {\r
1714
1803
  await window.__VENUS_SANDBOX_SIGN_IN__()\r
1715
1804
  // Sign-in successful - show success and reload\r
1716
1805
  signInBtn.textContent = '\u2713 Success!'\r