valence-cli 1.2.3 → 1.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -1
- package/README.original.md +5 -1
- package/dist/commands/add.js +1 -1
- package/dist/commands/build.js +1 -1
- package/dist/commands/codegen.js +1 -1
- package/dist/commands/doctor.js +1 -1
- package/dist/commands/generate.js +1 -1
- package/dist/commands/lifecycle.js +1 -1
- package/dist/commands/new.d.ts.map +1 -1
- package/dist/commands/new.js +1 -1
- package/dist/commands/new.js.map +1 -1
- package/dist/commands/publish.js +1 -1
- package/dist/commands/template.js +1 -1
- package/dist/index.js +1 -1
- package/dist/preview.gif +0 -0
- package/dist/templates/angular.d.ts +3 -3
- package/dist/templates/angular.d.ts.map +1 -1
- package/dist/templates/angular.js +1 -1
- package/dist/templates/angular.js.map +1 -1
- package/dist/templates/components.js +1 -1
- package/dist/templates/config.js +1 -1
- package/dist/templates/electron.js +1 -1
- package/dist/templates/index.js +1 -1
- package/dist/templates.js +1 -1
- package/dist/utils/logger.js +1 -1
- package/dist/utils/update.d.ts +1 -0
- package/dist/utils/update.d.ts.map +1 -1
- package/dist/utils/update.js +1 -1
- package/dist/utils/update.js.map +1 -1
- package/dist/utils/validation.js +1 -1
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export declare const stylesScssTemplate = "\nhtml, body {\n margin: 0;\n padding: 0;\n width: 100%;\n height: 100%;\n overflow: hidden;\n background-color: #0d0d0d;\n font-family: 'Segoe UI', sans-serif;\n color: #fff;\n}\n";
|
|
2
2
|
export declare const appComponentTsTemplate = "\nimport { Component, NgZone, AfterViewInit, OnDestroy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterOutlet } from '@angular/router';\nimport { ValenceEngineService } from './valence-engine.service';\nimport { TopnavComponent } from './core/topnav/topnav.component';\n\n@Component({\n selector: 'app-root',\n standalone: true,\n imports: [CommonModule, RouterOutlet, TopnavComponent],\n templateUrl: './app.component.html',\n styleUrl: './app.component.scss'\n})\nexport class AppComponent implements AfterViewInit, OnDestroy {\n public title: string = 'Valence Project';\n\n constructor(public engineService: ValenceEngineService, private ngZone: NgZone) {}\n\n ngAfterViewInit(): void {\n const canvas = document.getElementById('renderCanvas') as HTMLCanvasElement;\n if (canvas) {\n this.ngZone.runOutsideAngular(() => {\n this.engineService.initEngine(canvas);\n });\n }\n }\n\n ngOnDestroy(): void {\n this.engineService.dispose();\n }\n}\n";
|
|
3
|
-
export declare const appComponentHtmlTemplate = "\n<div class=\"app-container\">\n <app-topnav [title]=\"title\"></app-topnav>\n <div class=\"canvas-wrapper\">\n <canvas #renderCanvas id=\"renderCanvas\"></canvas>\n \n <!-- UI Overlay -->\n <div class=\"ui-overlay\">\n <div class=\"logo-container\">\n <svg width=\"200\" height=\"200\" viewBox=\"0 0 200 200\" xmlns=\"http://www.w3.org/2000/svg\">\n <defs>\n <filter id=\"bloom\" x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\">\n <feGaussianBlur stdDeviation=\"3\" result=\"coloredBlur\"/>\n <feMerge>\n <feMergeNode in=\"coloredBlur\"/>\n <feMergeNode in=\"SourceGraphic\"/>\n </feMerge>\n </filter>\n <linearGradient id=\"lineGradient\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"100%\">\n <stop offset=\"0%\" style=\"stop-color:#47848F;stop-opacity:0.2\" />\n <stop offset=\"50%\" style=\"stop-color:#47848F;stop-opacity:0.8\" />\n <stop offset=\"100%\" style=\"stop-color:#DD0031;stop-opacity:0.2\" />\n </linearGradient>\n </defs>\n \n <!-- Neural Connections (Axons) -->\n <g stroke=\"url(#lineGradient)\" stroke-width=\"2\" filter=\"url(#bloom)\">\n <!-- Main V Structure -->\n <line x1=\"50\" y1=\"50\" x2=\"100\" y2=\"150\" />\n <line x1=\"150\" y1=\"50\" x2=\"100\" y2=\"150\" />\n \n <!-- Network Interconnects -->\n <line x1=\"50\" y1=\"50\" x2=\"80\" y2=\"90\" />\n <line x1=\"150\" y1=\"50\" x2=\"120\" y2=\"90\" />\n <line x1=\"80\" y1=\"90\" x2=\"120\" y2=\"90\" opacity=\"0.5\"/>\n <line x1=\"80\" y1=\"90\" x2=\"100\" y2=\"150\" />\n <line x1=\"120\" y1=\"90\" x2=\"100\" y2=\"150\" />\n </g>\n\n <!-- Data Flow Particles -->\n <circle r=\"2\" fill=\"#fff\" filter=\"url(#bloom)\">\n <animateMotion dur=\"3s\" repeatCount=\"indefinite\" path=\"M50,50 L80,90 L100,150\" />\n </circle>\n <circle r=\"2\" fill=\"#fff\" filter=\"url(#bloom)\">\n <animateMotion dur=\"3s\" begin=\"1.5s\" repeatCount=\"indefinite\" path=\"M150,50 L120,90 L100,150\" />\n </circle>\n <circle r=\"2\" fill=\"#DD0031\" filter=\"url(#bloom)\">\n <animateMotion dur=\"4s\" begin=\"0.5s\" repeatCount=\"indefinite\" path=\"M50,50 L100,150\" />\n </circle>\n\n <!-- Nodes -->\n <g fill=\"#47848F\" filter=\"url(#bloom)\">\n <!-- Top Nodes -->\n <circle cx=\"50\" cy=\"50\" r=\"6\">\n <animate attributeName=\"r\" values=\"6;8;6\" dur=\"2s\" repeatCount=\"indefinite\" />\n <animate attributeName=\"fill-opacity\" values=\"0.6;1;0.6\" dur=\"2s\" repeatCount=\"indefinite\" />\n </circle>\n <circle cx=\"150\" cy=\"50\" r=\"6\">\n <animate attributeName=\"r\" values=\"6;8;6\" dur=\"2.2s\" repeatCount=\"indefinite\" />\n <animate attributeName=\"fill-opacity\" values=\"0.6;1;0.6\" dur=\"2.2s\" repeatCount=\"indefinite\" />\n </circle>\n \n <!-- Mid Nodes -->\n <circle cx=\"80\" cy=\"90\" r=\"5\">\n <animate attributeName=\"r\" values=\"5;7;5\" dur=\"1.8s\" repeatCount=\"indefinite\" />\n </circle>\n <circle cx=\"120\" cy=\"90\" r=\"5\">\n <animate attributeName=\"r\" values=\"5;7;5\" dur=\"1.9s\" repeatCount=\"indefinite\" />\n </circle>\n\n <!-- Bottom Node (The Combine) -->\n <circle cx=\"100\" cy=\"150\" r=\"8\" fill=\"#DD0031\">\n <animate attributeName=\"r\" values=\"8;12;8\" dur=\"1s\" repeatCount=\"indefinite\" />\n <animate attributeName=\"fill-opacity\" values=\"0.8;1;0.8\" dur=\"1s\" repeatCount=\"indefinite\" />\n </circle>\n </g>\n \n <text x=\"100\" y=\"190\" font-family=\"Segoe UI, Arial\" font-size=\"20\" fill=\"#fff\" text-anchor=\"middle\" letter-spacing=\"8\" font-weight=\"300\" opacity=\"0.8\">VALENCE</text>\n </svg>\n </div>\n\n <div class=\"debug-panel\">\n <div class=\"stat-row\"><span class=\"label\">FPS:</span> <span class=\"value\">{{ engineService.fps() }}</span></div>\n <div class=\"stat-row
|
|
4
|
-
export declare const appComponentScssTemplate = "\n.app-container {\n width: 100vw;\n height: 100vh;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n background: #000;\n}\n\n.canvas-wrapper {\n flex: 1;\n position: relative;\n overflow: hidden;\n}\n\n#renderCanvas {\n width: 100%;\n height: 100%;\n touch-action: none;\n outline: none;\n}\n\n.ui-overlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none; // Let clicks pass to canvas\n \n display: flex;\n flex-direction: column;\n justify-content: space-between;\n}\n\n.logo-container {\n padding: 2rem;\n opacity: 0.8;\n animation: float 6s ease-in-out infinite;\n}\n\n.debug-panel {\n position: absolute;\n top: 2rem;\n right: 2rem;\n background: rgba(0, 0, 0, 0.
|
|
5
|
-
export declare const valenceEngineServiceTemplate = "\nimport { Injectable, NgZone, OnDestroy, signal, WritableSignal } from '@angular/core';\nimport { Engine, WebGPUEngine, Scene, FreeCamera, Vector3, HemisphericLight, MeshBuilder, StandardMaterial, Color4, Mesh } from 'babylonjs';\n// VALENCE: IMPORTS\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ValenceEngineService implements OnDestroy {\n private engine?: Engine | WebGPUEngine;\n private scene?: Scene;\n private plane?: Mesh;\n // VALENCE: PROPERTIES\n\n public fps: WritableSignal<string> = signal('0');\n\n constructor(private ngZone: NgZone) {}\n\n public async initEngine(canvas: HTMLCanvasElement): Promise<void> {\n // Attempt WebGPU, fall back to WebGL\n try {\n if (await WebGPUEngine.IsSupportedAsync) {\n this.engine = new WebGPUEngine(canvas);\n await (this.engine as WebGPUEngine).initAsync();\n } else {\n this.engine = new Engine(canvas, true);\n }\n } catch (e) {\n console.warn('WebGPU failed, falling back to WebGL', e);\n this.engine = new Engine(canvas, true);\n }\n \n // VALENCE: PRE_SCENE_INIT\n\n this.scene = this.createScene();\n\n // VALENCE: POST_SCENE_INIT\n\n this.ngZone.runOutsideAngular(() => {\n if (!this.engine) return;\n \n this.engine.runRenderLoop(() => {\n if (this.scene) {\n this.scene.render();\n // Update specific meshes\n if (this.plane) {\n this.plane.rotation.y += 0.01;\n this.plane.rotation.x += 0.005;\n }\n // VALENCE: RENDER_LOOP\n }\n \n // Update FPS rarely to avoid UI thrashing, or just every frame if signal handles it efficient?\n // actually better to throttle it slightly for UI, but signal is fine.\n this.fps.set(this.engine?.getFps().toFixed(0) || '0');\n });\n });\n\n window.addEventListener('resize', () => {\n this.engine?.resize();\n });\n }\n\n private createScene(): Scene {\n if (!this.engine) throw new Error('Engine not initialized');\n const scene = new Scene(this.engine);\n scene.clearColor = new Color4(0.1, 0.1, 0.1, 1);\n \n // Camera\n const camera = new FreeCamera('camera1', new Vector3(0, 0, -5), scene);\n camera.setTarget(Vector3.Zero());\n \n // Attach control needs to happen on the canvas. \n // Since we created engine with canvas, we can attach to it.\n // Note: In WebGPU engine.getRenderingCanvas() might differ slightly but usually works.\n const canvas = this.engine.getRenderingCanvas();\n if (canvas) {\n camera.attachControl(canvas, true);\n }\n\n // Light\n const light = new HemisphericLight('light1', new Vector3(0, 1, 0), scene);\n light.intensity = 0.7;\n\n // Rotating Plane\n this.plane = MeshBuilder.CreatePlane('plane', { size: 2 }, scene);\n this.plane.material = new StandardMaterial('mat', scene);\n (this.plane.material as any).backFaceCulling = false;\n (this.plane.material as any).diffuseColor = new Color4(0.4, 0.8, 1, 1);\n (this.plane.material as any).wireframe = true;\n\n return scene;\n }\n\n public dispose(): void {\n if (this.engine) {\n this.engine.dispose();\n }\n }\n\n ngOnDestroy(): void {\n this.dispose();\n }\n}\n";
|
|
3
|
+
export declare const appComponentHtmlTemplate = "\n<div class=\"app-container\">\n <app-topnav [title]=\"title\"></app-topnav>\n <div class=\"canvas-wrapper\">\n <canvas #renderCanvas id=\"renderCanvas\"></canvas>\n \n <!-- UI Overlay -->\n <div class=\"ui-overlay\">\n <div class=\"logo-container\">\n <svg width=\"200\" height=\"200\" viewBox=\"0 0 200 200\" xmlns=\"http://www.w3.org/2000/svg\">\n <defs>\n <filter id=\"bloom\" x=\"-50%\" y=\"-50%\" width=\"200%\" height=\"200%\">\n <feGaussianBlur stdDeviation=\"3\" result=\"coloredBlur\"/>\n <feMerge>\n <feMergeNode in=\"coloredBlur\"/>\n <feMergeNode in=\"SourceGraphic\"/>\n </feMerge>\n </filter>\n <linearGradient id=\"lineGradient\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"100%\">\n <stop offset=\"0%\" style=\"stop-color:#47848F;stop-opacity:0.2\" />\n <stop offset=\"50%\" style=\"stop-color:#47848F;stop-opacity:0.8\" />\n <stop offset=\"100%\" style=\"stop-color:#DD0031;stop-opacity:0.2\" />\n </linearGradient>\n </defs>\n \n <!-- Neural Connections (Axons) -->\n <g stroke=\"url(#lineGradient)\" stroke-width=\"2\" filter=\"url(#bloom)\">\n <!-- Main V Structure -->\n <line x1=\"50\" y1=\"50\" x2=\"100\" y2=\"150\" />\n <line x1=\"150\" y1=\"50\" x2=\"100\" y2=\"150\" />\n \n <!-- Network Interconnects -->\n <line x1=\"50\" y1=\"50\" x2=\"80\" y2=\"90\" />\n <line x1=\"150\" y1=\"50\" x2=\"120\" y2=\"90\" />\n <line x1=\"80\" y1=\"90\" x2=\"120\" y2=\"90\" opacity=\"0.5\"/>\n <line x1=\"80\" y1=\"90\" x2=\"100\" y2=\"150\" />\n <line x1=\"120\" y1=\"90\" x2=\"100\" y2=\"150\" />\n </g>\n\n <!-- Data Flow Particles -->\n <circle r=\"2\" fill=\"#fff\" filter=\"url(#bloom)\">\n <animateMotion dur=\"3s\" repeatCount=\"indefinite\" path=\"M50,50 L80,90 L100,150\" />\n </circle>\n <circle r=\"2\" fill=\"#fff\" filter=\"url(#bloom)\">\n <animateMotion dur=\"3s\" begin=\"1.5s\" repeatCount=\"indefinite\" path=\"M150,50 L120,90 L100,150\" />\n </circle>\n <circle r=\"2\" fill=\"#DD0031\" filter=\"url(#bloom)\">\n <animateMotion dur=\"4s\" begin=\"0.5s\" repeatCount=\"indefinite\" path=\"M50,50 L100,150\" />\n </circle>\n\n <!-- Nodes -->\n <g fill=\"#47848F\" filter=\"url(#bloom)\">\n <!-- Top Nodes -->\n <circle cx=\"50\" cy=\"50\" r=\"6\">\n <animate attributeName=\"r\" values=\"6;8;6\" dur=\"2s\" repeatCount=\"indefinite\" />\n <animate attributeName=\"fill-opacity\" values=\"0.6;1;0.6\" dur=\"2s\" repeatCount=\"indefinite\" />\n </circle>\n <circle cx=\"150\" cy=\"50\" r=\"6\">\n <animate attributeName=\"r\" values=\"6;8;6\" dur=\"2.2s\" repeatCount=\"indefinite\" />\n <animate attributeName=\"fill-opacity\" values=\"0.6;1;0.6\" dur=\"2.2s\" repeatCount=\"indefinite\" />\n </circle>\n \n <!-- Mid Nodes -->\n <circle cx=\"80\" cy=\"90\" r=\"5\">\n <animate attributeName=\"r\" values=\"5;7;5\" dur=\"1.8s\" repeatCount=\"indefinite\" />\n </circle>\n <circle cx=\"120\" cy=\"90\" r=\"5\">\n <animate attributeName=\"r\" values=\"5;7;5\" dur=\"1.9s\" repeatCount=\"indefinite\" />\n </circle>\n\n <!-- Bottom Node (The Combine) -->\n <circle cx=\"100\" cy=\"150\" r=\"8\" fill=\"#DD0031\">\n <animate attributeName=\"r\" values=\"8;12;8\" dur=\"1s\" repeatCount=\"indefinite\" />\n <animate attributeName=\"fill-opacity\" values=\"0.8;1;0.8\" dur=\"1s\" repeatCount=\"indefinite\" />\n </circle>\n </g>\n \n <text x=\"100\" y=\"190\" font-family=\"Segoe UI, Arial\" font-size=\"20\" fill=\"#fff\" text-anchor=\"middle\" letter-spacing=\"8\" font-weight=\"300\" opacity=\"0.8\">VALENCE</text>\n </svg>\n </div>\n\n <div class=\"debug-panel\">\n <div class=\"stat-row\"><span class=\"label\">FPS:</span> <span class=\"value\">{{ engineService.fps() }}</span></div>\n <div class=\"stat-row\"><span class=\"label\">CAM:</span> <span class=\"value\">{{ engineService.rotation() }}</span></div>\n <div class=\"stat-row info\"><small>Angular + Electron + Babylon</small></div>\n </div>\n </div>\n </div>\n</div>\n";
|
|
4
|
+
export declare const appComponentScssTemplate = "\n.app-container {\n width: 100vw;\n height: 100vh;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n background: #000;\n}\n\n.canvas-wrapper {\n flex: 1;\n position: relative;\n overflow: hidden;\n background: radial-gradient(circle at center, #1a1a1a 0%, #000 100%);\n}\n\n#renderCanvas {\n width: 100%;\n height: 100%;\n touch-action: none;\n outline: none;\n}\n\n.ui-overlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none; // Let clicks pass to canvas\n \n display: flex;\n flex-direction: column;\n justify-content: space-between;\n}\n\n.logo-container {\n padding: 2rem;\n opacity: 0.8;\n animation: float 6s ease-in-out infinite;\n filter: drop-shadow(0 0 20px rgba(71, 132, 143, 0.3));\n}\n\n.debug-panel {\n position: absolute;\n top: 2rem;\n right: 2rem;\n \n // Glassmorphism\n background: rgba(13, 13, 13, 0.65);\n backdrop-filter: blur(16px);\n -webkit-backdrop-filter: blur(16px);\n border: 1px solid rgba(255, 255, 255, 0.08);\n box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4);\n \n // Accent\n border-left: 3px solid #47848F;\n \n padding: 1.25rem;\n border-radius: 6px;\n color: #fff;\n font-family: 'JetBrains Mono', 'Fira Code', Consolas, monospace;\n pointer-events: auto;\n min-width: 220px;\n \n transition: all 0.3s ease;\n \n &:hover {\n background: rgba(13, 13, 13, 0.8);\n border-color: rgba(255, 255, 255, 0.15);\n box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.6);\n }\n \n .stat-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 0.75rem;\n \n &:last-of-type {\n margin-bottom: 0;\n }\n \n .label {\n color: #888;\n font-size: 0.85rem;\n letter-spacing: 1px;\n font-weight: 500;\n }\n \n .value {\n color: #4dbf00;\n font-weight: 600;\n font-size: 1rem;\n text-shadow: 0 0 10px rgba(77, 191, 0, 0.3);\n \n // Fixed width for alignment of rotation numbers\n &.vec3 {\n font-size: 0.9rem;\n }\n }\n }\n\n .info {\n margin-top: 1.25rem;\n padding-top: 1rem;\n border-top: 1px solid rgba(255, 255, 255, 0.1);\n text-align: right;\n opacity: 0.6;\n \n small {\n font-size: 0.75rem;\n letter-spacing: 0.5px;\n font-family: 'Segoe UI', sans-serif;\n text-transform: uppercase;\n }\n }\n}\n\n@keyframes float {\n 0% { transform: translateY(0px); }\n 50% { transform: translateY(-10px); }\n 100% { transform: translateY(0px); }\n}\n";
|
|
5
|
+
export declare const valenceEngineServiceTemplate = "\nimport { Injectable, NgZone, OnDestroy, signal, WritableSignal } from '@angular/core';\nimport { Engine, WebGPUEngine, Scene, FreeCamera, Vector3, HemisphericLight, MeshBuilder, StandardMaterial, Color4, Mesh } from 'babylonjs';\n// VALENCE: IMPORTS\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ValenceEngineService implements OnDestroy {\n private engine?: Engine | WebGPUEngine;\n private scene?: Scene;\n private plane?: Mesh;\n // VALENCE: PROPERTIES\n\n public fps: WritableSignal<string> = signal('0');\n public rotation: WritableSignal<string> = signal('X: 0.00 Y: 0.00 Z: 0.00');\n\n constructor(private ngZone: NgZone) {}\n\n public async initEngine(canvas: HTMLCanvasElement): Promise<void> {\n // Attempt WebGPU, fall back to WebGL\n try {\n if (await WebGPUEngine.IsSupportedAsync) {\n this.engine = new WebGPUEngine(canvas);\n await (this.engine as WebGPUEngine).initAsync();\n } else {\n this.engine = new Engine(canvas, true);\n }\n } catch (e) {\n console.warn('WebGPU failed, falling back to WebGL', e);\n this.engine = new Engine(canvas, true);\n }\n \n // VALENCE: PRE_SCENE_INIT\n\n this.scene = this.createScene();\n\n // VALENCE: POST_SCENE_INIT\n\n this.ngZone.runOutsideAngular(() => {\n if (!this.engine) return;\n \n this.engine.runRenderLoop(() => {\n if (this.scene) {\n this.scene.render();\n // Update specific meshes\n if (this.plane) {\n this.plane.rotation.y += 0.01;\n this.plane.rotation.x += 0.005;\n }\n \n // Update Camera Stats\n if (this.scene.activeCamera) {\n const { x, y, z } = this.scene.activeCamera.rotation;\n this.rotation.set(`X: ${x.toFixed(2)} Y: ${y.toFixed(2)} Z: ${z.toFixed(2)}`);\n }\n\n // VALENCE: RENDER_LOOP\n }\n \n // Update FPS rarely to avoid UI thrashing, or just every frame if signal handles it efficient?\n // actually better to throttle it slightly for UI, but signal is fine.\n this.fps.set(this.engine?.getFps().toFixed(0) || '0');\n });\n });\n\n window.addEventListener('resize', () => {\n this.engine?.resize();\n });\n }\n\n private createScene(): Scene {\n if (!this.engine) throw new Error('Engine not initialized');\n const scene = new Scene(this.engine);\n scene.clearColor = new Color4(0.1, 0.1, 0.1, 1);\n \n // Camera\n const camera = new FreeCamera('camera1', new Vector3(0, 0, -5), scene);\n camera.setTarget(Vector3.Zero());\n \n // Attach control needs to happen on the canvas. \n // Since we created engine with canvas, we can attach to it.\n // Note: In WebGPU engine.getRenderingCanvas() might differ slightly but usually works.\n const canvas = this.engine.getRenderingCanvas();\n if (canvas) {\n camera.attachControl(canvas, true);\n }\n\n // Light\n const light = new HemisphericLight('light1', new Vector3(0, 1, 0), scene);\n light.intensity = 0.7;\n\n // Rotating Plane\n this.plane = MeshBuilder.CreatePlane('plane', { size: 2 }, scene);\n this.plane.material = new StandardMaterial('mat', scene);\n (this.plane.material as any).backFaceCulling = false;\n (this.plane.material as any).diffuseColor = new Color4(0.4, 0.8, 1, 1);\n (this.plane.material as any).wireframe = true;\n\n return scene;\n }\n\n public dispose(): void {\n if (this.engine) {\n this.engine.dispose();\n }\n }\n\n ngOnDestroy(): void {\n this.dispose();\n }\n}\n";
|
|
6
6
|
//# sourceMappingURL=angular.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"angular.d.ts","sourceRoot":"","sources":["../../src/templates/angular.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,iNAW9B,CAAC;AAEF,eAAO,MAAM,sBAAsB,mkCAgClC,CAAC;AAEF,eAAO,MAAM,wBAAwB,
|
|
1
|
+
{"version":3,"file":"angular.d.ts","sourceRoot":"","sources":["../../src/templates/angular.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,iNAW9B,CAAC;AAEF,eAAO,MAAM,sBAAsB,mkCAgClC,CAAC;AAEF,eAAO,MAAM,wBAAwB,44KAyFpC,CAAC;AAEF,eAAO,MAAM,wBAAwB,i2FA6HpC,CAAC;AAEF,eAAO,MAAM,4BAA4B,gsHAgHxC,CAAC"}
|