Giter Site home page Giter Site logo

dumb-code / dumbcode-studio Goto Github PK

View Code? Open in Web Editor NEW
1.0 4.0 1.0 195.32 MB

The complete suite of DumbCode made tools for modeling, animating and managing minecraft style game assets

Home Page: https://studio.dumbcode.net/

CSS 0.15% JavaScript 0.35% TypeScript 99.42% Shell 0.01% MDX 0.08%
modeler animator javascript texture-mapping

dumbcode-studio's Introduction

Turborepo starter

This is an official Yarn v1 starter turborepo.

What's inside?

This turborepo uses Yarn as a package manager. It includes the following packages/apps:

Apps and Packages

  • docs: a Next.js app
  • web: another Next.js app
  • ui: a stub React component library shared by both web and docs applications
  • eslint-config-custom: eslint configurations (includes eslint-config-next and eslint-config-prettier)
  • tsconfig: tsconfig.jsons used throughout the monorepo

Each package/app is 100% TypeScript.

Utilities

This turborepo has some additional tools already setup for you:

Build

To build all apps and packages, run the following command:

cd my-turborepo
yarn run build

Develop

To develop all apps and packages, run the following command:

cd my-turborepo
yarn run dev

Remote Caching

Turborepo can use a technique known as Remote Caching to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.

By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can create one, then enter the following commands:

cd my-turborepo
npx turbo login

This will authenticate the Turborepo CLI with your Vercel account.

Next, you can link your Turborepo to your Remote Cache by running the following command from the root of your turborepo:

npx turbo link

Useful Links

Learn more about the power of Turborepo:

dumbcode-studio's People

Contributors

dependabot[bot] avatar jackgoldsworth avatar kashgummaraju avatar neusfear avatar wyn-price avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

timthetoaster

dumbcode-studio's Issues

Texture map is movable when painting.

When using the pain tool on the texturemap window instead of on the model itself the texturemap is moved underneath the cursor still. The ability to drag texturemaps to adjust the offsets should be locked while in "paint mode"

Animator tab improvements

Things needed to be changed with animator tabs.

  1. A way to close them so you don't have to have all animations on a project open.
  2. A way to open an animation from the project page apart from just creating one (once number 1 is fixed)
  3. tab colors for deselected tabs (not just text)

Translation, Rotation, Dimension wheel and arrow improvements

Right now if you select a particular wheel or arrow for the corresponding axis, your selection is indicated by a grey line and the other arrows/wheels becoming translucent and less bright

It would be better if the selected wheel/arrow instead became brighter and the line appearing to be the same color as the arrow. To further emphasize/indicate your selection, the current solution of having the other axes becoming translucent & less bright should still be kept.

Also as suggested in discord, the grey lines that pop up should be the same color as the corresponding axis.

