@tutti-os/agent-gui 0.0.91 → 0.0.93

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/README.md CHANGED
@@ -138,6 +138,11 @@ the WebGL empty-home carousel all project the same agent-target avatar
138
138
  presentation, including the owner badge; renderer-specific DOM and WebGL code
139
139
  must not rebuild partial icon-only models.
140
140
 
141
+ Hosts serving `owner.avatarUrl` from another origin must enable anonymous CORS
142
+ for that asset. The WebGL carousel keeps a local programmatic owner marker when
143
+ the remote image cannot be decoded or uploaded safely, while DOM avatar
144
+ surfaces continue using the same shared presentation.
145
+
141
146
  Use `agentsLoading` for directory hydration and `renderAgentsEmpty` for a
142
147
  host-specific loaded-empty state. Use `renderAgentUnavailableState` or
143
148
  `renderAgentReadinessState` for host-specific availability presentation, and
@@ -6644,7 +6644,7 @@ button.agent-gui-node__conversation-section-toggle:hover
6644
6644
 
6645
6645
  .agent-gui-node__timeline-centered {
6646
6646
  display: flex;
6647
- align-items: center;
6647
+ align-items: stretch;
6648
6648
  justify-content: center;
6649
6649
  }
6650
6650
 
@@ -8967,7 +8967,7 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
8967
8967
  display: flex;
8968
8968
  width: 100%;
8969
8969
  min-height: 100%;
8970
- align-items: center;
8970
+ align-items: flex-start;
8971
8971
  justify-content: center;
8972
8972
  padding: 24px clamp(32px, 4vw, 48px) 40px;
8973
8973
  }
@@ -8992,9 +8992,38 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
8992
8992
  slot; keep it centered in the hero column. */
8993
8993
  .agent-gui-node__empty-hero-icon-slot:has(
8994
8994
  > .agent-gui-node__empty-hero-carousel
8995
- ) {
8995
+ ),
8996
+ .agent-gui-node__empty-hero-icon-slot[data-carousel-placeholder="true"] {
8996
8997
  width: min(400px, 100%);
8997
- height: auto;
8998
+ height: 112px;
8999
+ }
9000
+
9001
+ .agent-gui-node__empty-hero-carousel-stage {
9002
+ position: relative;
9003
+ width: 100%;
9004
+ min-height: 100%;
9005
+ }
9006
+
9007
+ .agent-gui-node__empty-hero-carousel-layer {
9008
+ position: absolute;
9009
+ z-index: 1;
9010
+ top: 24px;
9011
+ left: 50%;
9012
+ width: min(400px, calc(100% - 64px));
9013
+ transform: translateX(-50%);
9014
+ }
9015
+
9016
+ .agent-gui-node__empty-hero-carousel-placeholder {
9017
+ width: min(400px, 100%);
9018
+ height: 112px;
9019
+ flex: 0 0 auto;
9020
+ }
9021
+
9022
+ /* Keep the overlayed carousel interactive while the ready/gated body below it
9023
+ changes independently. */
9024
+ .agent-gui-node__empty-hero-carousel-layer
9025
+ > .agent-gui-node__empty-hero-carousel {
9026
+ pointer-events: auto;
8998
9027
  }
8999
9028
 
9000
9029
  .agent-gui-node__empty-hero-icon-effect {
@@ -9067,7 +9096,7 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
9067
9096
  }
9068
9097
 
9069
9098
  /* Empty-hero agent carousel ("All" tab): a three.js ring of same-sized agent
9070
- tiles (see agentGuiHeroCarouselScene.ts). Tiles farther around the ring
9099
+ records (see agentGuiHeroCarouselScene.ts). Records farther around the ring
9071
9100
  genuinely shrink and fade with perspective; visuals live on the canvas,
9072
9101
  while visually-hidden buttons keep the switcher reachable by keyboard,
9073
9102
  screen readers, and DOM tests. */
@@ -9098,13 +9127,7 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
9098
9127
  the canvas edges), intersected with a vertical band so tiles sinking
9099
9128
  down the wheel melt away instead of being cut by the canvas bottom. */
9100
9129
  mask-image:
9101
- linear-gradient(
9102
- 90deg,
9103
- transparent 12%,
9104
- #000 36%,
9105
- #000 64%,
9106
- transparent 88%
9107
- ),
9130
+ linear-gradient(90deg, transparent 4%, #000 30%, #000 70%, transparent 96%),
9108
9131
  linear-gradient(180deg, #000 0%, #000 70%, transparent 96%);
9109
9132
  mask-composite: intersect;
9110
9133
  }
@@ -9150,7 +9173,9 @@ html[data-theme="light"] [data-message-center-item-id].agent-gui-edge-glow {
9150
9173
 
9151
9174
  /* Gate gap is 8px; add 16px so the icon-to-title spacing is 24px. */
9152
9175
  .agent-gui-node__empty-provider-gate > .agent-gui-node__empty-hero-icon-effect,
9153
- .agent-gui-node__empty-provider-gate > .agent-gui-node__empty-hero-carousel {
9176
+ .agent-gui-node__empty-provider-gate > .agent-gui-node__empty-hero-carousel,
9177
+ .agent-gui-node__empty-provider-gate
9178
+ > .agent-gui-node__empty-hero-carousel-placeholder {
9154
9179
  margin-bottom: 16px;
9155
9180
  }
9156
9181