<commit_before>package fcagnin.jgltut;

import fcagnin.jgltut.framework.Framework;
import fcagnin.jgltut.tut01.Tut1;
import fcagnin.jgltut.tut02.FragPosition;
import fcagnin.jgltut.tut02.VertexColor;
import fcagnin.jgltut.tut03.CpuPositionOffset;
import fcagnin.jgltut.tut03.FragChangeColor;
import fcagnin.jgltut.tut03.VertCalcOffset;
import fcagnin.jgltut.tut03.VertPositionOffset;
import fcagnin.jgltut.tut04.AspectRatio;
import fcagnin.jgltut.tut04.MatrixPerspective;
import fcagnin.jgltut.tut04.OrthoCube;
import fcagnin.jgltut.tut04.ShaderPerspective;
import fcagnin.jgltut.tut05.*;
import fcagnin.jgltut.tut06.Hierarchy;
import fcagnin.jgltut.tut06.Rotation;
import fcagnin.jgltut.tut06.Scale;
import fcagnin.jgltut.tut06.Translation;
import fcagnin.jgltut.tut07.WorldScene;
import fcagnin.jgltut.tut07.WorldWithUBO;
import fcagnin.jgltut.tut08.CameraRelative;
import fcagnin.jgltut.tut08.GimbalLock;
import fcagnin.jgltut.tut08.Interpolation;
import fcagnin.jgltut.tut08.QuaternionYPR;
import fcagnin.jgltut.tut09.AmbientLighting;
import fcagnin.jgltut.tut09.BasicLighting;
import fcagnin.jgltut.tut09.ScaleAndLighting;
import fcagnin.jgltut.tut10.FragmentAttenuation;
import fcagnin.jgltut.tut10.FragmentPointLighting;
import fcagnin.jgltut.tut10.VertexPointLighting;
import fcagnin.jgltut.tut11.BlinnVsPhongLighting;
import fcagnin.jgltut.tut11.GaussianSpecularLighting;
import fcagnin.jgltut.tut11.PhongLighting;
import fcagnin.jgltut.tut12.GammaCorrection;
import fcagnin.jgltut.tut12.HDRLighting;
import fcagnin.jgltut.tut12.SceneLighting;
import fcagnin.jgltut.tut13.BasicImpostor;
import fcagnin.jgltut.tut13.GeomImpostor;
import fcagnin.jgltut.tut14.BasicTexture;
import fcagnin.jgltut.tut14.MaterialTexture;
import fcagnin.jgltut.tut14.PerspectiveInterpolation;
import fcagnin.jgltut.tut15.ManyImages;
import fcagnin.jgltut.tut16.GammaCheckers;
import fcagnin.jgltut.tut16.GammaLandscape;
import fcagnin.jgltut.tut16.GammaRamp;
import fcagnin.jgltut.tut17.CubePointLight;
import fcagnin.jgltut.tut17.DoubleProjection;
import fcagnin.jgltut.tut17.ProjectedLight;

import javax.swing.*;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import java.awt.*;


/**
 * Visit https://github.com/integeruser/jgltut for info, updates and license terms.
 *
 * @author integeruser
 */
public class TutorialChooser extends JPanel implements TreeSelectionListener {
    public static void main(String[] args) {
        JFrame frame = new JFrame( "Click on a tutorial to run it" );
        frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );

        JPanel tutorialsViewer = new TutorialChooser();
        frame.setContentPane( tutorialsViewer );

