├── public ├── icon.png ├── splash.jpg ├── menu-logo.png ├── pix3-logo.png ├── splash-logo.png └── vite.svg ├── src ├── templates │ ├── Duck.glb │ ├── pix3-logo.png │ ├── test_model.glb │ └── startup-scene.pix3scene ├── fw │ ├── layout-component-base.ts │ ├── index.ts │ ├── from-query.ts │ ├── property-schema-utils.ts │ ├── component-base.ts │ ├── di.ts │ └── property-schema.ts ├── main.ts ├── nodes │ ├── 3D │ │ ├── MeshInstance.ts │ │ ├── DirectionalLightNode.ts │ │ ├── Camera3D.ts │ │ └── GeometryMesh.ts │ ├── 2D │ │ ├── Sprite2D.ts │ │ └── Group2D.ts │ ├── Node2D.ts │ ├── NodeBase.ts │ └── Node3D.ts ├── ui │ ├── shared │ │ ├── pix3-toolbar.ts.css │ │ ├── pix3-toolbar-button.ts.css │ │ ├── pix3-confirm-dialog.ts.css │ │ ├── pix3-toolbar.ts │ │ ├── pix3-confirm-dialog.ts │ │ ├── pix3-main-menu.ts.css │ │ ├── pix3-panel.ts.css │ │ ├── pix3-dropdown.ts.css │ │ ├── pix3-dropdown-button.ts.css │ │ ├── pix3-toolbar-button.ts │ │ └── pix3-panel.ts │ ├── scene-tree │ │ ├── scene-tree-panel.ts.css │ │ ├── node-visuals.helper.ts │ │ └── scene-tree-node.ts.css │ ├── pix3-editor-shell.ts.css │ ├── assets-browser │ │ ├── asset-browser-panel.ts.css │ │ └── asset-tree.ts.css │ ├── viewport │ │ ├── transform-toolbar.ts │ │ └── viewport-panel.ts.css │ └── logs-view │ │ ├── logs-panel.ts.css │ │ └── logs-panel.ts ├── services │ ├── index.ts │ ├── template-data.ts │ ├── TemplateService.ts │ ├── AssetFileActivationService.ts │ ├── ViewportRenderService.spec.ts │ ├── CommandDispatcher.ts │ ├── DialogService.ts │ └── LoggingService.ts ├── core │ ├── BulkOperation.ts │ ├── Operation.ts │ ├── SceneManager.ts │ └── AssetLoader.ts ├── state │ └── index.ts ├── features │ ├── history │ │ ├── RedoCommand.ts │ │ └── UndoCommand.ts │ ├── scene │ │ ├── ReparentNodeCommand.ts │ │ ├── AddModelCommand.ts │ │ ├── ReloadSceneCommand.ts │ │ ├── UpdateGroup2DSizeCommand.ts │ │ ├── CreateBoxCommand.ts │ │ ├── CreateGroup2DCommand.ts │ │ ├── CreateCamera3DCommand.ts │ │ ├── CreateSprite2DCommand.ts │ │ ├── CreateMeshInstanceCommand.ts │ │ ├── CreateDirectionalLightCommand.ts │ │ ├── UpdateGroup2DSizeOperation.ts │ │ ├── ReloadSceneOperation.ts │ │ └── CreateBoxOperation.ts │ ├── selection │ │ ├── SelectObjectCommand.ts │ │ └── SelectObjectOperation.ts │ └── properties │ │ ├── UpdateObjectPropertyCommand.ts │ │ └── UpdateObjectPropertyOperation.ts ├── index.css └── sw.ts ├── design_assets └── logo-sketch.psd ├── .prettierignore ├── .prettierrc.json ├── .gitignore ├── index.html ├── vite.config.ts ├── vitest.config.ts ├── .github └── workflows │ └── ci.yml.disabled ├── tsconfig.json ├── package.json ├── test_assets └── test_project_1 │ ├── New Scene.pix3scene │ └── group2d-test.pix3scene ├── eslint.config.js └── docs └── property-schema-quick-reference.md /public/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gritsenko/pix3/main/public/icon.png -------------------------------------------------------------------------------- /public/splash.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gritsenko/pix3/main/public/splash.jpg -------------------------------------------------------------------------------- /public/menu-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gritsenko/pix3/main/public/menu-logo.png -------------------------------------------------------------------------------- /public/pix3-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gritsenko/pix3/main/public/pix3-logo.png -------------------------------------------------------------------------------- /public/splash-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gritsenko/pix3/main/public/splash-logo.png -------------------------------------------------------------------------------- /src/templates/Duck.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gritsenko/pix3/main/src/templates/Duck.glb -------------------------------------------------------------------------------- /design_assets/logo-sketch.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gritsenko/pix3/main/design_assets/logo-sketch.psd -------------------------------------------------------------------------------- /src/templates/pix3-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gritsenko/pix3/main/src/templates/pix3-logo.png -------------------------------------------------------------------------------- /src/templates/test_model.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gritsenko/pix3/main/src/templates/test_model.glb -------------------------------------------------------------------------------- /src/fw/layout-component-base.ts: -------------------------------------------------------------------------------- 1 | import { ComponentBase } from './component-base'; 2 | 3 | export class LayoutComponentBase extends ComponentBase {} 4 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | .env 4 | .env.local 5 | .env.development.local 6 | .env.test.local 7 | .env.production.local 8 | npm-debug.log* 9 | yarn-debug.log* 10 | yarn-error.log* 11 | *.log -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "semi": true, 3 | "trailingComma": "es5", 4 | "singleQuote": true, 5 | "printWidth": 100, 6 | "tabWidth": 2, 7 | "useTabs": false, 8 | "endOfLine": "lf", 9 | "arrowParens": "avoid", 10 | "bracketSpacing": true, 11 | "bracketSameLine": false, 12 | "quoteProps": "as-needed" 13 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | 26 | .chrome_debug_profile -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 7 |121 | ${this.description} 122 |
` 123 | : null} 124 |