172 Commits

Author SHA1 Message Date
Wassim SAMAD
2182fe535d
Merge pull request #116 from pascalorg/fix/community-feedback-pass-3
Fix/community feedback pass 3
2026-02-24 16:17:44 +09:00
wass08
aee8ac5e76 fix build 2026-02-24 16:16:07 +09:00
wass08
14708c041a fix tools visibility 2026-02-24 16:09:03 +09:00
wass08
81ede241d5 save site + camera build position 2026-02-24 14:48:59 +09:00
Aymeric Rabot
db05c86120
Add scene graph viewer and persist migration (#115)
Render an interactive Scene Graph in the Settings panel using @visual-json/react. Introduces SceneNode/SceneGraphNode types and buildSceneGraphValue to build a tree (handles missing nodes and cycles), and adds handlers to block drag/drop/context/delete mutations inside the viewer. Adds @visual-json/react to apps/editor package.json and updates the dev script to forbid .env.local and source the root .env instead. Also adds a persistence migration in use-scene to preserve existing nodes and rootNodeIds when the persist version changes.
2026-02-24 00:40:18 -05:00
wass08
db81a62722 fix radio 2026-02-24 12:46:33 +09:00
wass08
28b44fe92d fix zones 2026-02-24 12:46:27 +09:00
Anton
c476d30303
feat: enhance feedback form with image upload, user/project context, and scene graph (#113)
* feat: enhance feedback form with image upload, user/project context, and scene graph

- Add invisible drag-and-drop zone that reveals on hover+drag with dashed border overlay
- Multi-image upload (max 5, max 5MB each) to Supabase Storage feedback-images bucket
- Subtle attach button + thumbnail previews with remove on hover
- Auto-capture authenticated user email/name from Better Auth session
- Pass projectId from editor context
- Snapshot scene graph (nodes + rootNodeIds) on submit
- DB migration adds user_email, user_name, project_id, images (jsonb), scene_graph (jsonb) columns
- Storage bucket + RLS policies for public read / service role write

* refactor: use existing user_id FK instead of denormalized email/name columns

Removed user_email and user_name — the user_id already links to the users table.
Simpler schema, no data duplication.

* fix: guard against undefined in removeImage

* refactor: direct Supabase Storage upload via signed URLs

Bypass Vercel's 4.5MB serverless body-size limit by uploading images
directly from the client to Supabase Storage.

- New createImageUploadUrls server action generates signed upload URLs
- Client PUTs files directly to Supabase (no bytes through Vercel)
- submitFeedback now receives only image paths, not FormData with files
- No migration changes needed (existing RLS policies support signed URLs)

* fix: remove relative class that broke dialog centering

twMerge was replacing the Dialog's fixed positioning with relative,
pushing the dialog to the bottom of the viewport.

---------

Co-authored-by: Anton Pascal <anton-pascal@users.noreply.github.com>
2026-02-22 23:52:42 -05:00
wass08
49c4794ecb fix item scale surface 2026-02-23 12:41:55 +09:00
wass08
6581e25e9f handle better item scales 2026-02-23 11:11:22 +09:00
wass08
d15f601107 item scale 2026-02-23 10:59:42 +09:00
wass08
4555325389 fix wall items wrong level + elevation 2026-02-23 08:43:38 +09:00
wass08
d819249d07 fix level window tools 2026-02-20 18:34:49 +09:00
wass08
ce41228e58 fix level move / create item 2026-02-20 18:30:20 +09:00
wass08
33c81045bb duplicate item 2026-02-20 18:06:59 +09:00
wass08
96865a8ce7 window move tool + duplicate 2026-02-20 17:24:52 +09:00
Aymeric Rabot
f4f9f8a220
feat: add project visibility settings for scans and floorplans (#106)
- Add show_scans_public and show_guides_public columns to projects table
- Add visibility toggles to editor sidebar settings panel (auto-save)
- Add visibility toggles to project settings dialog (auto-save)
- Propagate settings to community viewer (hide scans/guides for non-owners)
- Add updateProjectVisibility server action
- Fix username onboarding dialog stuck after DB reset (validate update affected rows)
- Add error handling to UsernameGate for stale sessions

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-02-19 16:59:23 -05:00
Anton
ff85765728
fix: resolve react-doctor errors (hooks order, reduced motion, key prop) (#105)
- Move useCallback hooks before early return in ReferencesDialog
  to fix conditional hook call violation (Rules of Hooks)
- Add useReducedMotion hook and apply to all motion animations
  for WCAG 2.3.3 accessibility compliance
- Replace useEffect state reset with key prop on ItemCatalog
  for proper React reconciliation on category change
- Add global prefers-reduced-motion CSS media query

Fixes 4 react-doctor errors, bringing score from 81 to ~85+.
2026-02-19 19:20:05 +00:00
Aymeric Rabot
9a0f83a1ec
feat: SEO improvements, OG image endpoint, favicon, and metadata (#104)
- Add dynamic OG image generation endpoint (/og) adapted from monorepo
- Replace favicon with monorepo version, remove unused icon.svg
- Add seo.ts config, robots.ts, sitemap.ts for better search indexing
- Add per-page metadata (editor, viewer, settings, profile, community)
- Remove stale package-lock.json that caused ENOWORKSPACES errors with Next.js
- Add OG fonts (Geist Regular, Plus Jakarta Sans SemiBold)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-02-19 13:38:34 -05:00
wass08
e8fcc840d5 surface placement 2026-02-18 16:26:17 +09:00
wass08
c0676f684e item surfaces 2026-02-18 16:06:23 +09:00
wass08
c816295e18 fix camera initial load 2026-02-18 14:39:41 +09:00
wass08
5d61e60f95 free mode for slabs and ceiling 2026-02-18 14:00:28 +09:00
wass08
586bd9f16c fix number input 2026-02-18 13:37:46 +09:00
wass08
47373eadef adjusting wall system + adding panel 2026-02-18 13:35:12 +09:00
wass08
be013d26e5 window panel 2026-02-18 13:14:55 +09:00
wass08
076faae7df window building 2026-02-18 10:41:12 +09:00
wass08
9a2c89547b feedback feature 2026-02-18 10:26:57 +09:00
wass08
1cceb50ab6 fix thumbnail issues 2026-02-18 09:49:57 +09:00
Anton Pascal
ee30f17129 feat: rename properties to projects
- Rename all DB tables: properties → projects, properties_addresses → projects_addresses, properties_models → projects_models, property_likes → projects_likes
- Add projects_likes as proper Drizzle schema table (was SQL-only before)
- Rename ID prefixes: property_xxx → project_xxx
- Rename auth_sessions column: active_property_id → active_project_id
- Simplify project creation: address is now optional (no longer required to get started)
- Update all actions, stores, types, components, and routes
- Rename route: /editor/[propertyId] → /editor/[projectId]
- Add SQL migration for table/column/index/policy/function renames
- Update RPC functions: increment_project_views, get_project_like_count
- Update storage bucket reference: project-thumbnails
- All types/exports follow existing Drizzle patterns (pgTable, relations, zod schemas)
2026-02-17 20:40:52 +00:00
wass08
dd5f63df64 wall tool draft 2026-02-17 16:22:45 +09:00
wass08
13fd1848d1 polish catalog 2026-02-17 14:23:02 +09:00
wass08
101db7b34d free placement 2026-02-17 13:22:17 +09:00
wass08
d833245fbf esc key cancel tool 2026-02-17 12:29:00 +09:00
wass08
078b2500a3 handle thumbnails (manual) 2026-02-17 12:07:32 +09:00
wass08
144a2bd18f camera controls enhancement 2026-02-17 08:52:58 +09:00
wass08
0b200bfe5d hub 2026-02-16 14:11:40 +09:00
wass08
66e8453db3 hub features 2026-02-16 13:43:19 +09:00
wass08
e6442ad473 adding missing sounds 2026-02-16 09:31:34 +09:00
wass08
052efea2cb polished placements 2026-02-16 09:12:04 +09:00
wass08
13070a5630 ceiling holes 2026-02-16 08:59:28 +09:00
wass08
0797a828f8 fix build issues 2026-02-12 10:56:56 +09:00
wass08
cfa7b8bfc1 handle holes in spatial grid manager 2026-02-12 10:46:07 +09:00
wass08
29e7fa09ef slab holes 2026-02-12 10:41:37 +09:00
wass08
ae3af4318e better placing tools 2026-02-12 10:17:22 +09:00
wass08
be7e86975e radio & sfx 2026-02-12 08:57:37 +09:00
wass08
2e8b663001 community feature 2026-02-11 15:23:18 +09:00
wass08
4f9c4655e6 auth flow + property switching 2026-02-11 10:48:24 +09:00
wass08
c1ff61ad5b isolate cloud-sync feature 2026-02-11 07:57:10 +09:00
wass08
c7e5aa48c6 auth flow draft 2026-02-10 15:58:34 +09:00