feat: enable custom tools in staging, add BlenderGen to context menu

- Changed feature flags to use VITE_WORKER_ENV instead of PROD
- Staging environment now shows experimental tools (Drawfast, Calendar, Workflow)
- Added BlenderGen to context menu "Create Tool" submenu
- Tools now available in both toolbar and right-click menu

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Jeff Emmett 2026-01-02 15:35:44 +01:00
parent a45ad2844d
commit f17d6dea17
2 changed files with 15 additions and 10 deletions

View File

@ -15,11 +15,13 @@ import {
cameraHistory, cameraHistory,
} from "./cameraUtils" } from "./cameraUtils"
// Feature flags - disable experimental features in production // Feature flags - enable experimental features in dev/staging, disable in production
const IS_PRODUCTION = import.meta.env.PROD // Use VITE_WORKER_ENV to determine environment (staging is NOT production)
const ENABLE_DRAWFAST = !IS_PRODUCTION // Drawfast - dev only const WORKER_ENV = import.meta.env.VITE_WORKER_ENV || 'production'
const ENABLE_CALENDAR = !IS_PRODUCTION // Calendar - dev only const IS_PRODUCTION_ONLY = WORKER_ENV === 'production' // Only true for actual production
const ENABLE_WORKFLOW = !IS_PRODUCTION // Workflow - dev only const ENABLE_DRAWFAST = !IS_PRODUCTION_ONLY // Drawfast - dev/staging only
const ENABLE_CALENDAR = !IS_PRODUCTION_ONLY // Calendar - dev/staging only
const ENABLE_WORKFLOW = !IS_PRODUCTION_ONLY // Workflow - dev/staging only
import { useState, useEffect } from "react" import { useState, useEffect } from "react"
import { saveToPdf } from "../utils/pdfUtils" import { saveToPdf } from "../utils/pdfUtils"
import { TLFrameShape } from "tldraw" import { TLFrameShape } from "tldraw"
@ -135,6 +137,7 @@ export function CustomContextMenu(props: TLUiContextMenuProps) {
<TldrawUiMenuItem {...tools.ChatBox} /> <TldrawUiMenuItem {...tools.ChatBox} />
<TldrawUiMenuItem {...tools.ImageGen} /> <TldrawUiMenuItem {...tools.ImageGen} />
<TldrawUiMenuItem {...tools.VideoGen} /> <TldrawUiMenuItem {...tools.VideoGen} />
<TldrawUiMenuItem {...tools.BlenderGen} />
{ENABLE_DRAWFAST && <TldrawUiMenuItem {...tools.Drawfast} />} {ENABLE_DRAWFAST && <TldrawUiMenuItem {...tools.Drawfast} />}
<TldrawUiMenuItem {...tools.Markdown} /> <TldrawUiMenuItem {...tools.Markdown} />
<TldrawUiMenuItem {...tools.ObsidianNote} /> <TldrawUiMenuItem {...tools.ObsidianNote} />

View File

@ -17,11 +17,13 @@ import { FathomMeetingsPanel } from "../components/FathomMeetingsPanel"
// Workflow Builder palette // Workflow Builder palette
import WorkflowPalette from "../components/workflow/WorkflowPalette" import WorkflowPalette from "../components/workflow/WorkflowPalette"
// Feature flags - disable experimental features in production // Feature flags - enable experimental features in dev/staging, disable in production
const IS_PRODUCTION = import.meta.env.PROD // Use VITE_WORKER_ENV to determine environment (staging is NOT production)
const ENABLE_WORKFLOW = !IS_PRODUCTION // Workflow blocks - dev only const WORKER_ENV = import.meta.env.VITE_WORKER_ENV || 'production'
const ENABLE_CALENDAR = !IS_PRODUCTION // Calendar - dev only const IS_PRODUCTION_ONLY = WORKER_ENV === 'production' // Only true for actual production
const ENABLE_DRAWFAST = !IS_PRODUCTION // Drawfast - dev only const ENABLE_WORKFLOW = !IS_PRODUCTION_ONLY // Workflow blocks - dev/staging only
const ENABLE_CALENDAR = !IS_PRODUCTION_ONLY // Calendar - dev/staging only
const ENABLE_DRAWFAST = !IS_PRODUCTION_ONLY // Drawfast - dev/staging only
import { getFathomApiKey, saveFathomApiKey, removeFathomApiKey, isFathomApiKeyConfigured } from "../lib/fathomApiKey" import { getFathomApiKey, saveFathomApiKey, removeFathomApiKey, isFathomApiKeyConfigured } from "../lib/fathomApiKey"
import { getMyConnections, updateEdgeMetadata, createConnection, removeConnection, updateTrustLevel } from "../lib/networking/connectionService" import { getMyConnections, updateEdgeMetadata, createConnection, removeConnection, updateTrustLevel } from "../lib/networking/connectionService"
import { TRUST_LEVEL_COLORS, type TrustLevel, type UserConnectionWithProfile, type EdgeMetadata } from "../lib/networking/types" import { TRUST_LEVEL_COLORS, type TrustLevel, type UserConnectionWithProfile, type EdgeMetadata } from "../lib/networking/types"