feat: editor improvements and collapsible sidebars
Add collapse/expand toggle for the AppShell navigation sidebar and the editor properties panel (both persisted to localStorage). Bundles other in-progress editor work including position anchors, outlet sizing, PBR textures, window slope/frame depth, curtain metadata, and various 2D/3D rendering tweaks.
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
import { z } from 'zod';
|
||||
import { FLOOR_TYPES } from '../types/room.js';
|
||||
import { FLOOR_TYPES, WALL_FINISHES } from '../types/room.js';
|
||||
|
||||
const floorTypeEnum = z.enum(FLOOR_TYPES);
|
||||
const wallFinishEnum = z.enum(WALL_FINISHES);
|
||||
|
||||
const pointSchema = z.object({
|
||||
x: z.number(),
|
||||
@@ -21,6 +22,9 @@ export const createRoomSchema = z.object({
|
||||
posY: z.number().optional(),
|
||||
floorType: floorTypeEnum.optional(),
|
||||
wallColor: z.string().max(20).optional(),
|
||||
wallFinish: wallFinishEnum.optional(),
|
||||
outletWidth: z.number().positive('Outlet width must be positive').optional(),
|
||||
outletHeight: z.number().positive('Outlet height must be positive').optional(),
|
||||
});
|
||||
|
||||
export const updateRoomSchema = z.object({
|
||||
@@ -36,6 +40,9 @@ export const updateRoomSchema = z.object({
|
||||
posY: z.number().optional(),
|
||||
floorType: floorTypeEnum.optional(),
|
||||
wallColor: z.string().max(20).optional(),
|
||||
wallFinish: wallFinishEnum.optional(),
|
||||
outletWidth: z.number().positive('Outlet width must be positive').optional(),
|
||||
outletHeight: z.number().positive('Outlet height must be positive').optional(),
|
||||
});
|
||||
|
||||
export type CreateRoomInput = z.infer<typeof createRoomSchema>;
|
||||
|
||||
Reference in New Issue
Block a user