summary refs log tree commit diff stats
path: root/compiler/spawn.nim
Commit message (Collapse)AuthorAgeFilesLines
* Fix bug in freshVarForClosureIter. Fixes #18474 (#19675) [backport]flywind2022-04-041-11/+11
| | | | | | | | | | * Fix bug in freshVarForClosureIter. Fixes #18474. freshVarForClosureIter was returning non-fresh symbols sometimes. Fixed by making addField return the generated PSym. * remove discardable Co-authored-by: Nick Smallbone <nick@smallbone.se>
* add colon (#17834)flywind2021-04-241-1/+1
|
* close #9691 and close #10913('spawn'ed function cannot have a 'typed' or ↵flywind2021-04-201-1/+11
| | | | 'untyped' parameter) (#17775)
* remove unnecessary check (#17502)flywind2021-03-251-2/+0
|
* IC: green tests (#17311)Andreas Rumpf2021-03-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * IC: renamed to_packed_ast module to ic module * IC: don't store the --forceBuild flag, makes it easier to test * IC: enable hello world test * Codegen: refactorings for IC; changed the name mangling algorithm * fixed the HCR regressions * life is too short for HCR * tconvexhull is now allowed to use deepCopy * IC exposed a stdlib bug, required a refactoring * codegen: code cleanups * IC: even if a module is outdated, its dependencies might come from disk * IC: progress * IC: better name mangling, module IDs are not stable * IC: another refactoring helping with --ic:on --gc:arc * disable arraymancer on Windows for the time being * disable arraymancer altogether * IC: make basic test work with 'nim cpp' * IC: progress on --ic:on --gc:arc * wip; name mangling for type info
* big steps torwards an efficient, simple IC implementation (#16543)Andreas Rumpf2021-01-021-17/+17
| | | | | | | | | | | | | | | | | | | * reworked ID handling * the packed AST now has its own ID mechanism * basic serialization code works * extract rodfiles to its own module * rodfiles: store and compare configs * rodfiles: store dependencies * store config at the end * precise dependency tracking * dependency tracking for rodfiles * completed loading of PSym, PType, etc * removed dead code * bugfix: do not realloc seqs when taking addr into an element * make IC opt-in for now * makes tcompilerapi green again * final cleanups Co-authored-by: Andy Davidoff <github@andy.disruptek.com>
* explicit ID generation for easier IC (#15559)Andreas Rumpf2020-10-251-53/+54
| | | | | | | | | | | | | | | | | * refactoring: idents don't need inheritance * refactoring: adding an IdGenerator (part 1) * refactoring: adding an IdGenerator (part 2) * refactoring: adding an IdGenerator (part 3) * refactoring: adding an IdGenerator (part 4) * refactoring: adding an IdGenerator (part 5) * refactoring: adding an IdGenerator (part 5) * IdGenerator must be a ref type; hello world works again * make bootstrapping work again * progress: add back the 'exactReplica' ideas * added back the missing exactReplica hacks * make tcompilerapi work again * make important packages green * attempt to fix the build for 32 bit machines (probably need a better solution here)
* scoped memory management (#14790)Andreas Rumpf2020-07-041-2/+2
| | | | | | | * fixes the regressions * closes #13936 * scope based memory management implemented * enabled tcontrolflow.nim test case * final cleanups
* init checks and 'out' parameters (#14521)Andreas Rumpf2020-06-231-2/+2
| | | | | | | | | | | * I don't care about observable stores * enforce explicit initializations * cleaner code for the stdlib * stdlib: use explicit initializations * make tests green * algorithm.nim: set result explicitly * remove out parameters and bring the PR into a mergable state * updated the changelog
* Fixes #14014 (#14029)cooldome2020-04-201-2/+7
| | | | | | | | | | | | | * add test * improve test * progress * fix #14014 * fix bug Co-authored-by: cooldome <ariabushenko@bk.ru>
* Step2: fixes #13781, fixes #13805 (#13897)cooldome2020-04-161-13/+11
| | | | | | | | | * Fix sym owner in wrapper proc * threadpool changes * revert lowerings * add newFastMoveStmt * try fixing test by switching to cpp Co-authored-by: cooldome <ariabushenko@bk.ru>
* drnim: tiny progress (#13882)Andreas Rumpf2020-04-151-21/+4
| | | | | | | | | | | * drnim: tiny progress * refactoring complete * drnim: prove .ensures annotations * Moved code around to avoid code duplication * drnim: first implementation of the 'old' property * drnim: be precise about the assignment statement * first implementation of --assumeUnique * progress on forall/exists handling
* Fix sym owner in wrapper proc (#13878)cooldome2020-04-051-27/+27
| | | Co-authored-by: cooldome <ariabushenko@bk.ru>
* fixes #13708 (#13711)cooldome2020-03-211-8/+18
| | | | | | * fixes #13708 * differentiate between arc and rest of GC Co-authored-by: cooldome <ariabushenko@bk.ru>
* Cosmetic compiler cleanup (#12718)Clyybber2019-11-281-23/+23
| | | | | | | | | | | | | | | | | | * Cleanup compiler code base * Unify add calls * Unify len invocations * Unify range operators * Fix oversight * Remove {.procvar.} pragma * initCandidate -> newCandidate where reasonable * Unify safeLen calls
* refactoring: --newruntime consists of 3 different switchesAraq2019-10-201-1/+1
|
* fixes #1188Araq2019-08-161-1/+1
|
* [refactoring] remove unused imports in the compiler and in some stdlib modulesAraq2019-07-181-428/+428
|
* [refactoring] moves transformation for 'spawn' into its own spawn.nim ↵Araq2019-07-141-0/+428
implementation
a> 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659


















































































































































































































































































































































































































































































































































































































































































                                                                                                                                                                                                                                                                                                                                                                                   
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>JSDoc: Module: renderer</title>

    <script src="scripts/prettify/prettify.js"> </script>
    <script src="scripts/prettify/lang-css.js"> </script>
    <!--[if lt IE 9]>
      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
    <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
    <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>

<body>

<div id="main">

    <h1 class="page-title">Module: renderer</h1>

    




<section>

<header>
    
        
            
        
    
</header>

<article>
    <div class="container-overview">
    
        
            <div class="description">Rendering Module

This module handles all game rendering operations using HTML5 Canvas.
Demonstrates key game development patterns:
1. Layer-based rendering
2. Particle systems
3. Visual state feedback
4. Canvas state management</div>
        

        
            















<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="renderer.js.html">renderer.js</a>, <a href="renderer.js.html#line1">line 1</a>
    </li></ul></dd>
    

    

    

    
</dl>




















        
    
    </div>

    

    

    

    

    

    

    

    
        <h3 class="subsection-title">Methods</h3>

        
            

    

    
    <h4 class="name" id="~renderEnemies"><span class="type-signature">(inner) </span>renderEnemies<span class="signature">(ctx, enemies)</span><span class="type-signature"></span></h4>
    

    



<div class="description">
    Renders all enemies with health indicators and effects
Implements visual state representation
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>ctx</code></td>
            

            <td class="type">
            
                
<span class="param-type">CanvasRenderingContext2D</span>


            
            </td>

            

            

            <td class="description last">Canvas rendering context</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>enemies</code></td>
            

            <td class="type">
            
                
<span class="param-type">Array.&lt;Object></span>


            
            </td>

            

            

            <td class="description last">Array of enemy objects</td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="renderer.js.html">renderer.js</a>, <a href="renderer.js.html#line88">line 88</a>
    </li></ul></dd>
    

    

    

    
</dl>




















        
            

    

    
    <h4 class="name" id="~renderGrid"><span class="type-signature">(inner) </span>renderGrid<span class="signature">(ctx, grid)</span><span class="type-signature"></span></h4>
    

    



<div class="description">
    Renders the game grid with path and hover previews
Implements visual feedback for player actions
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>ctx</code></td>
            

            <td class="type">
            
                
<span class="param-type">CanvasRenderingContext2D</span>


            
            </td>

            

            

            <td class="description last">Canvas rendering context</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>grid</code></td>
            

            <td class="type">
            
                
<span class="param-type">Array.&lt;Array.&lt;string>></span>


            
            </td>

            

            

            <td class="description last">Game grid state</td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="renderer.js.html">renderer.js</a>, <a href="renderer.js.html#line21">line 21</a>
    </li></ul></dd>
    

    

    

    
</dl>




















        
            

    

    
    <h4 class="name" id="~renderUI"><span class="type-signature">(inner) </span>renderUI<span class="signature">(ctx, gameState)</span><span class="type-signature"></span></h4>
    

    



<div class="description">
    Renders game UI elements with clean state management
Implements heads-up display (HUD) pattern
</div>









    <h5>Parameters:</h5>
    

<table class="params">
    <thead>
    <tr>
        
        <th>Name</th>
        

        <th>Type</th>

        

        

        <th class="last">Description</th>
    </tr>
    </thead>

    <tbody>
    

        <tr>
            
                <td class="name"><code>ctx</code></td>
            

            <td class="type">
            
                
<span class="param-type">CanvasRenderingContext2D</span>


            
            </td>

            

            

            <td class="description last">Canvas rendering context</td>
        </tr>

    

        <tr>
            
                <td class="name"><code>gameState</code></td>
            

            <td class="type">
            
                
<span class="param-type">Object</span>


            
            </td>

            

            

            <td class="description last">Current game state</td>
        </tr>

    
    </tbody>
</table>






<dl class="details">

    

    

    

    

    

    

    

    

    

    

    

    

    
    <dt class="tag-source">Source:</dt>
    <dd class="tag-source"><ul class="dummy"><li>
        <a href="renderer.js.html">renderer.js</a>, <a href="renderer.js.html#line142">line 142</a>
    </li></ul></dd>
    

    

    

    
</dl>




















        
    

    

    
</article>

</section>




</div>

<nav>
    <h2><a href="index.html">Home</a></h2><h3>Modules</h3><ul><li><a href="module-game.html">game</a></li><li><a href="module-gameState.html">gameState</a></li><li><a href="module-mechanics.html">mechanics</a></li><li><a href="module-path.html">path</a></li><li><a href="module-renderer.html">renderer</a></li><li><a href="module-uiHandlers.html">uiHandlers</a></li></ul>
</nav>

<br class="clear">

<footer>
    Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.3</a> on Mon Feb 17 2025 09:19:19 GMT-0500 (Eastern Standard Time)
</footer>

<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>