diff --git a/packages/editor/src/components/ui/sidebar/panels/items-panel/function-tree-panel.tsx b/packages/editor/src/components/ui/sidebar/panels/items-panel/function-tree-panel.tsx
index b2670789..851170b8 100644
--- a/packages/editor/src/components/ui/sidebar/panels/items-panel/function-tree-panel.tsx
+++ b/packages/editor/src/components/ui/sidebar/panels/items-panel/function-tree-panel.tsx
@@ -1,10 +1,16 @@
'use client'
import type { AssetInput } from '@pascal-app/core'
+import { Root as TooltipRoot } from '@radix-ui/react-tooltip'
import NextImage from 'next/image'
import { useMemo, useState } from 'react'
import { cn } from '../../../../../lib/utils'
import { ItemCatalog } from '../../../item-catalog/item-catalog'
+import {
+ TooltipContent,
+ TooltipProvider,
+ TooltipTrigger,
+} from '../../../../../components/ui/primitives/tooltip'
/** A function-axis taxonomy node, assembled into a tree by the embedder. */
export type FunctionTreeNode = {
@@ -109,40 +115,49 @@ export function FunctionTreePanel({
return (
- {/* Root nodes as category tabs */}
-
- {functionTree.map((root) => {
- const isActive = activeRoot?.slug === root.slug
- return (
-
selectRoot(root.slug)}
- type="button"
- >
- {root.iconUrl ? (
-
- ) : (
-
- {root.name.slice(0, 2)}
-
- )}
- {root.name}
-
- )
- })}
-
+ {/* Root nodes as a category grid — icon when available, otherwise a
+ two-letter abbreviation, with the full name in a hover tooltip.
+ Mirrors the Build tab's tile grid so the two panels read the same. */}
+
+
+ {functionTree.map((root) => {
+ const isActive = activeRoot?.slug === root.slug
+ return (
+
+
+ selectRoot(root.slug)}
+ type="button"
+ >
+ {root.iconUrl ? (
+
+ ) : (
+
+ {root.name.slice(0, 2)}
+
+ )}
+
+
+
+ {root.name}
+
+
+ )
+ })}
+
+
{/* Search + source filter */}
diff --git a/packages/editor/src/components/ui/sidebar/panels/items-panel/index.tsx b/packages/editor/src/components/ui/sidebar/panels/items-panel/index.tsx
index e0ec0344..73d58092 100644
--- a/packages/editor/src/components/ui/sidebar/panels/items-panel/index.tsx
+++ b/packages/editor/src/components/ui/sidebar/panels/items-panel/index.tsx
@@ -173,7 +173,7 @@ function LegacyItemsPanel({
return (
{/* Category tabs */}
-
+
{furnishTools.map((cat) => {
const isActive = activeCategory.catalogCategory === cat.catalogCategory
return (