• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 16:58
CEST 22:58
KST 05:58
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
Serral wins Maestros of the Game 237ByuL, and the Limitations of Standard Play3Team Liquid Map Contest #22: Results and Winners7Code S Season 2 (2026): RO4 and Finals Preview12TL.net Map Contest #22 - Voting & Ladder Map Selection7
Community News
BSL Season 22 Full Overview & Conclusion5BSL Season 22 Full Overview & Conclusion5Weekly Cups (June 29-July 5): Solar Doubles0MC vs IdrA, Boxer vs Nal_rA to be Legacy Matches @ BlizzCon445.0.16 Hotfix (June 30) - Balance + Bug Fixes40
StarCraft 2
General
Serral wins Maestros of the Game 2 Most successful SC2 players of Q2 2026 MC vs IdrA, Boxer vs Nal_rA to be Legacy Matches @ BlizzCon Is the larve respawn broken? 5.0.16 patch for SC2 goes live (8 worker start)
Tourneys
RSL Revival: Season 6 - Qualifiers and Main Event GSL CK #5 Race War HomeStory Cup 29 Vespene Cup #1 — $300+ USD, July 10 Sea Duckling Open (Global, Bronze-Diamond)
Strategy
[G] Having the right mentality to improve
Custom Maps
New Map Maker - Looking for Advice - Love or Hate Work In Progress Melee Maps [D]RTS in all its shapes and glory <3
External Content
Mutation # 533 Die Together The PondCast: SC2 News & Results Mutation # 532 Nuclear Family Mutation # 531 Experimental Artillery
Brood War
General
BGH Auto Balance -> http://bghmmr.eu/ BW General Discussion BSL Season 22 Full Overview & Conclusion ASL 22 Proposed Map Pool Starcraft vs Retro Category on Twitch
Tourneys
[Megathread] Daily Proleagues IPSL Spring 2026 Top 4! CSLAN 4 is Coming! [ASL22] Wildcard Qualifier
Strategy
Fighting Spirit mining rates Simple Questions, Simple Answers Creating a full chart of Zerg builds Relatively freeroll strategies
Other Games
General Games
General RTS Discussion Thread Summer Games Done Quick 2026! Nintendo Switch Thread Stormgate/Frost Giant Megathread Dawn of War IV
Dota 2
Looking for a Dota Mentor Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
NeO.D_StephenKing vs This Guy From 1 Million Dance TL Mafia Community Thread TL Mafia Power Rank Vanilla Mini Mafia
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread UK Politics Mega-thread YouTube Thread Canadian Politics Mega-thread
Fan Clubs
The IdrA Fan Club The HerO Fan Club!
Media & Entertainment
Anime Discussion Thread Movie Discussion! Series you have seen recently... [Req][Books] Good Fantasy/SciFi books [TV/BOOK] *SPOILERS* Game of Thrones Discussion
Sports
2024 - 2026 Football Thread McBoner: A hockey love story Tennis[sport] Formula 1 Discussion TeamLiquid Health and Fitness Initiative For 2023
World Cup 2022
Tech Support
FPS when play League Of Legend on laptop How to clean a TTe Thermaltake keyboard? Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List
Blogs
Major Shifts in the Gaming I…
TrAiDoS
An Exploration of th…
waywardstrategy
Gauntlet SC2: A Retrospectiv…
Ctone23
ramps on octagon
StaticNine
Funny Nicknames
LUCKY_NOOB
Evil Gacha Games and the…
ffswowsucks
Customize Sidebar...

Website Feedback

Closed Threads



Active: 11767 users

HTML5 hackers wanted

Blogs > mmp
Post a Reply
mmp
Profile Blog Joined April 2009
United States2130 Posts
November 22 2011 05:14 GMT
#1
I made a post in the Big Programming Thread but I'll post here too:

On November 22 2011 14:09 mmp wrote:
Are there any Javascript/Canvas/HTML5 hackers out there? I've been working on a framework for Canvas 2D Context for a while now and things are starting to come together (it's about 95% tested and 90% documented but there are some known holes, so be gentle).

The project is hosted at: http://gitorious.org/meta2d/core/trees/master/