        frame.pack();
        frame.setLocationRelativeTo( null );
        frame.setVisible( true );
    }


    private TutorialChooser() {
        DefaultMutableTreeNode top = new DefaultMutableTreeNode( "gltut" );
        createNodes( top );

        tree = new JTree( top );
        tree.addTreeSelectionListener( this );

        JScrollPane treeView = new JScrollPane( tree );
        treeView.setPreferredSize( new Dimension( 350, 400 ) );
        add( treeView );
    }


    @Override
    public void valueChanged(TreeSelectionEvent e) {
        DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();<commit_msg>changed top node text gltut in jgltut<commit_after>package fcagnin.jgltut;

import fcagnin.jgltut.framework.Framework;
import fcagnin.jgltut.tut01.Tut1;
import fcagnin.jgltut.tut02.FragPosition;
import fcagnin.jgltut.tut02.VertexColor;
import fcagnin.jgltut.tut03.CpuPositionOffset;
import fcagnin.jgltut.tut03.FragChangeColor;
import fcagnin.jgltut.tut03.VertCalcOffset;
import fcagnin.jgltut.tut03.VertPositionOffset;
import fcagnin.jgltut.tut04.AspectRatio;
import fcagnin.jgltut.tut04.MatrixPerspective;
import fcagnin.jgltut.tut04.OrthoCube;
import fcagnin.jgltut.tut04.ShaderPerspective;
import fcagnin.jgltut.tut05.*;
import fcagnin.jgltut.tut06.Hierarchy;
import fcagnin.jgltut.tut06.Rotation;
import fcagnin.jgltut.tut06.Scale;
import fcagnin.jgltut.tut06.Translation;
import fcagnin.jgltut.tut07.WorldScene;
import fcagnin.jgltut.tut07.WorldWithUBO;
import fcagnin.jgltut.tut08.CameraRelative;
import fcagnin.jgltut.tut08.GimbalLock;
import fcagnin.jgltut.tut08.Interpolation;
import fcagnin.jgltut.tut08.QuaternionYPR;
import fcagnin.jgltut.tut09.AmbientLighting;
import fcagnin.jgltut.tut09.BasicLighting;
import fcagnin.jgltut.tut09.ScaleAndLighting;
import fcagnin.jgltut.tut10.FragmentAttenuation;
import fcagnin.jgltut.tut10.FragmentPointLighting;
import fcagnin.jgltut.tut10.VertexPointLighting;
import fcagnin.jgltut.tut11.BlinnVsPhongLighting;
import fcagnin.jgltut.tut11.GaussianSpecularLighting;
import fcagnin.jgltut.tut11.PhongLighting;
import fcagnin.jgltut.tut12.GammaCorrection;
import fcagnin.jgltut.tut12.HDRLighting;
import fcagnin.jgltut.tut12.SceneLighting;
import fcagnin.jgltut.tut13.BasicImpostor;
import fcagnin.jgltut.tut13.GeomImpostor;
import fcagnin.jgltut.tut14.BasicTexture;
import fcagnin.jgltut.tut14.MaterialTexture;
import fcagnin.jgltut.tut14.PerspectiveInterpolation;
import fcagnin.jgltut.tut15.ManyImages;
import fcagnin.jgltut.tut16.GammaCheckers;
import fcagnin.jgltut.tut16.GammaLandscape;
import fcagnin.jgltut.tut16.GammaRamp;
import fcagnin.jgltut.tut17.CubePointLight;
import fcagnin.jgltut.tut17.DoubleProjection;
import fcagnin.jgltut.tut17.ProjectedLight;

import javax.swing.*;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import java.awt.*;


/**
 * Visit https://github.com/integeruser/jgltut for info, updates and license terms.
 *
 * @author integeruser
 */
public class TutorialChooser extends JPanel implements TreeSelectionListener {
    public static void main(String[] args) {
        JFrame frame = new JFrame( "Click on a tutorial to run it" );
        frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );

        JPanel tutorialsViewer = new TutorialChooser();
        frame.setContentPane( tutorialsViewer );

        frame.pack();
        frame.setLocationRelativeTo( null );
        frame.setVisible( true );
    }


    private TutorialChooser() {
        DefaultMutableTreeNode top = new DefaultMutableTreeNode( "jgltut" );
        createNodes( top );

        tree = new JTree( top );
        tree.addTreeSelectionListener( this );

        JScrollPane treeView = new JScrollPane( tree );
        treeView.setPreferredSize( new Dimension( 350, 400 ) );
        add( treeView );
    }


    @Override
    public void valueChanged(TreeSelectionEvent e) {
        DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
{'fraction_non_alphanumeric': 0.09217264081931237, 'fraction_numerical': 0.02896854425749817, 'mean_word_length': 5.186425339366516, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, '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': '3742758', 'n_tokens_mistral': 2791, 'n_tokens_neox': 2646, 'n_words': 381}