stardance has been extended another month! the new deadline is october 31 :)

You are browsing as a guest. Sign up (or log in) to start making projects!

4h 6m 14s logged

First in the UI and Rendering architecture I added a 2010 style chrome colour palette. I also implemented new vertex, rect and ui structs with layout_ui() to calculate and position the tab strip, address bat, navi buttons and the content viewport. I also made a new WGSL shader pipeline and vertex buffer for rendering flat colour rectangles. I then added normalise_url(), fetch_page(), navigate(), go_history() and reload(). Then I updated the core State struct, removed the raw display_text stering and replaced it with rectangle pipelines, address input state, focus flags, document title tracking, history stacks, scroll offsets and mouse tracking. I rewrote window_event() and app resume logic to handle the mouse movements, vlivks, wheel scrolling and keyboard typing including Enter backspace and shortcuts with ctrl and alt. I also removed the esc to quit application and it now just refocuses onto the addrtess bar. And render() draws the UI rectabgles first, then the address text, tabs buttons and page text with clipping and scroll offsets on a white background.

I also made a new HTML Parser module. With tokenisation and scanning, it includfes void/raw text element lists, entitity decoding with &amp, &nbdp, etc, character scanning and attribute parsing. parse() constructs the existing HTMLDocument and HTMLNode types from client.rs which handles comments, doctypes, closing tags and script/style. With DOM Utils it includfes is_block_level(), extract_visible_text() which skips , , and tags while infecting liner breaks around block elements and nodewalking and title extraction (find_title()).

I also deleted cssrom.rs whcih I originally had plans for but I just merged them into parser.rs and cascade.rs.

My current limitations are rendering since the pages only display as plain text so no images, hyperlinks, styling or CSS in general. There is also network bliocking where page fetching is synchronus and blocks the UI window while loading.

0
26

Comments 0

No comments yet. Be the first!