0.0.5 • Published 11 months ago

kunsam-three-debugger v0.0.5

Weekly downloads
-
License
-
Repository
-
Last release
11 months ago

使用

import { KunsamThreeDebuggerBase, KunsamThreeDebugger } from './debug'
import { KunsamVueDebugger } from 'kunsam-react-debugger'
import type { ParametricApp } from '@/features/ParametricApp/parametric.app'

export type ParametricAppDebugger = KunsamThreeDebuggerBase<ParametricApp>

export const DEBUG_APP: ParametricAppDebugger = new KunsamThreeDebuggerBase<ParametricApp>({
  logOption: {
    root: 'src',
    level: 2,
    exclude: []
  },
  storageKey: {
    consoleLog: '__DEBUG_LOG__',
    debugEnable: '__DEBUG_MODE_ENABLED__',
    debugState: '__DEBUG_STATE__',
    consoleLogState: '__DEBUG_LOG_STATE__'
  },
  threejs: {
    getRenderer(app) {
      return app.canvas.renderer
    },
    getScene(app) {
      return app.canvas.scene
    },
    getCamera(app) {
      return app.canvas.Base_Control.camera
    },
    addToAfterRenderFrame(app, cb) {
      app.canvas.afterRenderFrameSet.add(cb)
    },
    removeAfterRenderFrame(app, cb) {
      app.canvas.afterRenderFrameSet.delete(cb)
    },
    addToBeforeRenderFrame(app, cb) {
      app.canvas.beforeRenderFrameSet.add(cb)
    },
    removeBeforeRenderFrame(app, cb) {
      app.canvas.afterRenderFrameSet.delete(cb)
    }
  },
  isProduction() {
    return false
  },
  canOpenCenterGui(e: KeyboardEvent) {
    return e.altKey && e.code === 'KeyD'
  },
  registerDebugItems(app: ParametricApp, debugApp: ParametricAppDebugger) {

    debugApp.registerDebugItem({
      key: '_vue_debug_',
      name: 'Vue点击追踪',
      defaultOn: true,
      group: 'vue',
      desc: '点击vue元素后编辑器自动打开跳转对应代码位置',
      run: () => {
        KunsamVueDebugger.start({
          domList: [],
          maxDepth: 10,
          /* 使用Vscode的话可以展示调用栈,直接用浏览器打开只打开叶节点组件文件 */
          useVscodePlugin: true
        })
      },
      dispose: () => {
        KunsamVueDebugger.end()
      }
    })
    debugApp.registerDebugItem({
      group: KunsamThreeDebugger.BuildInGroup.threejs,
      key: 'threeGui',
      name: 'DebugGUI',
      defaultOn: true,
      desc: '',
      run: () => {
        app.canvas.enableDebugGUI()
      },
      dispose: () => {
        app.canvas.disposeDebugGUI()
      }
    })
  }
})
0.0.5

11 months ago

0.0.4

11 months ago

0.0.3

11 months ago

0.0.2

11 months ago

0.0.1

11 months ago