0.0.6 • Published 8 months ago
kunsam-debugger v0.0.6
项目简介
提供快速简便的全应用调试与打印管理
仅使用基础版本
- vite.config.js
import { ViteConsolePlugin } from 'kunsam-debugger/es/src/vite.console.plugin'
- 应用中封装
import { KDebuggerBase } from 'kunsam-debugger'
import type { ParametricApp } from '@/features/ParametricApp/parametric.app'
export type ParametricAppDebugger = KDebuggerBase<ParametricApp>
export const DEBUG_APP: ParametricAppDebugger = new KDebuggerBase<ParametricApp>({
logOption: {
root: 'src',
level: 2,
exclude: []
},
storageKey: {
consoleLog: '__DEBUG_LOG__',
debugEnable: '__DEBUG_MODE_ENABLED__',
debugState: '__DEBUG_STATE__',
consoleLogState: '__DEBUG_LOG_STATE__'
},
isProduction() {
return false
},
canOpenCenterGui(e: KeyboardEvent) {
return (e.ctrlKey || e.metaKey) && e.altKey && e.code === 'KeyD'
},
registerDebugItems(app: ParametricApp, debugApp: ParametricAppDebugger) {}
})
使用Threejs工具版本
- 默认开启threejsGUI等threejs工具
import { KDebuggerBase, KThreeDebugger, KThreeDebuggerBase } from 'kunsam-debugger'
import type { ParametricApp } from '@/features/ParametricApp/parametric.app'
import { LocalProjectDB } from '@/features/LocalProject/local-project.db'
export type ParametricAppDebugger = KDebuggerBase<ParametricApp>
export const DEBUG_APP: ParametricAppDebugger = new KThreeDebuggerBase<ParametricApp>(
{
logOption: {
root: 'src',
level: 2,
exclude: []
},
storageKey: {
consoleLog: '__DEBUG_LOG__',
debugEnable: '__DEBUG_MODE_ENABLED__',
debugState: '__DEBUG_STATE__',
consoleLogState: '__DEBUG_LOG_STATE__'
},
isProduction() {
return false
},
canOpenCenterGui(e: KeyboardEvent) {
return (e.ctrlKey || e.metaKey) && e.altKey && e.code === 'KeyD'
},
registerDebugItems(app: ParametricApp, debugApp: ParametricAppDebugger) {
debugApp.registerDebugItem({
group: KThreeDebugger.BuildInGroup.threejs,
key: 'threeGui',
name: 'DebugGUI',
defaultOn: true,
desc: '',
run: () => {
app.canvas.enableDebugGUI()
},
dispose: () => {
app.canvas.disposeDebugGUI()
}
})
}
},
{
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)
}
}
)