oil-lang / oil-rs Goto Github PK
View Code? Open in Web Editor NEWThe fluid part for your engine
Home Page: http://oil-lang.github.io
License: MIT License
The fluid part for your engine
Home Page: http://oil-lang.github.io
License: MIT License
Hi there,
I am no expert here, but I think it might be useful to add a layer behind the UI one, where it is possible to draw things (basically, the game). A good behavior should be that UI catches keystrokes first, then if it can do nothing with it, gives it back to this layer.
Thus, in “HUD UI”, arrows are transfered. But when Escap is hit, it switches to menu and arrows are catches. That way, character is not longer moving.
Is something like that already existing in OIL?
I want to write a PoC client and I need something like that!
This will be required to implement the overlap
style property.
It requires a bit of work because the resulting RenderBuffer is a collection of small trees which do not map to any sub tree from the original tree (in the general case).
Replace all println!("WARNING ...)
by appropriate log call.
Add support for font and text rendering.
Add a wrapping
rule at the style level defining the focus behaviour for the following situation:
focus_left
is called but there's nothing on the left
wrapping
is none
, the focus does not changewrapping
is loop
, the focus goes to the rightmost nodeAs suggested during the conversion on #15, we should start sketching the interface for Action
s.
The first approach should offer:
None
if no argument was provided to the action.This first approach is quite simple but should help seeing the impact on the rest of the code and would also be a base for further discussion to design the action architecture.
http://oil-lang.github.io
redirects to a 404 page. It's regrettable, as it's the project's homepage on crates.io
.
Add the following functions to DataBinderContext
get_iter
register_iter
Implement the Frame logic to render:
LayoutBox
)<repeat>
tagStore node states in a separate buffer.
time: 0.026 parsing
time: 0.000 recursion limit
time: 0.011 configuration 1
time: 0.000 gated macro checking
time: 0.000 crate injection
time: 0.029 macro loading
time: 0.001 plugin loading
time: 0.000 plugin registration
time: 0.069 expansion
time: 0.001 complete gated feature checking 1
time: 0.017 configuration 2
time: 0.009 maybe building test harness
time: 0.008 prelude injection
time: 0.000 checking that all macro invocations are gone
time: 0.001 complete gated feature checking 2
time: 0.009 assigning node ids and indexing ast
time: 0.004 external crate/lib resolution
time: 0.000 language item collection
time: 0.049 resolution
time: 0.001 lifetime resolution
time: 0.000 looking for entry point
time: 0.000 looking for plugin registrar
time: 0.005 region resolution
time: 0.001 loop checking
time: 0.000 static item recursion checking
time: 0.010 type collecting
time: 0.001 variance inference
time: 1.068 coherence checking
time: 1.329 type checking
time: 0.217 const checking
time: 0.006 privacy checking
time: 0.000 stability index
time: 0.003 intrinsic checking
time: 0.001 effect checking
time: 0.030 match checking
time: 0.004 liveness checking
time: 0.184 borrow checking
time: 0.158 rvalue checking
time: 0.000 reachability checking
time: 0.004 death checking
time: 0.103 stability checking
time: 0.000 unused lib feature checking
time: 0.130 lint checking
time: 0.000 resolving dependency formats
time: 34.828 translation
time: 0.375 llvm function passes
time: 0.128 llvm module passes
time: 6.767 codegen passes
time: 0.001 codegen passes
time: 7.938 LLVM passes
time: 0.498 linking
With PR #12 focus is now using a cursor strategy to find the choose the next node when changing the focus. It works well on the shop_inventory example.
However, we can still build example that might be counter intuitive when switching the focus, consider the following case:
+------+ +------+
| A | | B |
+------+ +------+
+------+
| C |
+------+
+------+
| D |
+------+
Assuming you start at D
with the cursor centered on D
, if you do a focus_up
, you'll end up on C
. And if you do again focus_up
, you'll end up on A
.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.