Code Monkey home page Code Monkey logo

frame's People

Contributors

fireclawthefox avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

frame's Issues

Editor frames do not fit tightly

Some frames are cut or shifted

  1. The scene editors main frame is shifted up from the bottom
  2. The Sidebar of GD and SE is to far down
  3. The main frame of the GD is also to far down

Create and move editor parts into separate library

Many elements of the editors are duplicated throughout the editors like properties panel, scene graph undo/redo and so on.
Those things should be moved in a general way into a dedicated editor parts library which all editors can use.

To be included parts

  • Killring (Undo/Redo)
  • Properties panel
    • Property editing widgets (create text fields for all possible types) not only for properties panel
  • Tree view (e.g. for scene graph)
  • Menu Bar
  • Ask for overwrite on save/export

A way to add Custom Editors

One thing that could be nice is the ability to add custom editors to FRAME by simply hitting a button a selecting a folder that contains the relevant Python code. A use case for this is people who want custom tooling that may not be in the base distribution. For instance I was thinking of making a Terrain/Foliage editor since I do a lot of Photogrammetry stuff.

I'm more then will to contribute to make this happen.

Error on Windows 10: Can't find EditorSelectionSE.png

Today I installed Frame from pypi and when trying to run it I encountered the following error

OSError: Could not load texture: C:\Users\user\PycharmProjects\PiGamedev\venv\PIGAMEDEV\lib\site-packages\panda3d_frame\editors\EditorSelectionSE.png

I'm not sure why this error is happening as it appears EditorSelectionSE.png is in the folder.

OS: Windows 10
Python Version: 3.9

Here's the log file
FRAME.log

Interoperability interfaces between editors

Implement an API which can be used in editors to work with data of other editors.

  • Should be accessible when editor is started from FRAME or run within an application (e.g. pass the render tree to the scene editor)
  • Editors must work when calling the API even if other requested editors data is not available
  • Should work bidirectional (get data from outside and send data out)

Project workspace view

Add a new swipe in panel that shows projects designer files in a tree view sorted by designer or folder or... Clicking on these files will open up the respective assigned designer and load the file.

Implement project handling

Currently, FRAME can only fill empty folders with a project template. There is no project save file though, nothing that can later be loaded again.

Things a new project file definition should contain:
Project name
Company name
Project version
Used template

FRAME should be able to save and load these projects

Change way how store gathers version information

Currently, the store collects information from PyPI via the pip command line interface.

A better way would be to call the json API provided by PyPI directly. https://warehouse.pypa.io/api-reference/json.html

Simply calling the GET /pypi/<project_name>/json will provide the necessary details in the Info > version field.

Additionally to the version, other details like description could be used to propagate other fields in the store.

New logic nodes (Full Python AST support)

Edit to support full python ast compatibility

Currently trying to get everything ready for the node editor to completely support the Python abstract syntax tree class to be able to create complete python scripts from the node editor as well as being able to load python scripts right into the editor.

Note: This is a larger task and will take time until it's fully implemented.

previous ideas

Collection of various possible nodes to be added for the logic editor

  • Set Variable
    • Ensure this can be various types (int, bool, float, python code, etc)
    • Textfield in / out (new passthrough socket?) for setting the variable
    • combobox for selecting the type
  • Class constructor parameters
    • store parameters in same name class variables by default (may make this configurable sometime later)
  • Loops (for, foreach, while)
  • Convenient functions
    • load music
    • load sfx
    • load model
    • load actor
    • find nodepath
  • Functions (probably group nodes, base should be implemented in NodeEditor core)
  • Tasks (same as functions but different in export)
  • Function entry (needs node that can add output fields as they define the functions arguments)
  • Function exit (return with optional return value)

NOTE:
Create nodes of libraries (mainly Panda3D but maybe also others) from their source or stub files.
Nodes are created for each class (create object) and each function (pass the class object as self and other required arguments)

New project templates

Add project templates for the following project types:

  • multiplayer with Distributed setup (client and server)

requires #13

Do not require file path for call function

The custom call function node should not require a file path but should be able to call functions from local variables or even self.

Currently it requires the node input to have a file node to be connected.

New Project dialog

Create a dialog that will pop up when a new FRAME project should be created.

This dialog should be able to ask for the following project data:

  • Name
  • Company Name
  • Location
  • Template

depends on #15

Parts of UI disappear based on window scale

I know that this project is in it's early stage so I hope it's okay for me to file an issue.

As for my issue when I launch FRAME I can't see the panel with the buttons to use the SceneEditor and DirectGuiDesigner.

image

If I widen the screen though I can see the panel with the buttons but the project button disappears. Also this the buttons don't seem to work (the only one that does anything is the GUI Designer button which causes a grid to appear).

image

Finally if I increase the height of the window neither the project button or the side panel appears and instead this weird white box appears where the project button was located.

image

I'm using the most up to date version of Panda3d, I have both SceneEditor and DirectGuiDesigner installed (all via PyPi), I'm using Python 3.9, and am running Windows 10.

Make editor store not block UI

Currently the editor store in the FRAME blocks the UI while calling pip methods. Some of them can take quite long. During this time, the editor should not block but show the loading message and disable the store buttons. Switching to other editors should still be possible.

For this there are already some implementations of subprocesses and asyncio in place which just don't work as expected yet.

Create instalable package of the FRAME

Provide built packages of the FRAME for normal users to install and use.

Packages to consider:

  • PyPi (platform independent)
  • Snap (linux only)
  • Exe installer (windows only)
  • compressed standalone archive (platform independent)

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.