Commit graph

640 commits

Author SHA1 Message Date
Phoenix Eliot
8780f335c7 Fix adjusting for whitespace in playercode 2016-09-01 15:57:59 -07:00
Phoenix Eliot
e0dafc571a Fix making Problems from AetherProblems with no range 2016-08-31 14:35:50 -07:00
Phoenix Eliot
663c220eaf Show wev-dev iFrame error messages like Aether's
This heavily refactors SpellView and adds infrastructure for receiving and reporting Errors raised by the web-dev iFrame. The web-dev error system, the Aether error system, and the Ace html-worker avoid disturbing each others' errors/annotations (though currently Aether+web-dev errors won't coexist), and they clear/update their own asynchronously.

Show web-dev iFrame errors as Ace annotations

Add functional error banners (with poor messages)

Improve error banners, don't allow duplicate Problems

Refactor setAnnotations override

Convert all constructor calls for Problems

Add comments, clean up

Clean up

Don't clear things unnecessarily

Clean up error message sending from iFrame

Add web-dev:error schema

Clarify error message attributes

Refactor displaying AetherProblems

Refactor displaying user problem banners

Refactor onWebDevError

Set ace styles on updating @problems

Clean up, fix off-by-1 error

Add comment

Show stale web-dev errors differently
Some web-dev errors are generated by "stale" code — code that's still running in the iFrame but doesn't have the player's recent changes.
This shows those errors differently than if they weren't "stale", and suggests they re-run their code.

Hook up web-dev event schema

Destroy ignored duplicate problems

Functionalize a bit of stuff

Fix ProblemAlertView never loading
2016-08-31 10:59:06 -07:00
Matt Lott
a700a00c94 Autocomplete game.
And don’t create duplicate entries for hero. autocompletes

Closes #3883
2016-08-26 15:10:22 -07:00
Matt Lott
b8d4e51331 Add line endings and newlines for fuzzy autocompletes
Closes #3351
2016-08-26 10:32:56 -07:00
Nick Winter
878dcbdc49 Better handling of non-user-code problems in game-dev mode. Don't simulate whole level first time a game-dev level is loaded. 2016-08-24 15:21:09 -07:00
Phoenix Eliot
3d8d0b96d3 Make popover pins stickier 2016-08-22 13:29:35 -07:00
Phoenix Eliot
b4fe0a3bee Fix SpellPaletteView's popover Ace 2016-08-22 13:23:52 -07:00
Matt Lott
f2597229b5 No autocomplete x y, rename Zatanna to Autocomplete
Don’t autocomplete common variables ’x’ or ‘y’:
return if /^x$|^y$/i.test(prefix)
Renaming zatanna to autocomplete

Closes #3865
2016-08-22 05:46:07 -07:00
Phoenix Eliot
c33f86768a Translate level wrapper code 2016-08-18 14:09:34 -07:00
Phoenix Eliot
a1b012c7f5 Add support for optional arguments, and web components
Refactor

Don't use globals in template
2016-08-16 13:43:08 -07:00
Matt Lott
e62dbed362 Shift user code yellow arrow tips inward based on indentation
Closes #3850
2016-08-15 13:36:43 -07:00
Phoenix Eliot
c2ce804839 Fix worker-based syntax annotations 2016-08-12 16:28:29 -07:00
Matt Lott
2e5f9abd97 🐛Fix autocomplete suggestion limit comment 2016-08-10 14:45:59 -07:00
Scott Erickson
ffa840910d Do not automatically show victory modal for shareable game dev levels
Students are likely to want to keep working on their level, even if
they beat it.
2016-08-10 12:47:34 -07:00
Matt Lott
d14bea3110 Add hero. autocomplete entries
Adding up to 10 highest importance hero. duplicate autocomplete entries
that include ‘hero.’
Increasing max suggestions allowed from 10 to 20
2016-08-10 11:17:56 -07:00
Matt Lott
ba6d51659c Show in-game programming language
Closes #3814
2016-08-03 11:08:20 -07:00
phoenixeliot
4af822d13a Revert "Add game UI programming language label"
This reverts commit b7f916116d.

