Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions apps/editor/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"build": "dotenv -e ../../.env.local -- next build",
"start": "next start",
"lint": "biome lint",
"check-types": "next typegen && tsc --noEmit"
"check-types": "next typegen && tsgo --noEmit"
},
"dependencies": {
"@iconify/react": "^6.0.2",
Expand All @@ -25,7 +25,7 @@
"clsx": "^2.1.1",
"geist": "^1.7.0",
"lucide-react": "^1.7.0",
"next": "16.2.6",
"next": "16.2.9",
"postcss": "^8.5.6",
"react": "^19.2.4",
"react-dom": "^19.2.4",
Expand Down
4 changes: 2 additions & 2 deletions apps/ifc-converter/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"build": "next build",
"start": "next start",
"lint": "biome lint",
"check-types": "next typegen && tsc --noEmit"
"check-types": "next typegen && tsgo --noEmit"
},
"dependencies": {
"@pascal-app/core": "*",
Expand All @@ -23,7 +23,7 @@
"@react-three/fiber": "^9.5.0",
"@tailwindcss/postcss": "^4.2.1",
"clsx": "^2.1.1",
"next": "16.2.6",
"next": "16.2.9",
"postcss": "^8.5.6",
"react": "^19.2.4",
"react-dom": "^19.2.4",
Expand Down
41 changes: 29 additions & 12 deletions bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
},
"devDependencies": {
"@biomejs/biome": "^2.4.16",
"@typescript/native-preview": "7.0.0-dev.20260624.1",
"dotenv-cli": "^11.0.0",
"turbo": "^2.9.17",
"typescript": "6.0.3",
Expand Down
2 changes: 1 addition & 1 deletion packages/core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@
],
"scripts": {
"build": "tsc --build",
"dev": "tsc --build --watch",
"dev": "tsgo --build --watch",
"test": "bun test",
"bench:registry": "bun run src/registry/__bench__/relations-resolver.bench.ts",
"prepublishOnly": "npm run build"
Expand Down
2 changes: 1 addition & 1 deletion packages/editor/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"./catalog": "./src/components/ui/item-catalog/catalog-items.tsx"
},
"scripts": {
"check-types": "tsc --noEmit"
"check-types": "tsgo --noEmit"
},
"peerDependencies": {
"@pascal-app/core": "^0.9.1",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import {
type ZoneNode,
} from '@pascal-app/core'
import { useViewer } from '@pascal-app/viewer'
import type { ThreeElements } from '@react-three/fiber'
import { useThree } from '@react-three/fiber'
import { useCallback, useEffect, useRef } from 'react'
import {
Expand All @@ -34,12 +33,6 @@ import { CursorSphere } from '../shared/cursor-sphere'
import { isBoxSelectPointerSuppressed, markBoxSelectHandled } from './box-select-state'
import { collectSelectableCandidateIds } from './select-candidates'

declare module 'react/jsx-runtime' {
namespace JSX {
interface IntrinsicElements extends ThreeElements {}
}
}

type Bounds = { minX: number; maxX: number; minZ: number; maxZ: number }

const BOX_SELECT_ACCENT_COLOR = '#818cf8'
Expand Down
2 changes: 1 addition & 1 deletion packages/ifc-converter/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
],
"scripts": {
"build": "tsc --build",
"dev": "tsc --build --watch",
"dev": "tsgo --build --watch",
"prepublishOnly": "npm run build"
},
"dependencies": {
Expand Down
2 changes: 1 addition & 1 deletion packages/mcp/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
],
"scripts": {
"build": "tsc --build",
"dev": "tsc --build --watch",
"dev": "tsgo --build --watch",
"start": "bun dist/bin/pascal-mcp.js",
"test": "bun test",
"smoke": "bun run scripts/smoke.ts",
Expand Down
2 changes: 1 addition & 1 deletion packages/nodes/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
],
"scripts": {
"build": "tsc --build",
"dev": "tsc --build --watch",
"dev": "tsgo --build --watch",
"test": "bun test",
"prepublishOnly": "bun run build && bun test"
},
Expand Down
2 changes: 1 addition & 1 deletion packages/ui/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"scripts": {
"lint": "eslint . --max-warnings 0",
"generate:component": "turbo gen react-component",
"check-types": "tsc --noEmit"
"check-types": "tsgo --noEmit"
},
"devDependencies": {
"@repo/eslint-config": "*",
Expand Down
2 changes: 1 addition & 1 deletion packages/viewer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
],
"scripts": {
"build": "tsc --build",
"dev": "tsc --build --watch",
"dev": "tsgo --build --watch",
"prepublishOnly": "npm run build"
},
"peerDependencies": {
Expand Down
12 changes: 10 additions & 2 deletions packages/viewer/src/components/viewer/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import {
sceneRegistry,
useScene,
} from '@pascal-app/core'
import { Canvas, extend, type ThreeToJSXElements, useFrame, useThree } from '@react-three/fiber'
import { Canvas, extend, type ThreeElement, useFrame, useThree } from '@react-three/fiber'
import {
forwardRef,
useEffect,
Expand Down Expand Up @@ -38,7 +38,15 @@ import { SelectionManager } from './selection-manager'
import { ViewerCamera } from './viewer-camera'

declare module '@react-three/fiber' {
interface ThreeElements extends ThreeToJSXElements<typeof THREE> {}
// The TS 7 native compiler (tsgo) rejects mapping the entire `three/webgpu`
// namespace into JSX — `ThreeToJSXElements<typeof THREE>` triggers a TS2320
// heritage conflict with R3F's core-three base plus a TS2590 "union too
// complex". tsc 6 tolerates it; tsgo does not. R3F's base ThreeElements
// already covers core three, so we extract only the webgpu/TSL node materials
// we actually use as JSX (see r3f.docs.pmnd.rs/api/typescript).
interface ThreeElements {
lineBasicNodeMaterial: ThreeElement<typeof THREE.LineBasicNodeMaterial>
}
}

extend(THREE as any)
Expand Down
Loading