If your browser is awesome (tested in FF7, Chrome14 -- Opera won't work right now, I assume IE will fail) you can try a demo of HTMLMouseEvent triggers here: http://mikemp.mit.edu/meta2d/demo/mouse.html

Unlike some other frameworks out there, this one is aimed at scalability of interactive applications without obfuscating the Context2D API. So you can port your existing canvas code over easily and use the extras that this framework provides to improve performance as needed.

It's a powerful utility if you want to write an HTML5 game, among other applications.

I'd appreciate some feedback & if you're interested in getting involved or have any questions feel free to pm me.


*
I (λ (foo) (and (<3 foo) ( T_T foo) (RAGE foo) )) Starcraft
Gummy
Profile Blog Joined October 2010
United States2180 Posts
Last Edited: 2011-11-22 05:22:49
November 22 2011 05:22 GMT
#2
This is pretty cool. I don't know how the browser handles the rendering/event detection of elements vs. drawn canvas shapes. iirc, you have to create the bounding boxes yourself, and do an expensive user-code loop of the mouse's current location against all the drawn shapes. Is your project relevant to this issue?
¯\_(ツ)_/¯ There are three kinds of people in the world: those who can count and those who can't.
mmp
Profile Blog Joined April 2009
United States2130 Posts
Last Edited: 2011-11-22 07:04:55
November 22 2011 05:29 GMT
#3
On November 22 2011 14:22 Gummy wrote:
This is pretty cool. I don't know how the browser handles the rendering/event detection of elements vs. drawn canvas shapes. iirc, you have to create the bounding boxes yourself, and do an expensive user-code loop of the mouse's current location against all the drawn shapes. Is your project relevant to this issue?

Yes, the project addresses this performance issue (among others).

When you define an entity's repaint behavior, you can draw on a canvas with a normal-looking Context2D, apply whatever transformations you want, and then pass that same Context over to the mouse collision detector for, say, alpha-masking.

It does mouse collisions in O(logN) expected runtime for N entities. I can run that demo with 1000 shapes on my netbook before getting significant lag.
I (λ (foo) (and (<3 foo) ( T_T foo) (RAGE foo) )) Starcraft
Hidden_MotiveS
Profile Blog Joined February 2010
Canada2562 Posts
November 22 2011 17:23 GMT
#4
So does the mouseevent trigger use any html5?
mmp
Profile Blog Joined April 2009
United States2130 Posts
November 23 2011 06:41 GMT
#5
On November 23 2011 02:23 Hidden_MotiveS wrote:
So does the mouseevent trigger use any html5?

The canvas is the HTML5. Normal HTMLMouseEvents are propagated through entities inside the canvas as though they were elements -- just set onevent to your function(Event) callback.
I (λ (foo) (and (<3 foo) ( T_T foo) (RAGE foo) )) Starcraft
Enderbantoo
Profile Blog Joined December 2009
United States465 Posts
November 23 2011 08:33 GMT
#6
hey that's exactly what i'm doing. Im writing a canvas workflow program: http://www.enderbantoo.github.com/LONI-1

and i experienced all of what gummy was talking about, expensive bounding functions client side
At the biggest upset of all of bw, Shanghai SPL finals 2011
Enderbantoo
Profile Blog Joined December 2009
United States465 Posts
November 23 2011 08:36 GMT
#7
On November 23 2011 02:23 Hidden_MotiveS wrote:
So does the mouseevent trigger use any html5?



much more simple

canvas.onmousedown = function(e);

handle eah different clicks as e.button
At the biggest upset of all of bw, Shanghai SPL finals 2011
Hidden_MotiveS
Profile Blog Joined February 2010
Canada2562 Posts
November 24 2011 02:42 GMT
#8
On November 23 2011 15:41 mmp wrote:
Show nested quote +
On November 23 2011 02:23 Hidden_MotiveS wrote:
So does the mouseevent trigger use any html5?

The canvas is the HTML5. Normal HTMLMouseEvents are propagated through entities inside the canvas as though they were elements -- just set onevent to your function(Event) callback.

Ah I see now. Thanks.
Please log in or register to reply.
Live Events Refresh
Patches Events
16:00
5400 MMR Capped Patch Clash
RotterdaM600
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
RotterdaM 600
StarCraft: Brood War
Dewaltoss 110
Dota 2
420jenkins592
LuMiX0
Counter-Strike
summit1g4779
minikerr14
Heroes of the Storm
Grubby3077
Other Games
tarik_tv3848
Beastyqt569
UpATreeSC57
Organizations
Other Games
gamesdonequick37848
BasetradeTV221
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 20 non-featured ]
StarCraft 2
• printf 71
• HeavenSC 26
• musti20045 15
• LaughNgamezSOOP
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• sooper7s
• Migwel
StarCraft: Brood War
• blackmanpl 41
• FirePhoenix11
• Michael_bg 8
• Pr0nogo 3
• STPLYoutube
• ZZZeroYoutube
• BSLYoutube
Other Games
• imaqtpie1236
• Shiphtur243
• tFFMrPink 17
Upcoming Events
RSL Revival
12h 2m
Solar vs Rogue
Maru vs NightMare
Sparkling Tuna Cup
13h 2m
IPSL
19h 2m
Bonyth vs Hawk
GSL
1d 14h
Replay Cast
2 days
WardiTV Weekly
2 days
The PondCast
3 days
Replay Cast
4 days
CrankTV Team League
4 days
Replay Cast
5 days
[ Show More ]
CrankTV Team League
5 days
Replay Cast
6 days
RSL Revival
6 days
Clem vs Lambo
Scarlett vs Cure
CranKy Ducklings
6 days
Liquipedia Results

Completed

Escore Tournament S3: W2
HSC XXIX
Eternal Conflict S2 E1

Ongoing

IPSL Spring 2026
Acropolis #4
YSL S3
CSL 2026 Summer (S21)
RSL Revival: Season 6
CranK Gathers Season 4: BW vs SC2 Team League
SCTL 2026 Spring
XSE Pro League 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026
BLAST Rivals Spring 2026

Upcoming

CSLAN 4
Blizzard Classic Cup 2026
HSC XXX
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
Light Tournament 2026
Eternal Conflict S2 Finale
Eternal Conflict S2 E3
Eternal Conflict S2 E2
Logitech G Connect 2026
StarSeries Fall 2026
FISSURE Playground #5
BLAST Open Fall 2026
Esports World Cup 2026
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.