Some heights in gameplay were made worse by this; needs some more work.
2016-07-29 11:23:42 -07:00
phoenixeliot
dd66a8c252 Add detection of HTML/CSS/JS comments for entrypoints 2016-07-28 15:10:01 -07:00
Nick Winter
d77625bc77 Game dev levels (#3810)
* Tweak API doc behavior and styling

* Instead of moving to the left during active dialogues, just move to the top
* Allow pointer events
* Adjust close button
* Re-enable pinning API docs for game-dev and web-dev levels

* Make sidebar in PlayGameDevLevelView stretch, better layout columns

* Set up content of PlayGameDevLevelView sidebar to scroll

* Add rest of PlayGameDevLevelView sidebar content, rework what loading looks like

* Finish PlayGameDevLevelView

* Add share area below
* Cover the brown background, paint it gray

* Tweak PlayGameDevLevelView

* Have progress bar show everything
* Fix Surface resize handling

* Fix PlayGameDevLevelView resizing incorrectly when playing

* Add GameDevVictoryModal to PlayGameDevLevelView

* Don't show missing-doctype annotation in Ace

* Hook up GameDevVictoryModal copy button

* Fix onChangeAnnotation runtime error

* Fix onLevelLoaded runtime error

* Have CourseVictoryModal link to /courses when course is done

* Trim, update CourseDetailsView

* Remove last vestiges of teacherMode
* Remove giant navigation buttons at top
* Quick switch to flat style

* Add analytics for game-dev

* Update Analytics events for gamedev

* Prefix event names with context
* Send to Mixpanel
* Include more properties

* Mostly set up indefinite play and autocast for game-dev levels

* Set up cast buttons and shortcut for game-dev

* Add rudimentary instructions when students play game-dev levels

* Couple tweaks

* fix a bit of code that expects frames to always stick around
* have PlayGameDevLevelView render a couple frames on load

* API Docs use 'game' instead of 'hero'

* Move tags to head without combining

* Add HTML comment-start string

Fixes missing entry point arrows

* Fix some whitespace
2016-07-28 13:39:58 -07:00
Matt Lott
b7f916116d Add game UI programming language label 2016-07-28 12:00:52 -07:00
Rob
b7fcaa50a6 Change keyword autocomplete logic. 2016-07-27 16:37:57 -07:00
Nick Winter
ea61499a10 Add Done button hotkey 2016-07-22 17:59:32 -07:00
phoenixeliot
58284dff33 Turn on Ace HTML worker for syntax errors 2016-07-19 11:30:02 -07:00
Nick Winter
6e65171a83 i18n, comments, misc cleanup 2016-07-17 00:53:17 -07:00
Nick Winter
b04e968da5 Add support for CSS docs 2016-07-16 23:17:05 -07:00
Nick Winter
0cd3278b8f Add simple ImageGalleryView for some sample images in web-dev levels 2016-07-16 13:11:43 -07:00
Nick Winter
6ae89e31f1 Add direct link to play game/web-dev creations while coding them 2016-07-15 22:14:25 -07:00
Nick Winter
1e89775486 Basic campaign mode victory modal hookup for web-dev levels 2016-07-15 09:53:16 -07:00
Nick Winter
e3670165e7 Remove code for multiple spells; rename SpellListTabEntryView to SpellTopBarView; remove hero avatar from SpellTopBarView 2016-07-14 22:43:25 -07:00
Nick Winter
220db3106c Run button now recreates web-dev DOM; no submit button 2016-07-14 19:48:27 -07:00
Nick Winter
33ba3f6033 Enable docs for web-dev levels 2016-07-14 19:14:18 -07:00
Nick Winter
ed320a8d9e WebSurfaceView now parsing player code through virtual DOM into iframe 2016-07-14 18:07:36 -07:00
Nick Winter
16b10612b6 Stub WebSurface showing for web-dev levels 2016-07-14 12:34:22 -07:00
Nick Winter
c5c831c211 Remove real-time multiplayer prototype code 2016-07-14 10:26:09 -07:00
Nick Winter
349ab24da7 First pass at adding 'web-dev' level type 2016-07-14 09:38:45 -07:00
Nick Winter
c0a70cb2ab Refactor level type checks for easy greppability (level.isType) 2016-07-14 08:58:43 -07:00
Nick Winter
a5a955ca6b Always show indent guides 2016-07-11 08:35:44 -07:00
Scott Erickson
10d344504a Add check to TomeView
Found a bug while playing Ogre Encampment: click the Chest before clicking past the
intro screen and the game throws an error, when `updateSpellPalette` tries to access
call `spell.getSource()` but `spell` is undefined. This check keeps the same behavior
but handles the error.
2016-07-08 13:27:42 -07:00
Rob
228019ac89 - Limit when this autocompletion can pop up.
- Remove some left over cruft from the text completer.
2016-07-06 13:31:46 -07:00
Rob
c7901c3237 Unbreak things when you don't have glasses. 2016-07-05 12:34:54 -07:00
Rob
9c7320e26a - Move Zatanna out of own repo and into CodeCombat
- Move snippet creation out of SpellView
- Disable text based completions.
2016-07-01 16:39:21 -07:00
Matt Lott
425115ad37 Remove level type 'hero-practice', use level.practice 2016-06-25 08:38:59 -07:00
Rob
f100e7ab52 Non-integer indentation levels are impossible. 2016-06-22 15:08:20 -07:00
Matt Lott
e0170d0339 Add hero-practice level type and threshold to schema
Filtering out hero-practice levels from classrooms until the Ux
supports them.
2016-06-19 20:23:32 -07:00
Scott Erickson
86fc4a3846 Hints v1
Add per-level tips and tricks, available during gameplay to help unstick players.

Closes #3736
2016-06-15 16:12:41 -07:00
Nick Winter
a96d5df78e Don't protect APIs in game-dev levels 2016-06-13 16:21:22 -07:00
Nick Winter
d2634e63ed Fix #3642: AIs using aiSource now don't need API protection (with new Aether) 2016-06-09 17:59:19 -07:00
Nick Winter
b0fcddac68 Add game-dev level type (#3725)
* Initial pass adding new game-dev level type.

* Fix a failing test with updated LevelSystem required properties

* Bring back normal Angel worker timeout times

* Fix another failing LevelSystem test since removing propertyDocumentation
2016-06-08 16:57:00 -07:00
Rob
2ef10f58b3 Fix bug where visual indents couldn't nest. 2016-06-03 14:01:37 -07:00