@things-factory/figure-ui 10.1.165 → 10.1.166

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": "@things-factory/figure-ui",
3
- "version": "10.1.165",
3
+ "version": "10.1.166",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "@things-factory:registry": "https://registry.npmjs.org"
@@ -43,9 +43,9 @@
43
43
  "@operato/utils": "^10.0.0",
44
44
  "@things-factory/ai-assistant": "^10.1.165",
45
45
  "@things-factory/figure-service": "^10.1.165",
46
- "@things-factory/figure-viewer": "^10.1.165",
46
+ "@things-factory/figure-viewer": "^10.1.166",
47
47
  "@things-factory/setting-base": "^10.1.165",
48
48
  "three": "^0.185.1"
49
49
  },
50
- "gitHead": "d9e3774d70561b063e4f1d10c387caf721d99b61"
50
+ "gitHead": "cf0137f79472c707edfff3389ffb8890962b7d53"
51
51
  }
@@ -77,6 +77,8 @@ describe('the detail dock: the figure at the top, the rest in tabs under it', ()
77
77
  assert.equal(await inViewer(v => v.shadowRoot.querySelectorAll('button[play]').length), 12)
78
78
  /* Longer than its room: the tab's body scrolls, nothing else does. */
79
79
  assert.ok(await inViewer(v => { const b = v.shadowRoot.querySelector('[tab-body]'); return b.scrollHeight > b.clientHeight }), 'the motion is longer than the tab body')
80
+ /* The suite's scrollbar (ScrollbarStyles, 5 px) on the tab body, not the browser's own. */
81
+ assert.equal(await inViewer(v => getComputedStyle(v.shadowRoot.querySelector('[tab-body]'), '::-webkit-scrollbar').width), '5px', 'the standard scrollbar on the tab body')
80
82
  await inViewer(v => [...v.shadowRoot.querySelectorAll('button[play]')].at(-1).scrollIntoView({ block: 'nearest' }))
81
83
  const at = await inViewer(v => { const r = [...v.shadowRoot.querySelectorAll('button[play]')].at(-1).getBoundingClientRect(); return { x: r.x + r.width / 2, y: r.y + r.height / 2 } })
82
84
  await page().mouse.click(at.x, at.y)
@@ -101,6 +103,9 @@ describe('the detail dock: the figure at the top, the rest in tabs under it', ()
101
103
  await page().evaluate(() => harness.show('dog'))
102
104
  await until(() => document.querySelector('figure-detail-dock')?.shadowRoot?.querySelector('figure-asset-viewer')?.asset?.motionGroups?.length > 0 && !!document.querySelector('figure-detail-dock').shadowRoot.querySelector('figure-asset-viewer').shadowRoot.querySelector('[stage] canvas'), 'the dog drawn')
103
105
  await pressTab('motion')
106
+ /* walk, run and idle each move all eight leg joints: they play on rows of their own, an input's row has no play mark. */
107
+ assert.deepEqual(await inViewer(v => [...v.shadowRoot.querySelectorAll('div[slide][clip] button[play]')].map(b => b.getAttribute('aria-label'))), ['walk', 'run', 'idle'])
108
+ assert.equal(await inViewer(v => v.shadowRoot.querySelectorAll('div[slide]:not([clip]) button[play]').length), 0)
104
109
  const thigh = () => inViewer(v => v.scene.root.components[0]._realObject.rig.stateOverrides()['fl-thigh'] ?? 0)
105
110
  const still = await thigh()
106
111
  await inViewer(v => v.shadowRoot.querySelector('button[play][aria-label="run"]').scrollIntoView({ block: 'nearest' }))