diff --git a/.changeset/fresh-moons-explode.md b/.changeset/fresh-moons-explode.md new file mode 100644 index 000000000..e374e18a5 --- /dev/null +++ b/.changeset/fresh-moons-explode.md @@ -0,0 +1,7 @@ +--- +"@triplex/editor-next": patch +"@triplex/server": patch +"@docs/triplex": patch +--- + +Triplex WebXR is now available for everyone, see: https://triplex.dev/docs/building-your-scene/webxr. diff --git a/.changeset/tender-trains-promise.md b/.changeset/tender-trains-promise.md new file mode 100644 index 000000000..806b4af96 --- /dev/null +++ b/.changeset/tender-trains-promise.md @@ -0,0 +1,7 @@ +--- +"@triplex/editor-next": patch +"@triplex/server": patch +"@docs/triplex": patch +--- + +The debug panel is now available for everyone, see: https://triplex.dev/docs/building-your-scene/console-logs/debug-panel. diff --git a/apps/docs/pages/docs/building-your-scene/console-logs/debug-panel.mdx b/apps/docs/pages/docs/building-your-scene/console-logs/debug-panel.mdx index fb4e17da6..212ff78a5 100644 --- a/apps/docs/pages/docs/building-your-scene/console-logs/debug-panel.mdx +++ b/apps/docs/pages/docs/building-your-scene/console-logs/debug-panel.mdx @@ -3,18 +3,6 @@ app: Triplex for VS Code description: Log data from anywhere in your components to the debug panel. --- -## Enabling the Feature - -The debug panel is an experimental feature. To enable it you need to turn on the feature gate inside your [Triplex config](/docs/api-reference/config-options): - -```json {2-4} filename=".triplex/config.json" -{ - "experimental": { - "debug_api": true - } -} -``` - ## Installation To get types for the debug panel you need to install a package then update your `tsconfig.json` / `jsconfig.json` to inject global Triplex types. diff --git a/apps/docs/pages/docs/building-your-scene/webxr.mdx b/apps/docs/pages/docs/building-your-scene/webxr.mdx index fe4a1f222..e99497458 100644 --- a/apps/docs/pages/docs/building-your-scene/webxr.mdx +++ b/apps/docs/pages/docs/building-your-scene/webxr.mdx @@ -6,18 +6,6 @@ description: View and edit your 3D components in WebXR. import { VRGogglesIcon } from "@triplex/ux/icons"; -## Enabling the Feature - -Triplex WebXR is an experimental feature in active development. To enable it you need to turn on the feature gate inside your [Triplex config](/docs/api-reference/config-options): - -```json {2-4} filename=".triplex/config.json" -{ - "experimental": { - "xr_editing": true - } -} -``` - The renderer code for Triplex WebXR is open source and [available on GitHub](https://github.com/trytriplex/triplex/tree/main/packages/renderer/src/features/webxr). diff --git a/apps/docs/public/config.schema.json b/apps/docs/public/config.schema.json index 66e9a93d0..e09babe3e 100644 --- a/apps/docs/public/config.schema.json +++ b/apps/docs/public/config.schema.json @@ -42,16 +42,6 @@ }, "experimental": { "description": "Unstable experimental features that are still in development. Use with caution.", - "properties": { - "debug_api": { - "description": "Enables the debug panel.\n\nSee: https://triplex.dev/docs/building-your-scene/console-logs/debug-panel", - "type": "boolean" - }, - "xr_editing": { - "description": "Enables Triplex WebXR support for 3D components.\n\nSee: https://triplex.dev/docs/building-your-scene/webxr", - "type": "boolean" - } - }, "type": "object" }, "files": { diff --git a/apps/docs/public/sitemap.xml b/apps/docs/public/sitemap.xml index 4fb161f62..033f20036 100644 --- a/apps/docs/public/sitemap.xml +++ b/apps/docs/public/sitemap.xml @@ -193,7 +193,7 @@ https://triplex.dev/docs/building-your-scene/webxr - 2026-01-22 + 2026-01-25 monthly 0.5 @@ -247,7 +247,7 @@ https://triplex.dev/docs/building-your-scene/console-logs/debug-panel - 2026-01-22 + 2026-01-25 monthly 0.5 diff --git a/examples/mecha/.triplex/config.json b/examples/mecha/.triplex/config.json index 8a785cb88..32131665c 100644 --- a/examples/mecha/.triplex/config.json +++ b/examples/mecha/.triplex/config.json @@ -3,9 +3,5 @@ "components": ["../src/components/*.tsx"], "files": ["../src/**/*.tsx"], "provider": "./provider.tsx", - "renderer": "../../../packages/renderer/src/index.tsx", - "experimental": { - "xr_editing": true, - "debug_api": true - } + "renderer": "../../../packages/renderer/src/index.tsx" } diff --git a/examples/react-only/.triplex/config.json b/examples/react-only/.triplex/config.json index e7380f9e5..df0b92ef8 100644 --- a/examples/react-only/.triplex/config.json +++ b/examples/react-only/.triplex/config.json @@ -1,4 +1,3 @@ { - "$schema": "https://triplex.dev/config.schema.json", - "experimental": { "xr_editing": true } + "$schema": "https://triplex.dev/config.schema.json" } diff --git a/examples/test-fixture/.triplex/config.json b/examples/test-fixture/.triplex/config.json index bc31880c3..42894e6c3 100644 --- a/examples/test-fixture/.triplex/config.json +++ b/examples/test-fixture/.triplex/config.json @@ -1,7 +1,6 @@ { "$schema": "https://triplex.dev/config.schema.json", "components": ["../src/geometry/**/*.tsx"], - "experimental": { "debug_api": true, "xr_editing": true }, "files": ["../src/**/*.tsx"], "provider": "./provider.tsx" } diff --git a/packages/@triplex/editor-next/src/features/app-root/dialogs.tsx b/packages/@triplex/editor-next/src/features/app-root/dialogs.tsx index 31d2e57b3..a64c21c71 100644 --- a/packages/@triplex/editor-next/src/features/app-root/dialogs.tsx +++ b/packages/@triplex/editor-next/src/features/app-root/dialogs.tsx @@ -5,7 +5,6 @@ * see this files license find the nearest LICENSE file up the source tree. */ -import { fg } from "@triplex/lib/fg"; import { useDialogs } from "../../stores/dialogs"; import { Feedback } from "../feedback"; import { OpenInWebXR } from "../webxr"; @@ -17,7 +16,7 @@ export function Dialogs() { return ; } - if (shownDialog === "open_in_xr" && fg("xr_editing")) { + if (shownDialog === "open_in_xr") { return ; } diff --git a/packages/@triplex/editor-next/src/features/floating-controls/index.tsx b/packages/@triplex/editor-next/src/features/floating-controls/index.tsx index 42333de22..fc0df1f8e 100644 --- a/packages/@triplex/editor-next/src/features/floating-controls/index.tsx +++ b/packages/@triplex/editor-next/src/features/floating-controls/index.tsx @@ -19,7 +19,6 @@ import { type MenuControl, } from "@triplex/bridge/host"; import { cn } from "@triplex/lib"; -import { fg } from "@triplex/lib/fg"; import { ButtonControl, ButtonGroupControl, @@ -277,7 +276,7 @@ export function FloatingControls() { onClick={() => showDialog("help")} /> - {fg("xr_editing") && ( + { showDialog("open_in_xr")} /> - )} + } ); } diff --git a/packages/@triplex/editor-next/src/features/panels/index.tsx b/packages/@triplex/editor-next/src/features/panels/index.tsx index 1028e5435..534183402 100644 --- a/packages/@triplex/editor-next/src/features/panels/index.tsx +++ b/packages/@triplex/editor-next/src/features/panels/index.tsx @@ -6,7 +6,6 @@ */ import { LayersIcon, Pencil2Icon } from "@radix-ui/react-icons"; import { cn } from "@triplex/lib"; -import { fg } from "@triplex/lib/fg"; import { useScreenView } from "@triplex/ux"; import { Suspense, useEffect, useRef, useState } from "react"; import { IconButton } from "../../components/button"; @@ -149,7 +148,7 @@ export function Panels() {
- {fg("debug_api") && } +
diff --git a/packages/@triplex/server/src/types.ts b/packages/@triplex/server/src/types.ts index b67369ff9..25c71fb4c 100644 --- a/packages/@triplex/server/src/types.ts +++ b/packages/@triplex/server/src/types.ts @@ -162,21 +162,8 @@ export interface TriplexConfig { * Unstable experimental features that are still in development. Use with * caution. */ - experimental?: { - /** - * Enables the debug panel. - * - * See: - * https://triplex.dev/docs/building-your-scene/console-logs/debug-panel - */ - debug_api?: boolean; - /** - * Enables Triplex WebXR support for 3D components. - * - * See: https://triplex.dev/docs/building-your-scene/webxr - */ - xr_editing?: boolean; - }; + // eslint-disable-next-line @typescript-eslint/no-empty-object-type + experimental?: {}; /** * An array of relative path globs to select what files can be opened by * Triplex. You can define multiple roots. Found files will be available to diff --git a/packages/@triplex/server/src/util/config.ts b/packages/@triplex/server/src/util/config.ts index c1dda2c00..e33103bee 100644 --- a/packages/@triplex/server/src/util/config.ts +++ b/packages/@triplex/server/src/util/config.ts @@ -6,7 +6,7 @@ */ import { readdirSync, readFileSync } from "node:fs"; import { join, normalize, resolve } from "@triplex/lib/path"; -import { array, boolean, object, optional, parse, string } from "valibot"; +import { array, object, optional, parse, string } from "valibot"; import { type ReconciledTriplexConfig, type SecretTriplexConfig, @@ -26,12 +26,7 @@ const schema = object({ assetsDir: optional(string()), components: optional(array(string())), define: optional(object({})), - experimental: optional( - object({ - debug_api: optional(boolean()), - xr_editing: optional(boolean()), - }), - ), + experimental: optional(object({})), files: optional(array(string())), provider: optional(string()), publicDir: optional(string()),