Commit Graph
894 Commits
Author SHA1 Message Date
sudhir 564bfa229e Merge remote-tracking branch 'origin/main' into fix/fri-8-may
# Conflicts:
#	packages/editor/src/components/tools/fence/move-fence-endpoint-tool.tsx
#	packages/editor/src/components/tools/select/box-select-tool.tsx
#	packages/editor/src/components/tools/wall/move-wall-tool.tsx
#	packages/editor/src/components/ui/panels/column-panel.tsx
#	packages/editor/src/components/ui/panels/door-panel.tsx
#	packages/editor/src/components/ui/panels/window-panel.tsx
#	packages/viewer/src/components/renderers/column/column-renderer.tsx
#	packages/viewer/src/components/viewer/index.tsx
#	packages/viewer/src/systems/slab/slab-system.tsx
2026-05-12 00:27:06 +05:30
sudhir d78308b366 Hide inapplicable door and window panel settings 2026-05-12 00:05:41 +05:30
sudhir be41511474 Fix wall move junction ownership 2026-05-11 23:46:57 +05:30
Wassim SAMADandGitHub 3326517de7 Merge pull request #301 from pascalorg/chore/agents
Restructure agent config: unified .agents/skills + wiki/architecture
2026-05-11 09:59:41 -04:00
Wassim SAMADandClaude Opus 4.7 cf07fcaa97 Restructure agent config: unified .agents/skills + wiki/architecture
Replace per-tool rule trees (.cursor/rules, .claude/rules, .codex/rules)
with a single wiki/architecture/ source — 11 pages + README — readable
as plain markdown by any agent. Canonical skills live in .agents/skills/;
.claude/skills, .cursor/skills, .codex/skills are directory symlinks.

AGENTS.md is the entrypoint (rewritten as a lean overview, no per-tool
path lists). CLAUDE.md, GEMINI.md, and .github/copilot-instructions.md
all point to it.

Add open-pr skill (uses .github/pull_request_template.md as the source
of truth for the PR body) and remove the dangling .claude/CLAUDE.md
relative symlink.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 09:51:25 -04:00
sudhir afadfb2ea8 Guard viewer BVH against empty geometries 2026-05-11 11:24:44 +05:30
Wassim SAMADandGitHub ca333dd912 Merge pull request #299 from pascalorg/fix/release-peerdep-sync
Fix/release peerdep sync
2026-05-10 20:25:40 -04:00
Wawa 6488efe296 bun lock 2026-05-10 09:13:03 -04:00
Wawa 8921e341cc Bump inter-package peerDeps to ^0.8.0 + fix release.yml sync bug
Two bugs in one fix:

