airstruck / luigi

Lovely User Interfaces for Game Inventors
MIT License
113 stars 23 forks source link

Document! #47

Open buckle2000 opened 8 years ago

buckle2000 commented 8 years ago

Current document is hard to understand. It has no example and yet not complete. e.g. no style field enum explanation

airstruck commented 8 years ago

Sorry about that. I still consider many parts of the API to be experimental, so I haven't bothered to write much documentation. If you need help with specific things, ask questions on this issue tracker and I'll try to answer them. If there's enough interest in this library at some point, I'll use the Q&A from the issue tracker to write up some proper documentation.

If you aren't using the library yet, please keep in mind that it's mostly focused on (game-related) tools and it might be overkill for games.

buckle2000 commented 8 years ago

It is indeed a overkill for games, but it is the only gui library for love2d that has auto alignment feature.

airstruck commented 8 years ago

That's the problem. It's the only one that has a lot of things (robust event model, reasonably complete textbox, data-driven UI, baked-in context menus, tab navigation, independence from Love via SDL backend, etc.), but all those things add up, and it ends up being overkill for anything small-ish.

It's been suggested that I somehow decouple everything and release everything as separate libraries, but it doesn't really seem plausible to me; many of the parts are inherently strongly coupled (as in they rely on one another), and trying to eliminate that coupling would just add confusing layers of abstraction and bloat. I have thought about releasing the layout thing separately, though (auto alignment).

I'm really not sure what to do with it at the moment, but if you don't mind discussing your use case I'll try to help figure something out.

buckle2000 commented 8 years ago

I want to create a simple gui for a ECS-based game. I tried SUIT but the result was not quite satisfactory.

airstruck commented 8 years ago

I guess you mostly want a custom appearance, then? Appearance is determined by properties of widgets, or properties of the layout's style, or properties of the layout's theme, in that order. Widgets, styles, and themes all use the same properties. If you just want to change a few things, like the slice images and spacing, you should be able to override one of the default themes. If you want a totally different look, you might want to create your own "engine" (look at engine/alpha). Give it a shot and let me know what problems you run into.

buckle2000 commented 8 years ago

There is no document about types and styles. That is the first problem I ran into. Second, I don't think LDoc is sufficient for generating document for this library. "many of the parts are inherently strongly coupled" After all, thanks, but I think I should first complete other parts of my game, not gui.

airstruck commented 8 years ago

Yeah, I know, documentation is basically non-existent. I was hoping that it could be "grown organically" through Q&A, but maybe that won't work, I don't know. If you end up coming back to it we can give it another shot. I'm not inclined to start documenting a bunch of things that may change for a user base that may not actually exist, but I'm more than happy to answer specific questions.

Lukc commented 7 years ago

Development seems to have slowed down quite a bit since last year. Are you still planning any immediate major changes?

I might be interested in documenting a few things I use from Luigi that I had to discover on my own. I make no promises though, my time is limited as well.

The first things that come to mind are the creation of custom widgets and some event handling.

airstruck commented 7 years ago

@Lukc, no changes planned, please feel free to document!