Repository navigation
editor: add wall-mounted urinal to item catalogs - #889
tripdancer0916 wants to merge 1 commit into
Conversation
|
I hit an error while handling your request (Model unavailable on AI Gateway free tier: Free tier users do not have access to this model. Upgrade to paid credits at https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%3Fmodal%3Dtop-up for unrestricted…). Please try again, rephrase, or reach out if it keeps failing. Error id: e365562c-90e2-4b03-8159-cafac31afb28 |
Aymericr
left a comment
There was a problem hiding this comment.
Thanks @tripdancer0916, a urinal is a genuinely useful gap in the bathroom catalog, and the procedural Blender generator plus asset README make it easy to regenerate. Sorry for the long wait.
A few things before this can go in:
- In-editor screenshots. The thumbnail and floor-plan images are great, but please add a screenshot or short recording of the urinal placed on a wall in 3D (both wall faces) and in the 2D plan.
- Upstream reference. The README and generator mention the "elliptical shell approach from
kkg-agentic-bim". Could you clarify what that is and whether any code or data was taken from it? If it's only an idea, I'd drop the name from the shipped README/comments, or link it with its license so the provenance is clear. - Asset hosting (on our side, not yours). Catalog paths resolve through
NEXT_PUBLIC_ASSETS_CDN_URL, so in production these files also need to be on our asset CDN. Nothing to change on your side.
CI is green. Since this adds a new visual catalog item, the final merge call is Aymeric's.
| # Urinal | ||
|
|
||
| A generic wall-mounted ceramic urinal for layout planning. The mesh is authored | ||
| procedurally using the elliptical shell approach from `kkg-agentic-bim`, with a |
There was a problem hiding this comment.
What is kkg-agentic-bim, and was anything copied from it? If it's only inspiration, please drop the reference here (and in scripts/generate-urinal.py). If code or parameters came from it, please link it and note its license.
| name: 'Urinal', | ||
| tags: ['wall', 'bathroom', 'urinal', 'plumbing', 'ceramic'], | ||
| thumbnail: '/items/urinal/thumbnail.png', | ||
| src: '/items/urinal/model.glb', |
There was a problem hiding this comment.
Maintainer note: other catalog items load from the asset CDN, so /items/urinal/* has to be uploaded there before this ships, or production gets a 404 on the model and thumbnail.
What does this PR do?
The bathroom catalog has a toilet but no urinal for shared restroom layouts. Add a generic wall-mounted Urinal to both the editor and MCP catalogs, with a 400 × 650 × 350 mm GLB, a transparent catalog thumbnail, and a matching floor-plan image. It uses the existing wall attachment and mounting-height controls, and exposes separate ceramic and drain paint slots.
The mesh is procedurally authored using the generic elliptical-shell approach from
kkg-agentic-bim; no third-party model or texture is included. The Blender generator and asset README document regeneration, dimensions, orientation, and local preview setup.How to test
bun install, thenNEXT_PUBLIC_ASSETS_CDN_URL=http://localhost:3002 bun dev. The override serves the committed assets locally before they are deployed to the normal asset host.urinal; it should return the same dimensions, assets, andwall-sideattachment as the editor catalog.Validation: repository-wide
bun run checkpassed (2,295 files); editor packagebun run check-typespassed; MCPsrc/tools/place-item.test.tspassed (4 tests); Next.js production build passed on Node 24. The build reports a filesystem-tracing warning in the unchanged MCP SQLite store. Local browser verification covered catalog search, placement on both wall faces, mounting-height adjustment, and 2D orientation. The exported GLB bounds, material slots, and catalog parity were also checked.Screenshots / screen recording
Checklist
bun devbun checkto verify)mainbranchNote
Low Risk
Catalog and static asset additions only; no changes to auth, persistence, or core placement logic beyond a new item entry.
Overview
Adds a generic Urinal bathroom fixture to the editor UI catalog and the MCP built-in catalog, with matching metadata: 0.40 × 0.65 × 0.35 m dimensions, local
/items/urinal/GLB and images,attachTo: 'wall-side', and zero placement offset so mounting height uses existing wall-item controls.Ships committed catalog assets under
apps/editor/public/items/urinal/plus an asset README (dimensions, orientation, material slotsslot_ceramic/slot_drain, regeneration and local CDN preview). A newscripts/generate-urinal.pyBlender 4.5 script procedurally builds the mesh, exportsmodel.glb, and rendersthumbnail.pngandfloor-plan.png—no third-party models or textures.Reviewed by Cursor Bugbot for commit 431981a. Bugbot is set up for automated code reviews on this repo. Configure here.