<commit_before>(in-package #:arc-12)

;; *lights* LightManager

;; (defclass light-manager () ()
;;   )

(defclass per-light ()
  ((camera-space-light-pos :initform (glm:vec4 0.0)) ; vec4
   (light-intensity :initform (glm:vec4 0.5))))	     ; vec4

(defconstant +number-of-lights+ 4)

(defclass light-block ()
  ((ambient-intensity :initform (glm:vec4 0.0) :accessor ambient-intensity) ; vec4
   (light-attenuation :initform 1.0 :accessor light-attenuation)	    ; float
   ;; "padding 3" is taken care of in the AS-GLARR method!
   (lights :initform
	   (loop for i below +number-of-lights+
	      :collect (make-instance 'per-light))
	   :accessor lights)))

;; use gl::array-byte-size for quick tests
(defgeneric as-glarr (obj)
  (:documentation "Return a gl-array representation of the object."))

;; this will be an ugly hack setting just magic-number the padding[3]
(defmethod as-glarr ((lb light-block))
  (let (;;light-block
	(ai (ambient-intensity lb))
	(la (vector (light-attenuation lb)))<commit_msg>ground has now intended color<commit_after>(in-package #:arc-12)

;; *lights* LightManager

;; (defclass light-manager () ()
;;   )

(defclass per-light ()
  ((camera-space-light-pos :initform (glm:vec4 0.0)) ; vec4
   (light-intensity :initform (glm:vec4 0.5))))	     ; vec4

(defconstant +number-of-lights+ 4)

(defclass light-block ()
  ((ambient-intensity :initform (glm:vec4 .25) :accessor ambient-intensity) ; vec4
   (light-attenuation :initform 1.0 :accessor light-attenuation)	    ; float
   ;; "padding 3" is taken care of in the AS-GLARR method!
   (lights :initform
	   (loop for i below +number-of-lights+
	      :collect (make-instance 'per-light))
	   :accessor lights)))

;; use gl::array-byte-size for quick tests
(defgeneric as-glarr (obj)
  (:documentation "Return a gl-array representation of the object."))

;; this will be an ugly hack setting just magic-number the padding[3]
(defmethod as-glarr ((lb light-block))
  (let (;;light-block
	(ai (ambient-intensity lb))
	(la (vector (light-attenuation lb)))
{'fraction_non_alphanumeric': 0.14931237721021612, 'fraction_numerical': 0.018664047151277015, 'mean_word_length': 3.980440097799511, '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': '77835', 'n_tokens_mistral': 736, 'n_tokens_neox': 691, 'n_words': 199}