<commit_before>
import luxe.Vector;
import luxe.Color;
import luxe.Input;
import luxe.Entity;
import luxe.Particles;
import luxe.Sprite;

import phoenix.Batcher;


class Main extends luxe.Game {


    var mouse : Vector;

    var glowing : Batcher;
    var particle_system : Entity;
    var particles : ParticleSystem;

    var ss : Sprite;


    override function config(config:luxe.GameConfig) {

        config.preload.textures.push({ id:'assets/flame.png' });
        config.preload.textures.push({ id:'assets/smoke.png' });
        config.preload.textures.push({ id:'assets/embers.png' });

        return config;

    } //config


    override function ready() {

        mouse = new Vector();


        var t1 = Luxe.resources.texture('assets/flame.png');
        var t2 = Luxe.resources.texture('assets/smoke.png');
        var t3 = Luxe.resources.texture('assets/embers.png');

        particles = new ParticleSystem({name:'particles'});

        glowing = Luxe.renderer.create_batcher({ name:'glowing', camera:Luxe.camera.view });

        particles.add_emitter({
            name : 'flames',
            particle_image:t1,
            pos : new Vector(0,0),
            start_size:new Vector(96,64),
            end_size:new Vector(20,20),
            gravity : new Vector(0,-90),
            life:0.9,
            depth:2,
            batcher: glowing,
            rotation_random:360,
            emit_time : 0.05
        });

        ss = new Sprite({
            pos : new Vector(),
            size : new Vector(4,4)
        });

        particles.add_emitter({
            name : 'smoke',
            particle_image : t2,
            start_color : new Color(0.0,0.0,0.0,0.7),
            end_color : new Color(0.3,0.3,0.3,0),
            start_size : new Vector(80,80),
            end_size : new Vector(200,200),
            end_size_random : new Vector(40,40),
            gravity : new Vector(0,-40),
            life : 1.2,
            rotation_random:360,
            depth:1,
            emit_time : 0.2
        });

        particles.add_emitter({
            name : 'embers',
            particle_image : t3,
            end_color : new Color(0,0,0,0).rgb(0xff8a00),
            start_size : new Vector(32,32),
            end_size : new Vector(64,64),
            gravity : new Vector(0,-90),
            life : 0.8,
            end_speed : 0,
            depth:3,
            batcher: glowing,
            emit_time : 0.3
        });

        glowing.on(prerender, function(_){ Luxe.renderer.blend_mode(BlendMode.src_alpha, BlendMode.one); });<commit_msg>tests; particles; put particles at centre<commit_after>
import luxe.Vector;
import luxe.Color;
import luxe.Input;
import luxe.Entity;
import luxe.Particles;
import luxe.Sprite;

import phoenix.Batcher;


class Main extends luxe.Game {


    var mouse : Vector;

    var glowing : Batcher;
    var particle_system : Entity;
    var particles : ParticleSystem;

    var ss : Sprite;


    override function config(config:luxe.GameConfig) {

        config.preload.textures.push({ id:'assets/flame.png' });
        config.preload.textures.push({ id:'assets/smoke.png' });
        config.preload.textures.push({ id:'assets/embers.png' });

        return config;

    } //config


    override function ready() {

        mouse = new Vector();


        var t1 = Luxe.resources.texture('assets/flame.png');
        var t2 = Luxe.resources.texture('assets/smoke.png');
        var t3 = Luxe.resources.texture('assets/embers.png');

        particles = new ParticleSystem({name:'particles'});

        glowing = Luxe.renderer.create_batcher({ name:'glowing', camera:Luxe.camera.view });

        particles.add_emitter({
            name : 'flames',
            particle_image:t1,
            pos : new Vector(),
            start_size:new Vector(96,64),
            end_size:new Vector(20,20),
            gravity : new Vector(0,-90),
            life:0.9,
            depth:2,
            batcher: glowing,
            rotation_random:360,
            emit_time : 0.05
        });

        ss = new Sprite({
            pos : new Vector(),
            size : new Vector(4,4)
        });

        particles.add_emitter({
            name : 'smoke',
            particle_image : t2,
            start_color : new Color(0.0,0.0,0.0,0.7),
            end_color : new Color(0.3,0.3,0.3,0),
            start_size : new Vector(80,80),
            end_size : new Vector(200,200),
            end_size_random : new Vector(40,40),
            gravity : new Vector(0,-40),
            life : 1.2,
            rotation_random:360,
            depth:1,
            emit_time : 0.2
        });

        particles.add_emitter({
            name : 'embers',
            particle_image : t3,
            end_color : new Color(0,0,0,0).rgb(0xff8a00),
            start_size : new Vector(32,32),
            end_size : new Vector(64,64),
            gravity : new Vector(0,-90),
            life : 0.8,
            end_speed : 0,
            depth:3,
            batcher: glowing,
            emit_time : 0.3
        });

        particles.pos = Luxe.screen.mid;

        glowing.on(prerender, function(_){ Luxe.renderer.blend_mode(BlendMode.src_alpha, BlendMode.one); });
{'fraction_non_alphanumeric': 0.12540623207799656, 'fraction_numerical': 0.035939590900401455, 'mean_word_length': 1.8327016783974013, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1770059', 'n_tokens_mistral': 1720, 'n_tokens_neox': 1615, 'n_words': 321}