Comments (2)
A first pass for this generalization has been drafted in #154
Based on the state that is described there, here are a few more specific questions (even though some of them have been mentioned above already)
- Should the value type always be
string[]
?
There could be value types that are just a singlestring
, or anumber
, or even anumber[]
array. Iff there should be any functionality that is "type specific" in this regard, it might be necessary to create a more sophisticated solution. Think about a property likegitHubStars : number
, and an option to sort by this, or even computing statistics like min/max/avg for some property... - Where and how to define the properties?
Currently, they are hard-coded as a set of strings, calledProjectProperties
. - How to define the usage of the properties?
Specifically: It is currently possible to filter by some of these properties, but not by all of them. This is also hard-coded right now, viaProjectFilterProperties
. - Should properties always be 'flat', or should they be allowed to be 'structured types'?
Something like a 'date' could be modeled as three properties,year
,month
,day
, or as aclass Date { year, month, day }
. - How to model relations with this structure?
- How to map this to a persistence layer?
Many of these questions are related to the idea of a "schema-like" description of the project structure. The complexity of the actual solution for that will depend on the answers to the questions above. I think that we could get pretty far with a simple schema definition. But while fleshing that out, the topic of persistence should be kept in mind. (For example: We could probably add type information to such a schema. But how will that type information be reflected in the database?). Related to that: I stumbled over https://github.com/typeorm/typeorm , which may be worth a closer look. But I assume that we'd try to keep the IProjectInfo
structure for the UI (and simple client-side operations), and try to keep that separate from the persistence layer as far as reasonably possible.
@weegeekps Maybe you want to add your thoughts, or have a short look at the PR (even though it is an early draft)
from gltf-project-explorer.
I noticed that the generalization has not been applied at
: The project card should refer to theProjectProperties
, in order to find out the properties that are supposed to be displayed in the bullet point lists. I'll update that soon, and check whether there are other places affected by the generalization.from gltf-project-explorer.
Related Issues (20)
- New Project: V-Ray glTF viewer
- New Project: Dassault Systémes 3DEXCITE
- Project Update: Godot has glTF export HOT 6
- Clarify "task" and consider something like "keywords"
- Consider adding OpenGraph meta tags
- New project: gltf.report
- Upcoming renaming of master -> main branch planned for late August 2021 HOT 2
- Improve Search
- V2 Brainstorming HOT 12
- New project: rgl2gltf HOT 1
- Build appears to be broken due to `master` being renamed to `main` HOT 2
- Consider merging 'glTF-Generator-Registry' into this repository?
- Add keywords field for search
- Allow specifying supported extensions HOT 3
- New project: GLTF-tool HOT 4
- Add guc to Project Explorer
- Travis/npm build issues; main/live site not up-to-date HOT 10
- Do Search or FIltering by URL HOT 1
- Add Khronos glTF Compressor
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gltf-project-explorer.