1. The 0.8.0 release commit only bumped .version, not the inter-package
   peerDependencies / devDependencies. So the published packages still
   declared peer constraints like "@pascal-app/viewer": "^0.7.0". Caret
   in semver 0.x doesn't allow 0.8.0 to satisfy ^0.7.0, so bun resolves
   workspace consumers (and apps/editor's deep import paths) to the
   stale npm-published 0.7.0 instead of the workspace 0.8.0 — meaning
   local edits never show up in apps/editor or any linked consumer.

2. The release.yml sync step was using $GITHUB_ENV to read back the new
   versions in the same step, which doesn't work — env-file writes only
   surface in subsequent steps. Switched to a bash associative array
   (NEW_VERSIONS) for in-step lookup, kept the $GITHUB_ENV write for the
   downstream publish/commit/tag steps. Also added a final "refs after
   sync" debug print so this is visible in the workflow log.

After this lands and you bun install, packages/editor/node_modules/@pascal-app/viewer
should symlink to the workspace packages/viewer/, not to .bun/@pascal-app+viewer@0.7.0.
Future releases will sync peerDeps correctly on their own.
2026-05-10 13:12:08 +00:00
sudhir 4956de4910 Refine column support selection and polygon handling 2026-05-10 12:51:57 +05:30
sudhir 92a9846193 Refactor elevator systems across core, viewer, and editor 2026-05-10 12:38:44 +05:30
sudhir 909f96ef09 Improve elevator floorplan resize and drag controls 2026-05-10 12:20:53 +05:30
sudhir fdf08c091f Add elevator floorplan overlay 2026-05-10 10:50:22 +05:30
github-actions[bot] 60dbfcd3fe release: @pascal-app/core@0.8.0 @pascal-app/viewer@0.8.0 @pascal-app/editor@0.8.0 @pascal-app/mcp@0.2.0 2026-05-10 00:41:38 +00:00
Wassim SAMADandGitHub 747d8c9ad4 Merge pull request #298 from pascalorg/chore/community-merge
Chore/community merge
2026-05-09 20:37:12 -04:00
Wawa 7f74e18456 Update bun.lock from macOS install
Lockfile dedup pass after running bun install on macOS — picks up the
darwin-arm64 native binaries hoisted to top-level node_modules and removes
a redundant cmdk@radix nested resolution edge that wasn't needed.
2026-05-10 00:33:36 +00:00
Wawa c89d392147 Add shared styles/elevation.css used by apps/editor globals
apps/editor/app/globals.css imports '../../../styles/elevation.css', a shared
elevation/shadow utility set used across both private-editor's apps and the
public editor-v2 apps/editor. Was missing from this repo because the swap
covered packages/{core,viewer,editor,mcp} and apps/editor but not the
top-level styles/ directory.

Copied verbatim from private-editor.
2026-05-10 00:21:02 +00:00
Wawa b27e53415f Hoist platform-specific native packages via root optionalDependencies
Real root cause:
Tailwind v4's lightningcss is invoked from a Turbopack-bundled postcss.js at
runtime. Turbopack resolves require() against the workspace's TOP-LEVEL
node_modules, not against bun's nested .bun/ store. So even when
lightningcss-darwin-arm64 is correctly installed inside .bun/ with proper
symlinks, Turbopack can't see it — and lightningcss falls back to a sibling
'.node' file which doesn't exist, hence the runtime error.

Private-editor accidentally works because it has TWO lightningcss versions
(1.27.0 from Expo + 1.32.0 from Tailwind), which forces bun's hoisting
algorithm to put one copy at the top level. Editor-v2 has only one version,
so bun keeps it nested in .bun/ and nothing is at top-level.

Fix: declare the platform binary packages as optionalDependencies at the
WORKSPACE ROOT (not apps/editor). Root deps are always hoisted to top-level
node_modules, so Turbopack's resolver finds them. Bun still applies the
os/cpu filter at install time, so each developer only ends up with their
host's binaries on disk.

Verified on Linux: node_modules/lightningcss-linux-arm64-gnu is a top-level
symlink after install. On macOS, the darwin variants will be hoisted instead.
2026-05-10 00:14:28 +00:00
sudhir 263228cbf0 Add cab door-open control and align elevator buttons 2026-05-10 02:28:00 +05:30
Wawa e618175bba Reset core/viewer/editor/mcp packages and apps/editor from private-editor
Wholesale swap of packages/{core,viewer,editor,mcp} and apps/editor with the
versions from the private editor repo, which is the production source of truth.

Setup changes:
- packages/{core,viewer,editor} versions held at 0.7.0 baseline (matching
  the most recent published release) so a bump=minor publishes 0.8.0
- packages/mcp held at 0.1.1 (never published; first publish will go through
  the new release.yml flow)
- peerDependencies and devDependencies for inter-package @pascal-app/*
  references pinned to ^0.7.0 instead of '*' / 'workspace:*' so they are
  valid for npm consumers
- Root package.json: TypeScript bumped to 6.0.2, added overrides for
  @types/react, @types/react-dom, @types/three to prevent JSX namespace
  fragmentation across the workspace
- release.yml extended to also publish editor and mcp; 'both' option renamed
  to 'all'; added a sync step that updates inter-package peerDeps/devDeps to
  match the new versions on every bump (so viewer/editor/mcp tarballs always
  reference the version of core they were built against)
- Root scripts gained release:editor and release:mcp shortcuts

Verification:
- bun install --frozen-lockfile is consistent
- packages/{core,viewer,mcp} build cleanly, dist/index.d.ts emitted
- packages/editor check-types reports 21 pre-existing errors, identical to
  what private-editor currently reports

Open PRs against editor-v2 will need rebasing/conflict resolution.
2026-05-09 20:52:26 +00:00
open-pascal 146f0a846f release: v0.7.0 2026-05-09 14:37:55 +00:00
sudhir 2480be91b1 Optimize elevator editing performance with live previews 2026-05-09 19:09:48 +05:30
Pascal 95551ab534 docs: add sudhir9297 to contributors 2026-05-09 02:25:25 +00:00
Pascal 723ae14e9b release: v0.6.1 2026-05-09 02:25:15 +00:00
sudhir 0514363136 Add column hit testing and align column defaults 2026-05-08 14:31:58 +05:30
sudhir 53393b7def Add procedural support column variants 2026-05-08 12:54:59 +05:30
Wassim SAMADandGitHub e348ccdb08 Merge pull request #296 from sudhir9297/wed-6-may-bug-fix
fix: Improve item surface placement, floorplan resizing, and placement preview stability
2026-05-07 13:09:20 -04:00
Wassim SAMADandGitHub 485ad745ac Merge pull request #295 from sudhir9297/feat/window-improvement
feat: Expand window types, animations, and first-person behavior
2026-05-07 11:52:45 -04:00
Wassim SAMADandGitHub 25566f9182 Merge pull request #293 from sudhir9297/feat/door-improvement
Feat/door improvement
2026-05-07 08:47:57 -04:00
sudhir c0a21058d4 fix list 2026-05-07 17:01:06 +05:30
sudhir d2d714ba68 Smooth window animations and bay caps 2026-05-07 16:20:22 +05:30
sudhir 8f6a8fbe8b Add first-person window interaction 2026-05-07 13:50:30 +05:30
sudhir 133d81e563 Refine window corner shape support 2026-05-07 13:34:16 +05:30
sudhir eef19804d1 Merge branch 'main' into feat/door-improvement
# Conflicts:
#	packages/core/src/events/bus.ts
#	packages/viewer/src/systems/door/door-system.tsx
2026-05-07 10:40:51 +05:30
sudhir cef3f24dad Move door animations into viewer system 2026-05-07 10:11:25 +05:30
sudhir 34c847620f Fix floor item placement cursor height 2026-05-06 15:56:46 +05:30
sudhir 7e86e4628c Fix item surface placement and remove item height annotations 2026-05-06 15:13:37 +05:30
sudhir d403606b72 Add floorplan side resizing handles 2026-05-06 14:18:44 +05:30
sudhir 70933adf9d Fix floorplan player move and action menu anchoring 2026-05-06 13:54:05 +05:30
sudhir 0de07d6130 Separate runtime door animation and add dual-side handles 2026-05-06 11:22:50 +05:30
Wassim SAMADandGitHub 5f57e9bb09 Merge pull request #292 from sudhir9297/feat/mon-4-feat-fix
feat: column node with door/window nodes improvement
2026-05-05 16:39:21 -04:00
Wassim SAMADandGitHub 27b18af56c Merge pull request #294 from pascalorg/chore/items-catalog-update
Chore/items catalog update
2026-05-05 09:10:03 -04:00
wass08 3a181e57da remove override 2026-05-05 09:09:18 -04:00
wass08 823168ddf4 default catalog update 2026-05-05 09:04:49 -04:00
sudhir f5f80d0f3f Centralize door animation state and operation mapping 2026-05-05 17:23:48 +05:30
sudhir 0ef2254e6b Fix first-person door toggles and colliders 2026-05-05 17:14:28 +05:30
sudhir 6df4b4895c Add garage door types and animated door controls 2026-05-05 14:20:41 +05:30
sudhir 1490d280d4 Refine editor layer boundaries and selection handling 2026-05-05 13:26:39 +05:30
Wassim SAMADandGitHub fe34126d00 Merge pull request #290 from pascalorg/feat/precise-dimensions-sync
feat(editor): precise item dimensions — static bounding boxes, grid-aligned placement
2026-05-04 16:10:20 -04:00
Pascal 1002a0a980 feat(editor): precise item dimensions — static bounding boxes, placement-math, remove item-mesh-metadata system
- Replace runtime mesh-based bounding-box computation with static dimension-based polygons for item footprints
- Add snapUpToGridStep() and getGridAlignedDimensions() to placement-math for grid-cell-aligned placement wireframes
- Add expandBoundsToGrid() to use-placement-coordinator for consistent wireframe snapping
- Add currentCursorRotationY to PlacementContext; preserve world orientation across item-surface transitions
- Fix item detach from surface: use worldToBuildingLocal() instead of event.localPosition to avoid coordinate-space jump
- Subscribe to useLiveTransforms in FloorplanPanel during placement so R/T keyboard rotation refreshes the 2D overlay immediately
- Fix FloorplanItemImage rotation (+180° to account for top-down camera capture orientation)
- Simplify spatial-grid-manager: single dimension-based getItemLocalBounds(), removes runtime mesh-metadata path
- Remove item-mesh-metadata system (compute-item-mesh-metadata, item-mesh-metadata-system, sync-request)
2026-05-04 19:35:41 +00:00