You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: add properties panel with inspector and tabs
- Introduced a new PropertiesPanel component with a tabbed interface for managing object properties.
- Implemented InspectorPanel to display and edit properties of the selected object.
- Added ScrollAreaHorizontal for horizontal scrolling of tabs.
- Integrated DragInput for numeric input handling in the inspector.
- Updated Zustand store for managing active properties tab state.
- Added clsx and tailwind-merge for utility class management.
- Enhanced global styles with custom scrollbar styles.
- Updated layout to include the new properties panel on the right side.
So far so good, we've got a basic 3d editor with advanced editing features, but we're still missing a lot of the things that allow us to modify the scene, such as the properties panel that editor like blender have.
4
+
5
+
Task: Add a floating properties panel to the right side. It should have a tab bar on the top (which is horizontally scrollable) that allows to switch between different properties panels (for now leave all of them empty except the inspector panel).
6
+
7
+
Panels:
8
+
- Object Inspector: Displays properties for the selected object, including transform data (location, rotation, scale), visibility, and instancing options.
9
+
10
+
- Scene Properties: Contains settings for the overall scene, such as units, gravity, and scene-wide options like render engines or view layer settings.
11
+
12
+
- View Layer: Manages view layer settings, including layer visibility, render passes, and compositing options.
13
+
14
+
- World: Controls the environment settings, such as background lighting, environment textures, and world shaders.
15
+
16
+
- Object Modifiers: Manages modifiers applied to the selected object, like Subdivision Surface, Mirror, or Array.
17
+
18
+
- Object Data Properties: Object Data Properties (icon: varies based on object type, e.g., mesh, curve, or light)
19
+
Contains settings specific to the object’s data type (e.g., mesh vertices, curve settings, or light properties).
20
+
21
+
- Material: Manages material settings for the selected object, including shader nodes, textures, and surface properties.
22
+
23
+
- Render Properties: Contains settings for rendering, including resolution, sampling, and output options
24
+
25
+
- Output: Manages output settings, such as file format, resolution, and output path for renders.
26
+
27
+
State Management:
28
+
- as always, everything flows as much as possible through the zustand stores!
29
+
30
+
Notes:
31
+
- Make sure to provide a robust foundation by splitting the code feature wise in a hierarchical folder layout. Write small focused react components instead of big all-in-one files.
32
+
33
+
- The renderer is threejs, so most properties will align with whatever threejs allows
We've got most of the basic functionality as well as some advanced editing tools, now it's time to dive into some of the verticals to ensure they work properly and smoothly
3
+
4
+
This will blow quite a few prompts but it's good at this stage to not mix up the context with horizontal features.
0 commit comments