Another suggestion I voiced earlier was for the translation arrows to match the rotation wheel and dimension arrows in having arrows for both positive and negative directions for each axis as opposed to the current implementation of the arrows going in the positive direction only(in relation to the cube's local rotations & position). Because right now it's super easy for the arrows to be obscured and hidden away by cube(s) sitting directly on top, in front, below, behind, etc of a selected cube.

Precision for cube translations/modifications

It is sometimes too inaccurate for cube translations when using the arrows. It would be nice to have the ability to modify these differently and the solution that makes the most sense to me is as follows:

the buttons for offset and cube grow should adjust the value by .25 and if holding shift it should adjust by 1. Optionallly we could have a control keybind for .1 or something but that's rather un-needed.

Keybinds for camera snapping

It would be nice to be able to have a keybind for snapping the camera to an axis direction. Other programs like blender use the num pad to do this and it works quite well. hitting this key would point the axis towards positive x y and z depending on the key pressed. Benefits of this are that it allows you to see your model in exact profiles instead of guessing.

Cube list should be detachable too

Weird that the values can be detached but not the cube list, this partly contributes to the gross whitespace that's left behind offering no benefit to detaching the sidebar(s) or parts of it. Being able to detach the whole thing would free up the viewer space

Selection issues on animator tab

1. When you click on a cube and then click that same cube again it deselects it. This should just keep the same cube selected unless you click on empty space in the viewport
2. when you deselect a cube (either by the previous issue or the normal click empty space) the transform controls on the sidebar don't empty

FOV buttons close the tooltip

On the modeling tab where you choose the type of projection (shown in screenshot) pressing the buttons to increase or decreas the fov or trying to type in the field closes the tooltip making it impossible to actualy edit the fov (except for one value at a time if you're pressing the arrows)
image

Blending animations

Being able to create new animations by blending a couple of them together.

A UI would also be needed to link them together creating a tree

  • You'll start off by importing your animation files
  • then create two or more nodes
  • select your animation in each node
  • link the animation nodes however order and etc you want
  • all of them should be linked to the blend node
  • blend node outputs to a new animation node
  • save new animation and use it however

For each animation you layer/link/blend. You can set the speed and Loop condition

You'd then adjust the weight in the blend node?

And name the output node

Selecting multiple cubes does not let you delete or lock them together

selecting multiple cubes and hitting delete only deletes the initial selected cube, ctrl+delete doesn't do anything either.
https://media.discordapp.net/attachments/741335776473907320/772302545078452254/Studiotest12.gif?width=1015&height=525

no combination of ctrl+left click, ctrl+delete, delete, or regular left click lets you delete, lock, or turn off visibility of selected cubes
https://media.discordapp.net/attachments/741335776473907320/772304232568848394/Studiotest13.gif?width=1015&height=525

Directional indicators

There is no current way of knowing whether the model is pointing in the direction you want. This can be solved by a directional indicator in the bottom left corner of the viewport that rotates with the view indicating positive x y and z directions

Suggestion: Auto-centering offset pt

A way/feature to center the offset point on each individual axes, not together. Should also calculate and center according to cube grow on specific axis as well.

Editing the rotation/position shouldn't require clicking

Currently, you need to click the specific axis you want to rotate/move before you're able to scroll and change it. It would be better if it was possible to just hover over the number and scroll. It would drastically improve working speed.

Animator tick resolution

Currently at 20 per second. Should be a configurable amount, that can be changed in the animation settings.

Studio has some memory issues

For instance:

  • memento traverser doesn't limit the memento list
  • memory seems very sporadic per frame with the panel open.

(this will be added to in the future)

Multiple Selected cubes should be modified the same way as parent & child cubes

Right now the solution simply applies position editing to all cubes selected but doesn't treat them like parent & child cubes

url

This leads to some wonky results when you wanna select multiple "parented to different cubes"/"separate" cubes and move em together. There should be some kind of toggle to group multiple selected cubes

Popped out panels should have their own layouts

As css tends to be finicky I think that the best way to make sure that the popped-out panels work well and are responsive like the embedded versions we should have a way to style them independently. The main example of this being an issue is with the modeler "cube edit" pannel displaying everything in "block" form as opposed to in a grid or something more sensible.

I'll be happy to make these layouts if @Wyn-Price can code in the panels themselves. I think this would be nice to have a "panels" directory just like we have "tabs" and "modules" directories for these things.

Fix hitbox on animation layer 0

The layer 0 + button is very hard to press. The area which you can click seems to be just the top of the icon, while it's fine for every other layer + button.

Texture naming issue

When you upload an image it retains the extension so when you download it again after edits it's .png.png

Tooltip general improvements

The tooltips sometimes render underneath other elements, this should be fixed.
Additionally, tooltips should not always be shown right away; a delay before a tooltip is shown would be less distracting.

Add different scroll speeds

There need to be different scroll speeds in the animator rotations/positions tabs.
Scrolling on slider: Normally: 0.36
When holding Ctrl: 0.04
When holding Shift: 3.6

Scrolling on number: Normally: 0.1
When holding Ctrl: 0.01
When holding Shift: 1.0

Dragging the bar should be a difference of 2.61
Dragging the wheel should be a difference of 1.575

Some visibility changes

The lighting of the viewport is sometimes difficult to see what cubes are on top of other cubes.

Solution: provide outlines on all cubes to make edges more apparent. The selected cube should have all edges visible even if obstructed by the cube that is selected.

Benefits of this solution aside from edge awareness are that we can ditch the ugly cube shading when it's selected and can replace it with the outline being colored.

Example of the background outlines being rendered of the selected cube:
image

Misleading tooltip for cube creation

When no cube is selected the buttons to create a new cube are misleading. When no cube is selected these buttons could be replaced with a single button with a tooltip "Create a cube" or we could gray out the child cube and replace the tooltip of the sibling cube button with one that reads "Create a Cube"

Grounding cube improvements

On the texture tab the grounding cube (the lil blue cube under the model) obstructs the bottom of the model keeping you from being able to paint on it. this can be solved by removing it completely on the texture tab or by giving a toggle switch may be under the viewport similar to the model tab.

It would also be nice if it were colored the same as texture maps to kind of give a better indication of what direction it is facing.

On the animation tab it would be helpful to make the cube larder for grounding the animations so there could be some improvements made there too.

Cube disappearing

Had a cube(lowerJawlow2) go missing when I locked it into place so that I could move the parent cube around. Using the translation arrows, I moved the parent cube and the cube(lowerJawlow2) disappeared. The positions had no values and were empty.
image

Console log:
image

I tried editing the position values but only a gumball showed up:
image

Hitting undo didn't do anything either

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.