lilliemarck / kloss Goto Github PK
View Code? Open in Web Editor NEWKloss Creator
Kloss Creator
Show texture resources in a list on the side. Click a button to add a texture resource from a PNG file. Add textures with absolute paths (to begin with). Another button deletes the texture. Textures can be renamed by clicking on their name and typing the new name. Click a button in the list to select a new underlying image file.
Show a 3D crosshair where the center of the camera intersects with the ground plane. Snap to integer coordinates.
Currently it is a feature that the new child group gets its position relative to the blocks it contains. The code will be simpler if the blocks can just be copied over to the new group without any translation.
Make a toolbar where the block tool can be selected.
Use the mouse instead of camera center to work with objects.
Click a block to select it, click outside the block to clear selection.
Objects can be dragged in the xy plane or along the z axis.
Change the draggig axis with toolbar buttons.
Ctrl click to select more than one block.
Move the whole selection by dragging one of the selected blocks.
Groups acts as blocks when selecting, moving, copy, pasting, deleting and grouping them. A selection can be a mix of blocks and groups. When duplicating a group a linked copy of the original group is created.
Vertices can be selected on any block. No block needs to be selected before selecting the vertex. Implement dragging vertices similar to dragging blocks. Clicking either the top or bottom vertex will move both in the xy axis but the specific vertex must be selected when moving along the z-axis. Top and bottom should be constrained to not cross each other. Snap vertices to 1/16 units.
When clicking the mouse. Place a 1x1x1 block where the cursor is.
Move the mouse to turn and use the arrow keys to move the camera.
When double clicking a group the contents in it can be edited. When inside a group, only blocks and vertices inside the group can be edited. Show a button somewhere that exits the group.
Add a mode that will select all vertices that meets in one point so they can be moved together.
Each blocks have three textures on the top, bottom and sides. Select textures by clicking on a block to show its properties. Show buttons for selecting one of the textures from the texture library.
Blocks can be grouped by pressing Ctrl+G. When a group is created like this it will automatically be instantiated which give the group a position in space. Place the groups origin in the bounding box' lower corner. Ungroup with Ctrl+Alt+G. Groups are unnamed at least for now.
Add both menus and shortcuts. Place pasted blocks in the same place as the original blocks.
Show a grid with one unit spacing centered in the origin so the user can orient himself. The grid only needs to be small. Color the positive axis with red and blue (or green).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.