general/planning: some ramblings and plans on what to do how when #9

Open
opened 2024-01-22 09:05:44 +00:00 by schrottkatze · 1 comment
Owner

Just to write my thoughts about what to do next (after merging #6):

  1. Implement basic version of a Runtime

    • very basic (few basic instructions, maybe math and stuff?) Cpu and Vulkan evaluators
    • basic scheduler that can decide what evaluator to use when
    • the data types to properly transfer data through pipeline without copying 1000 times if unneeded (two vulkan compatible instructions should be able to just be pipelined for example)
    • extremely basic environment system, no real client-server seperation yet
  2. depending on 1.: client-server seperation

  3. depending on 1.: environment-aware scheduler

  4. a language/proper language design

    • kinda dependent on 1. for a type system?
  5. depending on 1.: proper optimizers and checkers

And some things I originally wanted in the project (these are mostly dreams for now though), just so we can keep them in mind when implementing the rest:

  • it's meant to be versatile. both able to handle real-time data and static data, and be able to output whatever you need
    • potentially in the future shit like dmx and audio outputs too
    • should be able to also generally do more complex operations like handling of complex layered exrs
      • if we for example have an exr with rgb layers that are numbered in 2 dimensions, that one could dynamically reference them to for example generate an animation
        • (one of the original dreams of the project was to be able to have an exr like that, and be able to for example take a few pixel size animation and then be relatively easily able to generate an animation where the pixels correspond to coords on the exr and that just get added, to be able to animate shit like light grids in an animation etc.)
      • also audio inputs etc
      • generally, whatever inputs -> must be very versatile
    • maybe also be usable as real time postprocessing layer in applications using macros?
  • good ux and versatile

Note: yes this is quite rambly, i know

Just to write my thoughts about what to do next (after merging #6): 1. Implement basic version of a Runtime - very basic (few basic instructions, maybe math and stuff?) `Cpu` and `Vulkan` evaluators - basic scheduler that can decide what evaluator to use when - the data types to properly transfer data through pipeline without copying 1000 times if unneeded (two vulkan compatible instructions should be able to just be pipelined for example) - extremely basic environment system, no real client-server seperation yet 2. depending on 1.: client-server seperation 3. depending on 1.: environment-aware scheduler 4. a language/proper language design - kinda dependent on 1. for a type system? 5. depending on 1.: proper optimizers and checkers And some things I originally wanted in the project (these are mostly dreams for now though), just so we can keep them in mind when implementing the rest: - it's meant to be versatile. both able to handle real-time data and static data, and be able to output whatever you need - potentially in the future shit like dmx and audio outputs too - should be able to also generally do more complex operations like handling of complex layered exrs - if we for example have an exr with rgb layers that are numbered in 2 dimensions, that one could dynamically reference them to for example generate an animation - (one of the original dreams of the project was to be able to have an exr like that, and be able to for example take a few pixel size animation and then be relatively easily able to generate an animation where the pixels correspond to coords on the exr and that just get added, to be able to animate shit like light grids in an animation etc.) - also audio inputs etc - generally, whatever inputs -> must be very versatile - maybe also be usable as real time postprocessing layer in applications using macros? - good ux and versatile *Note: yes this is quite rambly, i know*
Collaborator

Since you want to do the first one in a mega-PR, I'll focus on IR handling and source in meantime.

Since you want to do the first one in a mega-PR, I'll focus on IR handling and source in meantime.
Sign in to join this conversation.
No labels
proposal
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: katzen-cafe/iowo#9
No description provided.